Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Nov 2017 23:48:26 +0000 (15:48 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Nov 2017 23:48:26 +0000 (15:48 -0800)
Pull ARM device-tree updates from Arnd Bergmann:
 "We add device tree files for a couple of additional SoCs in various
  areas:

  Allwinner R40/V40 for entertainment, Broadcom Hurricane 2 for
  networking, Amlogic A113D for audio, and Renesas R-Car V3M for
  automotive.

  As usual, lots of new boards get added based on those and other SoCs:

   - Actions S500 based CubieBoard6 single-board computer

   - Amlogic Meson-AXG A113D based development board
   - Amlogic S912 based Khadas VIM2 single-board computer
   - Amlogic S912 based Tronsmart Vega S96 set-top-box

   - Allwinner H5 based NanoPi NEO Plus2 single-board computer
   - Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers
   - Allwinner A83T based TBS A711 Tablet

   - Broadcom Hurricane 2 based Ubiquiti UniFi Switch 8
   - Broadcom bcm47xx based Luxul XAP-1440/XAP-810/ABR-4500/XBR-4500
     wireless access points and routers

   - NXP i.MX51 based Zodiac Inflight Innovations RDU1 board
   - NXP i.MX53 based GE Healthcare PPD biometric monitor
   - NXP i.MX6 based Pistachio single-board computer
   - NXP i.MX6 based Vining-2000 automotive diagnostic interface
   - NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants

   - Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone
   - Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet

   - Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA

   - Renesas R-Car V3M (R8A77970) SoC and "Eagle" reference board
   - Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards
   - Renasas r8a7745 based iWave G22D-SODIMM SoM

   - Rockchip rk3288 based Amarula Vyasa single-board computer

   - Samsung Exynos5800 based Odroid HC1 single-board computer

  For existing SoC support, there was a lot of ongoing work, as usual
  most of that concentrated on the Renesas, Rockchip, OMAP, i.MX,
  Amlogic and Allwinner platforms, but others were also active.

  Rob Herring and many others worked on reducing the number of issues
  that the latest version of 'dtc' now warns about. Unfortunately there
  is still a lot left to do.

  A rework of the ARM foundation model introduced several new files for
  common variations of the model"

* tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (599 commits)
  arm64: dts: uniphier: route on-board device IRQ to GPIO controller for PXs3
  dt-bindings: bus: Add documentation for the Technologic Systems NBUS
  arm64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
  ARM: dts: owl-s500: Add CubieBoard6
  dt-bindings: arm: actions: Add CubieBoard6
  ARM: dts: owl-s500-guitar-bb-rev-b: Add fake uart3 clock
  ARM: dts: owl-s500: Set power domains for CPU2 and CPU3
  arm: dts: mt7623: remove unused compatible string for pio node
  arm: dts: mt7623: update usb related nodes
  arm: dts: mt7623: update crypto node
  ARM: dts: sun8i: a711: Enable USB OTG
  ARM: dts: sun8i: a711: Add regulator support
  ARM: dts: sun8i: a83t: bananapi-m3: Enable AP6212 WiFi on mmc1
  ARM: dts: sun8i: a83t: cubietruck-plus: Enable AP6330 WiFi on mmc1
  ARM: dts: sun8i: a83t: Move mmc1 pinctrl setting to dtsi file
  ARM: dts: sun8i: a83t: allwinner-h8homlet-v2: Add AXP818 regulator nodes
  ARM: dts: sun8i: a83t: bananapi-m3: Add AXP813 regulator nodes
  ARM: dts: sun8i: a83t: cubietruck-plus: Add AXP818 regulator nodes
  ARM: dts: sunxi: Add dtsi for AXP81x PMIC
  arm64: dts: allwinner: H5: Restore EMAC changes
  ...

608 files changed:
Documentation/devicetree/bindings/arm/actions.txt
Documentation/devicetree/bindings/arm/amlogic.txt
Documentation/devicetree/bindings/arm/amlogic/analog-top.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/amlogic/assist.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/amlogic/bootrom.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/bcm/brcm,hr2.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/realtek.txt
Documentation/devicetree/bindings/arm/rockchip.txt
Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
Documentation/devicetree/bindings/arm/shmobile.txt
Documentation/devicetree/bindings/bus/ts-nbus.txt [new file with mode: 0644]
Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
Documentation/devicetree/bindings/dma/sun6i-dma.txt
Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt
Documentation/devicetree/bindings/misc/ge-achc.txt [new file with mode: 0644]
Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt
Documentation/devicetree/bindings/net/dwmac-sun8i.txt [new file with mode: 0644]
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
Documentation/devicetree/bindings/power/renesas,apmu.txt
Documentation/devicetree/bindings/serial/mvebu-uart.txt
Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
Documentation/devicetree/bindings/thermal/hisilicon-thermal.txt
Documentation/devicetree/bindings/thermal/nvidia,tegra186-bpmp-thermal.txt [new file with mode: 0644]
Documentation/devicetree/bindings/vendor-prefixes.txt
MAINTAINERS
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/am43x-epos-evm.dts
arch/arm/boot/dts/armada-370-synology-ds213j.dts
arch/arm/boot/dts/armada-385-synology-ds116.dts
arch/arm/boot/dts/armada-xp-synology-ds414.dts
arch/arm/boot/dts/artpec6.dtsi
arch/arm/boot/dts/aspeed-ast2500-evb.dts
arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
arch/arm/boot/dts/aspeed-g4.dtsi
arch/arm/boot/dts/aspeed-g5.dtsi
arch/arm/boot/dts/at91-ariag25.dts
arch/arm/boot/dts/at91-ariettag25.dts
arch/arm/boot/dts/at91-cosino_mega2560.dts
arch/arm/boot/dts/at91-kizbox2.dts
arch/arm/boot/dts/at91-kizboxmini.dts
arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
arch/arm/boot/dts/at91-sama5d2_xplained.dts
arch/arm/boot/dts/at91-sama5d3_xplained.dts
arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts
arch/arm/boot/dts/at91-sama5d4_xplained.dts
arch/arm/boot/dts/at91-sama5d4ek.dts
arch/arm/boot/dts/at91-vinco.dts
arch/arm/boot/dts/at91rm9200.dtsi
arch/arm/boot/dts/at91rm9200ek.dts
arch/arm/boot/dts/at91sam9260.dtsi
arch/arm/boot/dts/at91sam9261.dtsi
arch/arm/boot/dts/at91sam9261ek.dts
arch/arm/boot/dts/at91sam9263.dtsi
arch/arm/boot/dts/at91sam9263ek.dts
arch/arm/boot/dts/at91sam9g20.dtsi
arch/arm/boot/dts/at91sam9g45.dtsi
arch/arm/boot/dts/at91sam9m10g45ek.dts
arch/arm/boot/dts/at91sam9n12.dtsi
arch/arm/boot/dts/at91sam9n12ek.dts
arch/arm/boot/dts/at91sam9rl.dtsi
arch/arm/boot/dts/at91sam9rlek.dts
arch/arm/boot/dts/at91sam9x25ek.dts
arch/arm/boot/dts/at91sam9x5.dtsi
arch/arm/boot/dts/at91sam9x5ek.dtsi
arch/arm/boot/dts/at91sam9xe.dtsi
arch/arm/boot/dts/axp209.dtsi
arch/arm/boot/dts/axp81x.dtsi [new file with mode: 0644]
arch/arm/boot/dts/bcm-cygnus.dtsi
arch/arm/boot/dts/bcm-hr2.dtsi [new file with mode: 0644]
arch/arm/boot/dts/bcm-nsp.dtsi
arch/arm/boot/dts/bcm2837-rpi-3-b.dts
arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts [new file with mode: 0644]
arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts [new file with mode: 0644]
arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts [new file with mode: 0644]
arch/arm/boot/dts/bcm47189-luxul-xap-810.dts [new file with mode: 0644]
arch/arm/boot/dts/bcm5301x.dtsi
arch/arm/boot/dts/bcm53340-ubnt-unifi-switch8.dts [new file with mode: 0644]
arch/arm/boot/dts/bcm53573.dtsi
arch/arm/boot/dts/berlin2.dtsi
arch/arm/boot/dts/berlin2cd.dtsi
arch/arm/boot/dts/berlin2q.dtsi
arch/arm/boot/dts/da850-lcdk.dts
arch/arm/boot/dts/da850.dtsi
arch/arm/boot/dts/dove.dtsi
arch/arm/boot/dts/dra7-evm-common.dtsi
arch/arm/boot/dts/dra7-evm.dts
arch/arm/boot/dts/dra7.dtsi
arch/arm/boot/dts/ep7211-edb7211.dts
arch/arm/boot/dts/exynos3250-artik5.dtsi
arch/arm/boot/dts/exynos3250-monk.dts
arch/arm/boot/dts/exynos3250-rinato.dts
arch/arm/boot/dts/exynos3250.dtsi
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4210-pinctrl.dtsi
arch/arm/boot/dts/exynos4210-universal_c210.dts
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
arch/arm/boot/dts/exynos4412-odroidx.dts
arch/arm/boot/dts/exynos4412-origen.dts
arch/arm/boot/dts/exynos4412-pinctrl.dtsi
arch/arm/boot/dts/exynos4412-trats2.dts
arch/arm/boot/dts/exynos4412.dtsi
arch/arm/boot/dts/exynos5250-arndale.dts
arch/arm/boot/dts/exynos5250-smdk5250.dts
arch/arm/boot/dts/exynos5250-snow-common.dtsi
arch/arm/boot/dts/exynos5250-spring.dts
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5410-odroidxu.dts
arch/arm/boot/dts/exynos5410-smdk5410.dts
arch/arm/boot/dts/exynos5410.dtsi
arch/arm/boot/dts/exynos5420-arndale-octa.dts
arch/arm/boot/dts/exynos5420-cpus.dtsi
arch/arm/boot/dts/exynos5420-peach-pit.dts
arch/arm/boot/dts/exynos5420-smdk5420.dts
arch/arm/boot/dts/exynos5420.dtsi
arch/arm/boot/dts/exynos5422-cpus.dtsi
arch/arm/boot/dts/exynos5422-odroid-core.dtsi [new file with mode: 0644]
arch/arm/boot/dts/exynos5422-odroidhc1.dts [new file with mode: 0644]
arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
arch/arm/boot/dts/exynos5440-ssdk5440.dts
arch/arm/boot/dts/exynos5440.dtsi
arch/arm/boot/dts/exynos54xx.dtsi
arch/arm/boot/dts/ge863-pro3.dtsi
arch/arm/boot/dts/gemini.dtsi
arch/arm/boot/dts/hip01.dtsi
arch/arm/boot/dts/hip04-d01.dts
arch/arm/boot/dts/hisi-x5hd2.dtsi
arch/arm/boot/dts/imx1.dtsi
arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
arch/arm/boot/dts/imx25-pdk.dts
arch/arm/boot/dts/imx28-apx4devkit.dts
arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi
arch/arm/boot/dts/imx28-evk.dts
arch/arm/boot/dts/imx28-m28evk.dts
arch/arm/boot/dts/imx28-tx28.dts
arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts
arch/arm/boot/dts/imx50.dtsi
arch/arm/boot/dts/imx51-apf51dev.dts
arch/arm/boot/dts/imx51-babbage.dts
arch/arm/boot/dts/imx51-ts4800.dts
arch/arm/boot/dts/imx51-zii-rdu1.dts [new file with mode: 0644]
arch/arm/boot/dts/imx51.dtsi
arch/arm/boot/dts/imx53-m53evk.dts
arch/arm/boot/dts/imx53-mba53.dts
arch/arm/boot/dts/imx53-ppd.dts [new file with mode: 0644]
arch/arm/boot/dts/imx53-qsb-common.dtsi
arch/arm/boot/dts/imx53-smd.dts
arch/arm/boot/dts/imx53-tx53-x03x.dts
arch/arm/boot/dts/imx53-tx53-x13x.dts
arch/arm/boot/dts/imx53-tx53.dtsi
arch/arm/boot/dts/imx53-voipac-bsb.dts
arch/arm/boot/dts/imx53.dtsi
arch/arm/boot/dts/imx6dl-aristainetos2_4.dts
arch/arm/boot/dts/imx6dl-aristainetos_4.dts
arch/arm/boot/dts/imx6dl-aristainetos_7.dts
arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
arch/arm/boot/dts/imx6dl-icore.dts
arch/arm/boot/dts/imx6dl-riotboard.dts
arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts
arch/arm/boot/dts/imx6dl-tx6s-8034-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-tx6s-8034.dts
arch/arm/boot/dts/imx6dl-tx6s-8035-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-tx6s-8035.dts
arch/arm/boot/dts/imx6dl-tx6u-801x.dts
arch/arm/boot/dts/imx6dl-tx6u-8033-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-tx6u-8033.dts
arch/arm/boot/dts/imx6dl-tx6u-80xx-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-tx6u-811x.dts
arch/arm/boot/dts/imx6dl-tx6u-81xx-mb7.dts
arch/arm/boot/dts/imx6dl-wandboard-revd1.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl.dtsi
arch/arm/boot/dts/imx6q-apalis-eval.dts
arch/arm/boot/dts/imx6q-apalis-ixora-v1.1.dts
arch/arm/boot/dts/imx6q-apalis-ixora.dts
arch/arm/boot/dts/imx6q-bx50v3.dtsi
arch/arm/boot/dts/imx6q-cm-fx6.dts
arch/arm/boot/dts/imx6q-display5-tianma-tm070-1280x768.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-display5.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts
arch/arm/boot/dts/imx6q-gw5400-a.dts
arch/arm/boot/dts/imx6q-h100.dts
arch/arm/boot/dts/imx6q-icore-rqs.dts
arch/arm/boot/dts/imx6q-mccmon6.dts
arch/arm/boot/dts/imx6q-novena.dts
arch/arm/boot/dts/imx6q-pistachio.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tbs2910.dts
arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts
arch/arm/boot/dts/imx6q-tx6q-1010.dts
arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts
arch/arm/boot/dts/imx6q-tx6q-1020.dts
arch/arm/boot/dts/imx6q-tx6q-1036-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1036.dts
arch/arm/boot/dts/imx6q-tx6q-10x0-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1110.dts
arch/arm/boot/dts/imx6q-tx6q-11x0-mb7.dts
arch/arm/boot/dts/imx6q-utilite-pro.dts
arch/arm/boot/dts/imx6q-wandboard-revd1.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q.dtsi
arch/arm/boot/dts/imx6qdl-apalis.dtsi
arch/arm/boot/dts/imx6qdl-apf6dev.dtsi
arch/arm/boot/dts/imx6qdl-colibri.dtsi
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
arch/arm/boot/dts/imx6qdl-gw551x.dtsi
arch/arm/boot/dts/imx6qdl-gw552x.dtsi
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
arch/arm/boot/dts/imx6qdl-icore.dtsi
arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi
arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi
arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
arch/arm/boot/dts/imx6qdl-rex.dtsi
arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
arch/arm/boot/dts/imx6qdl-sabresd.dtsi
arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-tx6-lvds.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-tx6.dtsi
arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-wandboard.dtsi
arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
arch/arm/boot/dts/imx6qdl.dtsi
arch/arm/boot/dts/imx6qp-tx6qp-8037-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qp-tx6qp-8037.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qp-tx6qp-8137-mb7.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qp-tx6qp-8137.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qp-wandboard-revd1.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qp.dtsi
arch/arm/boot/dts/imx6sl-evk.dts
arch/arm/boot/dts/imx6sl.dtsi
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
arch/arm/boot/dts/imx6sx-sdb-reva.dts
arch/arm/boot/dts/imx6sx-sdb.dts
arch/arm/boot/dts/imx6sx-softing-vining-2000.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
arch/arm/boot/dts/imx6sx.dtsi
arch/arm/boot/dts/imx6ul-14x14-evk.dts
arch/arm/boot/dts/imx6ul-pico-hobbit.dts
arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dts
arch/arm/boot/dts/imx6ul-tx6ul.dtsi
arch/arm/boot/dts/imx6ul.dtsi
arch/arm/boot/dts/imx7-colibri.dtsi
arch/arm/boot/dts/imx7d-nitrogen7.dts
arch/arm/boot/dts/imx7d-pico.dts
arch/arm/boot/dts/imx7d-sdb.dts
arch/arm/boot/dts/imx7s-warp.dts
arch/arm/boot/dts/integrator.dtsi
arch/arm/boot/dts/integratorap.dts
arch/arm/boot/dts/iwg20d-q7-common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi [new file with mode: 0644]
arch/arm/boot/dts/keystone-k2e.dtsi
arch/arm/boot/dts/keystone-k2g-evm.dts
arch/arm/boot/dts/keystone-k2g.dtsi
arch/arm/boot/dts/keystone-k2hk.dtsi
arch/arm/boot/dts/keystone-k2l.dtsi
arch/arm/boot/dts/keystone.dtsi
arch/arm/boot/dts/kirkwood-synology.dtsi
arch/arm/boot/dts/kirkwood-ts219.dtsi
arch/arm/boot/dts/kirkwood.dtsi
arch/arm/boot/dts/lpc3250-ea3250.dts
arch/arm/boot/dts/lpc3250-phy3250.dts
arch/arm/boot/dts/lpc32xx.dtsi
arch/arm/boot/dts/meson.dtsi
arch/arm/boot/dts/meson6.dtsi
arch/arm/boot/dts/meson8.dtsi
arch/arm/boot/dts/meson8b-odroidc1.dts
arch/arm/boot/dts/meson8b.dtsi
arch/arm/boot/dts/mpa1600.dts
arch/arm/boot/dts/mt2701-evb.dts
arch/arm/boot/dts/mt2701.dtsi
arch/arm/boot/dts/mt6589.dtsi
arch/arm/boot/dts/mt7623.dtsi
arch/arm/boot/dts/nspire.dtsi
arch/arm/boot/dts/omap2420-n8x0-common.dtsi
arch/arm/boot/dts/omap3-evm-37xx.dts
arch/arm/boot/dts/omap3-evm-processor-common.dtsi [new file with mode: 0644]
arch/arm/boot/dts/omap3-evm.dts
arch/arm/boot/dts/omap3-lilly-a83x.dtsi
arch/arm/boot/dts/omap3-n900.dts
arch/arm/boot/dts/omap3-panel-sharp-ls037v7dw01.dtsi
arch/arm/boot/dts/omap4-panda-common.dtsi
arch/arm/boot/dts/omap4.dtsi
arch/arm/boot/dts/omap5-board-common.dtsi
arch/arm/boot/dts/omap5.dtsi
arch/arm/boot/dts/owl-s500-cubieboard6.dts [new file with mode: 0644]
arch/arm/boot/dts/owl-s500-guitar-bb-rev-b.dts
arch/arm/boot/dts/owl-s500.dtsi
arch/arm/boot/dts/ox810se.dtsi
arch/arm/boot/dts/ox820.dtsi
arch/arm/boot/dts/picoxcell-pc3x2.dtsi
arch/arm/boot/dts/picoxcell-pc3x3.dtsi
arch/arm/boot/dts/pm9g45.dts
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
arch/arm/boot/dts/qcom-apq8064.dtsi
arch/arm/boot/dts/qcom-msm8660.dtsi
arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom-msm8974.dtsi
arch/arm/boot/dts/qcom-msm8974pro.dtsi [new file with mode: 0644]
arch/arm/boot/dts/r7s72100-gr-peach.dts
arch/arm/boot/dts/r7s72100.dtsi
arch/arm/boot/dts/r8a73a4.dtsi
arch/arm/boot/dts/r8a7743-iwg20d-q7-dbcm-ca.dts [new file with mode: 0644]
arch/arm/boot/dts/r8a7743-iwg20d-q7.dts
arch/arm/boot/dts/r8a7743-iwg20m.dtsi
arch/arm/boot/dts/r8a7743.dtsi
arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts [new file with mode: 0644]
arch/arm/boot/dts/r8a7745-iwg22m.dtsi [new file with mode: 0644]
arch/arm/boot/dts/r8a7745.dtsi
arch/arm/boot/dts/r8a7778.dtsi
arch/arm/boot/dts/r8a7779.dtsi
arch/arm/boot/dts/r8a7790-lager.dts
arch/arm/boot/dts/r8a7790.dtsi
arch/arm/boot/dts/r8a7791-koelsch.dts
arch/arm/boot/dts/r8a7791-porter.dts
arch/arm/boot/dts/r8a7791.dtsi
arch/arm/boot/dts/r8a7792-blanche.dts
arch/arm/boot/dts/r8a7792-wheat.dts
arch/arm/boot/dts/r8a7792.dtsi
arch/arm/boot/dts/r8a7793-gose.dts
arch/arm/boot/dts/r8a7793.dtsi
arch/arm/boot/dts/r8a7794-alt.dts
arch/arm/boot/dts/r8a7794-silk.dts
arch/arm/boot/dts/r8a7794.dtsi
arch/arm/boot/dts/rk3036-kylin.dts
arch/arm/boot/dts/rk3036.dtsi
arch/arm/boot/dts/rk3066a-rayeager.dts
arch/arm/boot/dts/rk3066a.dtsi
arch/arm/boot/dts/rk3188-radxarock.dts
arch/arm/boot/dts/rk3188.dtsi
arch/arm/boot/dts/rk322x.dtsi
arch/arm/boot/dts/rk3288-firefly-reload-core.dtsi
arch/arm/boot/dts/rk3288-firefly-reload.dts
arch/arm/boot/dts/rk3288-popmetal.dts
arch/arm/boot/dts/rk3288-vyasa.dts [new file with mode: 0644]
arch/arm/boot/dts/rk3288.dtsi
arch/arm/boot/dts/rk3xxx.dtsi
arch/arm/boot/dts/rv1108-evb.dts
arch/arm/boot/dts/rv1108.dtsi
arch/arm/boot/dts/sama5d2.dtsi
arch/arm/boot/dts/sama5d3.dtsi
arch/arm/boot/dts/sama5d3xmb.dtsi
arch/arm/boot/dts/sama5d3xmb_cmp.dtsi
arch/arm/boot/dts/sama5d4.dtsi
arch/arm/boot/dts/sh73a0.dtsi
arch/arm/boot/dts/ste-href-stuib.dtsi
arch/arm/boot/dts/ste-href-tvk1281618.dtsi
arch/arm/boot/dts/stih407-clock.dtsi
arch/arm/boot/dts/stih407-family.dtsi
arch/arm/boot/dts/stih407-pinctrl.dtsi
arch/arm/boot/dts/stih410-b2120.dts
arch/arm/boot/dts/stih410-b2260.dts
arch/arm/boot/dts/stih410-clock.dtsi
arch/arm/boot/dts/stih410.dtsi
arch/arm/boot/dts/stih418-b2199.dts
arch/arm/boot/dts/stih418-clock.dtsi
arch/arm/boot/dts/stih418.dtsi
arch/arm/boot/dts/stihxxx-b2120.dtsi
arch/arm/boot/dts/stm32746g-eval.dts
arch/arm/boot/dts/stm32f4-pinctrl.dtsi
arch/arm/boot/dts/stm32f746-disco.dts
arch/arm/boot/dts/stm32f746.dtsi
arch/arm/boot/dts/stm32h743-pinctrl.dtsi
arch/arm/boot/dts/stm32h743.dtsi
arch/arm/boot/dts/stm32h743i-eval.dts
arch/arm/boot/dts/sun4i-a10-a1000.dts
arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts
arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts
arch/arm/boot/dts/sun4i-a10-cubieboard.dts
arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts
arch/arm/boot/dts/sun4i-a10-gemei-g9.dts
arch/arm/boot/dts/sun4i-a10-hackberry.dts
arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts
arch/arm/boot/dts/sun4i-a10-inet1.dts
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts
arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts
arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
arch/arm/boot/dts/sun4i-a10-marsboard.dts
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
arch/arm/boot/dts/sun4i-a10-mk802.dts
arch/arm/boot/dts/sun4i-a10-mk802ii.dts
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
arch/arm/boot/dts/sun4i-a10-pcduino.dts
arch/arm/boot/dts/sun4i-a10-pcduino2.dts
arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts
arch/arm/boot/dts/sun4i-a10.dtsi
arch/arm/boot/dts/sun5i-a10s.dtsi
arch/arm/boot/dts/sun5i-a13.dtsi
arch/arm/boot/dts/sun5i-gr8.dtsi
arch/arm/boot/dts/sun5i-reference-design-tablet.dtsi
arch/arm/boot/dts/sun5i.dtsi
arch/arm/boot/dts/sun6i-a31-hummingbird.dts
arch/arm/boot/dts/sun6i-a31.dtsi
arch/arm/boot/dts/sun6i-a31s-primo81.dts
arch/arm/boot/dts/sun6i-a31s-sina31s.dts
arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
arch/arm/boot/dts/sun7i-a20-cubietruck.dts
arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts [new file with mode: 0644]
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
arch/arm/boot/dts/sun7i-a20.dtsi
arch/arm/boot/dts/sun8i-a23-a33.dtsi
arch/arm/boot/dts/sun8i-a23.dtsi
arch/arm/boot/dts/sun8i-a33.dtsi
arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts
arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts [new file with mode: 0644]
arch/arm/boot/dts/sun8i-a83t.dtsi
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts [new file with mode: 0644]
arch/arm/boot/dts/sun8i-r40.dtsi [new file with mode: 0644]
arch/arm/boot/dts/sun8i-v3s.dtsi
arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts [new file with mode: 0644]
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
arch/arm/boot/dts/sun9i-a80-optimus.dts
arch/arm/boot/dts/sun9i-a80.dtsi
arch/arm/boot/dts/sunxi-h3-h5.dtsi
arch/arm/boot/dts/sunxi-itead-core-common.dtsi
arch/arm/boot/dts/tango4-common.dtsi
arch/arm/boot/dts/tegra124-jetson-tk1.dts
arch/arm/boot/dts/tegra124.dtsi
arch/arm/boot/dts/uniphier-ld4-ref.dts
arch/arm/boot/dts/uniphier-ld4.dtsi
arch/arm/boot/dts/uniphier-ld6b-ref.dts
arch/arm/boot/dts/uniphier-pinctrl.dtsi
arch/arm/boot/dts/uniphier-pro4-ref.dts
arch/arm/boot/dts/uniphier-pro4.dtsi
arch/arm/boot/dts/uniphier-pro5.dtsi
arch/arm/boot/dts/uniphier-pxs2.dtsi
arch/arm/boot/dts/uniphier-sld8-ref.dts
arch/arm/boot/dts/uniphier-sld8.dtsi
arch/arm/boot/dts/uniphier-support-card.dtsi
arch/arm/boot/dts/usb_a9263.dts
arch/arm/boot/dts/usb_a9g20_common.dtsi
arch/arm/boot/dts/vf610-twr.dts
arch/arm/boot/dts/vf610-zii-dev-rev-c.dts
arch/arm/boot/dts/zx296702.dtsi
arch/arm/boot/dts/zynq-zc702.dts
arch/arm/boot/dts/zynq-zc706.dts
arch/arm/mach-davinci/da8xx-dt.c
arch/arm64/Kconfig.platforms
arch/arm64/boot/dts/actions/s900-bubblegum-96.dts
arch/arm64/boot/dts/allwinner/Makefile
arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts [new file with mode: 0644]
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
arch/arm64/boot/dts/amlogic/Makefile
arch/arm64/boot/dts/amlogic/meson-axg-s400.dts [new file with mode: 0644]
arch/arm64/boot/dts/amlogic/meson-axg.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
arch/arm64/boot/dts/amlogic/meson-gx.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts [new file with mode: 0644]
arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts [new file with mode: 0644]
arch/arm64/boot/dts/apm/apm-shadowcat.dtsi
arch/arm64/boot/dts/apm/apm-storm.dtsi
arch/arm64/boot/dts/arm/Makefile
arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/arm/foundation-v8-gicv3-psci.dts [new file with mode: 0644]
arch/arm64/boot/dts/arm/foundation-v8-gicv3.dts
arch/arm64/boot/dts/arm/foundation-v8-gicv3.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/arm/foundation-v8-psci.dts [new file with mode: 0644]
arch/arm64/boot/dts/arm/foundation-v8-psci.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/arm/foundation-v8-spin-table.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/arm/foundation-v8.dts
arch/arm64/boot/dts/arm/foundation-v8.dtsi
arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts
arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts
arch/arm64/boot/dts/broadcom/northstar2/ns2-xmc.dts
arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi
arch/arm64/boot/dts/broadcom/stingray/stingray-clock.dtsi
arch/arm64/boot/dts/broadcom/stingray/stingray-fs4.dtsi
arch/arm64/boot/dts/broadcom/stingray/stingray-pinctrl.dtsi
arch/arm64/boot/dts/broadcom/stingray/stingray-sata.dtsi
arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi
arch/arm64/boot/dts/cavium/thunder-88xx.dts
arch/arm64/boot/dts/cavium/thunder-88xx.dtsi
arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
arch/arm64/boot/dts/hisilicon/hi3660.dtsi
arch/arm64/boot/dts/hisilicon/hi3798cv200-poplar.dts
arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/hisilicon/hi6220.dtsi
arch/arm64/boot/dts/hisilicon/hip05-d02.dts
arch/arm64/boot/dts/hisilicon/hip06-d03.dts
arch/arm64/boot/dts/marvell/armada-3720-db.dts
arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts
arch/arm64/boot/dts/marvell/armada-37xx.dtsi
arch/arm64/boot/dts/marvell/armada-7040-db.dts
arch/arm64/boot/dts/marvell/armada-70x0.dtsi
arch/arm64/boot/dts/marvell/armada-8040-db.dts
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
arch/arm64/boot/dts/marvell/armada-8080-db.dts
arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi
arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi
arch/arm64/boot/dts/marvell/armada-ap806.dtsi
arch/arm64/boot/dts/marvell/armada-ap810-ap0-octa-core.dtsi
arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi
arch/arm64/boot/dts/marvell/berlin4ct.dtsi
arch/arm64/boot/dts/mediatek/mt2712e.dtsi
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
arch/arm64/boot/dts/nvidia/tegra186.dtsi
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
arch/arm64/boot/dts/qcom/msm8916.dtsi
arch/arm64/boot/dts/qcom/msm8996-pins.dtsi
arch/arm64/boot/dts/qcom/msm8996.dtsi
arch/arm64/boot/dts/realtek/Makefile
arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts [new file with mode: 0644]
arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts [new file with mode: 0644]
arch/arm64/boot/dts/realtek/rtd1295-zidoo-x9s.dts
arch/arm64/boot/dts/realtek/rtd1295.dtsi
arch/arm64/boot/dts/realtek/rtd129x.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/renesas/Makefile
arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts [new file with mode: 0644]
arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts [new file with mode: 0644]
arch/arm64/boot/dts/renesas/r8a7795.dtsi
arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts [new file with mode: 0644]
arch/arm64/boot/dts/renesas/r8a7796.dtsi
arch/arm64/boot/dts/renesas/r8a77970-eagle.dts [new file with mode: 0644]
arch/arm64/boot/dts/renesas/r8a77970.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/renesas/r8a77995-draak.dts
arch/arm64/boot/dts/renesas/r8a77995.dtsi
arch/arm64/boot/dts/renesas/salvator-common.dtsi
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/renesas/ulcb.dtsi
arch/arm64/boot/dts/rockchip/rk3328-evb.dts
arch/arm64/boot/dts/rockchip/rk3368.dtsi
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
arch/arm64/boot/dts/rockchip/rk3399.dtsi
arch/arm64/boot/dts/socionext/uniphier-ld11-ref.dts
arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dts
arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts
arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi
include/dt-bindings/clock/r7s72100-clock.h
include/dt-bindings/clock/rk3188-cru-common.h
include/dt-bindings/clock/rk3368-cru.h
include/dt-bindings/clock/tegra210-car.h
include/dt-bindings/pinctrl/am43xx.h
include/dt-bindings/pinctrl/stm32-pinfunc.h [new file with mode: 0644]
include/dt-bindings/pinctrl/stm32f429-pinfunc.h [deleted file]
include/dt-bindings/pinctrl/stm32f746-pinfunc.h [deleted file]
include/dt-bindings/pinctrl/stm32h7-pinfunc.h [deleted file]
include/dt-bindings/power/r8a77970-sysc.h [new file with mode: 0644]
include/dt-bindings/thermal/tegra186-bpmp-thermal.h [new file with mode: 0644]

index 3bc7ea575564c001352b0213c735d172bc84d471..ced764a8549e9be45a71f416670e45c6006d0377 100644 (file)
@@ -21,6 +21,7 @@ Boards:
 
 Root node property compatible must contain, depending on board:
 
+ - Cubietech CubieBoard6: "cubietech,cubieboard6"
  - LeMaker Guitar Base Board rev. B: "lemaker,guitar-bb-rev-b", "lemaker,guitar"
 
 
index 4e4bc0bae597ad27b488a74c7b83762e7cb51a88..f747f47922c55dfabdf56a2ba3db6bbf1d704816 100644 (file)
@@ -41,6 +41,10 @@ Boards with the Amlogic Meson GXM S912 SoC shall have the following properties:
   Required root node property:
     compatible: "amlogic,s912", "amlogic,meson-gxm";
 
+Boards with the Amlogic Meson AXG A113D SoC shall have the following properties:
+  Required root node property:
+    compatible: "amlogic,a113d", "amlogic,meson-axg";
+
 Board compatible values (alphabetically, grouped by SoC):
 
   - "geniatech,atv1200" (Meson6)
@@ -71,8 +75,12 @@ Board compatible values (alphabetically, grouped by SoC):
 
   - "amlogic,q200" (Meson gxm s912)
   - "amlogic,q201" (Meson gxm s912)
+  - "khadas,vim2" (Meson gxm s912)
   - "kingnovel,r-box-pro" (Meson gxm S912)
   - "nexbox,a1" (Meson gxm s912)
+  - "tronsmart,vega-s96" (Meson gxm s912)
+
+  - "amlogic,s400" (Meson axg a113d)
 
 Amlogic Meson Firmware registers Interface
 ------------------------------------------
diff --git a/Documentation/devicetree/bindings/arm/amlogic/analog-top.txt b/Documentation/devicetree/bindings/arm/amlogic/analog-top.txt
new file mode 100644 (file)
index 0000000..101dc21
--- /dev/null
@@ -0,0 +1,20 @@
+Amlogic Meson8 and Meson8b "analog top" registers:
+--------------------------------------------------
+
+The analog top registers contain information about the so-called
+"metal revision" (which encodes the "minor version") of the SoC.
+
+Required properties:
+- reg: the register range of the analog top registers
+- compatible: depending on the SoC this should be one of:
+               - "amlogic,meson8-analog-top"
+               - "amlogic,meson8b-analog-top"
+               along with "syscon"
+
+
+Example:
+
+       analog_top: analog-top@81a8 {
+               compatible = "amlogic,meson8-analog-top", "syscon";
+               reg = <0x81a8 0x14>;
+       };
diff --git a/Documentation/devicetree/bindings/arm/amlogic/assist.txt b/Documentation/devicetree/bindings/arm/amlogic/assist.txt
new file mode 100644 (file)
index 0000000..7656812
--- /dev/null
@@ -0,0 +1,17 @@
+Amlogic Meson6/Meson8/Meson8b assist registers:
+-----------------------------------------------
+
+The assist registers contain basic information about the SoC,
+for example the encoded SoC part number.
+
+Required properties:
+- reg: the register range of the assist registers
+- compatible: should be "amlogic,meson-mx-assist" along with "syscon"
+
+
+Example:
+
+       assist: assist@7c00 {
+               compatible = "amlogic,meson-mx-assist", "syscon";
+               reg = <0x7c00 0x200>;
+       };
diff --git a/Documentation/devicetree/bindings/arm/amlogic/bootrom.txt b/Documentation/devicetree/bindings/arm/amlogic/bootrom.txt
new file mode 100644 (file)
index 0000000..407e27f
--- /dev/null
@@ -0,0 +1,17 @@
+Amlogic Meson6/Meson8/Meson8b bootrom:
+--------------------------------------
+
+The bootrom register area can be used to access SoC specific
+information, such as the "misc version".
+
+Required properties:
+- reg: the register range of the bootrom registers
+- compatible: should be "amlogic,meson-mx-bootrom" along with "syscon"
+
+
+Example:
+
+       bootrom: bootrom@d9040000 {
+               compatible = "amlogic,meson-mx-bootrom", "syscon";
+               reg = <0xd9040000 0x10000>;
+       };
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,hr2.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,hr2.txt
new file mode 100644 (file)
index 0000000..a124c7f
--- /dev/null
@@ -0,0 +1,14 @@
+Broadcom Hurricane 2 device tree bindings
+---------------------------------------
+
+Broadcom Hurricane 2 family of SoCs are used for switching control. These SoCs
+are based on Broadcom's iProc SoC architecture and feature a single core Cortex
+A9 ARM CPUs, DDR2/DDR3 memory, PCIe GEN-2, USB 2.0 and USB 3.0, serial and NAND
+flash and a PCIe attached integrated switching engine.
+
+Boards with Hurricane SoCs shall have the following properties:
+
+Required root node property:
+
+BCM53342
+compatible = "brcm,bcm53342", "brcm,hr2";
index 13d755787b4fd1c7f1664692146f71451dc00648..95839e19ae9267857589a48e6c3676187ebf1677 100644 (file)
@@ -12,6 +12,8 @@ Required root node properties:
 
 Root node property compatible must contain, depending on board:
 
+ - MeLE V9: "mele,v9"
+ - ProBox2 AVA: "probox2,ava"
  - Zidoo X9S: "zidoo,x9s"
 
 
index b003148e2945129ef834feacb5b198813195484e..326d24bca1a993afd724ce69720eb44814f44e68 100644 (file)
@@ -1,5 +1,9 @@
 Rockchip platforms device tree bindings
 ---------------------------------------
+- Amarula Vyasa RK3288 board
+    Required root node properties:
+      - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
+
 - Asus Tinker board
     Required root node properties:
       - compatible = "asus,rk3288-tinker", "rockchip,rk3288";
index fa674818e7e8e14178fc8f1da6db5f7d16df7e31..e13459618581d9cbb4c5ac7c1b6f71b701a1f116 100644 (file)
@@ -57,6 +57,7 @@ Required root node properties:
        - "hardkernel,odroid-xu3-lite" - for Exynos5422-based Hardkernel
                                         Odroid XU3 Lite board.
        - "hardkernel,odroid-xu4" - for Exynos5422-based Hardkernel Odroid XU4.
+       - "hardkernel,odroid-hc1" - for Exynos5422-based Hardkernel Odroid HC1.
 
   * Insignal
        - "insignal,arndale"      - for Exynos5250-based Insignal Arndale board.
index ae75cb3b1331f82782c95a814d3a6bbda3f63857..020d758fc0c535d20d4dd74b1fc5d5998dce7225 100644 (file)
@@ -39,6 +39,8 @@ SoCs:
     compatible = "renesas,r8a7795"
   - R-Car M3-W (R8A77960)
     compatible = "renesas,r8a7796"
+  - R-Car V3M (R8A77970)
+    compatible = "renesas,r8a77970"
   - R-Car D3 (R8A77995)
     compatible = "renesas,r8a77995"
 
@@ -57,6 +59,8 @@ Boards:
     compatible = "renesas,bockw", "renesas,r8a7778"
   - Draak (RTP0RC77995SEB0010S)
     compatible = "renesas,draak", "renesas,r8a77995"
+  - Eagle (RTP0RC77970SEB0010S)
+    compatible = "renesas,eagle", "renesas,r8a77970"
   - Genmai (RTK772100BC00000BR)
     compatible = "renesas,genmai", "renesas,r7s72100"
   - GR-Peach (X28A-M01-E/F)
@@ -65,7 +69,7 @@ Boards:
     compatible = "renesas,gose", "renesas,r8a7793"
   - H3ULCB (R-Car Starter Kit Premier, RTP0RC7795SKBX0010SA00 (H3 ES1.1))
     H3ULCB (R-Car Starter Kit Premier, RTP0RC77951SKBX010SA00 (H3 ES2.0))
-    compatible = "renesas,h3ulcb", "renesas,r8a7795";
+    compatible = "renesas,h3ulcb", "renesas,r8a7795"
   - Henninger
     compatible = "renesas,henninger", "renesas,r8a7791"
   - iWave Systems RZ/G1E SODIMM SOM Development Platform (iW-RainboW-G22D)
@@ -76,6 +80,8 @@ Boards:
     compatible = "iwave,g20d", "iwave,g20m", "renesas,r8a7743"
   - iWave Systems RZ/G1M Qseven System On Module (iW-RainboW-G20M-Qseven)
     compatible = "iwave,g20m", "renesas,r8a7743"
+  - Kingfisher (SBEV-RCAR-KF-M03)
+    compatible = "shimafuji,kingfisher"
   - Koelsch (RTP0RC7791SEB00010S)
     compatible = "renesas,koelsch", "renesas,r8a7791"
   - Kyoto Microcomputer Co. KZM-A9-Dual
@@ -85,7 +91,7 @@ Boards:
   - Lager (RTP0RC7790SEB00010S)
     compatible = "renesas,lager", "renesas,r8a7790"
   - M3ULCB (R-Car Starter Kit Pro, RTP0RC7796SKBX0010SA09 (M3 ES1.0))
-    compatible = "renesas,m3ulcb", "renesas,r8a7796";
+    compatible = "renesas,m3ulcb", "renesas,r8a7796"
   - Marzen (R0P7779A00010S)
     compatible = "renesas,marzen", "renesas,r8a7779"
   - Porter (M2-LCDP)
@@ -93,11 +99,11 @@ Boards:
   - RSKRZA1 (YR0K77210C000BE)
     compatible = "renesas,rskrza1", "renesas,r7s72100"
   - Salvator-X (RTP0RC7795SIPB0010S)
-    compatible = "renesas,salvator-x", "renesas,r8a7795";
+    compatible = "renesas,salvator-x", "renesas,r8a7795"
   - Salvator-X (RTP0RC7796SIPB0011S)
-    compatible = "renesas,salvator-x", "renesas,r8a7796";
+    compatible = "renesas,salvator-x", "renesas,r8a7796"
   - Salvator-XS (Salvator-X 2nd version, RTP0RC7795SIPB0012S)
-    compatible = "renesas,salvator-xs", "renesas,r8a7795";
+    compatible = "renesas,salvator-xs", "renesas,r8a7795"
   - SILK (RTP0RC7794LCB00011S)
     compatible = "renesas,silk", "renesas,r8a7794"
   - SK-RZG1E (YR8A77450S000BE)
diff --git a/Documentation/devicetree/bindings/bus/ts-nbus.txt b/Documentation/devicetree/bindings/bus/ts-nbus.txt
new file mode 100644 (file)
index 0000000..2a10d06
--- /dev/null
@@ -0,0 +1,50 @@
+Technologic Systems NBUS
+
+The NBUS is a bus used to interface with peripherals in the Technologic
+Systems FPGA on the TS-4600 SoM.
+
+Required properties :
+ - compatible          : "technologic,ts-nbus"
+ - #address-cells      : must be 1
+ - #size-cells         : must be 0
+ - pwms                        : The PWM bound to the FPGA
+ - ts,data-gpios       : The 8 GPIO pins connected to the data lines on the FPGA
+ - ts,csn-gpios                : The GPIO pin connected to the csn line on the FPGA
+ - ts,txrx-gpios       : The GPIO pin connected to the txrx line on the FPGA
+ - ts,strobe-gpios     : The GPIO pin connected to the stobe line on the FPGA
+ - ts,ale-gpios                : The GPIO pin connected to the ale line on the FPGA
+ - ts,rdy-gpios                : The GPIO pin connected to the rdy line on the FPGA
+
+Child nodes:
+
+The NBUS node can contain zero or more child nodes representing peripherals
+on the bus.
+
+Example:
+
+       nbus {
+               compatible = "technologic,ts-nbus";
+               pinctrl-0 = <&nbus_pins>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pwms = <&pwm 2 83>;
+               ts,data-gpios   = <&gpio0 0 GPIO_ACTIVE_HIGH
+                                  &gpio0 1 GPIO_ACTIVE_HIGH
+                                  &gpio0 2 GPIO_ACTIVE_HIGH
+                                  &gpio0 3 GPIO_ACTIVE_HIGH
+                                  &gpio0 4 GPIO_ACTIVE_HIGH
+                                  &gpio0 5 GPIO_ACTIVE_HIGH
+                                  &gpio0 6 GPIO_ACTIVE_HIGH
+                                  &gpio0 7 GPIO_ACTIVE_HIGH>;
+               ts,csn-gpios    = <&gpio0 16 GPIO_ACTIVE_HIGH>;
+               ts,txrx-gpios   = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+               ts,strobe-gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
+               ts,ale-gpios    = <&gpio0 26 GPIO_ACTIVE_HIGH>;
+               ts,rdy-gpios    = <&gpio0 21 GPIO_ACTIVE_HIGH>;
+
+               watchdog@2a {
+                       compatible = "...";
+
+                       /* ... */
+               };
+       };
index f2c5f0e4a363a5f247ccda48cc45d7a96f74362a..f8e4a93466cbfc8d5e7f1f11e89424843965fc6c 100644 (file)
@@ -137,6 +137,20 @@ These clock IDs are defined in:
     ch1_audio  audiopll         2       BCM_CYGNUS_AUDIOPLL_CH1
     ch2_audio  audiopll         3       BCM_CYGNUS_AUDIOPLL_CH2
 
+Hurricane 2
+------
+PLL and leaf clock compatible strings for Hurricane 2 are:
+ "brcm,hr2-armpll"
+
+The following table defines the set of PLL/clock for Hurricane 2:
+
+    Clock      Source          Index   ID
+    ---                -----           -----   ---------
+    crystal    N/A             N/A     N/A
+
+    armpll     crystal         N/A     N/A
+
+
 Northstar and Northstar Plus
 ------
 PLL and leaf clock compatible strings for Northstar and Northstar Plus are:
index b1a8929c2536cc324a1d34073dabc2fe2ddf53cf..3a72a103a18a8c40d1f09957123d6240d5685c8f 100644 (file)
@@ -37,7 +37,7 @@ Optional properties:
 
 Example:
 
-       hdmi0: hdmi0@fead0000 {
+       hdmi0: hdmi@fead0000 {
                compatible = "renesas,r8a7795-dw-hdmi";
                reg = <0 0xfead0000 0 0x10000>;
                interrupts = <0 389 IRQ_TYPE_LEVEL_HIGH>;
index d4c34774d626fc4829b93827d83b26fc18c5ff49..7fccc20d83311c22713370968638190720c90e1a 100644 (file)
@@ -18,7 +18,7 @@ Required properties:
 - #dma-cells : Should be 1, a single cell holding a line request number
 
 Example:
-       dma: dma-controller@01c02000 {
+       dma: dma-controller@1c02000 {
                compatible = "allwinner,sun6i-a31-dma";
                reg = <0x01c02000 0x1000>;
                interrupts = <0 50 4>;
index b4ebd56d03f340a9e16752daedad188674ff4564..c6814d7cc2b282b2710275abf03e4a654ab84a07 100644 (file)
@@ -13,6 +13,10 @@ Required properties:
       + allwinner,sun50i-h5-mali
       + amlogic,meson-gxbb-mali
       + amlogic,meson-gxl-mali
+      + rockchip,rk3036-mali
+      + rockchip,rk3066-mali
+      + rockchip,rk3188-mali
+      + rockchip,rk3228-mali
       + stericsson,db8500-mali
 
   - reg: Physical base address and length of the GPU registers
@@ -40,10 +44,18 @@ Optional properties:
     Memory region to allocate from, as defined in
     Documentation/devicetree/bindi/reserved-memory/reserved-memory.txt
 
+  - mali-supply:
+    Phandle to regulator for the Mali device, as defined in
+    Documentation/devicetree/bindings/regulator/regulator.txt for details.
+
   - operating-points-v2:
     Operating Points for the GPU, as defined in
     Documentation/devicetree/bindings/opp/opp.txt
 
+  - power-domains:
+    A power domain consumer specifier as defined in
+    Documentation/devicetree/bindings/power/power_domain.txt
+
 Vendor-specific bindings
 ------------------------
 
@@ -63,6 +75,10 @@ to specify one more vendor-specific compatible, among:
     Required properties:
       * resets: phandle to the reset line for the GPU
 
+  - Rockchip variants:
+    Required properties:
+      * resets: phandle to the reset line for the GPU
+
   - stericsson,db8500-mali
     Required properties:
       * interrupt-names and interrupts:
diff --git a/Documentation/devicetree/bindings/misc/ge-achc.txt b/Documentation/devicetree/bindings/misc/ge-achc.txt
new file mode 100644 (file)
index 0000000..77df94d
--- /dev/null
@@ -0,0 +1,26 @@
+* GE Healthcare USB Management Controller
+
+A device which handles data aquisition from compatible USB based peripherals.
+SPI is used for device management.
+
+Note: This device does not expose the peripherals as USB devices.
+
+Required properties:
+
+- compatible : Should be "ge,achc"
+
+Required SPI properties:
+
+- reg : Should be address of the device chip select within
+  the controller.
+
+- spi-max-frequency : Maximum SPI clocking speed of device in Hz, should be
+  1MHz for the GE ACHC.
+
+Example:
+
+spidev0: spi@0 {
+       compatible = "ge,achc";
+       reg = <0>;
+       spi-max-frequency = <1000000>;
+};
index 9ce35af8507c1da0a208fc1823b5d1d487909114..4cab5d85cf6f8eaf11cdf5b90b18cdcc3def4626 100644 (file)
@@ -13,6 +13,7 @@ Required properties:
                  at25df321a
                  at25df641
                  at26df081a
+                 en25s64
                  mr25h256
                  mr25h10
                  mr25h40
@@ -31,6 +32,7 @@ Required properties:
                  s25fl008k
                  s25fl064k
                  sst25vf040b
+                 sst25wf040b
                  m25p40
                  m25p80
                  m25p16
diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
new file mode 100644 (file)
index 0000000..3d6d5fa
--- /dev/null
@@ -0,0 +1,207 @@
+* Allwinner sun8i GMAC ethernet controller
+
+This device is a platform glue layer for stmmac.
+Please see stmmac.txt for the other unchanged properties.
+
+Required properties:
+- compatible: must be one of the following string:
+               "allwinner,sun8i-a83t-emac"
+               "allwinner,sun8i-h3-emac"
+               "allwinner,sun8i-v3s-emac"
+               "allwinner,sun50i-a64-emac"
+- reg: address and length of the register for the device.
+- interrupts: interrupt for the device
+- interrupt-names: must be "macirq"
+- clocks: A phandle to the reference clock for this device
+- clock-names: must be "stmmaceth"
+- resets: A phandle to the reset control for this device
+- reset-names: must be "stmmaceth"
+- phy-mode: See ethernet.txt
+- phy-handle: See ethernet.txt
+- #address-cells: shall be 1
+- #size-cells: shall be 0
+- syscon: A phandle to the syscon of the SoC with one of the following
+ compatible string:
+  - allwinner,sun8i-h3-system-controller
+  - allwinner,sun8i-v3s-system-controller
+  - allwinner,sun50i-a64-system-controller
+  - allwinner,sun8i-a83t-system-controller
+
+Optional properties:
+- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0)
+- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0)
+Both delay properties need to be a multiple of 100. They control the delay for
+external PHY.
+
+Optional properties for the following compatibles:
+  - "allwinner,sun8i-h3-emac",
+  - "allwinner,sun8i-v3s-emac":
+- allwinner,leds-active-low: EPHY LEDs are active low
+
+Required child node of emac:
+- mdio bus node: should be named mdio with compatible "snps,dwmac-mdio"
+
+Required properties of the mdio node:
+- #address-cells: shall be 1
+- #size-cells: shall be 0
+
+The device node referenced by "phy" or "phy-handle" must be a child node
+of the mdio node. See phy.txt for the generic PHY bindings.
+
+The following compatibles require that the emac node have a mdio-mux child
+node called "mdio-mux":
+  - "allwinner,sun8i-h3-emac"
+  - "allwinner,sun8i-v3s-emac":
+Required properties for the mdio-mux node:
+  - compatible = "allwinner,sun8i-h3-mdio-mux"
+  - mdio-parent-bus: a phandle to EMAC mdio
+  - one child mdio for the integrated mdio with the compatible
+    "allwinner,sun8i-h3-mdio-internal"
+  - one child mdio for the external mdio if present (V3s have none)
+Required properties for the mdio-mux children node:
+  - reg: 1 for internal MDIO bus, 2 for external MDIO bus
+
+The following compatibles require a PHY node representing the integrated
+PHY, under the integrated MDIO bus node if an mdio-mux node is used:
+  - "allwinner,sun8i-h3-emac",
+  - "allwinner,sun8i-v3s-emac":
+
+Additional information regarding generic multiplexer properties can be found
+at Documentation/devicetree/bindings/net/mdio-mux.txt
+
+Required properties of the integrated phy node:
+- clocks: a phandle to the reference clock for the EPHY
+- resets: a phandle to the reset control for the EPHY
+- Must be a child of the integrated mdio
+
+Example with integrated PHY:
+emac: ethernet@1c0b000 {
+       compatible = "allwinner,sun8i-h3-emac";
+       syscon = <&syscon>;
+       reg = <0x01c0b000 0x104>;
+       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+       interrupt-names = "macirq";
+       resets = <&ccu RST_BUS_EMAC>;
+       reset-names = "stmmaceth";
+       clocks = <&ccu CLK_BUS_EMAC>;
+       clock-names = "stmmaceth";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       phy-handle = <&int_mii_phy>;
+       phy-mode = "mii";
+       allwinner,leds-active-low;
+
+       mdio: mdio {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "snps,dwmac-mdio";
+       };
+
+       mdio-mux {
+               compatible = "mdio-mux", "allwinner,sun8i-h3-mdio-mux";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               mdio-parent-bus = <&mdio>;
+
+               int_mdio: mdio@1 {
+                       compatible = "allwinner,sun8i-h3-mdio-internal";
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       int_mii_phy: ethernet-phy@1 {
+                               reg = <1>;
+                               clocks = <&ccu CLK_BUS_EPHY>;
+                               resets = <&ccu RST_BUS_EPHY>;
+                               phy-is-integrated;
+                       };
+               };
+               ext_mdio: mdio@2 {
+                       reg = <2>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+       };
+};
+
+Example with external PHY:
+emac: ethernet@1c0b000 {
+       compatible = "allwinner,sun8i-h3-emac";
+       syscon = <&syscon>;
+       reg = <0x01c0b000 0x104>;
+       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+       interrupt-names = "macirq";
+       resets = <&ccu RST_BUS_EMAC>;
+       reset-names = "stmmaceth";
+       clocks = <&ccu CLK_BUS_EMAC>;
+       clock-names = "stmmaceth";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+       allwinner,leds-active-low;
+
+       mdio: mdio {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "snps,dwmac-mdio";
+       };
+
+       mdio-mux {
+               compatible = "allwinner,sun8i-h3-mdio-mux";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               mdio-parent-bus = <&mdio>;
+
+               int_mdio: mdio@1 {
+                       compatible = "allwinner,sun8i-h3-mdio-internal";
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       int_mii_phy: ethernet-phy@1 {
+                               reg = <1>;
+                               clocks = <&ccu CLK_BUS_EPHY>;
+                               resets = <&ccu RST_BUS_EPHY>;
+                       };
+               };
+               ext_mdio: mdio@2 {
+                       reg = <2>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       ext_rgmii_phy: ethernet-phy@1 {
+                               reg = <1>;
+                       };
+               }:
+       };
+};
+
+Example with SoC without integrated PHY
+
+emac: ethernet@1c0b000 {
+       compatible = "allwinner,sun8i-a83t-emac";
+       syscon = <&syscon>;
+       reg = <0x01c0b000 0x104>;
+       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+       interrupt-names = "macirq";
+       resets = <&ccu RST_BUS_EMAC>;
+       reset-names = "stmmaceth";
+       clocks = <&ccu CLK_BUS_EMAC>;
+       clock-names = "stmmaceth";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+
+       mdio: mdio {
+               compatible = "snps,dwmac-mdio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               ext_rgmii_phy: ethernet-phy@1 {
+                       reg = <1>;
+               };
+       };
+};
index 33e3d3c475526e404a8b03c7769aa66d61b88e3e..58c2a4c229db18db99c09bbd88eb6d015183421e 100644 (file)
@@ -143,6 +143,24 @@ Required properties:
       * 16 : Alternate Function 15
       * 17 : Analog
 
+  To simplify the usage, macro is available to generate "pinmux" field.
+  This macro is available here:
+    - include/dt-bindings/pinctrl/stm32-pinfunc.h
+
+  Some examples of using macro:
+    /* GPIO A9 set as alernate function 2 */
+    ... {
+               pinmux = <STM32_PINMUX('A', 9, AF2)>;
+    };
+    /* GPIO A9 set as GPIO  */
+    ... {
+               pinmux = <STM32_PINMUX('A', 9, GPIO)>;
+    };
+    /* GPIO A9 set as analog */
+    ... {
+               pinmux = <STM32_PINMUX('A', 9, ANALOG)>;
+    };
+
 Optional properties:
 - GENERIC_PINCONFIG: is the generic pinconfig options to use.
   Available options are:
@@ -165,13 +183,13 @@ pin-controller {
 ...
        usart1_pins_a: usart1@0 {
                pins1 {
-                       pinmux = <STM32F429_PA9_FUNC_USART1_TX>;
+                       pinmux = <STM32_PINMUX('A', 9, AF7)>;
                        bias-disable;
                        drive-push-pull;
                        slew-rate = <0>;
                };
                pins2 {
-                       pinmux = <STM32F429_PA10_FUNC_USART1_RX>;
+                       pinmux = <STM32_PINMUX('A', 10, AF7)>;
                        bias-disable;
                };
        };
index af21502e939c4b1f6866e80f7325342833b133c0..f747f95eee582419178f2b5fb5ca500b2c9bb137 100644 (file)
@@ -8,6 +8,7 @@ Required properties:
 - compatible: Should be "renesas,<soctype>-apmu", "renesas,apmu" as fallback.
              Examples with soctypes are:
                - "renesas,r8a7743-apmu" (RZ/G1M)
+               - "renesas,r8a7745-apmu" (RZ/G1E)
                - "renesas,r8a7790-apmu" (R-Car H2)
                - "renesas,r8a7791-apmu" (R-Car M2-W)
                - "renesas,r8a7792-apmu" (R-Car V2H)
index 6087defd9f9321b60890212b38f45f45b6ae517e..d37fabe17bd1215df697757e6622aac5f798061e 100644 (file)
@@ -8,6 +8,6 @@ Required properties:
 Example:
        serial@12000 {
                compatible = "marvell,armada-3700-uart";
-               reg = <0x12000 0x400>;
+               reg = <0x12000 0x200>;
                interrupts = <43>;
        };
index 13b1fcc8469e699412282d92c59c59328916dff8..dcc7eaada5118a5e61c23499d5f46f5f324e5c43 100644 (file)
@@ -5,6 +5,7 @@ Required properties:
                "fsl,ls2085a-dspi"
                or
                "fsl,ls2080a-dspi" followed by "fsl,ls2085a-dspi"
+               "fsl,ls1012a-dspi" followed by "fsl,ls1021a-v1.0-dspi"
 - reg : Offset and length of the register set for the device
 - interrupts : Should contain SPI controller interrupt
 - clocks: from common clock binding: handle to dspi clock.
index d48fc5280d5a80ba17f9d906f01554d390edf9be..cef716a236f1a94179d5c61bde45c79df0890e8f 100644 (file)
@@ -13,6 +13,7 @@
 
 Example :
 
+for Hi6220:
        tsensor: tsensor@0,f7030700 {
                compatible = "hisilicon,tsensor";
                reg = <0x0 0xf7030700 0x0 0x1000>;
@@ -21,3 +22,11 @@ Example :
                clock-names = "thermal_clk";
                #thermal-sensor-cells = <1>;
        }
+
+for Hi3660:
+       tsensor: tsensor@fff30000 {
+               compatible = "hisilicon,hi3660-tsensor";
+               reg = <0x0 0xfff30000 0x0 0x1000>;
+               interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+               #thermal-sensor-cells = <1>;
+       };
diff --git a/Documentation/devicetree/bindings/thermal/nvidia,tegra186-bpmp-thermal.txt b/Documentation/devicetree/bindings/thermal/nvidia,tegra186-bpmp-thermal.txt
new file mode 100644 (file)
index 0000000..276387d
--- /dev/null
@@ -0,0 +1,32 @@
+NVIDIA Tegra186 BPMP thermal sensor
+
+In Tegra186, the BPMP (Boot and Power Management Processor) implements an
+interface that is used to read system temperatures, including CPU cluster
+and GPU temperatures. This binding describes the thermal sensor that is
+exposed by BPMP.
+
+The BPMP thermal node must be located directly inside the main BPMP node. See
+../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding.
+
+This node represents a thermal sensor. See thermal.txt for details of the
+core thermal binding.
+
+Required properties:
+- compatible:
+    Array of strings.
+    One of:
+    - "nvidia,tegra186-bpmp-thermal".
+- #thermal-sensor-cells: Cell for sensor index.
+    Single-cell integer.
+    Must be <1>.
+
+Example:
+
+bpmp {
+       ...
+
+       bpmp_thermal: thermal {
+               compatible = "nvidia,tegra186-bpmp-thermal";
+               #thermal-sensor-cells = <1>;
+       };
+};
index 1db9dbef3e5618cf037f9235c2e2b06fac27570b..0994bdd82cd37ce0abf9882745fd174764524ac5 100644 (file)
@@ -18,6 +18,7 @@ al    Annapurna Labs
 allwinner      Allwinner Technology Co., Ltd.
 alphascale     AlphaScale Integrated Circuits Systems, Inc.
 altr   Altera Corp.
+amarula        Amarula Solutions
 amazon Amazon.com, Inc.
 amcc   Applied Micro Circuits Corporation (APM, formally AMCC)
 amd    Advanced Micro Devices (AMD), Inc.
@@ -114,6 +115,7 @@ everspin    Everspin Technologies, Inc.
 exar   Exar Corporation
 excito Excito
 ezchip EZchip Semiconductor
+fairphone      Fairphone B.V.
 faraday        Faraday Technology Corporation
 fcs    Fairchild Semiconductor
 firefly        Firefly
@@ -199,6 +201,7 @@ mcube       mCube
 meas   Measurement Specialties
 mediatek       MediaTek Inc.
 megachips      MegaChips
+mele   Shenzhen MeLE Digital Technology Ltd.
 melexis        Melexis N.V.
 melfas MELFAS Inc.
 mellanox       Mellanox Technologies
@@ -270,6 +273,7 @@ plathome    Plat'Home Co., Ltd.
 plda   PLDA
 poslab Poslab Technology Co., Ltd.
 powervr        PowerVR (deprecated, use img)
+probox2        PROBOX2 (by W2COMP Co., Ltd.)
 pulsedlight    PulsedLight, Inc
 qca    Qualcomm Atheros, Inc.
 qcom   Qualcomm Technologies, Inc
@@ -338,6 +342,7 @@ swir        Sierra Wireless
 syna   Synaptics Inc.
 synology       Synology, Inc.
 tbs    TBS Technologies
+tbs-biometrics Touchless Biometric Systems AG
 tcg    Trusted Computing Group
 tcl    Toby Churchill Ltd.
 technexion     TechNexion
@@ -361,6 +366,7 @@ truly       Truly Semiconductors Limited
 tsd    Theobroma Systems Design und Consulting GmbH
 tyan   Tyan Computer Corporation
 ucrobotics     uCRobotics
+ubnt   Ubiquiti Networks
 udoo   Udoo
 uniwest        United Western Technologies Corp (UniWest)
 upisemi        uPI Semiconductor Corp.
index b549f4dd61601a44d21ad75dca4a39a7a1450a65..485f793029c921a1dd2a91bef7e6aded98dc3516 100644 (file)
@@ -1761,6 +1761,7 @@ Q:        http://patchwork.kernel.org/project/linux-renesas-soc/list/
 T:     git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
 S:     Supported
 F:     arch/arm64/boot/dts/renesas/
+F:     Documentation/devicetree/bindings/arm/shmobile.txt
 F:     drivers/soc/renesas/
 F:     include/linux/soc/renesas/
 
@@ -1880,6 +1881,7 @@ F:        arch/arm/boot/dts/sh*
 F:     arch/arm/configs/shmobile_defconfig
 F:     arch/arm/include/debug/renesas-scif.S
 F:     arch/arm/mach-shmobile/
+F:     Documentation/devicetree/bindings/arm/shmobile.txt
 F:     drivers/soc/renesas/
 F:     include/linux/soc/renesas/
 
index 25dcf4e534e6c18177ed38054eb1aaf22773ccbe..d0381e9caf216bdbb6a398374551ef6411830901 100644 (file)
@@ -101,6 +101,8 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
        bcm4709-tplink-archer-c9-v1.dtb \
        bcm47094-dlink-dir-885l.dtb \
        bcm47094-linksys-panamera.dtb \
+       bcm47094-luxul-abr-4500.dtb \
+       bcm47094-luxul-xbr-4500.dtb \
        bcm47094-luxul-xwr-3100.dtb \
        bcm47094-netgear-r8500.dtb \
        bcm94708.dtb \
@@ -109,6 +111,8 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
        bcm953012hr.dtb \
        bcm953012k.dtb
 dtb-$(CONFIG_ARCH_BCM_53573) += \
+       bcm47189-luxul-xap-1440.dtb \
+       bcm47189-luxul-xap-810.dtb \
        bcm47189-tenda-ac9.dtb \
        bcm947189acdbmr.dtb
 dtb-$(CONFIG_ARCH_BCM_63XX) += \
@@ -118,6 +122,8 @@ dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
        bcm911360k.dtb \
        bcm958300k.dtb \
        bcm958305k.dtb
+dtb-$(CONFIG_ARCH_BCM_HR2) += \
+       bcm53340-ubnt-unifi-switch8.dtb
 dtb-$(CONFIG_ARCH_BCM_MOBILE) += \
        bcm28155-ap.dtb \
        bcm21664-garnet.dtb \
@@ -177,6 +183,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
        exynos5420-arndale-octa.dtb \
        exynos5420-peach-pit.dtb \
        exynos5420-smdk5420.dtb \
+       exynos5422-odroidhc1.dtb \
        exynos5422-odroidxu3.dtb \
        exynos5422-odroidxu3-lite.dtb \
        exynos5422-odroidxu4.dtb \
@@ -342,12 +349,14 @@ dtb-$(CONFIG_SOC_IMX51) += \
        imx51-babbage.dtb \
        imx51-digi-connectcore-jsk.dtb \
        imx51-eukrea-mbimxsd51-baseboard.dtb \
-       imx51-ts4800.dtb
+       imx51-ts4800.dtb \
+       imx51-zii-rdu1.dtb
 dtb-$(CONFIG_SOC_IMX53) += \
        imx53-ard.dtb \
        imx53-cx9020.dtb \
        imx53-m53evk.dtb \
        imx53-mba53.dtb \
+       imx53-ppd.dtb \
        imx53-qsb.dtb \
        imx53-qsrb.dtb \
        imx53-smd.dtb \
@@ -389,14 +398,19 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6dl-ts4900.dtb \
        imx6dl-tx6dl-comtft.dtb \
        imx6dl-tx6s-8034.dtb \
+       imx6dl-tx6s-8034-mb7.dtb \
        imx6dl-tx6s-8035.dtb \
+       imx6dl-tx6s-8035-mb7.dtb \
        imx6dl-tx6u-801x.dtb \
+       imx6dl-tx6u-80xx-mb7.dtb \
        imx6dl-tx6u-8033.dtb \
+       imx6dl-tx6u-8033-mb7.dtb \
        imx6dl-tx6u-811x.dtb \
        imx6dl-tx6u-81xx-mb7.dtb \
        imx6dl-udoo.dtb \
        imx6dl-wandboard.dtb \
        imx6dl-wandboard-revb1.dtb \
+       imx6dl-wandboard-revd1.dtb \
        imx6q-apalis-eval.dtb \
        imx6q-apalis-ixora.dtb \
        imx6q-apalis-ixora-v1.1.dtb \
@@ -408,6 +422,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6q-cm-fx6.dtb \
        imx6q-cubox-i.dtb \
        imx6q-dfi-fs700-m60.dtb \
+       imx6q-display5-tianma-tm070-1280x768.dtb \
        imx6q-dmo-edmqmx6.dtb \
        imx6q-evi.dtb \
        imx6q-gk802.dtb \
@@ -435,6 +450,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6q-nitrogen6_som2.dtb \
        imx6q-novena.dtb \
        imx6q-phytec-pbab01.dtb \
+       imx6q-pistachio.dtb \
        imx6q-rex-pro.dtb \
        imx6q-sabreauto.dtb \
        imx6q-sabrelite.dtb \
@@ -448,17 +464,25 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6q-tx6q-1020.dtb \
        imx6q-tx6q-1020-comtft.dtb \
        imx6q-tx6q-1036.dtb \
+       imx6q-tx6q-1036-mb7.dtb \
+       imx6q-tx6q-10x0-mb7.dtb \
        imx6q-tx6q-1110.dtb \
        imx6q-tx6q-11x0-mb7.dtb \
        imx6q-udoo.dtb \
        imx6q-utilite-pro.dtb \
        imx6q-wandboard.dtb \
        imx6q-wandboard-revb1.dtb \
+       imx6q-wandboard-revd1.dtb \
        imx6q-zii-rdu2.dtb \
        imx6qp-nitrogen6_max.dtb \
        imx6qp-nitrogen6_som2.dtb \
        imx6qp-sabreauto.dtb \
        imx6qp-sabresd.dtb \
+       imx6qp-tx6qp-8037.dtb \
+       imx6qp-tx6qp-8037-mb7.dtb \
+       imx6qp-tx6qp-8137.dtb \
+       imx6qp-tx6qp-8137-mb7.dtb \
+       imx6qp-wandboard-revd1.dtb \
        imx6qp-zii-rdu2.dtb
 dtb-$(CONFIG_SOC_IMX6SL) += \
        imx6sl-evk.dtb \
@@ -469,6 +493,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
        imx6sx-sdb-reva.dtb \
        imx6sx-sdb-sai.dtb \
        imx6sx-sdb.dtb \
+       imx6sx-softing-vining-2000.dtb \
        imx6sx-udoo-neo-basic.dtb \
        imx6sx-udoo-neo-extended.dtb \
        imx6sx-udoo-neo-full.dtb
@@ -681,6 +706,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
        orion5x-netgear-wnr854t.dtb \
        orion5x-rd88f5182-nas.dtb
 dtb-$(CONFIG_ARCH_ACTIONS) += \
+       owl-s500-cubieboard6.dtb \
        owl-s500-guitar-bb-rev-b.dtb
 dtb-$(CONFIG_ARCH_PRIMA2) += \
        prima2-evb.dtb
@@ -701,7 +727,9 @@ dtb-$(CONFIG_ARCH_QCOM) += \
        qcom-ipq8064-ap148.dtb \
        qcom-msm8660-surf.dtb \
        qcom-msm8960-cdp.dtb \
+       qcom-msm8974-fairphone-fp2.dtb \
        qcom-msm8974-lge-nexus5-hammerhead.dtb \
+       qcom-msm8974-sony-xperia-castor.dtb \
        qcom-msm8974-sony-xperia-honami.dtb \
        qcom-mdm9615-wp8548-mangoh-green.dtb
 dtb-$(CONFIG_ARCH_REALVIEW) += \
@@ -725,7 +753,9 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
        r8a73a4-ape6evm.dtb \
        r8a7740-armadillo800eva.dtb \
        r8a7743-iwg20d-q7.dtb \
+       r8a7743-iwg20d-q7-dbcm-ca.dtb \
        r8a7743-sk-rzg1m.dtb \
+       r8a7745-iwg22d-sodimm.dtb \
        r8a7745-sk-rzg1e.dtb \
        r8a7778-bockw.dtb \
        r8a7779-marzen.dtb \
@@ -768,7 +798,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
        rk3288-veyron-mickey.dtb \
        rk3288-veyron-minnie.dtb \
        rk3288-veyron-pinky.dtb \
-       rk3288-veyron-speedy.dtb
+       rk3288-veyron-speedy.dtb \
+       rk3288-vyasa.dtb
 dtb-$(CONFIG_ARCH_S3C24XX) += \
        s3c2416-smdk2416.dtb
 dtb-$(CONFIG_ARCH_S3C64XX) += \
@@ -891,6 +922,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
        sun7i-a20-olinuxino-lime2.dtb \
        sun7i-a20-olinuxino-lime2-emmc.dtb \
        sun7i-a20-olinuxino-micro.dtb \
+       sun7i-a20-olinuxino-micro-emmc.dtb \
        sun7i-a20-orangepi.dtb \
        sun7i-a20-orangepi-mini.dtb \
        sun7i-a20-pcduino3.dtb \
@@ -916,6 +948,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
        sun8i-a83t-allwinner-h8homlet-v2.dtb \
        sun8i-a83t-bananapi-m3.dtb \
        sun8i-a83t-cubietruck-plus.dtb \
+       sun8i-a83t-tbs-a711.dtb \
        sun8i-h2-plus-orangepi-zero.dtb \
        sun8i-h3-bananapi-m2-plus.dtb \
        sun8i-h3-beelink-x2.dtb \
@@ -932,8 +965,10 @@ dtb-$(CONFIG_MACH_SUN8I) += \
        sun8i-h3-orangepi-plus2e.dtb \
        sun8i-r16-bananapi-m2m.dtb \
        sun8i-r16-parrot.dtb \
+       sun8i-r40-bananapi-m2-ultra.dtb \
        sun8i-v3s-licheepi-zero.dtb \
-       sun8i-v3s-licheepi-zero-dock.dtb
+       sun8i-v3s-licheepi-zero-dock.dtb \
+       sun8i-v40-bananapi-m2-berry.dtb
 dtb-$(CONFIG_MACH_SUN9I) += \
        sun9i-a80-optimus.dtb \
        sun9i-a80-cubieboard4.dtb
index 081fa68b6f98049ad2edb1c9c6d579c0958a7a2d..a04d79ec212a9f2d94fc5197b1556821b8198af7 100644 (file)
@@ -75,6 +75,9 @@
                compatible = "gpio-matrix-keypad";
                debounce-delay-ms = <5>;
                col-scan-delay-us = <2>;
+               pinctrl-names = "default", "sleep";
+               pinctrl-0 = <&matrix_keypad_default>;
+               pinctrl-1 = <&matrix_keypad_sleep>;
 
                row-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH         /* Bank0, pin12 */
                             &gpio0 13 GPIO_ACTIVE_HIGH         /* Bank0, pin13 */
 };
 
 &am43xx_pinmux {
+               pinctrl-names = "default";
+               pinctrl-0 = <&unused_pins>;
+
+               unused_pins: unused_pins {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x848, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x850, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x858, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x860, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x864, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x868, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x86c, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x878, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x908, DS0_PIN_INPUT_PULLDOWN | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x91c, DS0_PIN_OUTPUT_PULLDOWN | PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x920, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x9e0, DS0_PIN_INPUT_PULLDOWN | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA0c, DS0_PIN_OUTPUT_PULLDOWN | PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA38, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA3c, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA40, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA44, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA48, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA4c, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA50, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA54, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA58, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA5c, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA60, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA64, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0xA68, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA6C, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA74, DS0_PIN_INPUT_PULLDOWN | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0xA78, DS0_PIN_INPUT | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       >;
+               };
+
                cpsw_default: cpsw_default {
                        pinctrl-single,pins = <
                                /* Slave 1 */
                        >;
                };
 
-               nand_flash_x8: nand_flash_x8 {
+               nand_flash_x8_default: nand_flash_x8_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE7)    /* gpmc_a0.SELQSPIorNAND/GPIO */
                                AM4372_IOPAD(0x800, PIN_INPUT_PULLDOWN | MUX_MODE0)     /* gpmc_ad0.gpmc_ad0 */
                        >;
                };
 
-               ecap0_pins: backlight_pins {
+               nand_flash_x8_sleep: nand_flash_x8_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x840, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x800, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x804, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x808, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x80c, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x810, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x814, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x818, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x81c, DS0_PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x870, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x874, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x87c, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x890, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x894, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x898, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x89c, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                       >;
+               };
+
+               ecap0_pins_default: backlight_pins_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x964, MUX_MODE0)         /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
                        >;
                };
 
+               ecap0_pins_sleep: backlight_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x964, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                       >;
+               };
+
                i2c2_pins: pinmux_i2c2_pins {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x9c0, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE8)    /* i2c2_sda.i2c2_sda */
                        >;
                };
 
-               spi0_pins: pinmux_spi0_pins {
+               spi0_pins_default: pinmux_spi0_pins_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0)           /* spi0_clk.spi0_clk */
                                AM4372_IOPAD(0x954, PIN_OUTPUT | MUX_MODE0)           /* spi0_d0.spi0_d0 */
                        >;
                };
 
-               spi1_pins: pinmux_spi1_pins {
+               spi0_pins_sleep: pinmux_spi0_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x950, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x954, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x958, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x95c, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)
+                       >;
+               };
+
+               spi1_pins_default: pinmux_spi1_pins_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x990, PIN_INPUT | MUX_MODE3)           /* mcasp0_aclkx.spi1_clk */
                                AM4372_IOPAD(0x994, PIN_OUTPUT | MUX_MODE3)           /* mcasp0_fsx.spi1_d0 */
                        >;
                };
 
-               mmc1_pins: pinmux_mmc1_pins {
+               spi1_pins_sleep: pinmux_spi1_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x990, DS0_PIN_OUTPUT_PULLDOWN | PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x994, DS0_PIN_OUTPUT_PULLDOWN | PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x998, DS0_PIN_OUTPUT_PULLDOWN | PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x99c, DS0_PIN_OUTPUT_PULLDOWN | PIN_OUTPUT_PULLDOWN | MUX_MODE7)
+                       >;
+               };
+
+               mmc1_pins_default: pinmux_mmc1_pins_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
                        >;
                };
 
-               qspi1_default: qspi1_default {
+               mmc1_pins_sleep: pinmux_mmc1_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x960, DS0_PIN_OUTPUT_PULLUP | PIN_INPUT | MUX_MODE7)
+                       >;
+               };
+
+               matrix_keypad_default: matrix_keypad_default {
+                       pinctrl-single,pins = <
+                                AM4372_IOPAD(0x92c, PIN_OUTPUT | MUX_MODE7)          /* mii1_tx_clk.gpio3_9 */
+                                AM4372_IOPAD(0x930, PIN_OUTPUT | MUX_MODE7)          /* mii1_rx_clk.gpio3_10 */
+                                AM4372_IOPAD(0x934, PIN_OUTPUT | MUX_MODE7)          /* mii1_rxd3.gpio2_18 */
+                                AM4372_IOPAD(0x938, PIN_OUTPUT | MUX_MODE7)          /* mii1_rxd2.gpio2_19 */
+                                AM4372_IOPAD(0x978, PIN_INPUT_PULLDOWN | MUX_MODE7)  /* uart1_ctsn.gpio0_12 */
+                                AM4372_IOPAD(0x97C, PIN_INPUT_PULLDOWN | MUX_MODE7)  /* uart1_rtsn.gpio0_13 */
+                                AM4372_IOPAD(0x980, PIN_INPUT_PULLDOWN | MUX_MODE7)  /* uart1_rxd.gpio0_14 */
+                                AM4372_IOPAD(0x984, PIN_INPUT_PULLDOWN | MUX_MODE7)  /* uart1_txd.gpio0_15 */
+                       >;
+               };
+
+               matrix_keypad_sleep: matrix_keypad_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x930, PIN_INPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x938, PIN_INPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x978, PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x97C, PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x980, PIN_INPUT_PULLDOWN | MUX_MODE7)
+                               AM4372_IOPAD(0x984, PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       >;
+               };
+
+               qspi1_pins_default: qspi1_pins_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x87c, PIN_INPUT_PULLUP | MUX_MODE3)
                                AM4372_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE2)
                        >;
                };
 
-               pixcir_ts_pins: pixcir_ts_pins {
+               qspi1_pins_sleep: qspi1_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x87c, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x888, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x890, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x894, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x898, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                               AM4372_IOPAD(0x89c, DS0_PIN_OUTPUT_PULLUP | MUX_MODE7)
+                       >;
+               };
+
+               pixcir_ts_pins_default: pixcir_ts_pins_default {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x844, PIN_INPUT_PULLUP | MUX_MODE7)       /* gpmc_a1.gpio1_17 */
                        >;
                };
 
+               pixcir_ts_pins_sleep: pixcir_ts_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x844, DS0_PIN_OUTPUT_PULLUP | PIN_OUTPUT_PULLUP | MUX_MODE7)      /* gpmc_a1.gpio1_17 */
+                       >;
+               };
+
                hdq_pins: pinmux_hdq_pins {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0xa34, PIN_INPUT_PULLUP | MUX_MODE1)    /* cam1_wen.hdq_gpio */
                        >;
                };
 
+               uart0_pins_default: uart0_pins_default {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) /* uart0_ctsn.uart0_ctsn */
+                               AM4372_IOPAD(0x96C, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) /* uart0_rtsn.uart0_rtsn */
+                               AM4372_IOPAD(0x970, PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_rxd.uart0_rxd */
+                               AM4372_IOPAD(0x974, PIN_INPUT | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0)        /* uart0_txd.uart0_txd */
+                       >;
+               };
+
+               uart0_pins_sleep: uart0_pins_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
+                               AM4372_IOPAD(0x96C, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
+                               AM4372_IOPAD(0x970, PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0)
+                               AM4372_IOPAD(0x974, PIN_INPUT | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0)
+                       >;
+               };
+
+               usb2_phy1_default: usb2_phy1_default {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0xac0, PIN_INPUT_PULLDOWN | MUX_MODE0)
+                       >;
+               };
+
+               usb2_phy1_sleep: usb2_phy1_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       >;
+               };
+
+               usb2_phy2_default: usb2_phy2_default {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0xac4, PIN_INPUT_PULLDOWN | MUX_MODE0)
+                       >;
+               };
+
+               usb2_phy2_sleep: usb2_phy2_sleep {
+                       pinctrl-single,pins = <
+                               AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE7)
+                       >;
+               };
+
                mcasp1_pins: mcasp1_pins {
                        pinctrl-single,pins = <
                                AM4372_IOPAD(0x9a0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* MCASP0_ACLKR/MCASP1_ACLKX */
        status = "okay";
        vmmc-supply = <&vmmcsd_fixed>;
        bus-width = <4>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc1_pins>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&mmc1_pins_default>;
+       pinctrl-1 = <&mmc1_pins_sleep>;
        cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
 };
 
 
        pixcir_ts@5c {
                compatible = "pixcir,pixcir_tangoc";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pixcir_ts_pins>;
+               pinctrl-names = "default", "sleep";
+               pinctrl-0 = <&pixcir_ts_pins_default>;
+               pinctrl-1 = <&pixcir_ts_pins_sleep>;
+
                reg = <0x5c>;
                interrupt-parent = <&gpio1>;
                interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
 
 &gpmc {
        status = "okay";        /* Disable QSPI when enabling GPMC (NAND) */
-       pinctrl-names = "default";
-       pinctrl-0 = <&nand_flash_x8>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&nand_flash_x8_default>;
+       pinctrl-1 = <&nand_flash_x8_sleep>;
        ranges = <0 0 0x08000000 0x01000000>;   /* CS0 space. Min partition = 16MB */
        nand@0,0 {
                compatible = "ti,omap2-nand";
 
 &ecap0 {
                status = "okay";
-               pinctrl-names = "default";
-               pinctrl-0 = <&ecap0_pins>;
+               pinctrl-names = "default", "sleep";
+               pinctrl-0 = <&ecap0_pins_default>;
+               pinctrl-1 = <&ecap0_pins_sleep>;
 };
 
 &spi0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins>;
        status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&spi0_pins_default>;
+       pinctrl-1 = <&spi0_pins_sleep>;
 };
 
 &spi1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&spi1_pins>;
        status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&spi1_pins_default>;
+       pinctrl-1 = <&spi1_pins_sleep>;
 };
 
 &usb2_phy1 {
        status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&usb2_phy1_default>;
+       pinctrl-1 = <&usb2_phy1_sleep>;
 };
 
 &usb1 {
 
 &usb2_phy2 {
        status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&usb2_phy2_default>;
+       pinctrl-1 = <&usb2_phy2_sleep>;
 };
 
 &usb2 {
 
 &qspi {
        status = "disabled";    /* Disable GPMC (NAND) when enabling QSPI */
-       pinctrl-names = "default";
-       pinctrl-0 = <&qspi1_default>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&qspi1_pins_default>;
+       pinctrl-1 = <&qspi1_pins_sleep>;
 
        spi-max-frequency = <48000000>;
        m25p80@0 {
        };
 };
 
+&uart0 {
+       status = "okay";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&uart0_pins_default>;
+       pinctrl-1 = <&uart0_pins_sleep>;
+};
+
 &mcasp1 {
        #sound-dai-cells = <0>;
        pinctrl-names = "default", "sleep";
index 4978011df5bd5899b66ffbe36bbcf711fec7da7e..95040810c0949e0af55b7e48db4107e5281b4f02 100644 (file)
                 * change the default environment, unless you know
                 * what you are doing.
                 */
-               partition@00000000 { /* u-boot */
+               partition@0 { /* u-boot */
                        label = "RedBoot";
                        reg = <0x00000000 0x000c0000>; /* 768KB */
                };
 
-               partition@000c0000 { /* uImage */
+               partition@c0000 { /* uImage */
                        label = "zImage";
                        reg = <0x000c0000 0x002d0000>; /* 2880KB */
                };
 
-               partition@00390000 { /* uInitramfs */
+               partition@390000 { /* uInitramfs */
                        label = "rd.gz";
                        reg = <0x00390000 0x00440000>; /* 4250KB */
                };
 
-               partition@007d0000 { /* MAC address and serial number */
+               partition@7d0000 { /* MAC address and serial number */
                        label = "vendor";
                        reg = <0x007d0000 0x00010000>; /* 64KB */
                };
 
-               partition@007e0000 {
+               partition@7e0000 {
                        label = "RedBoot config";
                        reg = <0x007e0000 0x00010000>; /* 64KB */
                };
 
-               partition@007f0000 {
+               partition@7f0000 {
                        label = "FIS directory";
                        reg = <0x007f0000 0x00010000>; /* 64KB */
                };
index 31510eb56f108e8a8708bb6e4a513fb137982c13..36ad571e76f31c85aff97acc42d7991ddf184e50 100644 (file)
                 * enumerated. The MAC address and the serial number are listed
                 * in the "vendor" partition.
                 */
-               partition@00000000 {
+               partition@0 {
                        label = "RedBoot";
                        reg = <0x00000000 0x000f0000>;
                        read-only;
                };
 
-               partition@000c0000 {
+               partition@c0000 {
                        label = "zImage";
                        reg = <0x000f0000 0x002d0000>;
                };
 
-               partition@00390000 {
+               partition@390000 {
                        label = "rd.gz";
                        reg = <0x003c0000 0x00410000>;
                };
 
-               partition@007d0000 {
+               partition@7d0000 {
                        label = "vendor";
                        reg = <0x007d0000 0x00010000>;
                        read-only;
                };
 
-               partition@007e0000 {
+               partition@7e0000 {
                        label = "RedBoot config";
                        reg = <0x007e0000 0x00010000>;
                        read-only;
                };
 
-               partition@007f0000 {
+               partition@7f0000 {
                        label = "FIS directory";
                        reg = <0x007f0000 0x00010000>;
                        read-only;
index d8e05bab0cee5104e74edb5ad0d8635d07079653..d7228a5461c828d495546f939cd9fddfd6356dbd 100644 (file)
                 * change the default environment, unless you know
                 * what you are doing.
                 */
-               partition@00000000 { /* u-boot */
+               partition@0 { /* u-boot */
                        label = "RedBoot";
                        reg = <0x00000000 0x000d0000>; /* 832KB */
                };
 
-               partition@000c0000 { /* uImage */
+               partition@c0000 { /* uImage */
                        label = "zImage";
                        reg = <0x000d0000 0x002d0000>; /* 2880KB */
                };
 
-               partition@003a0000 { /* uInitramfs */
+               partition@3a0000 { /* uInitramfs */
                        label = "rd.gz";
                        reg = <0x003a0000 0x00430000>; /* 4250KB */
                };
 
-               partition@007d0000 { /* MAC address and serial number */
+               partition@7d0000 { /* MAC address and serial number */
                        label = "vendor";
                        reg = <0x007d0000 0x00010000>; /* 64KB */
                };
 
-               partition@007e0000 {
+               partition@7e0000 {
                        label = "RedBoot config";
                        reg = <0x007e0000 0x00010000>; /* 64KB */
                };
 
-               partition@007f0000 {
+               partition@7f0000 {
                        label = "FIS directory";
                        reg = <0x007f0000 0x00010000>; /* 64KB */
                };
index 767cbe8d8557a1d111443c0c0e119b578d591b9a..2ed11773048d2e6a0f2d62112ed378c9572367bf 100644 (file)
                interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
                        <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-affinity = <&cpu0>, <&cpu1>;
-               interrupt-parent = <&intc>;
        };
 
        pcie: pcie@f8050000 {
                compatible = "simple-bus";
                #address-cells = <0x1>;
                #size-cells = <0x1>;
-               interrupt-parent = <&intc>;
                ranges;
                dma-ranges = <0x80000000 0x00000000 0x40000000>;
                dma-coherent;
                        clocks = <&eth_phy_ref_clk>,
                                <&clkctrl ARTPEC6_CLK_ETH_ACLK>;
                        compatible = "snps,dwc-qos-ethernet-4.10";
-                       interrupt-parent = <&intc>;
                        interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
                        reg = <0xf8010000 0x4000>;
 
index f53e89d63477ee1cef6bf3b6e6ee9f995f4e4525..602bc10fdaf4829d5eb5de8eea03961f399167f2 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
 };
+
+&i2c3 {
+       status = "okay";
+
+       eeprom@50 {
+               compatible = "atmel,24c08";
+               reg = <0x50>;
+               pagesize = <16>;
+       };
+};
+
+&i2c7 {
+       status = "okay";
+
+       lm75@4d {
+               compatible = "national,lm75";
+               reg = <0x4d>;
+       };
+};
index e1b523bd5b8b3b90616ccc272120c5ed52593819..c786bc2f2919b8586e60363a4314978eb61dbae9 100644 (file)
@@ -7,10 +7,6 @@
        model = "Palmetto BMC";
        compatible = "tyan,palmetto-bmc", "aspeed,ast2400";
 
-       aliases {
-               serial4 = &uart5;
-       };
-
        chosen {
                stdout-path = &uart5;
                bootargs = "console=ttyS4,115200 earlyprintk";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_rmii1_default>;
 };
+
+&i2c0 {
+       status = "okay";
+
+       eeprom@50 {
+               compatible = "atmel,24c256";
+               reg = <0x50>;
+               pagesize = <64>;
+       };
+
+       rtc@68 {
+               compatible = "dallas,ds3231";
+               reg = <0x68>;
+       };
+};
+
+&i2c1 {
+       status = "okay";
+};
+
+&i2c2 {
+       status = "okay";
+
+       tmp423@4c {
+               compatible = "ti,tmp423";
+               reg = <0x4c>;
+       };
+};
+
+&i2c3 {
+       status = "okay";
+};
+
+&i2c4 {
+       status = "okay";
+};
+
+&i2c5 {
+       status = "okay";
+};
+
+&i2c6 {
+       status = "okay";
+};
+
+&i2c7 {
+       status = "okay";
+};
+
+&vuart {
+       status = "okay";
+};
index 6dd77cba191c01a66ec57da0a27575394a31ea45..8067793129ea450f0e416fa18c13e525997d57a9 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_rmii1_default>;
 };
+
+&i2c2 {
+       status = "okay";
+};
+
+&i2c3 {
+       status = "okay";
+};
+
+&i2c4 {
+       status = "okay";
+};
+
+&i2c5 {
+       status = "okay";
+};
+
+&i2c6 {
+       /* PCIe slot 1 (x8) */
+       status = "okay";
+};
+
+&i2c7 {
+       /* PCIe slot 2 (x16) */
+       status = "okay";
+};
+
+&i2c8 {
+       /* PCIe slot 3 (x16) */
+       status = "okay";
+};
+
+&i2c9 {
+       /* PCIe slot 4 (x16) */
+       status = "okay";
+};
+
+&i2c10 {
+       /* PCIe slot 5 (x8) */
+       status = "okay";
+};
+
+&i2c11 {
+       status = "okay";
+
+       rtc@32 {
+               compatible = "epson,rx8900";
+               reg = <0x32>;
+       };
+};
+
+&i2c12 {
+       status = "okay";
+};
+
+&vuart {
+       status = "okay";
+};
index fcc5efbd0879b7ab4fdbdd545fff0404c413e6d9..45d815a86d420b9f8f108919bb846f865f9b5231 100644 (file)
@@ -8,6 +8,29 @@
        #size-cells = <1>;
        interrupt-parent = <&vic>;
 
+       aliases {
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
+               i2c4 = &i2c4;
+               i2c5 = &i2c5;
+               i2c6 = &i2c6;
+               i2c7 = &i2c7;
+               i2c8 = &i2c8;
+               i2c9 = &i2c9;
+               i2c10 = &i2c10;
+               i2c11 = &i2c11;
+               i2c12 = &i2c12;
+               i2c13 = &i2c13;
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               serial3 = &uart4;
+               serial4 = &uart5;
+               serial5 = &vuart;
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
                                         clock-frequency = <192000000>;
                                 };
 
-                                clk_apb: clk_apb@08 {
+                                clk_apb: clk_apb@8 {
                                         #clock-cells = <0>;
                                         compatible = "aspeed,g4-apb-clock", "fixed-clock";
                                         reg = <0x08>;
 
                                pinctrl: pinctrl {
                                        compatible = "aspeed,g4-pinctrl";
-
-                                       pinctrl_acpi_default: acpi_default {
-                                               function = "ACPI";
-                                               groups = "ACPI";
-                                       };
-
-                                       pinctrl_adc0_default: adc0_default {
-                                               function = "ADC0";
-                                               groups = "ADC0";
-                                       };
-
-                                       pinctrl_adc1_default: adc1_default {
-                                               function = "ADC1";
-                                               groups = "ADC1";
-                                       };
-
-                                       pinctrl_adc10_default: adc10_default {
-                                               function = "ADC10";
-                                               groups = "ADC10";
-                                       };
-
-                                       pinctrl_adc11_default: adc11_default {
-                                               function = "ADC11";
-                                               groups = "ADC11";
-                                       };
-
-                                       pinctrl_adc12_default: adc12_default {
-                                               function = "ADC12";
-                                               groups = "ADC12";
-                                       };
-
-                                       pinctrl_adc13_default: adc13_default {
-                                               function = "ADC13";
-                                               groups = "ADC13";
-                                       };
-
-                                       pinctrl_adc14_default: adc14_default {
-                                               function = "ADC14";
-                                               groups = "ADC14";
-                                       };
-
-                                       pinctrl_adc15_default: adc15_default {
-                                               function = "ADC15";
-                                               groups = "ADC15";
-                                       };
-
-                                       pinctrl_adc2_default: adc2_default {
-                                               function = "ADC2";
-                                               groups = "ADC2";
-                                       };
-
-                                       pinctrl_adc3_default: adc3_default {
-                                               function = "ADC3";
-                                               groups = "ADC3";
-                                       };
-
-                                       pinctrl_adc4_default: adc4_default {
-                                               function = "ADC4";
-                                               groups = "ADC4";
-                                       };
-
-                                       pinctrl_adc5_default: adc5_default {
-                                               function = "ADC5";
-                                               groups = "ADC5";
-                                       };
-
-                                       pinctrl_adc6_default: adc6_default {
-                                               function = "ADC6";
-                                               groups = "ADC6";
-                                       };
-
-                                       pinctrl_adc7_default: adc7_default {
-                                               function = "ADC7";
-                                               groups = "ADC7";
-                                       };
-
-                                       pinctrl_adc8_default: adc8_default {
-                                               function = "ADC8";
-                                               groups = "ADC8";
-                                       };
-
-                                       pinctrl_adc9_default: adc9_default {
-                                               function = "ADC9";
-                                               groups = "ADC9";
-                                       };
-
-                                       pinctrl_bmcint_default: bmcint_default {
-                                               function = "BMCINT";
-                                               groups = "BMCINT";
-                                       };
-
-                                       pinctrl_ddcclk_default: ddcclk_default {
-                                               function = "DDCCLK";
-                                               groups = "DDCCLK";
-                                       };
-
-                                       pinctrl_ddcdat_default: ddcdat_default {
-                                               function = "DDCDAT";
-                                               groups = "DDCDAT";
-                                       };
-
-                                       pinctrl_extrst_default: extrst_default {
-                                               function = "EXTRST";
-                                               groups = "EXTRST";
-                                       };
-
-                                       pinctrl_flack_default: flack_default {
-                                               function = "FLACK";
-                                               groups = "FLACK";
-                                       };
-
-                                       pinctrl_flbusy_default: flbusy_default {
-                                               function = "FLBUSY";
-                                               groups = "FLBUSY";
-                                       };
-
-                                       pinctrl_flwp_default: flwp_default {
-                                               function = "FLWP";
-                                               groups = "FLWP";
-                                       };
-
-                                       pinctrl_gpid_default: gpid_default {
-                                               function = "GPID";
-                                               groups = "GPID";
-                                       };
-
-                                       pinctrl_gpid0_default: gpid0_default {
-                                               function = "GPID0";
-                                               groups = "GPID0";
-                                       };
-
-                                       pinctrl_gpid2_default: gpid2_default {
-                                               function = "GPID2";
-                                               groups = "GPID2";
-                                       };
-
-                                       pinctrl_gpid4_default: gpid4_default {
-                                               function = "GPID4";
-                                               groups = "GPID4";
-                                       };
-
-                                       pinctrl_gpid6_default: gpid6_default {
-                                               function = "GPID6";
-                                               groups = "GPID6";
-                                       };
-
-                                       pinctrl_gpie0_default: gpie0_default {
-                                               function = "GPIE0";
-                                               groups = "GPIE0";
-                                       };
-
-                                       pinctrl_gpie2_default: gpie2_default {
-                                               function = "GPIE2";
-                                               groups = "GPIE2";
-                                       };
-
-                                       pinctrl_gpie4_default: gpie4_default {
-                                               function = "GPIE4";
-                                               groups = "GPIE4";
-                                       };
-
-                                       pinctrl_gpie6_default: gpie6_default {
-                                               function = "GPIE6";
-                                               groups = "GPIE6";
-                                       };
-
-                                       pinctrl_i2c10_default: i2c10_default {
-                                               function = "I2C10";
-                                               groups = "I2C10";
-                                       };
-
-                                       pinctrl_i2c11_default: i2c11_default {
-                                               function = "I2C11";
-                                               groups = "I2C11";
-                                       };
-
-                                       pinctrl_i2c12_default: i2c12_default {
-                                               function = "I2C12";
-                                               groups = "I2C12";
-                                       };
-
-                                       pinctrl_i2c13_default: i2c13_default {
-                                               function = "I2C13";
-                                               groups = "I2C13";
-                                       };
-
-                                       pinctrl_i2c14_default: i2c14_default {
-                                               function = "I2C14";
-                                               groups = "I2C14";
-                                       };
-
-                                       pinctrl_i2c3_default: i2c3_default {
-                                               function = "I2C3";
-                                               groups = "I2C3";
-                                       };
-
-                                       pinctrl_i2c4_default: i2c4_default {
-                                               function = "I2C4";
-                                               groups = "I2C4";
-                                       };
-
-                                       pinctrl_i2c5_default: i2c5_default {
-                                               function = "I2C5";
-                                               groups = "I2C5";
-                                       };
-
-                                       pinctrl_i2c6_default: i2c6_default {
-                                               function = "I2C6";
-                                               groups = "I2C6";
-                                       };
-
-                                       pinctrl_i2c7_default: i2c7_default {
-                                               function = "I2C7";
-                                               groups = "I2C7";
-                                       };
-
-                                       pinctrl_i2c8_default: i2c8_default {
-                                               function = "I2C8";
-                                               groups = "I2C8";
-                                       };
-
-                                       pinctrl_i2c9_default: i2c9_default {
-                                               function = "I2C9";
-                                               groups = "I2C9";
-                                       };
-
-                                       pinctrl_lpcpd_default: lpcpd_default {
-                                               function = "LPCPD";
-                                               groups = "LPCPD";
-                                       };
-
-                                       pinctrl_lpcpme_default: lpcpme_default {
-                                               function = "LPCPME";
-                                               groups = "LPCPME";
-                                       };
-
-                                       pinctrl_lpcrst_default: lpcrst_default {
-                                               function = "LPCRST";
-                                               groups = "LPCRST";
-                                       };
-
-                                       pinctrl_lpcsmi_default: lpcsmi_default {
-                                               function = "LPCSMI";
-                                               groups = "LPCSMI";
-                                       };
-
-                                       pinctrl_mac1link_default: mac1link_default {
-                                               function = "MAC1LINK";
-                                               groups = "MAC1LINK";
-                                       };
-
-                                       pinctrl_mac2link_default: mac2link_default {
-                                               function = "MAC2LINK";
-                                               groups = "MAC2LINK";
-                                       };
-
-                                       pinctrl_mdio1_default: mdio1_default {
-                                               function = "MDIO1";
-                                               groups = "MDIO1";
-                                       };
-
-                                       pinctrl_mdio2_default: mdio2_default {
-                                               function = "MDIO2";
-                                               groups = "MDIO2";
-                                       };
-
-                                       pinctrl_ncts1_default: ncts1_default {
-                                               function = "NCTS1";
-                                               groups = "NCTS1";
-                                       };
-
-                                       pinctrl_ncts2_default: ncts2_default {
-                                               function = "NCTS2";
-                                               groups = "NCTS2";
-                                       };
-
-                                       pinctrl_ncts3_default: ncts3_default {
-                                               function = "NCTS3";
-                                               groups = "NCTS3";
-                                       };
-
-                                       pinctrl_ncts4_default: ncts4_default {
-                                               function = "NCTS4";
-                                               groups = "NCTS4";
-                                       };
-
-                                       pinctrl_ndcd1_default: ndcd1_default {
-                                               function = "NDCD1";
-                                               groups = "NDCD1";
-                                       };
-
-                                       pinctrl_ndcd2_default: ndcd2_default {
-                                               function = "NDCD2";
-                                               groups = "NDCD2";
-                                       };
-
-                                       pinctrl_ndcd3_default: ndcd3_default {
-                                               function = "NDCD3";
-                                               groups = "NDCD3";
-                                       };
-
-                                       pinctrl_ndcd4_default: ndcd4_default {
-                                               function = "NDCD4";
-                                               groups = "NDCD4";
-                                       };
-
-                                       pinctrl_ndsr1_default: ndsr1_default {
-                                               function = "NDSR1";
-                                               groups = "NDSR1";
-                                       };
-
-                                       pinctrl_ndsr2_default: ndsr2_default {
-                                               function = "NDSR2";
-                                               groups = "NDSR2";
-                                       };
-
-                                       pinctrl_ndsr3_default: ndsr3_default {
-                                               function = "NDSR3";
-                                               groups = "NDSR3";
-                                       };
-
-                                       pinctrl_ndsr4_default: ndsr4_default {
-                                               function = "NDSR4";
-                                               groups = "NDSR4";
-                                       };
-
-                                       pinctrl_ndtr1_default: ndtr1_default {
-                                               function = "NDTR1";
-                                               groups = "NDTR1";
-                                       };
-
-                                       pinctrl_ndtr2_default: ndtr2_default {
-                                               function = "NDTR2";
-                                               groups = "NDTR2";
-                                       };
-
-                                       pinctrl_ndtr3_default: ndtr3_default {
-                                               function = "NDTR3";
-                                               groups = "NDTR3";
-                                       };
-
-                                       pinctrl_ndtr4_default: ndtr4_default {
-                                               function = "NDTR4";
-                                               groups = "NDTR4";
-                                       };
-
-                                       pinctrl_ndts4_default: ndts4_default {
-                                               function = "NDTS4";
-                                               groups = "NDTS4";
-                                       };
-
-                                       pinctrl_nri1_default: nri1_default {
-                                               function = "NRI1";
-                                               groups = "NRI1";
-                                       };
-
-                                       pinctrl_nri2_default: nri2_default {
-                                               function = "NRI2";
-                                               groups = "NRI2";
-                                       };
-
-                                       pinctrl_nri3_default: nri3_default {
-                                               function = "NRI3";
-                                               groups = "NRI3";
-                                       };
-
-                                       pinctrl_nri4_default: nri4_default {
-                                               function = "NRI4";
-                                               groups = "NRI4";
-                                       };
-
-                                       pinctrl_nrts1_default: nrts1_default {
-                                               function = "NRTS1";
-                                               groups = "NRTS1";
-                                       };
-
-                                       pinctrl_nrts2_default: nrts2_default {
-                                               function = "NRTS2";
-                                               groups = "NRTS2";
-                                       };
-
-                                       pinctrl_nrts3_default: nrts3_default {
-                                               function = "NRTS3";
-                                               groups = "NRTS3";
-                                       };
-
-                                       pinctrl_oscclk_default: oscclk_default {
-                                               function = "OSCCLK";
-                                               groups = "OSCCLK";
-                                       };
-
-                                       pinctrl_pwm0_default: pwm0_default {
-                                               function = "PWM0";
-                                               groups = "PWM0";
-                                       };
-
-                                       pinctrl_pwm1_default: pwm1_default {
-                                               function = "PWM1";
-                                               groups = "PWM1";
-                                       };
-
-                                       pinctrl_pwm2_default: pwm2_default {
-                                               function = "PWM2";
-                                               groups = "PWM2";
-                                       };
-
-                                       pinctrl_pwm3_default: pwm3_default {
-                                               function = "PWM3";
-                                               groups = "PWM3";
-                                       };
-
-                                       pinctrl_pwm4_default: pwm4_default {
-                                               function = "PWM4";
-                                               groups = "PWM4";
-                                       };
-
-                                       pinctrl_pwm5_default: pwm5_default {
-                                               function = "PWM5";
-                                               groups = "PWM5";
-                                       };
-
-                                       pinctrl_pwm6_default: pwm6_default {
-                                               function = "PWM6";
-                                               groups = "PWM6";
-                                       };
-
-                                       pinctrl_pwm7_default: pwm7_default {
-                                               function = "PWM7";
-                                               groups = "PWM7";
-                                       };
-
-                                       pinctrl_rgmii1_default: rgmii1_default {
-                                               function = "RGMII1";
-                                               groups = "RGMII1";
-                                       };
-
-                                       pinctrl_rgmii2_default: rgmii2_default {
-                                               function = "RGMII2";
-                                               groups = "RGMII2";
-                                       };
-
-                                       pinctrl_rmii1_default: rmii1_default {
-                                               function = "RMII1";
-                                               groups = "RMII1";
-                                       };
-
-                                       pinctrl_rmii2_default: rmii2_default {
-                                               function = "RMII2";
-                                               groups = "RMII2";
-                                       };
-
-                                       pinctrl_rom16_default: rom16_default {
-                                               function = "ROM16";
-                                               groups = "ROM16";
-                                       };
-
-                                       pinctrl_rom8_default: rom8_default {
-                                               function = "ROM8";
-                                               groups = "ROM8";
-                                       };
-
-                                       pinctrl_romcs1_default: romcs1_default {
-                                               function = "ROMCS1";
-                                               groups = "ROMCS1";
-                                       };
-
-                                       pinctrl_romcs2_default: romcs2_default {
-                                               function = "ROMCS2";
-                                               groups = "ROMCS2";
-                                       };
-
-                                       pinctrl_romcs3_default: romcs3_default {
-                                               function = "ROMCS3";
-                                               groups = "ROMCS3";
-                                       };
-
-                                       pinctrl_romcs4_default: romcs4_default {
-                                               function = "ROMCS4";
-                                               groups = "ROMCS4";
-                                       };
-
-                                       pinctrl_rxd1_default: rxd1_default {
-                                               function = "RXD1";
-                                               groups = "RXD1";
-                                       };
-
-                                       pinctrl_rxd2_default: rxd2_default {
-                                               function = "RXD2";
-                                               groups = "RXD2";
-                                       };
-
-                                       pinctrl_rxd3_default: rxd3_default {
-                                               function = "RXD3";
-                                               groups = "RXD3";
-                                       };
-
-                                       pinctrl_rxd4_default: rxd4_default {
-                                               function = "RXD4";
-                                               groups = "RXD4";
-                                       };
-
-                                       pinctrl_salt1_default: salt1_default {
-                                               function = "SALT1";
-                                               groups = "SALT1";
-                                       };
-
-                                       pinctrl_salt2_default: salt2_default {
-                                               function = "SALT2";
-                                               groups = "SALT2";
-                                       };
-
-                                       pinctrl_salt3_default: salt3_default {
-                                               function = "SALT3";
-                                               groups = "SALT3";
-                                       };
-
-                                       pinctrl_salt4_default: salt4_default {
-                                               function = "SALT4";
-                                               groups = "SALT4";
-                                       };
-
-                                       pinctrl_sd1_default: sd1_default {
-                                               function = "SD1";
-                                               groups = "SD1";
-                                       };
-
-                                       pinctrl_sd2_default: sd2_default {
-                                               function = "SD2";
-                                               groups = "SD2";
-                                       };
-
-                                       pinctrl_sgpmck_default: sgpmck_default {
-                                               function = "SGPMCK";
-                                               groups = "SGPMCK";
-                                       };
-
-                                       pinctrl_sgpmi_default: sgpmi_default {
-                                               function = "SGPMI";
-                                               groups = "SGPMI";
-                                       };
-
-                                       pinctrl_sgpmld_default: sgpmld_default {
-                                               function = "SGPMLD";
-                                               groups = "SGPMLD";
-                                       };
-
-                                       pinctrl_sgpmo_default: sgpmo_default {
-                                               function = "SGPMO";
-                                               groups = "SGPMO";
-                                       };
-
-                                       pinctrl_sgpsck_default: sgpsck_default {
-                                               function = "SGPSCK";
-                                               groups = "SGPSCK";
-                                       };
-
-                                       pinctrl_sgpsi0_default: sgpsi0_default {
-                                               function = "SGPSI0";
-                                               groups = "SGPSI0";
-                                       };
-
-                                       pinctrl_sgpsi1_default: sgpsi1_default {
-                                               function = "SGPSI1";
-                                               groups = "SGPSI1";
-                                       };
-
-                                       pinctrl_sgpsld_default: sgpsld_default {
-                                               function = "SGPSLD";
-                                               groups = "SGPSLD";
-                                       };
-
-                                       pinctrl_sioonctrl_default: sioonctrl_default {
-                                               function = "SIOONCTRL";
-                                               groups = "SIOONCTRL";
-                                       };
-
-                                       pinctrl_siopbi_default: siopbi_default {
-                                               function = "SIOPBI";
-                                               groups = "SIOPBI";
-                                       };
-
-                                       pinctrl_siopbo_default: siopbo_default {
-                                               function = "SIOPBO";
-                                               groups = "SIOPBO";
-                                       };
-
-                                       pinctrl_siopwreq_default: siopwreq_default {
-                                               function = "SIOPWREQ";
-                                               groups = "SIOPWREQ";
-                                       };
-
-                                       pinctrl_siopwrgd_default: siopwrgd_default {
-                                               function = "SIOPWRGD";
-                                               groups = "SIOPWRGD";
-                                       };
-
-                                       pinctrl_sios3_default: sios3_default {
-                                               function = "SIOS3";
-                                               groups = "SIOS3";
-                                       };
-
-                                       pinctrl_sios5_default: sios5_default {
-                                               function = "SIOS5";
-                                               groups = "SIOS5";
-                                       };
-
-                                       pinctrl_siosci_default: siosci_default {
-                                               function = "SIOSCI";
-                                               groups = "SIOSCI";
-                                       };
-
-                                       pinctrl_spi1_default: spi1_default {
-                                               function = "SPI1";
-                                               groups = "SPI1";
-                                       };
-
-                                       pinctrl_spi1debug_default: spi1debug_default {
-                                               function = "SPI1DEBUG";
-                                               groups = "SPI1DEBUG";
-                                       };
-
-                                       pinctrl_spi1passthru_default: spi1passthru_default {
-                                               function = "SPI1PASSTHRU";
-                                               groups = "SPI1PASSTHRU";
-                                       };
-
-                                       pinctrl_spics1_default: spics1_default {
-                                               function = "SPICS1";
-                                               groups = "SPICS1";
-                                       };
-
-                                       pinctrl_timer3_default: timer3_default {
-                                               function = "TIMER3";
-                                               groups = "TIMER3";
-                                       };
-
-                                       pinctrl_timer4_default: timer4_default {
-                                               function = "TIMER4";
-                                               groups = "TIMER4";
-                                       };
-
-                                       pinctrl_timer5_default: timer5_default {
-                                               function = "TIMER5";
-                                               groups = "TIMER5";
-                                       };
-
-                                       pinctrl_timer6_default: timer6_default {
-                                               function = "TIMER6";
-                                               groups = "TIMER6";
-                                       };
-
-                                       pinctrl_timer7_default: timer7_default {
-                                               function = "TIMER7";
-                                               groups = "TIMER7";
-                                       };
-
-                                       pinctrl_timer8_default: timer8_default {
-                                               function = "TIMER8";
-                                               groups = "TIMER8";
-                                       };
-
-                                       pinctrl_txd1_default: txd1_default {
-                                               function = "TXD1";
-                                               groups = "TXD1";
-                                       };
-
-                                       pinctrl_txd2_default: txd2_default {
-                                               function = "TXD2";
-                                               groups = "TXD2";
-                                       };
-
-                                       pinctrl_txd3_default: txd3_default {
-                                               function = "TXD3";
-                                               groups = "TXD3";
-                                       };
-
-                                       pinctrl_txd4_default: txd4_default {
-                                               function = "TXD4";
-                                               groups = "TXD4";
-                                       };
-
-                                       pinctrl_uart6_default: uart6_default {
-                                               function = "UART6";
-                                               groups = "UART6";
-                                       };
-
-                                       pinctrl_usbcki_default: usbcki_default {
-                                               function = "USBCKI";
-                                               groups = "USBCKI";
-                                       };
-
-                                       pinctrl_vgabios_rom_default: vgabios_rom_default {
-                                               function = "VGABIOS_ROM";
-                                               groups = "VGABIOS_ROM";
-                                       };
-
-                                       pinctrl_vgahs_default: vgahs_default {
-                                               function = "VGAHS";
-                                               groups = "VGAHS";
-                                       };
-
-                                       pinctrl_vgavs_default: vgavs_default {
-                                               function = "VGAVS";
-                                               groups = "VGAVS";
-                                       };
-
-                                       pinctrl_vpi18_default: vpi18_default {
-                                               function = "VPI18";
-                                               groups = "VPI18";
-                                       };
-
-                                       pinctrl_vpi24_default: vpi24_default {
-                                               function = "VPI24";
-                                               groups = "VPI24";
-                                       };
-
-                                       pinctrl_vpi30_default: vpi30_default {
-                                               function = "VPI30";
-                                               groups = "VPI30";
-                                       };
-
-                                       pinctrl_vpo12_default: vpo12_default {
-                                               function = "VPO12";
-                                               groups = "VPO12";
-                                       };
-
-                                       pinctrl_vpo24_default: vpo24_default {
-                                               function = "VPO24";
-                                               groups = "VPO24";
-                                       };
-
-                                       pinctrl_wdtrst1_default: wdtrst1_default {
-                                               function = "WDTRST1";
-                                               groups = "WDTRST1";
-                                       };
-
-                                       pinctrl_wdtrst2_default: wdtrst2_default {
-                                               function = "WDTRST2";
-                                               groups = "WDTRST2";
-                                       };
-
                                };
                        };
 
+                       adc: adc@1e6e9000 {
+                               compatible = "aspeed,ast2400-adc";
+                               reg = <0x1e6e9000 0xb0>;
+                               clocks = <&clk_apb>;
+                               #io-channel-cells = <1>;
+                               status = "disabled";
+                       };
+
                        sram@1e720000 {
                                compatible = "mmio-sram";
                                reg = <0x1e720000 0x8000>;      // 32K
                                clock-names = "PCLK";
                        };
 
-                       wdt1: wdt@1e785000 {
-                               compatible = "aspeed,ast2400-wdt";
-                               reg = <0x1e785000 0x1c>;
-                               interrupts = <27>;
-                       };
-
-                       wdt2: wdt@1e785020 {
-                               compatible = "aspeed,ast2400-wdt";
-                               reg = <0x1e785020 0x1c>;
-                               interrupts = <27>;
-                               clocks = <&clk_apb>;
-                               status = "disabled";
-                       };
-
                        uart1: serial@1e783000 {
                                compatible = "ns16550a";
-                               reg = <0x1e783000 0x1000>;
+                               reg = <0x1e783000 0x20>;
                                reg-shift = <2>;
                                interrupts = <9>;
                                clocks = <&clk_uart>;
                                status = "disabled";
                        };
 
-                       uart2: serial@1e78d000 {
+                       uart5: serial@1e784000 {
                                compatible = "ns16550a";
-                               reg = <0x1e78d000 0x1000>;
+                               reg = <0x1e784000 0x20>;
                                reg-shift = <2>;
-                               interrupts = <32>;
+                               interrupts = <10>;
                                clocks = <&clk_uart>;
                                no-loopback-test;
                                status = "disabled";
                        };
 
-                       uart3: serial@1e78e000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e78e000 0x1000>;
+                       wdt1: watchdog@1e785000 {
+                               compatible = "aspeed,ast2400-wdt";
+                               reg = <0x1e785000 0x1c>;
+                       };
+
+                       wdt2: watchdog@1e785020 {
+                               compatible = "aspeed,ast2400-wdt";
+                               reg = <0x1e785020 0x1c>;
+                       };
+
+                       vuart: serial@1e787000 {
+                               compatible = "aspeed,ast2400-vuart";
+                               reg = <0x1e787000 0x40>;
                                reg-shift = <2>;
-                               interrupts = <33>;
+                               interrupts = <10>;
                                clocks = <&clk_uart>;
                                no-loopback-test;
                                status = "disabled";
                        };
 
-                       uart4: serial@1e78f000 {
+                       uart2: serial@1e78d000 {
                                compatible = "ns16550a";
-                               reg = <0x1e78f000 0x1000>;
+                               reg = <0x1e78d000 0x20>;
                                reg-shift = <2>;
-                               interrupts = <34>;
+                               interrupts = <32>;
                                clocks = <&clk_uart>;
                                no-loopback-test;
                                status = "disabled";
                        };
 
-                       uart5: serial@1e784000 {
+                       uart3: serial@1e78e000 {
                                compatible = "ns16550a";
-                               reg = <0x1e784000 0x1000>;
+                               reg = <0x1e78e000 0x20>;
                                reg-shift = <2>;
-                               interrupts = <10>;
+                               interrupts = <33>;
                                clocks = <&clk_uart>;
-                               current-speed = <38400>;
                                no-loopback-test;
                                status = "disabled";
                        };
 
-                       uart6: serial@1e787000 {
+                       uart4: serial@1e78f000 {
                                compatible = "ns16550a";
-                               reg = <0x1e787000 0x1000>;
+                               reg = <0x1e78f000 0x20>;
                                reg-shift = <2>;
-                               interrupts = <10>;
+                               interrupts = <34>;
                                clocks = <&clk_uart>;
                                no-loopback-test;
                                status = "disabled";
                        };
 
-                       adc: adc@1e6e9000 {
-                               compatible = "aspeed,ast2400-adc";
-                               reg = <0x1e6e9000 0xb0>;
-                               clocks = <&clk_apb>;
-                               #io-channel-cells = <1>;
-                               status = "disabled";
+                       i2c: i2c@1e78a000 {
+                               compatible = "simple-bus";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x1e78a000 0x1000>;
                        };
                };
        };
 };
+
+&i2c {
+       i2c_ic: interrupt-controller@0 {
+               #interrupt-cells = <1>;
+               compatible = "aspeed,ast2400-i2c-ic";
+               reg = <0x0 0x40>;
+               interrupts = <12>;
+               interrupt-controller;
+       };
+
+       i2c0: i2c-bus@40 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x40 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <0>;
+               interrupt-parent = <&i2c_ic>;
+               status = "disabled";
+               /* Does not need pinctrl properties */
+       };
+
+       i2c1: i2c-bus@80 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x80 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <1>;
+               interrupt-parent = <&i2c_ic>;
+               status = "disabled";
+               /* Does not need pinctrl properties */
+       };
+
+       i2c2: i2c-bus@c0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0xc0 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <2>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c3_default>;
+               status = "disabled";
+       };
+
+       i2c3: i2c-bus@100 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x100 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <3>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c4_default>;
+               status = "disabled";
+       };
+
+       i2c4: i2c-bus@140 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x140 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <4>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c5_default>;
+               status = "disabled";
+       };
+
+       i2c5: i2c-bus@180 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x180 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <5>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c6_default>;
+               status = "disabled";
+       };
+
+       i2c6: i2c-bus@1c0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x1c0 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <6>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c7_default>;
+               status = "disabled";
+       };
+
+       i2c7: i2c-bus@300 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x300 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <7>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c8_default>;
+               status = "disabled";
+       };
+
+       i2c8: i2c-bus@340 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x340 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <8>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c9_default>;
+               status = "disabled";
+       };
+
+       i2c9: i2c-bus@380 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x380 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <9>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c10_default>;
+               status = "disabled";
+       };
+
+       i2c10: i2c-bus@3c0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x3c0 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <10>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c11_default>;
+               status = "disabled";
+       };
+
+       i2c11: i2c-bus@400 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x400 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <11>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c12_default>;
+               status = "disabled";
+       };
+
+       i2c12: i2c-bus@440 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x440 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <12>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c13_default>;
+               status = "disabled";
+       };
+
+       i2c13: i2c-bus@480 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x480 0x40>;
+               compatible = "aspeed,ast2400-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <13>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c14_default>;
+               status = "disabled";
+       };
+};
+
+&pinctrl {
+       pinctrl_acpi_default: acpi_default {
+               function = "ACPI";
+               groups = "ACPI";
+       };
+
+       pinctrl_adc0_default: adc0_default {
+               function = "ADC0";
+               groups = "ADC0";
+       };
+
+       pinctrl_adc1_default: adc1_default {
+               function = "ADC1";
+               groups = "ADC1";
+       };
+
+       pinctrl_adc10_default: adc10_default {
+               function = "ADC10";
+               groups = "ADC10";
+       };
+
+       pinctrl_adc11_default: adc11_default {
+               function = "ADC11";
+               groups = "ADC11";
+       };
+
+       pinctrl_adc12_default: adc12_default {
+               function = "ADC12";
+               groups = "ADC12";
+       };
+
+       pinctrl_adc13_default: adc13_default {
+               function = "ADC13";
+               groups = "ADC13";
+       };
+
+       pinctrl_adc14_default: adc14_default {
+               function = "ADC14";
+               groups = "ADC14";
+       };
+
+       pinctrl_adc15_default: adc15_default {
+               function = "ADC15";
+               groups = "ADC15";
+       };
+
+       pinctrl_adc2_default: adc2_default {
+               function = "ADC2";
+               groups = "ADC2";
+       };
+
+       pinctrl_adc3_default: adc3_default {
+               function = "ADC3";
+               groups = "ADC3";
+       };
+
+       pinctrl_adc4_default: adc4_default {
+               function = "ADC4";
+               groups = "ADC4";
+       };
+
+       pinctrl_adc5_default: adc5_default {
+               function = "ADC5";
+               groups = "ADC5";
+       };
+
+       pinctrl_adc6_default: adc6_default {
+               function = "ADC6";
+               groups = "ADC6";
+       };
+
+       pinctrl_adc7_default: adc7_default {
+               function = "ADC7";
+               groups = "ADC7";
+       };
+
+       pinctrl_adc8_default: adc8_default {
+               function = "ADC8";
+               groups = "ADC8";
+       };
+
+       pinctrl_adc9_default: adc9_default {
+               function = "ADC9";
+               groups = "ADC9";
+       };
+
+       pinctrl_bmcint_default: bmcint_default {
+               function = "BMCINT";
+               groups = "BMCINT";
+       };
+
+       pinctrl_ddcclk_default: ddcclk_default {
+               function = "DDCCLK";
+               groups = "DDCCLK";
+       };
+
+       pinctrl_ddcdat_default: ddcdat_default {
+               function = "DDCDAT";
+               groups = "DDCDAT";
+       };
+
+       pinctrl_extrst_default: extrst_default {
+               function = "EXTRST";
+               groups = "EXTRST";
+       };
+
+       pinctrl_flack_default: flack_default {
+               function = "FLACK";
+               groups = "FLACK";
+       };
+
+       pinctrl_flbusy_default: flbusy_default {
+               function = "FLBUSY";
+               groups = "FLBUSY";
+       };
+
+       pinctrl_flwp_default: flwp_default {
+               function = "FLWP";
+               groups = "FLWP";
+       };
+
+       pinctrl_gpid_default: gpid_default {
+               function = "GPID";
+               groups = "GPID";
+       };
+
+       pinctrl_gpid0_default: gpid0_default {
+               function = "GPID0";
+               groups = "GPID0";
+       };
+
+       pinctrl_gpid2_default: gpid2_default {
+               function = "GPID2";
+               groups = "GPID2";
+       };
+
+       pinctrl_gpid4_default: gpid4_default {
+               function = "GPID4";
+               groups = "GPID4";
+       };
+
+       pinctrl_gpid6_default: gpid6_default {
+               function = "GPID6";
+               groups = "GPID6";
+       };
+
+       pinctrl_gpie0_default: gpie0_default {
+               function = "GPIE0";
+               groups = "GPIE0";
+       };
+
+       pinctrl_gpie2_default: gpie2_default {
+               function = "GPIE2";
+               groups = "GPIE2";
+       };
+
+       pinctrl_gpie4_default: gpie4_default {
+               function = "GPIE4";
+               groups = "GPIE4";
+       };
+
+       pinctrl_gpie6_default: gpie6_default {
+               function = "GPIE6";
+               groups = "GPIE6";
+       };
+
+       pinctrl_i2c10_default: i2c10_default {
+               function = "I2C10";
+               groups = "I2C10";
+       };
+
+       pinctrl_i2c11_default: i2c11_default {
+               function = "I2C11";
+               groups = "I2C11";
+       };
+
+       pinctrl_i2c12_default: i2c12_default {
+               function = "I2C12";
+               groups = "I2C12";
+       };
+
+       pinctrl_i2c13_default: i2c13_default {
+               function = "I2C13";
+               groups = "I2C13";
+       };
+
+       pinctrl_i2c14_default: i2c14_default {
+               function = "I2C14";
+               groups = "I2C14";
+       };
+
+       pinctrl_i2c3_default: i2c3_default {
+               function = "I2C3";
+               groups = "I2C3";
+       };
+
+       pinctrl_i2c4_default: i2c4_default {
+               function = "I2C4";
+               groups = "I2C4";
+       };
+
+       pinctrl_i2c5_default: i2c5_default {
+               function = "I2C5";
+               groups = "I2C5";
+       };
+
+       pinctrl_i2c6_default: i2c6_default {
+               function = "I2C6";
+               groups = "I2C6";
+       };
+
+       pinctrl_i2c7_default: i2c7_default {
+               function = "I2C7";
+               groups = "I2C7";
+       };
+
+       pinctrl_i2c8_default: i2c8_default {
+               function = "I2C8";
+               groups = "I2C8";
+       };
+
+       pinctrl_i2c9_default: i2c9_default {
+               function = "I2C9";
+               groups = "I2C9";
+       };
+
+       pinctrl_lpcpd_default: lpcpd_default {
+               function = "LPCPD";
+               groups = "LPCPD";
+       };
+
+       pinctrl_lpcpme_default: lpcpme_default {
+               function = "LPCPME";
+               groups = "LPCPME";
+       };
+
+       pinctrl_lpcrst_default: lpcrst_default {
+               function = "LPCRST";
+               groups = "LPCRST";
+       };
+
+       pinctrl_lpcsmi_default: lpcsmi_default {
+               function = "LPCSMI";
+               groups = "LPCSMI";
+       };
+
+       pinctrl_mac1link_default: mac1link_default {
+               function = "MAC1LINK";
+               groups = "MAC1LINK";
+       };
+
+       pinctrl_mac2link_default: mac2link_default {
+               function = "MAC2LINK";
+               groups = "MAC2LINK";
+       };
+
+       pinctrl_mdio1_default: mdio1_default {
+               function = "MDIO1";
+               groups = "MDIO1";
+       };
+
+       pinctrl_mdio2_default: mdio2_default {
+               function = "MDIO2";
+               groups = "MDIO2";
+       };
+
+       pinctrl_ncts1_default: ncts1_default {
+               function = "NCTS1";
+               groups = "NCTS1";
+       };
+
+       pinctrl_ncts2_default: ncts2_default {
+               function = "NCTS2";
+               groups = "NCTS2";
+       };
+
+       pinctrl_ncts3_default: ncts3_default {
+               function = "NCTS3";
+               groups = "NCTS3";
+       };
+
+       pinctrl_ncts4_default: ncts4_default {
+               function = "NCTS4";
+               groups = "NCTS4";
+       };
+
+       pinctrl_ndcd1_default: ndcd1_default {
+               function = "NDCD1";
+               groups = "NDCD1";
+       };
+
+       pinctrl_ndcd2_default: ndcd2_default {
+               function = "NDCD2";
+               groups = "NDCD2";
+       };
+
+       pinctrl_ndcd3_default: ndcd3_default {
+               function = "NDCD3";
+               groups = "NDCD3";
+       };
+
+       pinctrl_ndcd4_default: ndcd4_default {
+               function = "NDCD4";
+               groups = "NDCD4";
+       };
+
+       pinctrl_ndsr1_default: ndsr1_default {
+               function = "NDSR1";
+               groups = "NDSR1";
+       };
+
+       pinctrl_ndsr2_default: ndsr2_default {
+               function = "NDSR2";
+               groups = "NDSR2";
+       };
+
+       pinctrl_ndsr3_default: ndsr3_default {
+               function = "NDSR3";
+               groups = "NDSR3";
+       };
+
+       pinctrl_ndsr4_default: ndsr4_default {
+               function = "NDSR4";
+               groups = "NDSR4";
+       };
+
+       pinctrl_ndtr1_default: ndtr1_default {
+               function = "NDTR1";
+               groups = "NDTR1";
+       };
+
+       pinctrl_ndtr2_default: ndtr2_default {
+               function = "NDTR2";
+               groups = "NDTR2";
+       };
+
+       pinctrl_ndtr3_default: ndtr3_default {
+               function = "NDTR3";
+               groups = "NDTR3";
+       };
+
+       pinctrl_ndtr4_default: ndtr4_default {
+               function = "NDTR4";
+               groups = "NDTR4";
+       };
+
+       pinctrl_ndts4_default: ndts4_default {
+               function = "NDTS4";
+               groups = "NDTS4";
+       };
+
+       pinctrl_nri1_default: nri1_default {
+               function = "NRI1";
+               groups = "NRI1";
+       };
+
+       pinctrl_nri2_default: nri2_default {
+               function = "NRI2";
+               groups = "NRI2";
+       };
+
+       pinctrl_nri3_default: nri3_default {
+               function = "NRI3";
+               groups = "NRI3";
+       };
+
+       pinctrl_nri4_default: nri4_default {
+               function = "NRI4";
+               groups = "NRI4";
+       };
+
+       pinctrl_nrts1_default: nrts1_default {
+               function = "NRTS1";
+               groups = "NRTS1";
+       };
+
+       pinctrl_nrts2_default: nrts2_default {
+               function = "NRTS2";
+               groups = "NRTS2";
+       };
+
+       pinctrl_nrts3_default: nrts3_default {
+               function = "NRTS3";
+               groups = "NRTS3";
+       };
+
+       pinctrl_oscclk_default: oscclk_default {
+               function = "OSCCLK";
+               groups = "OSCCLK";
+       };
+
+       pinctrl_pwm0_default: pwm0_default {
+               function = "PWM0";
+               groups = "PWM0";
+       };
+
+       pinctrl_pwm1_default: pwm1_default {
+               function = "PWM1";
+               groups = "PWM1";
+       };
+
+       pinctrl_pwm2_default: pwm2_default {
+               function = "PWM2";
+               groups = "PWM2";
+       };
+
+       pinctrl_pwm3_default: pwm3_default {
+               function = "PWM3";
+               groups = "PWM3";
+       };
+
+       pinctrl_pwm4_default: pwm4_default {
+               function = "PWM4";
+               groups = "PWM4";
+       };
+
+       pinctrl_pwm5_default: pwm5_default {
+               function = "PWM5";
+               groups = "PWM5";
+       };
+
+       pinctrl_pwm6_default: pwm6_default {
+               function = "PWM6";
+               groups = "PWM6";
+       };
+
+       pinctrl_pwm7_default: pwm7_default {
+               function = "PWM7";
+               groups = "PWM7";
+       };
+
+       pinctrl_rgmii1_default: rgmii1_default {
+               function = "RGMII1";
+               groups = "RGMII1";
+       };
+
+       pinctrl_rgmii2_default: rgmii2_default {
+               function = "RGMII2";
+               groups = "RGMII2";
+       };
+
+       pinctrl_rmii1_default: rmii1_default {
+               function = "RMII1";
+               groups = "RMII1";
+       };
+
+       pinctrl_rmii2_default: rmii2_default {
+               function = "RMII2";
+               groups = "RMII2";
+       };
+
+       pinctrl_rom16_default: rom16_default {
+               function = "ROM16";
+               groups = "ROM16";
+       };
+
+       pinctrl_rom8_default: rom8_default {
+               function = "ROM8";
+               groups = "ROM8";
+       };
+
+       pinctrl_romcs1_default: romcs1_default {
+               function = "ROMCS1";
+               groups = "ROMCS1";
+       };
+
+       pinctrl_romcs2_default: romcs2_default {
+               function = "ROMCS2";
+               groups = "ROMCS2";
+       };
+
+       pinctrl_romcs3_default: romcs3_default {
+               function = "ROMCS3";
+               groups = "ROMCS3";
+       };
+
+       pinctrl_romcs4_default: romcs4_default {
+               function = "ROMCS4";
+               groups = "ROMCS4";
+       };
+
+       pinctrl_rxd1_default: rxd1_default {
+               function = "RXD1";
+               groups = "RXD1";
+       };
+
+       pinctrl_rxd2_default: rxd2_default {
+               function = "RXD2";
+               groups = "RXD2";
+       };
+
+       pinctrl_rxd3_default: rxd3_default {
+               function = "RXD3";
+               groups = "RXD3";
+       };
+
+       pinctrl_rxd4_default: rxd4_default {
+               function = "RXD4";
+               groups = "RXD4";
+       };
+
+       pinctrl_salt1_default: salt1_default {
+               function = "SALT1";
+               groups = "SALT1";
+       };
+
+       pinctrl_salt2_default: salt2_default {
+               function = "SALT2";
+               groups = "SALT2";
+       };
+
+       pinctrl_salt3_default: salt3_default {
+               function = "SALT3";
+               groups = "SALT3";
+       };
+
+       pinctrl_salt4_default: salt4_default {
+               function = "SALT4";
+               groups = "SALT4";
+       };
+
+       pinctrl_sd1_default: sd1_default {
+               function = "SD1";
+               groups = "SD1";
+       };
+
+       pinctrl_sd2_default: sd2_default {
+               function = "SD2";
+               groups = "SD2";
+       };
+
+       pinctrl_sgpmck_default: sgpmck_default {
+               function = "SGPMCK";
+               groups = "SGPMCK";
+       };
+
+       pinctrl_sgpmi_default: sgpmi_default {
+               function = "SGPMI";
+               groups = "SGPMI";
+       };
+
+       pinctrl_sgpmld_default: sgpmld_default {
+               function = "SGPMLD";
+               groups = "SGPMLD";
+       };
+
+       pinctrl_sgpmo_default: sgpmo_default {
+               function = "SGPMO";
+               groups = "SGPMO";
+       };
+
+       pinctrl_sgpsck_default: sgpsck_default {
+               function = "SGPSCK";
+               groups = "SGPSCK";
+       };
+
+       pinctrl_sgpsi0_default: sgpsi0_default {
+               function = "SGPSI0";
+               groups = "SGPSI0";
+       };
+
+       pinctrl_sgpsi1_default: sgpsi1_default {
+               function = "SGPSI1";
+               groups = "SGPSI1";
+       };
+
+       pinctrl_sgpsld_default: sgpsld_default {
+               function = "SGPSLD";
+               groups = "SGPSLD";
+       };
+
+       pinctrl_sioonctrl_default: sioonctrl_default {
+               function = "SIOONCTRL";
+               groups = "SIOONCTRL";
+       };
+
+       pinctrl_siopbi_default: siopbi_default {
+               function = "SIOPBI";
+               groups = "SIOPBI";
+       };
+
+       pinctrl_siopbo_default: siopbo_default {
+               function = "SIOPBO";
+               groups = "SIOPBO";
+       };
+
+       pinctrl_siopwreq_default: siopwreq_default {
+               function = "SIOPWREQ";
+               groups = "SIOPWREQ";
+       };
+
+       pinctrl_siopwrgd_default: siopwrgd_default {
+               function = "SIOPWRGD";
+               groups = "SIOPWRGD";
+       };
+
+       pinctrl_sios3_default: sios3_default {
+               function = "SIOS3";
+               groups = "SIOS3";
+       };
+
+       pinctrl_sios5_default: sios5_default {
+               function = "SIOS5";
+               groups = "SIOS5";
+       };
+
+       pinctrl_siosci_default: siosci_default {
+               function = "SIOSCI";
+               groups = "SIOSCI";
+       };
+
+       pinctrl_spi1_default: spi1_default {
+               function = "SPI1";
+               groups = "SPI1";
+       };
+
+       pinctrl_spi1debug_default: spi1debug_default {
+               function = "SPI1DEBUG";
+               groups = "SPI1DEBUG";
+       };
+
+       pinctrl_spi1passthru_default: spi1passthru_default {
+               function = "SPI1PASSTHRU";
+               groups = "SPI1PASSTHRU";
+       };
+
+       pinctrl_spics1_default: spics1_default {
+               function = "SPICS1";
+               groups = "SPICS1";
+       };
+
+       pinctrl_timer3_default: timer3_default {
+               function = "TIMER3";
+               groups = "TIMER3";
+       };
+
+       pinctrl_timer4_default: timer4_default {
+               function = "TIMER4";
+               groups = "TIMER4";
+       };
+
+       pinctrl_timer5_default: timer5_default {
+               function = "TIMER5";
+               groups = "TIMER5";
+       };
+
+       pinctrl_timer6_default: timer6_default {
+               function = "TIMER6";
+               groups = "TIMER6";
+       };
+
+       pinctrl_timer7_default: timer7_default {
+               function = "TIMER7";
+               groups = "TIMER7";
+       };
+
+       pinctrl_timer8_default: timer8_default {
+               function = "TIMER8";
+               groups = "TIMER8";
+       };
+
+       pinctrl_txd1_default: txd1_default {
+               function = "TXD1";
+               groups = "TXD1";
+       };
+
+       pinctrl_txd2_default: txd2_default {
+               function = "TXD2";
+               groups = "TXD2";
+       };
+
+       pinctrl_txd3_default: txd3_default {
+               function = "TXD3";
+               groups = "TXD3";
+       };
+
+       pinctrl_txd4_default: txd4_default {
+               function = "TXD4";
+               groups = "TXD4";
+       };
+
+       pinctrl_uart6_default: uart6_default {
+               function = "UART6";
+               groups = "UART6";
+       };
+
+       pinctrl_usbcki_default: usbcki_default {
+               function = "USBCKI";
+               groups = "USBCKI";
+       };
+
+       pinctrl_vgabios_rom_default: vgabios_rom_default {
+               function = "VGABIOS_ROM";
+               groups = "VGABIOS_ROM";
+       };
+
+       pinctrl_vgahs_default: vgahs_default {
+               function = "VGAHS";
+               groups = "VGAHS";
+       };
+
+       pinctrl_vgavs_default: vgavs_default {
+               function = "VGAVS";
+               groups = "VGAVS";
+       };
+
+       pinctrl_vpi18_default: vpi18_default {
+               function = "VPI18";
+               groups = "VPI18";
+       };
+
+       pinctrl_vpi24_default: vpi24_default {
+               function = "VPI24";
+               groups = "VPI24";
+       };
+
+       pinctrl_vpi30_default: vpi30_default {
+               function = "VPI30";
+               groups = "VPI30";
+       };
+
+       pinctrl_vpo12_default: vpo12_default {
+               function = "VPO12";
+               groups = "VPO12";
+       };
+
+       pinctrl_vpo24_default: vpo24_default {
+               function = "VPO24";
+               groups = "VPO24";
+       };
+
+       pinctrl_wdtrst1_default: wdtrst1_default {
+               function = "WDTRST1";
+               groups = "WDTRST1";
+       };
+
+       pinctrl_wdtrst2_default: wdtrst2_default {
+               function = "WDTRST2";
+               groups = "WDTRST2";
+       };
+};
index eab8f549a6fed49351d86b5fa408c03545e19779..5c4ecdba3a6bc2e2d4ed5d669dcc116327e986e0 100644 (file)
@@ -8,6 +8,29 @@
        #size-cells = <1>;
        interrupt-parent = <&vic>;
 
+       aliases {
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
+               i2c4 = &i2c4;
+               i2c5 = &i2c5;
+               i2c6 = &i2c6;
+               i2c7 = &i2c7;
+               i2c8 = &i2c8;
+               i2c9 = &i2c9;
+               i2c10 = &i2c10;
+               i2c11 = &i2c11;
+               i2c12 = &i2c12;
+               i2c13 = &i2c13;
+               serial0 = &uart1;
+               serial1 = &uart2;
+               serial2 = &uart3;
+               serial3 = &uart4;
+               serial4 = &uart5;
+               serial5 = &vuart;
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
                                        clock-frequency = <198000000>;
                                };
 
-                               clk_apb: clk_apb@08 {
+                               clk_apb: clk_apb@8 {
                                        #clock-cells = <0>;
                                        compatible = "aspeed,g5-apb-clock", "fixed-clock";
                                        reg = <0x08>;
                                        compatible = "aspeed,g5-pinctrl";
                                        aspeed,external-nodes = <&gfx &lhc>;
 
-                                       pinctrl_acpi_default: acpi_default {
-                                               function = "ACPI";
-                                               groups = "ACPI";
-                                       };
+                               };
 
-                                       pinctrl_adc0_default: adc0_default {
-                                               function = "ADC0";
-                                               groups = "ADC0";
-                                       };
+                       };
 
-                                       pinctrl_adc1_default: adc1_default {
-                                               function = "ADC1";
-                                               groups = "ADC1";
-                                       };
+                       gfx: display@1e6e6000 {
+                               compatible = "aspeed,ast2500-gfx", "syscon";
+                               reg = <0x1e6e6000 0x1000>;
+                               reg-io-width = <4>;
+                       };
 
-                                       pinctrl_adc10_default: adc10_default {
-                                               function = "ADC10";
-                                               groups = "ADC10";
-                                       };
+                       adc: adc@1e6e9000 {
+                               compatible = "aspeed,ast2500-adc";
+                               reg = <0x1e6e9000 0xb0>;
+                               clocks = <&clk_apb>;
+                               #io-channel-cells = <1>;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_adc11_default: adc11_default {
-                                               function = "ADC11";
-                                               groups = "ADC11";
-                                       };
+                       sram@1e720000 {
+                               compatible = "mmio-sram";
+                               reg = <0x1e720000 0x9000>;      // 36K
+                       };
 
-                                       pinctrl_adc12_default: adc12_default {
-                                               function = "ADC12";
-                                               groups = "ADC12";
-                                       };
+                       gpio: gpio@1e780000 {
+                               #gpio-cells = <2>;
+                               gpio-controller;
+                               compatible = "aspeed,ast2500-gpio";
+                               reg = <0x1e780000 0x1000>;
+                               interrupts = <20>;
+                               gpio-ranges = <&pinctrl 0 0 220>;
+                               interrupt-controller;
+                       };
 
-                                       pinctrl_adc13_default: adc13_default {
-                                               function = "ADC13";
-                                               groups = "ADC13";
-                                       };
+                       timer: timer@1e782000 {
+                               /* This timer is a Faraday FTTMR010 derivative */
+                               compatible = "aspeed,ast2400-timer";
+                               reg = <0x1e782000 0x90>;
+                               interrupts = <16 17 18 35 36 37 38 39>;
+                               clocks = <&clk_apb>;
+                               clock-names = "PCLK";
+                       };
 
-                                       pinctrl_adc14_default: adc14_default {
-                                               function = "ADC14";
-                                               groups = "ADC14";
-                                       };
+                       uart1: serial@1e783000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e783000 0x20>;
+                               reg-shift = <2>;
+                               interrupts = <9>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_adc15_default: adc15_default {
-                                               function = "ADC15";
-                                               groups = "ADC15";
-                                       };
+                       uart5: serial@1e784000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e784000 0x20>;
+                               reg-shift = <2>;
+                               interrupts = <10>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_adc2_default: adc2_default {
-                                               function = "ADC2";
-                                               groups = "ADC2";
-                                       };
+                       wdt1: watchdog@1e785000 {
+                               compatible = "aspeed,ast2500-wdt";
+                               reg = <0x1e785000 0x20>;
+                       };
 
-                                       pinctrl_adc3_default: adc3_default {
-                                               function = "ADC3";
-                                               groups = "ADC3";
-                                       };
+                       wdt2: watchdog@1e785020 {
+                               compatible = "aspeed,ast2500-wdt";
+                               reg = <0x1e785020 0x20>;
+                       };
 
-                                       pinctrl_adc4_default: adc4_default {
-                                               function = "ADC4";
-                                               groups = "ADC4";
-                                       };
+                       wdt3: watchdog@1e785040 {
+                               compatible = "aspeed,ast2500-wdt";
+                               reg = <0x1e785040 0x20>;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_adc5_default: adc5_default {
-                                               function = "ADC5";
-                                               groups = "ADC5";
-                                       };
+                       lpc: lpc@1e789000 {
+                               compatible = "aspeed,ast2500-lpc", "simple-mfd";
+                               reg = <0x1e789000 0x1000>;
 
-                                       pinctrl_adc6_default: adc6_default {
-                                               function = "ADC6";
-                                               groups = "ADC6";
-                                       };
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x1e789000 0x1000>;
 
-                                       pinctrl_adc7_default: adc7_default {
-                                               function = "ADC7";
-                                               groups = "ADC7";
-                                       };
+                               lpc_bmc: lpc-bmc@0 {
+                                       compatible = "aspeed,ast2500-lpc-bmc";
+                                       reg = <0x0 0x80>;
+                               };
 
-                                       pinctrl_adc8_default: adc8_default {
-                                               function = "ADC8";
-                                               groups = "ADC8";
-                                       };
+                               lpc_host: lpc-host@80 {
+                                       compatible = "aspeed,ast2500-lpc-host", "simple-mfd", "syscon";
+                                       reg = <0x80 0x1e0>;
 
-                                       pinctrl_adc9_default: adc9_default {
-                                               function = "ADC9";
-                                               groups = "ADC9";
-                                       };
+                                       #address-cells = <1>;
+                                       #size-cells = <1>;
+                                       ranges = <0 0x80 0x1e0>;
 
-                                       pinctrl_bmcint_default: bmcint_default {
-                                               function = "BMCINT";
-                                               groups = "BMCINT";
-                                       };
+                                       reg-io-width = <4>;
 
-                                       pinctrl_ddcclk_default: ddcclk_default {
-                                               function = "DDCCLK";
-                                               groups = "DDCCLK";
+                                       lhc: lhc@20 {
+                                               compatible = "aspeed,ast2500-lhc";
+                                               reg = <0x20 0x24 0x48 0x8>;
                                        };
+                               };
+                       };
 
-                                       pinctrl_ddcdat_default: ddcdat_default {
-                                               function = "DDCDAT";
-                                               groups = "DDCDAT";
-                                       };
+                       vuart: serial@1e787000 {
+                               compatible = "aspeed,ast2500-vuart";
+                               reg = <0x1e787000 0x40>;
+                               reg-shift = <2>;
+                               interrupts = <10>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_espi_default: espi_default {
-                                               function = "ESPI";
-                                               groups = "ESPI";
-                                       };
+                       uart2: serial@1e78d000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e78d000 0x20>;
+                               reg-shift = <2>;
+                               interrupts = <32>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_fwspics1_default: fwspics1_default {
-                                               function = "FWSPICS1";
-                                               groups = "FWSPICS1";
-                                       };
+                       uart3: serial@1e78e000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e78e000 0x20>;
+                               reg-shift = <2>;
+                               interrupts = <33>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_fwspics2_default: fwspics2_default {
-                                               function = "FWSPICS2";
-                                               groups = "FWSPICS2";
-                                       };
+                       uart4: serial@1e78f000 {
+                               compatible = "ns16550a";
+                               reg = <0x1e78f000 0x20>;
+                               reg-shift = <2>;
+                               interrupts = <34>;
+                               clocks = <&clk_uart>;
+                               no-loopback-test;
+                               status = "disabled";
+                       };
 
-                                       pinctrl_gpid0_default: gpid0_default {
-                                               function = "GPID0";
-                                               groups = "GPID0";
-                                       };
+                       i2c: i2c@1e78a000 {
+                               compatible = "simple-bus";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x1e78a000 0x1000>;
+                       };
+               };
+       };
+};
 
-                                       pinctrl_gpid2_default: gpid2_default {
-                                               function = "GPID2";
-                                               groups = "GPID2";
-                                       };
+&i2c {
+       i2c_ic: interrupt-controller@0 {
+               #interrupt-cells = <1>;
+               compatible = "aspeed,ast2500-i2c-ic";
+               reg = <0x0 0x40>;
+               interrupts = <12>;
+               interrupt-controller;
+       };
 
-                                       pinctrl_gpid4_default: gpid4_default {
-                                               function = "GPID4";
-                                               groups = "GPID4";
-                                       };
+       i2c0: i2c-bus@40 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x40 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <0>;
+               interrupt-parent = <&i2c_ic>;
+               status = "disabled";
+               /* Does not need pinctrl properties */
+       };
 
-                                       pinctrl_gpid6_default: gpid6_default {
-                                               function = "GPID6";
-                                               groups = "GPID6";
-                                       };
+       i2c1: i2c-bus@80 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x80 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <1>;
+               interrupt-parent = <&i2c_ic>;
+               status = "disabled";
+               /* Does not need pinctrl properties */
+       };
 
-                                       pinctrl_gpie0_default: gpie0_default {
-                                               function = "GPIE0";
-                                               groups = "GPIE0";
-                                       };
+       i2c2: i2c-bus@c0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0xc0 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <2>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c3_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_gpie2_default: gpie2_default {
-                                               function = "GPIE2";
-                                               groups = "GPIE2";
-                                       };
+       i2c3: i2c-bus@100 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x100 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <3>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c4_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_gpie4_default: gpie4_default {
-                                               function = "GPIE4";
-                                               groups = "GPIE4";
-                                       };
+       i2c4: i2c-bus@140 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x140 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <4>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c5_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_gpie6_default: gpie6_default {
-                                               function = "GPIE6";
-                                               groups = "GPIE6";
-                                       };
+       i2c5: i2c-bus@180 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x180 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <5>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c6_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c10_default: i2c10_default {
-                                               function = "I2C10";
-                                               groups = "I2C10";
-                                       };
+       i2c6: i2c-bus@1c0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x1c0 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <6>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c7_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c11_default: i2c11_default {
-                                               function = "I2C11";
-                                               groups = "I2C11";
-                                       };
+       i2c7: i2c-bus@300 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x300 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <7>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c8_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c12_default: i2c12_default {
-                                               function = "I2C12";
-                                               groups = "I2C12";
-                                       };
+       i2c8: i2c-bus@340 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x340 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <8>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c9_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c13_default: i2c13_default {
-                                               function = "I2C13";
-                                               groups = "I2C13";
-                                       };
+       i2c9: i2c-bus@380 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x380 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <9>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c10_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c14_default: i2c14_default {
-                                               function = "I2C14";
-                                               groups = "I2C14";
-                                       };
+       i2c10: i2c-bus@3c0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x3c0 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <10>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c11_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c3_default: i2c3_default {
-                                               function = "I2C3";
-                                               groups = "I2C3";
-                                       };
+       i2c11: i2c-bus@400 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x400 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <11>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c12_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c4_default: i2c4_default {
-                                               function = "I2C4";
-                                               groups = "I2C4";
-                                       };
+       i2c12: i2c-bus@440 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x440 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <12>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c13_default>;
+               status = "disabled";
+       };
 
-                                       pinctrl_i2c5_default: i2c5_default {
-                                               function = "I2C5";
-                                               groups = "I2C5";
-                                       };
+       i2c13: i2c-bus@480 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #interrupt-cells = <1>;
+
+               reg = <0x480 0x40>;
+               compatible = "aspeed,ast2500-i2c-bus";
+               clocks = <&clk_apb>;
+               bus-frequency = <100000>;
+               interrupts = <13>;
+               interrupt-parent = <&i2c_ic>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c14_default>;
+               status = "disabled";
+       };
+};
 
-                                       pinctrl_i2c6_default: i2c6_default {
-                                               function = "I2C6";
-                                               groups = "I2C6";
-                                       };
+&pinctrl {
+       pinctrl_acpi_default: acpi_default {
+               function = "ACPI";
+               groups = "ACPI";
+       };
 
-                                       pinctrl_i2c7_default: i2c7_default {
-                                               function = "I2C7";
-                                               groups = "I2C7";
-                                       };
+       pinctrl_adc0_default: adc0_default {
+               function = "ADC0";
+               groups = "ADC0";
+       };
 
-                                       pinctrl_i2c8_default: i2c8_default {
-                                               function = "I2C8";
-                                               groups = "I2C8";
-                                       };
+       pinctrl_adc1_default: adc1_default {
+               function = "ADC1";
+               groups = "ADC1";
+       };
 
-                                       pinctrl_i2c9_default: i2c9_default {
-                                               function = "I2C9";
-                                               groups = "I2C9";
-                                       };
+       pinctrl_adc10_default: adc10_default {
+               function = "ADC10";
+               groups = "ADC10";
+       };
 
-                                       pinctrl_lad0_default: lad0_default {
-                                               function = "LAD0";
-                                               groups = "LAD0";
-                                       };
-                                       pinctrl_lad1_default: lad1_default {
-                                               function = "LAD1";
-                                               groups = "LAD1";
-                                       };
+       pinctrl_adc11_default: adc11_default {
+               function = "ADC11";
+               groups = "ADC11";
+       };
 
-                                       pinctrl_lad2_default: lad2_default {
-                                               function = "LAD2";
-                                               groups = "LAD2";
-                                       };
+       pinctrl_adc12_default: adc12_default {
+               function = "ADC12";
+               groups = "ADC12";
+       };
 
-                                       pinctrl_lad3_default: lad3_default {
-                                               function = "LAD3";
-                                               groups = "LAD3";
-                                       };
+       pinctrl_adc13_default: adc13_default {
+               function = "ADC13";
+               groups = "ADC13";
+       };
 
-                                       pinctrl_lclk_default: lclk_default {
-                                               function = "LCLK";
-                                               groups = "LCLK";
-                                       };
+       pinctrl_adc14_default: adc14_default {
+               function = "ADC14";
+               groups = "ADC14";
+       };
 
-                                       pinctrl_lframe_default: lframe_default {
-                                               function = "LFRAME";
-                                               groups = "LFRAME";
-                                       };
+       pinctrl_adc15_default: adc15_default {
+               function = "ADC15";
+               groups = "ADC15";
+       };
 
-                                       pinctrl_lpchc_default: lpchc_default {
-                                               function = "LPCHC";
-                                               groups = "LPCHC";
-                                       };
+       pinctrl_adc2_default: adc2_default {
+               function = "ADC2";
+               groups = "ADC2";
+       };
 
-                                       pinctrl_lpcpd_default: lpcpd_default {
-                                               function = "LPCPD";
-                                               groups = "LPCPD";
-                                       };
+       pinctrl_adc3_default: adc3_default {
+               function = "ADC3";
+               groups = "ADC3";
+       };
 
-                                       pinctrl_lpcplus_default: lpcplus_default {
-                                               function = "LPCPLUS";
-                                               groups = "LPCPLUS";
-                                       };
+       pinctrl_adc4_default: adc4_default {
+               function = "ADC4";
+               groups = "ADC4";
+       };
 
-                                       pinctrl_lpcpme_default: lpcpme_default {
-                                               function = "LPCPME";
-                                               groups = "LPCPME";
-                                       };
+       pinctrl_adc5_default: adc5_default {
+               function = "ADC5";
+               groups = "ADC5";
+       };
 
-                                       pinctrl_lpcrst_default: lpcrst_default {
-                                               function = "LPCRST";
-                                               groups = "LPCRST";
-                                       };
+       pinctrl_adc6_default: adc6_default {
+               function = "ADC6";
+               groups = "ADC6";
+       };
 
-                                       pinctrl_lpcsmi_default: lpcsmi_default {
-                                               function = "LPCSMI";
-                                               groups = "LPCSMI";
-                                       };
+       pinctrl_adc7_default: adc7_default {
+               function = "ADC7";
+               groups = "ADC7";
+       };
 
-                                       pinctrl_lsirq_default: lsirq_default {
-                                               function = "LSIRQ";
-                                               groups = "LSIRQ";
-                                       };
+       pinctrl_adc8_default: adc8_default {
+               function = "ADC8";
+               groups = "ADC8";
+       };
 
-                                       pinctrl_mac1link_default: mac1link_default {
-                                               function = "MAC1LINK";
-                                               groups = "MAC1LINK";
-                                       };
+       pinctrl_adc9_default: adc9_default {
+               function = "ADC9";
+               groups = "ADC9";
+       };
 
-                                       pinctrl_mac2link_default: mac2link_default {
-                                               function = "MAC2LINK";
-                                               groups = "MAC2LINK";
-                                       };
+       pinctrl_bmcint_default: bmcint_default {
+               function = "BMCINT";
+               groups = "BMCINT";
+       };
 
-                                       pinctrl_mdio1_default: mdio1_default {
-                                               function = "MDIO1";
-                                               groups = "MDIO1";
-                                       };
+       pinctrl_ddcclk_default: ddcclk_default {
+               function = "DDCCLK";
+               groups = "DDCCLK";
+       };
 
-                                       pinctrl_mdio2_default: mdio2_default {
-                                               function = "MDIO2";
-                                               groups = "MDIO2";
-                                       };
+       pinctrl_ddcdat_default: ddcdat_default {
+               function = "DDCDAT";
+               groups = "DDCDAT";
+       };
 
-                                       pinctrl_ncts1_default: ncts1_default {
-                                               function = "NCTS1";
-                                               groups = "NCTS1";
-                                       };
+       pinctrl_espi_default: espi_default {
+               function = "ESPI";
+               groups = "ESPI";
+       };
 
-                                       pinctrl_ncts2_default: ncts2_default {
-                                               function = "NCTS2";
-                                               groups = "NCTS2";
-                                       };
+       pinctrl_fwspics1_default: fwspics1_default {
+               function = "FWSPICS1";
+               groups = "FWSPICS1";
+       };
 
-                                       pinctrl_ncts3_default: ncts3_default {
-                                               function = "NCTS3";
-                                               groups = "NCTS3";
-                                       };
+       pinctrl_fwspics2_default: fwspics2_default {
+               function = "FWSPICS2";
+               groups = "FWSPICS2";
+       };
 
-                                       pinctrl_ncts4_default: ncts4_default {
-                                               function = "NCTS4";
-                                               groups = "NCTS4";
-                                       };
+       pinctrl_gpid0_default: gpid0_default {
+               function = "GPID0";
+               groups = "GPID0";
+       };
 
-                                       pinctrl_ndcd1_default: ndcd1_default {
-                                               function = "NDCD1";
-                                               groups = "NDCD1";
-                                       };
+       pinctrl_gpid2_default: gpid2_default {
+               function = "GPID2";
+               groups = "GPID2";
+       };
 
-                                       pinctrl_ndcd2_default: ndcd2_default {
-                                               function = "NDCD2";
-                                               groups = "NDCD2";
-                                       };
+       pinctrl_gpid4_default: gpid4_default {
+               function = "GPID4";
+               groups = "GPID4";
+       };
 
-                                       pinctrl_ndcd3_default: ndcd3_default {
-                                               function = "NDCD3";
-                                               groups = "NDCD3";
-                                       };
+       pinctrl_gpid6_default: gpid6_default {
+               function = "GPID6";
+               groups = "GPID6";
+       };
 
-                                       pinctrl_ndcd4_default: ndcd4_default {
-                                               function = "NDCD4";
-                                               groups = "NDCD4";
-                                       };
+       pinctrl_gpie0_default: gpie0_default {
+               function = "GPIE0";
+               groups = "GPIE0";
+       };
 
-                                       pinctrl_ndsr1_default: ndsr1_default {
-                                               function = "NDSR1";
-                                               groups = "NDSR1";
-                                       };
+       pinctrl_gpie2_default: gpie2_default {
+               function = "GPIE2";
+               groups = "GPIE2";
+       };
 
-                                       pinctrl_ndsr2_default: ndsr2_default {
-                                               function = "NDSR2";
-                                               groups = "NDSR2";
-                                       };
+       pinctrl_gpie4_default: gpie4_default {
+               function = "GPIE4";
+               groups = "GPIE4";
+       };
 
-                                       pinctrl_ndsr3_default: ndsr3_default {
-                                               function = "NDSR3";
-                                               groups = "NDSR3";
-                                       };
+       pinctrl_gpie6_default: gpie6_default {
+               function = "GPIE6";
+               groups = "GPIE6";
+       };
 
-                                       pinctrl_ndsr4_default: ndsr4_default {
-                                               function = "NDSR4";
-                                               groups = "NDSR4";
-                                       };
+       pinctrl_i2c10_default: i2c10_default {
+               function = "I2C10";
+               groups = "I2C10";
+       };
 
-                                       pinctrl_ndtr1_default: ndtr1_default {
-                                               function = "NDTR1";
-                                               groups = "NDTR1";
-                                       };
+       pinctrl_i2c11_default: i2c11_default {
+               function = "I2C11";
+               groups = "I2C11";
+       };
 
-                                       pinctrl_ndtr2_default: ndtr2_default {
-                                               function = "NDTR2";
-                                               groups = "NDTR2";
-                                       };
+       pinctrl_i2c12_default: i2c12_default {
+               function = "I2C12";
+               groups = "I2C12";
+       };
 
-                                       pinctrl_ndtr3_default: ndtr3_default {
-                                               function = "NDTR3";
-                                               groups = "NDTR3";
-                                       };
+       pinctrl_i2c13_default: i2c13_default {
+               function = "I2C13";
+               groups = "I2C13";
+       };
 
-                                       pinctrl_ndtr4_default: ndtr4_default {
-                                               function = "NDTR4";
-                                               groups = "NDTR4";
-                                       };
+       pinctrl_i2c14_default: i2c14_default {
+               function = "I2C14";
+               groups = "I2C14";
+       };
 
-                                       pinctrl_nri1_default: nri1_default {
-                                               function = "NRI1";
-                                               groups = "NRI1";
-                                       };
+       pinctrl_i2c3_default: i2c3_default {
+               function = "I2C3";
+               groups = "I2C3";
+       };
 
-                                       pinctrl_nri2_default: nri2_default {
-                                               function = "NRI2";
-                                               groups = "NRI2";
-                                       };
+       pinctrl_i2c4_default: i2c4_default {
+               function = "I2C4";
+               groups = "I2C4";
+       };
 
-                                       pinctrl_nri3_default: nri3_default {
-                                               function = "NRI3";
-                                               groups = "NRI3";
-                                       };
+       pinctrl_i2c5_default: i2c5_default {
+               function = "I2C5";
+               groups = "I2C5";
+       };
 
-                                       pinctrl_nri4_default: nri4_default {
-                                               function = "NRI4";
-                                               groups = "NRI4";
-                                       };
+       pinctrl_i2c6_default: i2c6_default {
+               function = "I2C6";
+               groups = "I2C6";
+       };
 
-                                       pinctrl_nrts1_default: nrts1_default {
-                                               function = "NRTS1";
-                                               groups = "NRTS1";
-                                       };
+       pinctrl_i2c7_default: i2c7_default {
+               function = "I2C7";
+               groups = "I2C7";
+       };
 
-                                       pinctrl_nrts2_default: nrts2_default {
-                                               function = "NRTS2";
-                                               groups = "NRTS2";
-                                       };
+       pinctrl_i2c8_default: i2c8_default {
+               function = "I2C8";
+               groups = "I2C8";
+       };
 
-                                       pinctrl_nrts3_default: nrts3_default {
-                                               function = "NRTS3";
-                                               groups = "NRTS3";
-                                       };
+       pinctrl_i2c9_default: i2c9_default {
+               function = "I2C9";
+               groups = "I2C9";
+       };
 
-                                       pinctrl_nrts4_default: nrts4_default {
-                                               function = "NRTS4";
-                                               groups = "NRTS4";
-                                       };
+       pinctrl_lad0_default: lad0_default {
+               function = "LAD0";
+               groups = "LAD0";
+       };
 
-                                       pinctrl_oscclk_default: oscclk_default {
-                                               function = "OSCCLK";
-                                               groups = "OSCCLK";
-                                       };
+       pinctrl_lad1_default: lad1_default {
+               function = "LAD1";
+               groups = "LAD1";
+       };
 
-                                       pinctrl_pewake_default: pewake_default {
-                                               function = "PEWAKE";
-                                               groups = "PEWAKE";
-                                       };
+       pinctrl_lad2_default: lad2_default {
+               function = "LAD2";
+               groups = "LAD2";
+       };
 
-                                       pinctrl_pnor_default: pnor_default {
-                                               function = "PNOR";
-                                               groups = "PNOR";
-                                       };
+       pinctrl_lad3_default: lad3_default {
+               function = "LAD3";
+               groups = "LAD3";
+       };
 
-                                       pinctrl_pwm0_default: pwm0_default {
-                                               function = "PWM0";
-                                               groups = "PWM0";
-                                       };
+       pinctrl_lclk_default: lclk_default {
+               function = "LCLK";
+               groups = "LCLK";
+       };
 
-                                       pinctrl_pwm1_default: pwm1_default {
-                                               function = "PWM1";
-                                               groups = "PWM1";
-                                       };
+       pinctrl_lframe_default: lframe_default {
+               function = "LFRAME";
+               groups = "LFRAME";
+       };
 
-                                       pinctrl_pwm2_default: pwm2_default {
-                                               function = "PWM2";
-                                               groups = "PWM2";
-                                       };
+       pinctrl_lpchc_default: lpchc_default {
+               function = "LPCHC";
+               groups = "LPCHC";
+       };
 
-                                       pinctrl_pwm3_default: pwm3_default {
-                                               function = "PWM3";
-                                               groups = "PWM3";
-                                       };
+       pinctrl_lpcpd_default: lpcpd_default {
+               function = "LPCPD";
+               groups = "LPCPD";
+       };
 
-                                       pinctrl_pwm4_default: pwm4_default {
-                                               function = "PWM4";
-                                               groups = "PWM4";
-                                       };
+       pinctrl_lpcplus_default: lpcplus_default {
+               function = "LPCPLUS";
+               groups = "LPCPLUS";
+       };
 
-                                       pinctrl_pwm5_default: pwm5_default {
-                                               function = "PWM5";
-                                               groups = "PWM5";
-                                       };
+       pinctrl_lpcpme_default: lpcpme_default {
+               function = "LPCPME";
+               groups = "LPCPME";
+       };
 
-                                       pinctrl_pwm6_default: pwm6_default {
-                                               function = "PWM6";
-                                               groups = "PWM6";
-                                       };
+       pinctrl_lpcrst_default: lpcrst_default {
+               function = "LPCRST";
+               groups = "LPCRST";
+       };
 
-                                       pinctrl_pwm7_default: pwm7_default {
-                                               function = "PWM7";
-                                               groups = "PWM7";
-                                       };
+       pinctrl_lpcsmi_default: lpcsmi_default {
+               function = "LPCSMI";
+               groups = "LPCSMI";
+       };
 
-                                       pinctrl_rgmii1_default: rgmii1_default {
-                                               function = "RGMII1";
-                                               groups = "RGMII1";
-                                       };
+       pinctrl_lsirq_default: lsirq_default {
+               function = "LSIRQ";
+               groups = "LSIRQ";
+       };
 
-                                       pinctrl_rgmii2_default: rgmii2_default {
-                                               function = "RGMII2";
-                                               groups = "RGMII2";
-                                       };
+       pinctrl_mac1link_default: mac1link_default {
+               function = "MAC1LINK";
+               groups = "MAC1LINK";
+       };
 
-                                       pinctrl_rmii1_default: rmii1_default {
-                                               function = "RMII1";
-                                               groups = "RMII1";
-                                       };
+       pinctrl_mac2link_default: mac2link_default {
+               function = "MAC2LINK";
+               groups = "MAC2LINK";
+       };
 
-                                       pinctrl_rmii2_default: rmii2_default {
-                                               function = "RMII2";
-                                               groups = "RMII2";
-                                       };
+       pinctrl_mdio1_default: mdio1_default {
+               function = "MDIO1";
+               groups = "MDIO1";
+       };
 
-                                       pinctrl_rxd1_default: rxd1_default {
-                                               function = "RXD1";
-                                               groups = "RXD1";
-                                       };
+       pinctrl_mdio2_default: mdio2_default {
+               function = "MDIO2";
+               groups = "MDIO2";
+       };
 
-                                       pinctrl_rxd2_default: rxd2_default {
-                                               function = "RXD2";
-                                               groups = "RXD2";
-                                       };
+       pinctrl_ncts1_default: ncts1_default {
+               function = "NCTS1";
+               groups = "NCTS1";
+       };
 
-                                       pinctrl_rxd3_default: rxd3_default {
-                                               function = "RXD3";
-                                               groups = "RXD3";
-                                       };
+       pinctrl_ncts2_default: ncts2_default {
+               function = "NCTS2";
+               groups = "NCTS2";
+       };
 
-                                       pinctrl_rxd4_default: rxd4_default {
-                                               function = "RXD4";
-                                               groups = "RXD4";
-                                       };
+       pinctrl_ncts3_default: ncts3_default {
+               function = "NCTS3";
+               groups = "NCTS3";
+       };
 
-                                       pinctrl_salt1_default: salt1_default {
-                                               function = "SALT1";
-                                               groups = "SALT1";
-                                       };
+       pinctrl_ncts4_default: ncts4_default {
+               function = "NCTS4";
+               groups = "NCTS4";
+       };
 
-                                       pinctrl_salt10_default: salt10_default {
-                                               function = "SALT10";
-                                               groups = "SALT10";
-                                       };
+       pinctrl_ndcd1_default: ndcd1_default {
+               function = "NDCD1";
+               groups = "NDCD1";
+       };
 
-                                       pinctrl_salt11_default: salt11_default {
-                                               function = "SALT11";
-                                               groups = "SALT11";
-                                       };
+       pinctrl_ndcd2_default: ndcd2_default {
+               function = "NDCD2";
+               groups = "NDCD2";
+       };
 
-                                       pinctrl_salt12_default: salt12_default {
-                                               function = "SALT12";
-                                               groups = "SALT12";
-                                       };
+       pinctrl_ndcd3_default: ndcd3_default {
+               function = "NDCD3";
+               groups = "NDCD3";
+       };
 
-                                       pinctrl_salt13_default: salt13_default {
-                                               function = "SALT13";
-                                               groups = "SALT13";
-                                       };
+       pinctrl_ndcd4_default: ndcd4_default {
+               function = "NDCD4";
+               groups = "NDCD4";
+       };
 
-                                       pinctrl_salt14_default: salt14_default {
-                                               function = "SALT14";
-                                               groups = "SALT14";
-                                       };
+       pinctrl_ndsr1_default: ndsr1_default {
+               function = "NDSR1";
+               groups = "NDSR1";
+       };
 
-                                       pinctrl_salt2_default: salt2_default {
-                                               function = "SALT2";
-                                               groups = "SALT2";
-                                       };
+       pinctrl_ndsr2_default: ndsr2_default {
+               function = "NDSR2";
+               groups = "NDSR2";
+       };
 
-                                       pinctrl_salt3_default: salt3_default {
-                                               function = "SALT3";
-                                               groups = "SALT3";
-                                       };
+       pinctrl_ndsr3_default: ndsr3_default {
+               function = "NDSR3";
+               groups = "NDSR3";
+       };
 
-                                       pinctrl_salt4_default: salt4_default {
-                                               function = "SALT4";
-                                               groups = "SALT4";
-                                       };
+       pinctrl_ndsr4_default: ndsr4_default {
+               function = "NDSR4";
+               groups = "NDSR4";
+       };
 
-                                       pinctrl_salt5_default: salt5_default {
-                                               function = "SALT5";
-                                               groups = "SALT5";
-                                       };
+       pinctrl_ndtr1_default: ndtr1_default {
+               function = "NDTR1";
+               groups = "NDTR1";
+       };
 
-                                       pinctrl_salt6_default: salt6_default {
-                                               function = "SALT6";
-                                               groups = "SALT6";
-                                       };
+       pinctrl_ndtr2_default: ndtr2_default {
+               function = "NDTR2";
+               groups = "NDTR2";
+       };
 
-                                       pinctrl_salt7_default: salt7_default {
-                                               function = "SALT7";
-                                               groups = "SALT7";
-                                       };
+       pinctrl_ndtr3_default: ndtr3_default {
+               function = "NDTR3";
+               groups = "NDTR3";
+       };
 
-                                       pinctrl_salt8_default: salt8_default {
-                                               function = "SALT8";
-                                               groups = "SALT8";
-                                       };
+       pinctrl_ndtr4_default: ndtr4_default {
+               function = "NDTR4";
+               groups = "NDTR4";
+       };
 
-                                       pinctrl_salt9_default: salt9_default {
-                                               function = "SALT9";
-                                               groups = "SALT9";
-                                       };
+       pinctrl_nri1_default: nri1_default {
+               function = "NRI1";
+               groups = "NRI1";
+       };
 
-                                       pinctrl_scl1_default: scl1_default {
-                                               function = "SCL1";
-                                               groups = "SCL1";
-                                       };
+       pinctrl_nri2_default: nri2_default {
+               function = "NRI2";
+               groups = "NRI2";
+       };
 
-                                       pinctrl_scl2_default: scl2_default {
-                                               function = "SCL2";
-                                               groups = "SCL2";
-                                       };
+       pinctrl_nri3_default: nri3_default {
+               function = "NRI3";
+               groups = "NRI3";
+       };
 
-                                       pinctrl_sd1_default: sd1_default {
-                                               function = "SD1";
-                                               groups = "SD1";
-                                       };
+       pinctrl_nri4_default: nri4_default {
+               function = "NRI4";
+               groups = "NRI4";
+       };
 
-                                       pinctrl_sd2_default: sd2_default {
-                                               function = "SD2";
-                                               groups = "SD2";
-                                       };
+       pinctrl_nrts1_default: nrts1_default {
+               function = "NRTS1";
+               groups = "NRTS1";
+       };
 
-                                       pinctrl_sda1_default: sda1_default {
-                                               function = "SDA1";
-                                               groups = "SDA1";
-                                       };
+       pinctrl_nrts2_default: nrts2_default {
+               function = "NRTS2";
+               groups = "NRTS2";
+       };
 
-                                       pinctrl_sda2_default: sda2_default {
-                                               function = "SDA2";
-                                               groups = "SDA2";
-                                       };
+       pinctrl_nrts3_default: nrts3_default {
+               function = "NRTS3";
+               groups = "NRTS3";
+       };
 
-                                       pinctrl_sgps1_default: sgps1_default {
-                                               function = "SGPS1";
-                                               groups = "SGPS1";
-                                       };
+       pinctrl_nrts4_default: nrts4_default {
+               function = "NRTS4";
+               groups = "NRTS4";
+       };
 
-                                       pinctrl_sgps2_default: sgps2_default {
-                                               function = "SGPS2";
-                                               groups = "SGPS2";
-                                       };
+       pinctrl_oscclk_default: oscclk_default {
+               function = "OSCCLK";
+               groups = "OSCCLK";
+       };
 
-                                       pinctrl_sioonctrl_default: sioonctrl_default {
-                                               function = "SIOONCTRL";
-                                               groups = "SIOONCTRL";
-                                       };
+       pinctrl_pewake_default: pewake_default {
+               function = "PEWAKE";
+               groups = "PEWAKE";
+       };
 
-                                       pinctrl_siopbi_default: siopbi_default {
-                                               function = "SIOPBI";
-                                               groups = "SIOPBI";
-                                       };
+       pinctrl_pnor_default: pnor_default {
+               function = "PNOR";
+               groups = "PNOR";
+       };
 
-                                       pinctrl_siopbo_default: siopbo_default {
-                                               function = "SIOPBO";
-                                               groups = "SIOPBO";
-                                       };
+       pinctrl_pwm0_default: pwm0_default {
+               function = "PWM0";
+               groups = "PWM0";
+       };
 
-                                       pinctrl_siopwreq_default: siopwreq_default {
-                                               function = "SIOPWREQ";
-                                               groups = "SIOPWREQ";
-                                       };
+       pinctrl_pwm1_default: pwm1_default {
+               function = "PWM1";
+               groups = "PWM1";
+       };
 
-                                       pinctrl_siopwrgd_default: siopwrgd_default {
-                                               function = "SIOPWRGD";
-                                               groups = "SIOPWRGD";
-                                       };
+       pinctrl_pwm2_default: pwm2_default {
+               function = "PWM2";
+               groups = "PWM2";
+       };
 
-                                       pinctrl_sios3_default: sios3_default {
-                                               function = "SIOS3";
-                                               groups = "SIOS3";
-                                       };
+       pinctrl_pwm3_default: pwm3_default {
+               function = "PWM3";
+               groups = "PWM3";
+       };
 
-                                       pinctrl_sios5_default: sios5_default {
-                                               function = "SIOS5";
-                                               groups = "SIOS5";
-                                       };
+       pinctrl_pwm4_default: pwm4_default {
+               function = "PWM4";
+               groups = "PWM4";
+       };
 
-                                       pinctrl_siosci_default: siosci_default {
-                                               function = "SIOSCI";
-                                               groups = "SIOSCI";
-                                       };
+       pinctrl_pwm5_default: pwm5_default {
+               function = "PWM5";
+               groups = "PWM5";
+       };
 
-                                       pinctrl_spi1_default: spi1_default {
-                                               function = "SPI1";
-                                               groups = "SPI1";
-                                       };
+       pinctrl_pwm6_default: pwm6_default {
+               function = "PWM6";
+               groups = "PWM6";
+       };
 
-                                       pinctrl_spi1cs1_default: spi1cs1_default {
-                                               function = "SPI1CS1";
-                                               groups = "SPI1CS1";
-                                       };
+       pinctrl_pwm7_default: pwm7_default {
+               function = "PWM7";
+               groups = "PWM7";
+       };
 
-                                       pinctrl_spi1debug_default: spi1debug_default {
-                                               function = "SPI1DEBUG";
-                                               groups = "SPI1DEBUG";
-                                       };
+       pinctrl_rgmii1_default: rgmii1_default {
+               function = "RGMII1";
+               groups = "RGMII1";
+       };
 
-                                       pinctrl_spi1passthru_default: spi1passthru_default {
-                                               function = "SPI1PASSTHRU";
-                                               groups = "SPI1PASSTHRU";
-                                       };
+       pinctrl_rgmii2_default: rgmii2_default {
+               function = "RGMII2";
+               groups = "RGMII2";
+       };
 
-                                       pinctrl_spi2ck_default: spi2ck_default {
-                                               function = "SPI2CK";
-                                               groups = "SPI2CK";
-                                       };
+       pinctrl_rmii1_default: rmii1_default {
+               function = "RMII1";
+               groups = "RMII1";
+       };
 
-                                       pinctrl_spi2cs0_default: spi2cs0_default {
-                                               function = "SPI2CS0";
-                                               groups = "SPI2CS0";
-                                       };
+       pinctrl_rmii2_default: rmii2_default {
+               function = "RMII2";
+               groups = "RMII2";
+       };
 
-                                       pinctrl_spi2cs1_default: spi2cs1_default {
-                                               function = "SPI2CS1";
-                                               groups = "SPI2CS1";
-                                       };
+       pinctrl_rxd1_default: rxd1_default {
+               function = "RXD1";
+               groups = "RXD1";
+       };
 
-                                       pinctrl_spi2miso_default: spi2miso_default {
-                                               function = "SPI2MISO";
-                                               groups = "SPI2MISO";
-                                       };
+       pinctrl_rxd2_default: rxd2_default {
+               function = "RXD2";
+               groups = "RXD2";
+       };
 
-                                       pinctrl_spi2mosi_default: spi2mosi_default {
-                                               function = "SPI2MOSI";
-                                               groups = "SPI2MOSI";
-                                       };
+       pinctrl_rxd3_default: rxd3_default {
+               function = "RXD3";
+               groups = "RXD3";
+       };
 
-                                       pinctrl_timer3_default: timer3_default {
-                                               function = "TIMER3";
-                                               groups = "TIMER3";
-                                       };
+       pinctrl_rxd4_default: rxd4_default {
+               function = "RXD4";
+               groups = "RXD4";
+       };
 
-                                       pinctrl_timer4_default: timer4_default {
-                                               function = "TIMER4";
-                                               groups = "TIMER4";
-                                       };
+       pinctrl_salt1_default: salt1_default {
+               function = "SALT1";
+               groups = "SALT1";
+       };
 
-                                       pinctrl_timer5_default: timer5_default {
-                                               function = "TIMER5";
-                                               groups = "TIMER5";
-                                       };
+       pinctrl_salt10_default: salt10_default {
+               function = "SALT10";
+               groups = "SALT10";
+       };
 
-                                       pinctrl_timer6_default: timer6_default {
-                                               function = "TIMER6";
-                                               groups = "TIMER6";
-                                       };
+       pinctrl_salt11_default: salt11_default {
+               function = "SALT11";
+               groups = "SALT11";
+       };
 
-                                       pinctrl_timer7_default: timer7_default {
-                                               function = "TIMER7";
-                                               groups = "TIMER7";
-                                       };
+       pinctrl_salt12_default: salt12_default {
+               function = "SALT12";
+               groups = "SALT12";
+       };
 
-                                       pinctrl_timer8_default: timer8_default {
-                                               function = "TIMER8";
-                                               groups = "TIMER8";
-                                       };
+       pinctrl_salt13_default: salt13_default {
+               function = "SALT13";
+               groups = "SALT13";
+       };
 
-                                       pinctrl_txd1_default: txd1_default {
-                                               function = "TXD1";
-                                               groups = "TXD1";
-                                       };
+       pinctrl_salt14_default: salt14_default {
+               function = "SALT14";
+               groups = "SALT14";
+       };
 
-                                       pinctrl_txd2_default: txd2_default {
-                                               function = "TXD2";
-                                               groups = "TXD2";
-                                       };
+       pinctrl_salt2_default: salt2_default {
+               function = "SALT2";
+               groups = "SALT2";
+       };
 
-                                       pinctrl_txd3_default: txd3_default {
-                                               function = "TXD3";
-                                               groups = "TXD3";
-                                       };
+       pinctrl_salt3_default: salt3_default {
+               function = "SALT3";
+               groups = "SALT3";
+       };
 
-                                       pinctrl_txd4_default: txd4_default {
-                                               function = "TXD4";
-                                               groups = "TXD4";
-                                       };
+       pinctrl_salt4_default: salt4_default {
+               function = "SALT4";
+               groups = "SALT4";
+       };
 
-                                       pinctrl_uart6_default: uart6_default {
-                                               function = "UART6";
-                                               groups = "UART6";
-                                       };
+       pinctrl_salt5_default: salt5_default {
+               function = "SALT5";
+               groups = "SALT5";
+       };
 
-                                       pinctrl_usbcki_default: usbcki_default {
-                                               function = "USBCKI";
-                                               groups = "USBCKI";
-                                       };
+       pinctrl_salt6_default: salt6_default {
+               function = "SALT6";
+               groups = "SALT6";
+       };
 
-                                       pinctrl_vgabiosrom_default: vgabiosrom_default {
-                                               function = "VGABIOSROM";
-                                               groups = "VGABIOSROM";
-                                       };
+       pinctrl_salt7_default: salt7_default {
+               function = "SALT7";
+               groups = "SALT7";
+       };
 
-                                       pinctrl_vgahs_default: vgahs_default {
-                                               function = "VGAHS";
-                                               groups = "VGAHS";
-                                       };
+       pinctrl_salt8_default: salt8_default {
+               function = "SALT8";
+               groups = "SALT8";
+       };
 
-                                       pinctrl_vgavs_default: vgavs_default {
-                                               function = "VGAVS";
-                                               groups = "VGAVS";
-                                       };
+       pinctrl_salt9_default: salt9_default {
+               function = "SALT9";
+               groups = "SALT9";
+       };
 
-                                       pinctrl_vpi24_default: vpi24_default {
-                                               function = "VPI24";
-                                               groups = "VPI24";
-                                       };
+       pinctrl_scl1_default: scl1_default {
+               function = "SCL1";
+               groups = "SCL1";
+       };
 
-                                       pinctrl_vpo_default: vpo_default {
-                                               function = "VPO";
-                                               groups = "VPO";
-                                       };
+       pinctrl_scl2_default: scl2_default {
+               function = "SCL2";
+               groups = "SCL2";
+       };
 
-                                       pinctrl_wdtrst1_default: wdtrst1_default {
-                                               function = "WDTRST1";
-                                               groups = "WDTRST1";
-                                       };
+       pinctrl_sd1_default: sd1_default {
+               function = "SD1";
+               groups = "SD1";
+       };
 
-                                       pinctrl_wdtrst2_default: wdtrst2_default {
-                                               function = "WDTRST2";
-                                               groups = "WDTRST2";
-                                       };
+       pinctrl_sd2_default: sd2_default {
+               function = "SD2";
+               groups = "SD2";
+       };
 
-                               };
+       pinctrl_sda1_default: sda1_default {
+               function = "SDA1";
+               groups = "SDA1";
+       };
 
-                       };
+       pinctrl_sda2_default: sda2_default {
+               function = "SDA2";
+               groups = "SDA2";
+       };
 
-                       gfx: display@1e6e6000 {
-                               compatible = "aspeed,ast2500-gfx", "syscon";
-                               reg = <0x1e6e6000 0x1000>;
-                               reg-io-width = <4>;
-                       };
+       pinctrl_sgps1_default: sgps1_default {
+               function = "SGPS1";
+               groups = "SGPS1";
+       };
 
-                       sram@1e720000 {
-                               compatible = "mmio-sram";
-                               reg = <0x1e720000 0x9000>;      // 36K
-                       };
+       pinctrl_sgps2_default: sgps2_default {
+               function = "SGPS2";
+               groups = "SGPS2";
+       };
 
-                       gpio: gpio@1e780000 {
-                               #gpio-cells = <2>;
-                               gpio-controller;
-                               compatible = "aspeed,ast2500-gpio";
-                               reg = <0x1e780000 0x1000>;
-                               interrupts = <20>;
-                               gpio-ranges = <&pinctrl 0 0 220>;
-                               interrupt-controller;
-                       };
+       pinctrl_sioonctrl_default: sioonctrl_default {
+               function = "SIOONCTRL";
+               groups = "SIOONCTRL";
+       };
 
-                       timer: timer@1e782000 {
-                               /* This timer is a Faraday FTTMR010 derivative */
-                               compatible = "aspeed,ast2400-timer";
-                               reg = <0x1e782000 0x90>;
-                               interrupts = <16 17 18 35 36 37 38 39>;
-                               clocks = <&clk_apb>;
-                               clock-names = "PCLK";
-                       };
+       pinctrl_siopbi_default: siopbi_default {
+               function = "SIOPBI";
+               groups = "SIOPBI";
+       };
 
+       pinctrl_siopbo_default: siopbo_default {
+               function = "SIOPBO";
+               groups = "SIOPBO";
+       };
 
-                       wdt1: wdt@1e785000 {
-                               compatible = "aspeed,ast2500-wdt";
-                               reg = <0x1e785000 0x20>;
-                               interrupts = <27>;
-                       };
+       pinctrl_siopwreq_default: siopwreq_default {
+               function = "SIOPWREQ";
+               groups = "SIOPWREQ";
+       };
 
-                       wdt2: wdt@1e785020 {
-                               compatible = "aspeed,ast2500-wdt";
-                               reg = <0x1e785020 0x20>;
-                               interrupts = <27>;
-                               status = "disabled";
-                       };
+       pinctrl_siopwrgd_default: siopwrgd_default {
+               function = "SIOPWRGD";
+               groups = "SIOPWRGD";
+       };
 
-                       wdt3: wdt@1e785040 {
-                               compatible = "aspeed,ast2500-wdt";
-                               reg = <0x1e785040 0x20>;
-                               status = "disabled";
-                       };
+       pinctrl_sios3_default: sios3_default {
+               function = "SIOS3";
+               groups = "SIOS3";
+       };
 
-                       uart1: serial@1e783000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e783000 0x1000>;
-                               reg-shift = <2>;
-                               interrupts = <9>;
-                               clocks = <&clk_uart>;
-                               no-loopback-test;
-                               status = "disabled";
-                       };
+       pinctrl_sios5_default: sios5_default {
+               function = "SIOS5";
+               groups = "SIOS5";
+       };
 
-                       lpc: lpc@1e789000 {
-                               compatible = "aspeed,ast2500-lpc", "simple-mfd";
-                               reg = <0x1e789000 0x1000>;
+       pinctrl_siosci_default: siosci_default {
+               function = "SIOSCI";
+               groups = "SIOSCI";
+       };
 
-                               #address-cells = <1>;
-                               #size-cells = <1>;
-                               ranges = <0 0x1e789000 0x1000>;
+       pinctrl_spi1_default: spi1_default {
+               function = "SPI1";
+               groups = "SPI1";
+       };
 
-                               lpc_bmc: lpc-bmc@0 {
-                                       compatible = "aspeed,ast2500-lpc-bmc";
-                                       reg = <0x0 0x80>;
-                               };
+       pinctrl_spi1cs1_default: spi1cs1_default {
+               function = "SPI1CS1";
+               groups = "SPI1CS1";
+       };
 
-                               lpc_host: lpc-host@80 {
-                                       compatible = "aspeed,ast2500-lpc-host", "simple-mfd", "syscon";
-                                       reg = <0x80 0x1e0>;
+       pinctrl_spi1debug_default: spi1debug_default {
+               function = "SPI1DEBUG";
+               groups = "SPI1DEBUG";
+       };
 
-                                       #address-cells = <1>;
-                                       #size-cells = <1>;
-                                       ranges = <0 0x80 0x1e0>;
+       pinctrl_spi1passthru_default: spi1passthru_default {
+               function = "SPI1PASSTHRU";
+               groups = "SPI1PASSTHRU";
+       };
 
-                                       reg-io-width = <4>;
+       pinctrl_spi2ck_default: spi2ck_default {
+               function = "SPI2CK";
+               groups = "SPI2CK";
+       };
 
-                                       lhc: lhc@20 {
-                                               compatible = "aspeed,ast2500-lhc";
-                                               reg = <0x20 0x24 0x48 0x8>;
-                                       };
-                               };
-                       };
+       pinctrl_spi2cs0_default: spi2cs0_default {
+               function = "SPI2CS0";
+               groups = "SPI2CS0";
+       };
 
-                       uart2: serial@1e78d000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e78d000 0x1000>;
-                               reg-shift = <2>;
-                               interrupts = <32>;
-                               clocks = <&clk_uart>;
-                               no-loopback-test;
-                               status = "disabled";
-                       };
+       pinctrl_spi2cs1_default: spi2cs1_default {
+               function = "SPI2CS1";
+               groups = "SPI2CS1";
+       };
 
-                       uart3: serial@1e78e000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e78e000 0x1000>;
-                               reg-shift = <2>;
-                               interrupts = <33>;
-                               clocks = <&clk_uart>;
-                               no-loopback-test;
-                               status = "disabled";
-                       };
+       pinctrl_spi2miso_default: spi2miso_default {
+               function = "SPI2MISO";
+               groups = "SPI2MISO";
+       };
 
-                       uart4: serial@1e78f000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e78f000 0x1000>;
-                               reg-shift = <2>;
-                               interrupts = <34>;
-                               clocks = <&clk_uart>;
-                               no-loopback-test;
-                               status = "disabled";
-                       };
+       pinctrl_spi2mosi_default: spi2mosi_default {
+               function = "SPI2MOSI";
+               groups = "SPI2MOSI";
+       };
 
-                       uart5: serial@1e784000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e784000 0x1000>;
-                               reg-shift = <2>;
-                               interrupts = <10>;
-                               clocks = <&clk_uart>;
-                               current-speed = <38400>;
-                               no-loopback-test;
-                               status = "disabled";
-                       };
+       pinctrl_timer3_default: timer3_default {
+               function = "TIMER3";
+               groups = "TIMER3";
+       };
 
-                       uart6: serial@1e787000 {
-                               compatible = "ns16550a";
-                               reg = <0x1e787000 0x1000>;
-                               reg-shift = <2>;
-                               interrupts = <10>;
-                               clocks = <&clk_uart>;
-                               no-loopback-test;
-                               status = "disabled";
-                       };
+       pinctrl_timer4_default: timer4_default {
+               function = "TIMER4";
+               groups = "TIMER4";
+       };
 
-                       adc: adc@1e6e9000 {
-                               compatible = "aspeed,ast2500-adc";
-                               reg = <0x1e6e9000 0xb0>;
-                               clocks = <&clk_apb>;
-                               #io-channel-cells = <1>;
-                               status = "disabled";
-                       };
-               };
+       pinctrl_timer5_default: timer5_default {
+               function = "TIMER5";
+               groups = "TIMER5";
+       };
+
+       pinctrl_timer6_default: timer6_default {
+               function = "TIMER6";
+               groups = "TIMER6";
+       };
+
+       pinctrl_timer7_default: timer7_default {
+               function = "TIMER7";
+               groups = "TIMER7";
+       };
+
+       pinctrl_timer8_default: timer8_default {
+               function = "TIMER8";
+               groups = "TIMER8";
+       };
+
+       pinctrl_txd1_default: txd1_default {
+               function = "TXD1";
+               groups = "TXD1";
+       };
+
+       pinctrl_txd2_default: txd2_default {
+               function = "TXD2";
+               groups = "TXD2";
+       };
+
+       pinctrl_txd3_default: txd3_default {
+               function = "TXD3";
+               groups = "TXD3";
+       };
+
+       pinctrl_txd4_default: txd4_default {
+               function = "TXD4";
+               groups = "TXD4";
+       };
+
+       pinctrl_uart6_default: uart6_default {
+               function = "UART6";
+               groups = "UART6";
+       };
+
+       pinctrl_usbcki_default: usbcki_default {
+               function = "USBCKI";
+               groups = "USBCKI";
+       };
+
+       pinctrl_vgabiosrom_default: vgabiosrom_default {
+               function = "VGABIOSROM";
+               groups = "VGABIOSROM";
+       };
+
+       pinctrl_vgahs_default: vgahs_default {
+               function = "VGAHS";
+               groups = "VGAHS";
+       };
+
+       pinctrl_vgavs_default: vgavs_default {
+               function = "VGAVS";
+               groups = "VGAVS";
+       };
+
+       pinctrl_vpi24_default: vpi24_default {
+               function = "VPI24";
+               groups = "VPI24";
+       };
+
+       pinctrl_vpo_default: vpo_default {
+               function = "VPO";
+               groups = "VPO";
+       };
+
+       pinctrl_wdtrst1_default: wdtrst1_default {
+               function = "WDTRST1";
+               groups = "WDTRST1";
+       };
+
+       pinctrl_wdtrst2_default: wdtrst2_default {
+               function = "WDTRST2";
+               groups = "WDTRST2";
        };
 };
index 4da011a7a6986aac7ee3e6188b1038bbe25b2855..1c86537a42a01cce895086b4fea786f61eb9fe0c 100644 (file)
                        };
                };
 
-               usb0: ohci@00600000 {
+               usb0: ohci@600000 {
                        status = "okay";
                        num-ports = <3>;
                };
 
-               usb1: ehci@00700000 {
+               usb1: ehci@700000 {
                        status = "okay";
                };
        };
index 21c5b56c92e083cb618b4e05d8a30733b89ee519..f877f3430bcc299b29d2b41ea7a4a40dc426b12f 100644 (file)
                        };
                };
 
-               usb0: ohci@00600000 {
+               usb0: ohci@600000 {
                        status = "okay";
                        num-ports = <3>;
                };
 
-               usb1: ehci@00700000 {
+               usb1: ehci@700000 {
                        status = "okay";
                };
        };
index 27ebb0f722fdbd724fe83089b86cae39eed2b5ee..c452654b843a400a1c29292ec5d842c44da6cb79 100644 (file)
@@ -62,7 +62,7 @@
                        };
                };
 
-               usb0: ohci@00600000 {
+               usb0: ohci@600000 {
                        status = "okay";
                        num-ports = <3>;
                        atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW */
@@ -71,7 +71,7 @@
                                          >;
                };
 
-               usb1: ehci@00700000 {
+               usb1: ehci@700000 {
                        status = "okay";
                };
        };
index 4372c0287c1c053b3e505f130bbd2bc66d44615c..ec6c28c521a5b64210b02227a676b04686d1ff8f 100644 (file)
                        };
                };
 
-               usb1: ohci@00600000 {
+               usb1: ohci@600000 {
                        status = "okay";
                };
 
-               usb2: ehci@00700000 {
+               usb2: ehci@700000 {
                        status = "okay";
                };
 
index 33238fcb6d0b420430cc6a584b71af98d141c3b1..fe1bc0a59a98b4775f1d6fe84c6f8bf3920f41d9 100644 (file)
                        };
                };
 
-               usb0: ohci@00600000 {
+               usb0: ohci@600000 {
                        num-ports = <1>;
                        status = "okay";
                };
 
-               usb1: ehci@00700000 {
+               usb1: ehci@700000 {
                        status = "okay";
                };
 
index 60cb084a8d927e40303a377a40fd283d2eb29f45..6d87b4eb6c417e3f7dbe0cdaf91fdbc30fbdc6ac 100644 (file)
        model = "Atmel SAMA5D27 SOM1 EK";
        compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
 
+       aliases {
+               serial0 = &uart1;       /* DBGU */
+               serial1 = &uart4;       /* mikro BUS 1 */
+               serial2 = &uart2;       /* mikro BUS 2 */
+               i2c1    = &i2c1;
+               i2c2    = &i2c2;
+       };
+
        chosen {
                stdout-path = "serial0:115200n8";
        };
 
        ahb {
-               usb0: gadget@00300000 {
+               usb0: gadget@300000 {
                        atmel,vbus-gpio = <&pioA PIN_PD20 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00400000 {
+               usb1: ohci@400000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0 /* &pioA PIN_PD20 GPIO_ACTIVE_HIGH */
                                           &pioA PIN_PA27 GPIO_ACTIVE_HIGH
@@ -76,7 +84,7 @@
                        status = "okay";
                };
 
-               usb2: ehci@00500000 {
+               usb2: ehci@500000 {
                        status = "okay";
                };
 
                        };
 
                        pwm0: pwm@f802c000 {
-                               status = "okay";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_mikrobus1_pwm &pinctrl_mikrobus2_pwm>;
+                               status = "disabled"; /* Conflict with leds. */
                        };
 
                        flx1: flexcom@f8038000 {
                                atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
-                               status = "disabled";
+                               status = "okay";
 
                                i2c2: i2c@600 {
                                        compatible = "atmel,sama5d2-i2c";
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pinctrl_mikrobus_i2c>;
                                        atmel,fifo-size = <16>;
-                                       status = "disabled";
+                                       status = "okay";
                                };
                        };
 
                                status = "okay";
                        };
 
-                       can0: can@f8054000 {
-                               pinctrl-names = "default";
-                               pinctrl-0 = <&pinctrl_can0_default>;
-                       };
-
                        uart3: serial@fc008000 {
                                atmel,use-dma-rx;
                                atmel,use-dma-tx;
                                pinctrl-names = "default";
                                pinctrl-0 = <&pinctrl_uart3_default>;
-                               status = "disabled";
+                               status = "disabled"; /* Conflict with isc. */
                        };
 
                        uart4: serial@fc00c000 {
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pinctrl_flx3_default>;
                                        atmel,fifo-size = <32>;
-                                       status = "disabled";
+                                       status = "disabled"; /* Conflict with isc. */
                                };
 
                                spi2: spi@400 {
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pinctrl_flx3_default>;
                                        atmel,fifo-size = <16>;
-                                       status = "disabled";
+                                       status = "disabled"; /* Conflict with isc. */
                                };
                        };
 
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pinctrl_flx4_default>;
                                        atmel,fifo-size = <32>;
-                                       status = "disabled";
+                                       status = "disabled"; /* Conflict with spi3 and i2c3. */
                                };
 
                                spi3: spi@400 {
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>;
                                        atmel,fifo-size = <16>;
-                                       status = "okay";
+                                       status = "okay"; /* Conflict with uart6 and i2c3. */
                                };
 
                                i2c3: i2c@600 {
                                        pinctrl-names = "default";
                                        pinctrl-0 = <&pinctrl_flx4_default>;
                                        atmel,fifo-size = <16>;
-                                       status = "disabled";
+                                       status = "disabled"; /* Conflict with uart6 and spi3. */
                                };
                        };
 
 
                        pinctrl@fc038000 {
 
-                               pinctrl_can0_default: can0_default {
-                                       pinmux = <PIN_PC10__CANTX0>,
-                                                <PIN_PC11__CANRX0>;
-                                       bias-disable;
-                               };
-
                                pinctrl_can1_default: can1_default {
                                        pinmux = <PIN_PC26__CANTX1>,
                                                 <PIN_PC27__CANRX1>;
                                                         <PIN_PA7__SDMMC0_DAT5>,
                                                         <PIN_PA8__SDMMC0_DAT6>,
                                                         <PIN_PA9__SDMMC0_DAT7>;
-                                               bias-pull-up;
+                                               bias-disable;
                                        };
 
                                        ck_cd_vddsel {
                                                         <PIN_PA19__SDMMC1_DAT1>,
                                                         <PIN_PA20__SDMMC1_DAT2>,
                                                         <PIN_PA21__SDMMC1_DAT3>;
-                                               bias-pull-up;
+                                               bias-disable;
                                        };
 
                                        conf-ck_cd {
                        label = "USER";
                        gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>;
                        linux,code = <0x104>;
+                       wakeup-source;
                };
        };
 
                compatible = "gpio-leds";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_led_gpio_default>;
-               status = "okay";
+               status = "okay"; /* Conflict with pwm0. */
 
                red {
                        label = "red";
index cbc26001247bea2fabcf186ad784f187810dbc63..56de21de2779ea8e0af901458f46b46ffd77c6e5 100644 (file)
        };
 
        ahb {
-               usb0: gadget@00300000 {
+               usb0: gadget@300000 {
                        atmel,vbus-gpio = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00400000 {
+               usb1: ohci@400000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0 /* &pioA PIN_PB9 GPIO_ACTIVE_HIGH */
                                           &pioA PIN_PB10 GPIO_ACTIVE_HIGH
@@ -85,7 +85,7 @@
                        status = "okay";
                };
 
-               usb2: ehci@00500000 {
+               usb2: ehci@500000 {
                        status = "okay";
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_sdmmc1_default>;
                        status = "okay"; /* conflict with qspi0 */
+                       vqmmc-supply = <&vdd_3v3_reg>;
+                       vmmc-supply = <&vdd_3v3_reg>;
                };
 
                apb {
                                        compatible = "active-semi,act8945a";
                                        reg = <0x5b>;
                                        active-semi,vsel-high;
-                                       active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>;
-                                       active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>;
-                                       active-semi,irq_gpios = <&pioA PIN_PB13 GPIO_ACTIVE_LOW>;
-                                       active-semi,input-voltage-threshold-microvolt = <6600>;
-                                       active-semi,precondition-timeout = <40>;
-                                       active-semi,total-timeout = <3>;
-                                       pinctrl-names = "default";
-                                       pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
                                        status = "okay";
 
                                        regulators {
                                                        regulator-always-on;
                                                };
                                        };
+
+                                       charger {
+                                               compatible = "active-semi,act8945a-charger";
+                                               pinctrl-names = "default";
+                                               pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
+                                               interrupt-parent = <&pioA>;
+                                               interrupts = <PIN_PB13 GPIO_ACTIVE_LOW>;
+
+                                               active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>;
+                                               active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>;
+                                               active-semi,input-voltage-threshold-microvolt = <6600>;
+                                               active-semi,precondition-timeout = <40>;
+                                               active-semi,total-timeout = <3>;
+                                               status = "okay";
+                                       };
                                };
                        };
 
                        pwm0: pwm@f802c000 {
-                               status = "okay";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_pwm0_pwm2_default>;
+                               status = "disabled"; /* conflict with leds */
                        };
 
                        flx0: flexcom@f8034000 {
                                                         <PIN_PA7__SDMMC0_DAT5>,
                                                         <PIN_PA8__SDMMC0_DAT6>,
                                                         <PIN_PA9__SDMMC0_DAT7>;
-                                               bias-pull-up;
+                                               bias-disable;
                                        };
 
                                        ck_cd_rstn_vddsel {
                                                         <PIN_PA19__SDMMC1_DAT1>,
                                                         <PIN_PA20__SDMMC1_DAT2>,
                                                         <PIN_PA21__SDMMC1_DAT3>;
-                                               bias-pull-up;
+                                               bias-disable;
                                        };
 
                                        conf-ck_cd {
                                        bias-disable;
                                };
 
+                               pinctrl_pwm0_pwm2_default: pwm0_pwm2_default {
+                                       pinmux = <PIN_PB5__PWMH2>,
+                                                <PIN_PB6__PWML2>;
+                                       bias-pull-up;
+                               };
                        };
 
                        classd: classd@fc048000 {
                        label = "PB_USER";
                        gpios = <&pioA PIN_PB9 GPIO_ACTIVE_LOW>;
                        linux,code = <0x104>;
+                       wakeup-source;
                };
        };
 
                compatible = "gpio-leds";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_led_gpio_default>;
-               status = "okay";
+               status = "okay"; /* conflict with pwm0 */
 
                red {
                        label = "red";
index 3af088d2cba79d29ddfd7984644fe6822ce48906..40879aded68080112eb9848367a31de16e000a85 100644 (file)
                        };
                };
 
-               usb0: gadget@00500000 {
+               usb0: gadget@500000 {
                        atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;   /* PE9, conflicts with A9 */
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00600000 {
+               usb1: ohci@600000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0
                                           &pioE 3 GPIO_ACTIVE_LOW
                        status = "okay";
                };
 
-               usb2: ehci@00700000 {
+               usb2: ehci@700000 {
                        status = "okay";
                };
 
index 84be29f38dae005f12eb0c13a1ec90eaf5b5616a..fe05aaa7ac8785cebd149a33116f1ebcd0b36caf 100644 (file)
        };
 
        ahb {
-               usb0: gadget@00400000 {
+               usb0: gadget@400000 {
                        atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00500000 {
+               usb1: ohci@500000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0
                                           &pioE 11 GPIO_ACTIVE_LOW
@@ -37,7 +37,7 @@
                        status = "okay";
                };
 
-               usb2: ehci@00600000 {
+               usb2: ehci@600000 {
                        status = "okay";
                };
 
index cf712444b2c2cb37d1b77ef18bf485cca499a727..29ab17a97f9ada1b50242b7921cf40f82ede95bc 100644 (file)
                        };
                };
 
-               usb0: gadget@00400000 {
+               usb0: gadget@400000 {
                        atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00500000 {
+               usb1: ohci@500000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0
                                           &pioE 11 GPIO_ACTIVE_HIGH
                        status = "okay";
                };
 
-               usb2: ehci@00600000 {
+               usb2: ehci@600000 {
                        status = "okay";
                };
 
index bae5248f126e8f23ed59cdc0df10586b85814dc3..5b7ee92e32a71af7758800f7543f8f787b01dc33 100644 (file)
                        };
                };
 
-               usb0: gadget@00400000 {
+               usb0: gadget@400000 {
                        atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00500000 {
+               usb1: ohci@500000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0 /* &pioE 10 GPIO_ACTIVE_LOW */
                                           &pioE 11 GPIO_ACTIVE_LOW
                        status = "okay";
                };
 
-               usb2: ehci@00600000 {
+               usb2: ehci@600000 {
                        status = "okay";
                };
 
index e0c0b2897a49d4e19d8d6cd43e39f89592a6515c..9f6005708ea880092c308fc197e7028b7d7e9011 100644 (file)
                        };
                };
 
-               usb0: gadget@00400000 {
+               usb0: gadget@400000 {
                        atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "disable";
                };
 
-               usb1: ohci@00500000 {
+               usb1: ohci@500000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <0
                                           &pioE 11 GPIO_ACTIVE_LOW
                        status = "disable";
                };
 
-               usb2: ehci@00600000 {
+               usb2: ehci@600000 {
                        /* 4G Modem */
                        status = "okay";
                };
index f057e0b15a6f5427d5018ea7d0b18555feede78c..da622bf45b4a3a17a07216cc8a28126c0e13dae4 100644 (file)
@@ -66,7 +66,7 @@
                };
        };
 
-       sram: sram@00200000 {
+       sram: sram@200000 {
                compatible = "mmio-sram";
                reg = <0x00200000 0x4000>;
        };
                        status = "disabled";
                };
 
-               usb0: ohci@00300000 {
+               usb0: ohci@300000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00300000 0x100000>;
                        interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
index f90e1c2d3caa2fc41485ba330bdcd691a379e6be..33192d0cefeeec67fd9785f1e141643f970ec8e7 100644 (file)
@@ -78,7 +78,7 @@
                        };
                };
 
-               usb0: ohci@00300000 {
+               usb0: ohci@300000 {
                        num-ports = <2>;
                        status = "okay";
                };
index 6582f3cca92920cd9aa0918655f0015c49dfed1a..bc655e7332d6542720f209aa160c390e7fc456a5 100644 (file)
@@ -69,7 +69,7 @@
                };
        };
 
-       sram0: sram@002ff000 {
+       sram0: sram@2ff000 {
                compatible = "mmio-sram";
                reg = <0x002ff000 0x2000>;
        };
index a05353f961515fdcf3f5aa4ccaabba743d914dab..66876019101da789dc139420ebe4a80ec1541a18 100644 (file)
@@ -60,7 +60,7 @@
                };
        };
 
-       sram: sram@00300000 {
+       sram: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x28000>;
        };
@@ -71,7 +71,7 @@
                #size-cells = <1>;
                ranges;
 
-               usb0: ohci@00500000 {
+               usb0: ohci@500000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00500000 0x100000>;
                        interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
index 157e1493e6eb58e373e699dbc5bd6619b0d05009..960d6940ebf656818e5a2cd4c32757d8f62e99e4 100644 (file)
@@ -32,7 +32,7 @@
        };
 
        ahb {
-               usb0: ohci@00500000 {
+               usb0: ohci@500000 {
                        status = "okay";
                };
 
index ed4b564f8de5756ef700c04db31d02b240e62238..e54f14d36b6f4c2516561ef83a0aecd224973645 100644 (file)
                };
        };
 
-       sram0: sram@00300000 {
+       sram0: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x14000>;
        };
 
-       sram1: sram@00500000 {
+       sram1: sram@500000 {
                compatible = "mmio-sram";
                reg = <0x00500000 0x4000>;
        };
                        status = "disabled";
                };
 
-               usb0: ohci@00a00000 {
+               usb0: ohci@a00000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00a00000 0x100000>;
                        interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>;
index 10a0925da10e16db6b5668f09ae62f52f6f593d2..5a2e1af793f55aab9f4ddbe0c6843529af596762 100644 (file)
                        };
                };
 
-               usb0: ohci@00a00000 {
+               usb0: ohci@a00000 {
                        num-ports = <2>;
                        status = "okay";
                        atmel,vbus-gpio = <&pioA 24 GPIO_ACTIVE_HIGH
index f5930161816371128530533b70ff298fa64cfb0a..90705ee6008b20418826ae1a9c752525e8b3b4f4 100644 (file)
                reg = <0x20000000 0x08000000>;
        };
 
-       sram0: sram@002ff000 {
+       sram0: sram@2ff000 {
                status = "disabled";
        };
 
-       sram1: sram@002fc000 {
+       sram1: sram@2fc000 {
                compatible = "mmio-sram";
                reg = <0x002fc000 0x8000>;
        };
index 64fa3f9a39d3353ea18eb806a62b2498045a4d81..2b127ca7aaa0a3f2feef3d962ebb634d6051d1b5 100644 (file)
@@ -74,7 +74,7 @@
                };
        };
 
-       sram: sram@00300000 {
+       sram: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x10000>;
        };
                        status = "disabled";
                };
 
-               usb0: ohci@00700000 {
+               usb0: ohci@700000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00700000 0x100000>;
                        interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               usb1: ehci@00800000 {
+               usb1: ehci@800000 {
                        compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
                        reg = <0x00800000 0x100000>;
                        interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
index 94c52c555f832d69cab669b64204f614fd00bced..e922552a04cb45b5841a4a9e9bf01f92fd8020d0 100644 (file)
                        };
                };
 
-               usb0: ohci@00700000 {
+               usb0: ohci@700000 {
                        status = "okay";
                        num-ports = <2>;
                        atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW
                                           &pioD 3 GPIO_ACTIVE_LOW>;
                };
 
-               usb1: ehci@00800000 {
+               usb1: ehci@800000 {
                        status = "okay";
                };
        };
index 06516d02d351b50e5f4474930b15a3df2111a146..e0ac824e0785bbdfca5ade320cf6cd2607c41c72 100644 (file)
@@ -64,7 +64,7 @@
                };
        };
 
-       sram: sram@00300000 {
+       sram: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x8000>;
        };
                        };
                };
 
-               usb0: ohci@00500000 {
+               usb0: ohci@500000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00500000 0x00100000>;
                        interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
index 5bea8c59b1154313d0fdf72f8244314ae4dea733..212562aedf5ebb53ebec31c7dd3d63b7cb5f5392 100644 (file)
                        };
                };
 
-               usb0: ohci@00500000 {
+               usb0: ohci@500000 {
                        num-ports = <1>;
                        atmel,vbus-gpio = <&pioB 7 GPIO_ACTIVE_LOW>;
                        status = "okay";
index 7768342a663857e91dc90be762bffcf262ba23f4..52f0e9ef8f67e5e83a5f1e4e9ce71e4943cdb5ee 100644 (file)
@@ -70,7 +70,7 @@
                };
        };
 
-       sram: sram@00300000 {
+       sram: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x10000>;
        };
@@ -81,7 +81,7 @@
                #size-cells = <1>;
                ranges;
 
-               fb0: fb@00500000 {
+               fb0: fb@500000 {
                        compatible = "atmel,at91sam9rl-lcdc";
                        reg = <0x00500000 0x1000>;
                        interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>;
index 9047c168298a7423ae09de0cb1c03b768e7a22d6..ea6ed98960c911bc9b47c170c7d07e77718d8c81 100644 (file)
@@ -32,7 +32,7 @@
        };
 
        ahb {
-               fb0: fb@00500000 {
+               fb0: fb@500000 {
                        display = <&display0>;
                        status = "okay";
 
index 494864836e837aa87de0b7d7f8fe46844cd788e7..f705a3165656de0b8058a56d7bad1bb02de19d83 100644 (file)
 
        ahb {
                apb {
+                       can1: can@f8004000 {
+                               status = "okay";
+                       };
+
                        macb0: ethernet@f802c000 {
                                phy-mode = "rmii";
                                status = "okay";
                                phy-mode = "rmii";
                                status = "okay";
                        };
+
+                       pwm0: pwm@f8034000 {
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&pinctrl_pwm0_pwm0_1>;
+                               status = "okay";
+                       };
                };
        };
 };
index 57f307541d2ea4f5e892b776648f5793aacbd6ec..ad779a7dfefd62aa1971698301618141f8cd37d8 100644 (file)
@@ -72,7 +72,7 @@
                };
        };
 
-       sram: sram@00300000 {
+       sram: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x8000>;
        };
                        };
                };
 
-               usb0: ohci@00600000 {
+               usb0: ohci@600000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00600000 0x100000>;
                        interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               usb1: ehci@00700000 {
+               usb1: ehci@700000 {
                        compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
                        reg = <0x00700000 0x100000>;
                        interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
index 9d2bbc41a7b0812d2460da3688090a58bd1f1b9d..4a2e13c8bf00470442e95ad864945ad6ac0afff9 100644 (file)
@@ -50,6 +50,8 @@
                        };
 
                        usart0: serial@f801c000 {
+                               atmel,use-dma-rx;
+                               atmel,use-dma-tx;
                                status = "okay";
                        };
 
                        };
                };
 
-               usb0: ohci@00600000 {
+               usb0: ohci@600000 {
                        status = "okay";
                        num-ports = <3>;
                        atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
                                          >;
                };
 
-               usb1: ehci@00700000 {
+               usb1: ehci@700000 {
                        status = "okay";
                };
        };
index 0278f63b2daf8796379998675797cf1b172da5cd..1304452f0fae0eb8887591357263c1a61a3f6979 100644 (file)
        model = "Atmel AT91SAM9XE family SoC";
        compatible = "atmel,at91sam9xe", "atmel,at91sam9260";
 
-       sram0: sram@002ff000 {
+       sram0: sram@2ff000 {
                status = "disabled";
        };
 
-       sram1: sram@00300000 {
+       sram1: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x4000>;
        };
index 3c8fa26e87b70c71d0bdb3e10d8b9f3219c1f130..897103e0a79bf3b4be99d8b8f2a8a48bb0b22672 100644 (file)
                };
        };
 
-       usb_power_supply: usb_power_supply {
+       usb_power_supply: usb-power-supply {
                compatible = "x-powers,axp202-usb-power-supply";
                status = "disabled";
        };
diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
new file mode 100644 (file)
index 0000000..73b761f
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2017 Chen-Yu Tsai
+ *
+ * Chen-Yu Tsai <wens@csie.org>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/* AXP813/818 Integrated Power Management Chip */
+
+&axp81x {
+       interrupt-controller;
+       #interrupt-cells = <1>;
+
+       regulators {
+               /* Default work frequency for buck regulators */
+               x-powers,dcdc-freq = <3000>;
+
+               reg_dcdc1: dcdc1 {
+               };
+
+               reg_dcdc2: dcdc2 {
+               };
+
+               reg_dcdc3: dcdc3 {
+               };
+
+               reg_dcdc4: dcdc4 {
+               };
+
+               reg_dcdc5: dcdc5 {
+               };
+
+               reg_dcdc6: dcdc6 {
+               };
+
+               reg_dcdc7: dcdc7 {
+               };
+
+               reg_aldo1: aldo1 {
+               };
+
+               reg_aldo2: aldo2 {
+               };
+
+               reg_aldo3: aldo3 {
+               };
+
+               reg_dldo1: dldo1 {
+               };
+
+               reg_dldo2: dldo2 {
+               };
+
+               reg_dldo3: dldo3 {
+               };
+
+               reg_dldo4: dldo4 {
+               };
+
+               reg_eldo1: eldo1 {
+               };
+
+               reg_eldo2: eldo2 {
+               };
+
+               reg_eldo3: eldo3 {
+               };
+
+               reg_fldo1: fldo1 {
+               };
+
+               reg_fldo2: fldo2 {
+               };
+
+               reg_fldo3: fldo3 {
+               };
+
+               reg_ldo_io0: ldo-io0 {
+                       /* Disable by default to avoid conflicts with GPIO */
+                       status = "disabled";
+               };
+
+               reg_ldo_io1: ldo-io1 {
+                       /* Disable by default to avoid conflicts with GPIO */
+                       status = "disabled";
+               };
+
+               reg_rtc_ldo: rtc-ldo {
+                       /* RTC_LDO is a fixed, always-on regulator */
+                       regulator-always-on;
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               };
+
+               reg_sw: sw {
+               };
+
+               reg_drivevbus: drivevbus {
+                       status = "disabled";
+               };
+       };
+};
index 7c957ea06c66ce6b603277e452584dc8df05e5ef..699fdf94d139bdffea5b28fbc4bab912895583f2 100644 (file)
                #address-cells = <1>;
                #size-cells = <1>;
 
-               otp: otp@0301c800 {
+               otp: otp@301c800 {
                        compatible = "brcm,ocotp";
                        reg = <0x0301c800 0x2c>;
                        brcm,ocotp-size = <2048>;
                        status = "disabled";
                };
 
-               pcie_phy: phy@0301d0a0 {
+               pcie_phy: phy@301d0a0 {
                        compatible = "brcm,cygnus-pcie-phy";
                        reg = <0x0301d0a0 0x14>;
                        #address-cells = <1>;
                        };
                };
 
-               pinctrl: pinctrl@0301d0c8 {
+               pinctrl: pinctrl@301d0c8 {
                        compatible = "brcm,cygnus-pinmux";
                        reg = <0x0301d0c8 0x30>,
                              <0x0301d24c 0x2c>;
                        };
                };
 
-               mailbox: mailbox@03024024 {
+               mailbox: mailbox@3024024 {
                        compatible = "brcm,iproc-mailbox";
                        reg = <0x03024024 0x40>;
                        interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
                        #mbox-cells = <1>;
                };
 
-               gpio_crmu: gpio@03024800 {
+               gpio_crmu: gpio@3024800 {
                        compatible = "brcm,cygnus-crmu-gpio";
                        reg = <0x03024800 0x50>,
                              <0x03024008 0x18>;
                        status = "disabled";
                };
 
+               clcd: clcd@180a0000 {
+                       compatible = "arm,pl111", "arm,primecell";
+                       reg = <0x180a0000 0x1000>;
+                       interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "combined";
+                       clocks = <&axi41_clk>, <&apb_clk>;
+                       clock-names = "clcdclk", "apb_pclk";
+                       status = "disabled";
+               };
+
                v3d: v3d@180a2000 {
                        compatible = "brcm,cygnus-v3d";
                        reg = <0x180a2000 0x1000>;
                        status = "disabled";
                };
 
+               pwm: pwm@180aa500 {
+                       compatible = "brcm,kona-pwm";
+                       reg = <0x180aa500 0xc4>;
+                       #pwm-cells = <3>;
+                       clocks = <&asiu_clks BCM_CYGNUS_ASIU_PWM_CLK>;
+                       status = "disabled";
+               };
+
                keypad: keypad@180ac000 {
                        compatible = "brcm,bcm-keypad";
                        reg = <0x180ac000 0x14c>;
diff --git a/arch/arm/boot/dts/bcm-hr2.dtsi b/arch/arm/boot/dts/bcm-hr2.dtsi
new file mode 100644 (file)
index 0000000..3f9cedd
--- /dev/null
@@ -0,0 +1,368 @@
+/*
+ *  BSD LICENSE
+ *
+ *  Copyright(c) 2017 Broadcom.  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions
+ *  are met:
+ *
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in
+ *      the documentation and/or other materials provided with the
+ *      distribution.
+ *    * Neither the name of Broadcom Corporation nor the names of its
+ *      contributors may be used to endorse or promote products derived
+ *      from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       compatible = "brcm,hr2";
+       model = "Broadcom Hurricane 2 SoC";
+       interrupt-parent = <&gic>;
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       next-level-cache = <&L2>;
+                       reg = <0x0>;
+               };
+       };
+
+       pmu {
+               compatible = "arm,cortex-a9-pmu";
+               interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH
+                             GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-affinity = <&cpu0>;
+       };
+
+       mpcore@19000000 {
+               compatible = "simple-bus";
+               ranges = <0x00000000 0x19000000 0x00023000>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               a9pll: arm_clk@0 {
+                       #clock-cells = <0>;
+                       compatible = "brcm,hr2-armpll";
+                       clocks = <&osc>;
+                       reg = <0x0 0x1000>;
+               };
+
+               timer@20200 {
+                       compatible = "arm,cortex-a9-global-timer";
+                       reg = <0x20200 0x100>;
+                       interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&periph_clk>;
+               };
+
+               twd-timer@20600 {
+                       compatible = "arm,cortex-a9-twd-timer";
+                       reg = <0x20600 0x20>;
+                       interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
+                                                 IRQ_TYPE_LEVEL_HIGH)>;
+                       clocks = <&periph_clk>;
+               };
+
+               twd-watchdog@20620 {
+                       compatible = "arm,cortex-a9-twd-wdt";
+                       reg = <0x20620 0x20>;
+                       interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
+                                                 IRQ_TYPE_LEVEL_HIGH)>;
+                       clocks = <&periph_clk>;
+               };
+
+               gic: interrupt-controller@21000 {
+                       compatible = "arm,cortex-a9-gic";
+                       #interrupt-cells = <3>;
+                       #address-cells = <0>;
+                       interrupt-controller;
+                       reg = <0x21000 0x1000>,
+                             <0x20100 0x100>;
+               };
+
+               L2: l2-cache@22000 {
+                       compatible = "arm,pl310-cache";
+                       reg = <0x22000 0x1000>;
+                       cache-unified;
+                       cache-level = <2>;
+               };
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               osc: oscillator {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <25000000>;
+               };
+
+               periph_clk: periph_clk {
+                       #clock-cells = <0>;
+                       compatible = "fixed-factor-clock";
+                       clocks = <&a9pll>;
+                       clock-div = <2>;
+                       clock-mult = <1>;
+               };
+       };
+
+       axi@18000000 {
+               compatible = "simple-bus";
+               ranges = <0x00000000 0x18000000 0x0011c40c>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               uart0: serial@300 {
+                       compatible = "ns16550a";
+                       reg = <0x0300 0x100>;
+                       interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               uart1: serial@400 {
+                       compatible = "ns16550a";
+                       reg = <0x0400 0x100>;
+                       interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&osc>;
+                       status = "disabled";
+               };
+
+               dma@20000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0x20000 0x1000>;
+                       interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+                       #dma-cells = <1>;
+                       status = "disabled";
+               };
+
+               amac0: ethernet@22000 {
+                       compatible = "brcm,nsp-amac";
+                       reg = <0x22000 0x1000>,
+                             <0x110000 0x1000>;
+                       reg-names = "amac_base", "idm_base";
+                       interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+               };
+
+               nand: nand@26000 {
+                       compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
+                       reg = <0x26000 0x600>,
+                             <0x11b408 0x600>,
+                             <0x026f00 0x20>;
+                       reg-names = "nand", "iproc-idm", "iproc-ext";
+                       interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       brcm,nand-has-wp;
+               };
+
+               gpiob: gpio@30000 {
+                       compatible = "brcm,iproc-hr2-gpio", "brcm,iproc-gpio";
+                       reg = <0x30000 0x50>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       ngpios = <4>;
+                       interrupt-controller;
+                       interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               pwm: pwm@31000 {
+                       compatible = "brcm,iproc-pwm";
+                       reg = <0x31000 0x28>;
+                       clocks = <&osc>;
+                       #pwm-cells = <3>;
+                       status = "disabled";
+               };
+
+               rng: rng@33000 {
+                       compatible = "brcm,bcm-nsp-rng";
+                       reg = <0x33000 0x14>;
+               };
+
+               qspi: qspi@27200 {
+                       compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi";
+                       reg = <0x027200 0x184>,
+                             <0x027000 0x124>,
+                             <0x11c408 0x004>,
+                             <0x0273a0 0x01c>;
+                       reg-names = "mspi", "bspi", "intr_regs",
+                                   "intr_status_reg";
+                       interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "spi_lr_fullness_reached",
+                                         "spi_lr_session_aborted",
+                                         "spi_lr_impatient",
+                                         "spi_lr_session_done",
+                                         "spi_lr_overhead",
+                                         "mspi_done",
+                                         "mspi_halted";
+                       num-cs = <2>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /* partitions defined in board DTS */
+               };
+
+               ccbtimer0: timer@34000 {
+                       compatible = "arm,sp804";
+                       reg = <0x34000 0x1000>;
+                       interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               ccbtimer1: timer@35000 {
+                       compatible = "arm,sp804";
+                       reg = <0x35000 0x1000>;
+                       interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               i2c0: i2c@38000 {
+                       compatible = "brcm,iproc-i2c";
+                       reg = <0x38000 0x50>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <GIC_SPI 95 IRQ_TYPE_NONE>;
+                       clock-frequency = <100000>;
+               };
+
+               watchdog@39000 {
+                       compatible = "arm,sp805", "arm,primecell";
+                       reg = <0x39000 0x1000>;
+                       interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               i2c1: i2c@3b000 {
+                       compatible = "brcm,iproc-i2c";
+                       reg = <0x3b000 0x50>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>;
+                       clock-frequency = <100000>;
+               };
+       };
+
+       pflash: nor@20000000 {
+               compatible = "cfi-flash", "jedec-flash";
+               reg = <0x20000000 0x04000000>;
+               status = "disabled";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               /* partitions defined in board DTS */
+       };
+
+       pcie0: pcie@18012000 {
+               compatible = "brcm,iproc-pcie";
+               reg = <0x18012000 0x1000>;
+
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0 0 0 0>;
+               interrupt-map = <0 0 0 0 &gic GIC_SPI 186 IRQ_TYPE_NONE>;
+
+               linux,pci-domain = <0>;
+
+               bus-range = <0x00 0xff>;
+
+               #address-cells = <3>;
+               #size-cells = <2>;
+               device_type = "pci";
+
+               /* Note: The HW does not support I/O resources.  So,
+                * only the memory resource range is being specified.
+                */
+               ranges = <0x82000000 0 0x08000000 0x08000000 0 0x8000000>;
+
+               status = "disabled";
+
+               msi-parent = <&msi0>;
+               msi0: msi-controller {
+                       compatible = "brcm,iproc-msi";
+                       msi-controller;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SPI 182 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 183 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 184 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 185 IRQ_TYPE_NONE>;
+                       brcm,pcie-msi-inten;
+               };
+       };
+
+       pcie1: pcie@18013000 {
+               compatible = "brcm,iproc-pcie";
+               reg = <0x18013000 0x1000>;
+
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0 0 0 0>;
+               interrupt-map = <0 0 0 0 &gic GIC_SPI 192 IRQ_TYPE_NONE>;
+
+               linux,pci-domain = <1>;
+
+               bus-range = <0x00 0xff>;
+
+               #address-cells = <3>;
+               #size-cells = <2>;
+               device_type = "pci";
+
+               /* Note: The HW does not support I/O resources.  So,
+                * only the memory resource range is being specified.
+                */
+               ranges = <0x82000000 0 0x40000000 0x40000000 0 0x8000000>;
+
+               status = "disabled";
+
+               msi-parent = <&msi1>;
+               msi1: msi-controller {
+                       compatible = "brcm,iproc-msi";
+                       msi-controller;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 189 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 190 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 191 IRQ_TYPE_NONE>;
+                       brcm,pcie-msi-inten;
+               };
+       };
+};
index dff66974feeda575c06f38c38ddff3e4ecdf41ce..528b9e3bc1da146fd188b4e2c93ec75b7abb4fdd 100644 (file)
@@ -75,7 +75,7 @@
                #address-cells = <1>;
                #size-cells = <1>;
 
-               a9pll: arm_clk@00000 {
+               a9pll: arm_clk@0 {
                        #clock-cells = <0>;
                        compatible = "brcm,nsp-armpll";
                        clocks = <&osc>;
                #address-cells = <1>;
                #size-cells = <1>;
 
-               gpioa: gpio@0020 {
+               gpioa: gpio@20 {
                        compatible = "brcm,nsp-gpio-a";
                        reg = <0x0020 0x70>,
                              <0x3f1c4 0x1c>;
                        gpio-ranges = <&pinctrl 0 0 32>;
                };
 
-               uart0: serial@0300 {
+               uart0: serial@300 {
                        compatible = "ns16550a";
                        reg = <0x0300 0x100>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart1: serial@0400 {
+               uart1: serial@400 {
                        compatible = "ns16550a";
                        reg = <0x0400 0x100>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
index eb1a28da57e3122c0f650af5a3e26f34f12e0ab4..a8844d033b3fed7d20855d20ba4f403f81d02fc9 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
        status = "okay";
+
+       bluetooth {
+               compatible = "brcm,bcm43438-bt";
+               max-speed = <2000000>;
+       };
 };
 
 /* uart1 is mapped to the pin header */
index c544ab302012078633e2940aab2e1e922c910166..ba1c19b1b3eb60962d951a3449d3e6560bac092a 100644 (file)
@@ -57,7 +57,8 @@
                usb {
                        label = "bcm53xx:green:usb";
                        gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
-                       linux,default-trigger = "none";
+                       trigger-sources = <&ohci_port2>, <&ehci_port2>;
+                       linux,default-trigger = "usbport";
                };
 
                status {
diff --git a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
new file mode 100644 (file)
index 0000000..ecd22a2
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2017 Luxul Inc.
+ *
+ * Licensed under the ISC license.
+ */
+
+/dts-v1/;
+
+#include "bcm4708.dtsi"
+#include "bcm5301x-nand-cs0-bch8.dtsi"
+
+/ {
+       compatible = "luxul,abr-4500-v1", "brcm,bcm47094", "brcm,bcm4708";
+       model = "Luxul ABR-4500 V1";
+
+       chosen {
+               bootargs = "earlycon";
+       };
+
+       memory {
+               reg = <0x00000000 0x08000000
+                      0x88000000 0x18000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+
+               usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+                               <&xhci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               restart {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&usb3 {
+       vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+};
+
+&spi_nor {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
new file mode 100644 (file)
index 0000000..15ffb1a
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2017 Luxul Inc.
+ *
+ * Licensed under the ISC license.
+ */
+
+/dts-v1/;
+
+#include "bcm4708.dtsi"
+#include "bcm5301x-nand-cs0-bch8.dtsi"
+
+/ {
+       compatible = "luxul,xbr-4500-v1", "brcm,bcm47094", "brcm,bcm4708";
+       model = "Luxul XBR-4500 V1";
+
+       chosen {
+               bootargs = "earlycon";
+       };
+
+       memory {
+               reg = <0x00000000 0x08000000
+                      0x88000000 0x18000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+               };
+
+               usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+                               <&xhci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               restart {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&usb3 {
+       vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+};
+
+&spi_nor {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
new file mode 100644 (file)
index 0000000..74c83b0
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2017 Luxul Inc.
+ *
+ * Licensed under the ISC license.
+ */
+
+/dts-v1/;
+
+#include "bcm53573.dtsi"
+
+/ {
+       compatible = "luxul,xap-1440-v1", "brcm,bcm47189", "brcm,bcm53573";
+       model = "Luxul XAP-1440 V1";
+
+       chosen {
+               bootargs = "earlycon";
+       };
+
+       memory {
+               reg = <0x00000000 0x08000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wlan {
+                       label = "bcm53xx:blue:wlan";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-off";
+               };
+
+               system {
+                       label = "bcm53xx:green:system";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               restart {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
new file mode 100644 (file)
index 0000000..214df18
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2017 Luxul Inc.
+ *
+ * Licensed under the ISC license.
+ */
+
+/dts-v1/;
+
+#include "bcm53573.dtsi"
+
+/ {
+       compatible = "luxul,xap-810-v1", "brcm,bcm47189", "brcm,bcm53573";
+       model = "Luxul XAP-810 V1";
+
+       chosen {
+               bootargs = "earlycon";
+       };
+
+       memory {
+               reg = <0x00000000 0x08000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               system {
+                       label = "bcm53xx:green:system";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+               };
+       };
+
+       pcie0_leds {
+               compatible = "gpio-leds";
+
+               2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               restart {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&pcie0 {
+       ranges = <0x00000000 0 0 0 0 0x00100000>;
+       #address-cells = <3>;
+       #size-cells = <2>;
+
+       bridge@0,0,0 {
+               reg = <0x0000 0 0 0 0>;
+               ranges = <0x00000000 0 0 0 0 0 0 0x00100000>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+
+               wifi@0,1,0 {
+                       reg = <0x0000 0 0 0 0>;
+                       ranges = <0x00000000 0 0 0 0x00100000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       pcie0_chipcommon: chipcommon@0 {
+                               reg = <0 0x1000>;
+
+                               gpio-controller;
+                               #gpio-cells = <2>;
+                       };
+               };
+       };
+};
index 045b9bb857f9a030491bc3bdbf82ae67bb841b73..9a076c409f4ed35fcf5fbe79807ede6e7e8466d5 100644 (file)
@@ -24,7 +24,7 @@
                #address-cells = <1>;
                #size-cells = <1>;
 
-               uart0: serial@0300 {
+               uart0: serial@300 {
                        compatible = "ns16550";
                        reg = <0x0300 0x100>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
@@ -32,7 +32,7 @@
                        status = "disabled";
                };
 
-               uart1: serial@0400 {
+               uart1: serial@400 {
                        compatible = "ns16550";
                        reg = <0x0400 0x100>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
@@ -47,7 +47,7 @@
                #address-cells = <1>;
                #size-cells = <1>;
 
-               a9pll: arm_clk@00000 {
+               a9pll: arm_clk@0 {
                        #clock-cells = <0>;
                        compatible = "brcm,nsp-armpll";
                        clocks = <&osc>;
diff --git a/arch/arm/boot/dts/bcm53340-ubnt-unifi-switch8.dts b/arch/arm/boot/dts/bcm53340-ubnt-unifi-switch8.dts
new file mode 100644 (file)
index 0000000..431cda5
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * DTS for Unifi Switch 8 port
+ *
+ * Copyright (C) 2017 Florian Fainelli <f.fainelli@gmail.com>
+ *
+ * Licensed under the GNU/GPL. See COPYING for details.
+ */
+
+/dts-v1/;
+
+#include "bcm-hr2.dtsi"
+
+/ {
+       compatible = "ubnt,unifi-switch8", "brcm,bcm53342", "brcm,hr2";
+       model = "Ubiquiti UniFi Switch 8 (BCM53342)";
+
+       /* Hurricane 2 designs use the second UART */
+       chosen {
+               bootargs = "console=ttyS1,115200 earlyprintk";
+       };
+
+       memory@0 {
+               reg = <0x00000000 0x08000000>,
+                     <0x68000000 0x08000000>;
+       };
+};
+
+&uart1 {
+       status = "okay";
+};
+
+&qspi {
+       status = "okay";
+       bspi-sel = <0>;
+
+       flash: m25p80@0 {
+               compatible = "m25p80";
+               reg = <0>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               spi-max-frequency = <12500000>;
+               spi-cpol;
+               spi-cpha;
+
+               partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0xc0000>;
+               };
+
+               partition@c0000 {
+                       label = "u-boot-env";
+                       reg = <0xc0000 0x10000>;
+               };
+
+               partition@d0000 {
+                       label = "shmoo";
+                       reg = <0xd0000 0x10000>;
+               };
+
+               partition@e0000 {
+                       label = "kernel0";
+                       reg = <0xe0000 0xf00000>;
+               };
+
+               partition@fe0000 {
+                       label = "kernel1";
+                       reg = <0xfe0000 0xf10000>;
+               };
+
+               partition@1ef0000 {
+                       label = "cfg";
+                       reg = <0x1ef0000 0x100000>;
+               };
+
+               partition@1ff0000 {
+                       label = "EEPROM";
+                       reg = <0x1ff0000 0x10000>;
+               };
+       };
+};
+
+&pcie0 {
+       /* Attaches to the internal switch */
+       status = "okay";
+};
index c698a565b8ae9e2134c36fc796e983159b686a67..16007d72c346ab76d48c4c73d356a353af0e4133 100644 (file)
                        gpio-controller;
                        #gpio-cells = <2>;
 
-                       uart0: serial@0300 {
+                       uart0: serial@300 {
                                compatible = "ns16550a";
                                reg = <0x0300 0x100>;
                                interrupt-parent = <&gic>;
index 425c48971abecf267f146c8671a4843e204fcd07..d575823c57507b003ec938a848a28562d717a4be 100644 (file)
                        ranges = <0 0xe80000 0x10000>;
                        interrupt-parent = <&aic>;
 
-                       gpio0: gpio@0400 {
+                       gpio0: gpio@400 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0400 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio1: gpio@0800 {
+                       gpio1: gpio@800 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0800 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio2: gpio@0c00 {
+                       gpio2: gpio@c00 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0c00 0x400>;
                                #address-cells = <1>;
index 4fe1574d08c3ab9b36c938074f772215e9c99416..501c59d97eae4b8360563c38d82abf4120b7a9dd 100644 (file)
                        ranges = <0 0xe80000 0x10000>;
                        interrupt-parent = <&aic>;
 
-                       gpio0: gpio@0400 {
+                       gpio0: gpio@400 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0400 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio1: gpio@0800 {
+                       gpio1: gpio@800 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0800 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio2: gpio@0c00 {
+                       gpio2: gpio@c00 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0c00 0x400>;
                                #address-cells = <1>;
index e548229697fc5cecf29da93dc322184e2e67e4c0..bf3a6c9a1d347b6244a7910f0b2159c61348c308 100644 (file)
                        ranges = <0 0xe80000 0x10000>;
                        interrupt-parent = <&aic>;
 
-                       gpio0: gpio@0400 {
+                       gpio0: gpio@400 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0400 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio1: gpio@0800 {
+                       gpio1: gpio@800 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0800 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio2: gpio@0c00 {
+                       gpio2: gpio@c00 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0c00 0x400>;
                                #address-cells = <1>;
index a0f0916156e66d83949716c4b571184695fbef3b..eed89e659143a878c9a62159c52c834340c3a61b 100644 (file)
                reg = <0xc0000000 0x08000000>;
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               dsp_memory_region: dsp-memory@c3000000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0xc3000000 0x1000000>;
+                       reusable;
+                       status = "okay";
+               };
+       };
+
        sound {
                compatible = "simple-audio-card";
                simple-audio-card,name = "DA850/OMAP-L138 LCDK";
        pinctrl-0 = <&vpif_capture_pins>;
        status = "okay";
 };
+
+&dsp {
+       memory-region = <&dsp_memory_region>;
+       status = "okay";
+};
index af68ef7b0caadee75e8d8fc9bffee1153ed355b9..c66cf78953639db3ed025e4997beb6ef77719064 100644 (file)
                        reg = <0xfffee000 0x2000>;
                };
        };
+       dsp: dsp@11800000 {
+               compatible = "ti,da850-dsp";
+               reg = <0x11800000 0x40000>,
+                     <0x11e00000 0x8000>,
+                     <0x11f00000 0x8000>,
+                     <0x01c14044 0x4>,
+                     <0x01c14174 0x8>;
+               reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
+               interrupt-parent = <&intc>;
+               interrupts = <28>;
+               status = "disabled";
+       };
        soc@1c00000 {
                compatible = "simple-bus";
                model = "da850";
index f4a07bb7c3a29ec69b63edba91b2d9f4c948e21f..4a0a5115b298436dc76180bc74f1d1372d3163a5 100644 (file)
                                        };
                                };
 
-                               thermal: thermal-diode@001c {
+                               thermal: thermal-diode@1c {
                                        compatible = "marvell,dove-thermal";
                                        reg = <0x001c 0x0c>, <0x005c 0x08>;
                                };
 
-                               gate_clk: clock-gating-ctrl@0038 {
+                               gate_clk: clock-gating-ctrl@38 {
                                        compatible = "marvell,dove-gating-clock";
                                        reg = <0x0038 0x4>;
                                        clocks = <&core_clk 0>;
                                        #clock-cells = <1>;
                                };
 
-                               divider_clk: core-clock@0064 {
+                               divider_clk: core-clock@64 {
                                        compatible = "marvell,dove-divider-clock";
                                        reg = <0x0064 0x8>;
                                        #clock-cells = <1>;
                                };
 
-                               pinctrl: pin-ctrl@0200 {
+                               pinctrl: pin-ctrl@200 {
                                        compatible = "marvell,dove-pinctrl";
                                        reg = <0x0200 0x14>,
                                              <0x0440 0x04>;
                                        };
                                };
 
-                               core_clk: core-clocks@0214 {
+                               core_clk: core-clocks@214 {
                                        compatible = "marvell,dove-core-clock";
                                        reg = <0x0214 0x4>;
                                        #clock-cells = <1>;
                                };
 
-                               gpio0: gpio-ctrl@0400 {
+                               gpio0: gpio-ctrl@400 {
                                        compatible = "marvell,orion-gpio";
                                        #gpio-cells = <2>;
                                        gpio-controller;
                                        interrupts = <12>, <13>, <14>, <60>;
                                };
 
-                               gpio1: gpio-ctrl@0420 {
+                               gpio1: gpio-ctrl@420 {
                                        compatible = "marvell,orion-gpio";
                                        #gpio-cells = <2>;
                                        gpio-controller;
index 343e95f9a00144203b30e4e0beceee5e8bbbbbc7..e088bb93636a6b648f04ffc3836d63ada9e4c97c 100644 (file)
                status = "okay";
        };
 };
+
+&pcie1_rc {
+       status = "okay";
+};
index aa426dabb6c349d9f1b5a4a0173ae30ad3b7cc58..ef9c90daa74b82dd0de2abb885a09fc8396e65fa 100644 (file)
        pinctrl-1 = <&dcan1_pins_sleep>;
        pinctrl-2 = <&dcan1_pins_default>;
 };
-
-&pcie1_rc {
-       status = "okay";
-};
index 92b5cb40a9d51031f789ed157a635c0b74d78679..ac9216293b7c74283351f67c05f76bb59dbd52e0 100644 (file)
                                                pbias_mmc_reg: pbias_mmc_omap5 {
                                                        regulator-name = "pbias_mmc_omap5";
                                                        regulator-min-microvolt = <1800000>;
-                                                       regulator-max-microvolt = <3000000>;
+                                                       regulator-max-microvolt = <3300000>;
                                                };
                                        };
 
index 9a134ed271eb7e8d796925ae20f61b912927481d..bc9d5b69745298bab449c3a829edd25332dcd607 100644 (file)
@@ -75,7 +75,7 @@
 };
 
 &bus {
-       flash: nor@00000000 {
+       flash: nor@0 {
                compatible = "cfi-flash";
                reg = <0 0x00000000 0x02000000>;
                bank-width = <2>;
index 639c2e605f3c99a4c5478b85c4ac69c236f8bfba..152e0291d0da0a53ba3fe362ed352ed86ab195e6 100644 (file)
@@ -29,7 +29,7 @@
                reg = <0x40000000 0x1ff00000>;
        };
 
-       firmware@0205f000 {
+       firmware@205f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0205f000 0x1000>;
        };
index bbdfcbc6e7d29a5cdbb854ba030f1d77cae048ad..029eb18590cf7a700e96bbad68f405aa0616987d 100644 (file)
@@ -32,7 +32,7 @@
                reg =  <0x40000000 0x1ff00000>;
        };
 
-       firmware@0205F000 {
+       firmware@205f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0205F000 0x1000>;
        };
index 0b45467d77a8f53d5b21ce910cadfd2d1226565e..3743df4de390f3f8c2de1185b858d3ebf18bb977 100644 (file)
@@ -32,7 +32,7 @@
                reg =  <0x40000000 0x1ff00000>;
        };
 
-       firmware@0205F000 {
+       firmware@205f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0205F000 0x1000>;
        };
                vci-supply = <&ldo20_reg>;
                reset-gpios = <&gpe0 1 GPIO_ACTIVE_LOW>;
                te-gpios = <&gpx0 6 GPIO_ACTIVE_HIGH>;
-               power-on-delay= <30>;
-               power-off-delay= <120>;
-               reset-delay = <5>;
-               init-delay = <100>;
-               flip-horizontal;
-               flip-vertical;
-               panel-width-mm = <29>;
-               panel-height-mm = <29>;
-
-               display-timings {
-                       timing-0 {
-                               clock-frequency = <4600000>;
-                               hactive = <320>;
-                               vactive = <320>;
-                               hfront-porch = <1>;
-                               hback-porch = <1>;
-                               hsync-len = <1>;
-                               vfront-porch = <150>;
-                               vback-porch = <1>;
-                               vsync-len = <2>;
-                       };
-               };
        };
 };
 
index 590ee442d0ae1bde4ebe2e067f968cf54c2348d5..2bd3872221a1f627bce8f3b7a1bcba4a9b9962f1 100644 (file)
                        };
                };
 
-               sysram@02020000 {
+               sysram@2020000 {
                        compatible = "mmio-sram";
                        reg = <0x02020000 0x40000>;
                        #address-cells = <1>;
index 5739389f5bb877ef7b29455a1bcd47328d7223ed..4768b086ed677caae2fae52e960774894e016811 100644 (file)
@@ -55,7 +55,7 @@
                serial3 = &serial_3;
        };
 
-       clock_audss: clock-controller@03810000 {
+       clock_audss: clock-controller@3810000 {
                compatible = "samsung,exynos4210-audss-clock";
                reg = <0x03810000 0x0C>;
                #clock-cells = <1>;
@@ -64,7 +64,7 @@
                clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in";
        };
 
-       i2s0: i2s@03830000 {
+       i2s0: i2s@3830000 {
                compatible = "samsung,s5pv210-i2s";
                reg = <0x03830000 0x100>;
                clocks = <&clock_audss EXYNOS_I2S_BUS>,
index f280954b260ad440783b3d24f453365e1628458f..82c32d4d83d86d5d0f612ea31b7734111c7e4818 100644 (file)
                };
        };
 
-       pinctrl@03860000 {
+       pinctrl@3860000 {
                gpz: gpz {
                        gpio-controller;
                        #gpio-cells = <2>;
index 0c89ea99de545dd63ba132295758101089eab15b..acd2b2286ccb7d33aaf9d98656cc976162e8acef 100644 (file)
@@ -31,7 +31,7 @@
                stdout-path = &serial_2;
        };
 
-       sysram@02020000 {
+       sysram@2020000 {
                smp-sysram@0 {
                        status = "disabled";
                };
index 768fb075b1fd1b520b17f908e7797267200a1bde..03dd61f6480955e657ea3b53e043c2fa4735770b 100644 (file)
@@ -64,7 +64,7 @@
                };
        };
 
-       sysram: sysram@02020000 {
+       sysram: sysram@2020000 {
                compatible = "mmio-sram";
                reg = <0x02020000 0x20000>;
                #address-cells = <1>;
                };
        };
 
-       pinctrl_2: pinctrl@03860000 {
+       pinctrl_2: pinctrl@3860000 {
                compatible = "samsung,exynos4210-pinctrl";
                reg = <0x03860000 0x1000>;
        };
index 14ce2c69bc0b4972d4cb4817fcfaaca0b8b953d4..bda49b232f7bb56d367bf8f150e594c4c0d0efc3 100644 (file)
@@ -26,7 +26,7 @@
                reg = <0x40000000 0x40000000>;
        };
 
-       firmware@0203F000 {
+       firmware@203f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0203F000 0x1000>;
        };
index 102acd78be15a9a972a2334cb520021424045ba0..a21be71000c1b1996271901b1497be2e0307b69a 100644 (file)
@@ -20,7 +20,7 @@
                stdout-path = &serial_1;
        };
 
-       firmware@0204F000 {
+       firmware@204f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0204F000 0x1000>;
        };
@@ -31,8 +31,6 @@
                pinctrl-0 = <&gpio_power_key>;
 
                power_key {
-                       interrupt-parent = <&gpx1>;
-                       interrupts = <3 IRQ_TYPE_NONE>;
                        gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_POWER>;
                        label = "power key";
        samsung,i2c-max-bus-freq = <400000>;
        status = "okay";
 
-       usb3503: usb3503@08 {
+       usb3503: usb3503@8 {
                compatible = "smsc,usb3503";
                reg = <0x08>;
 
                initial-mode = <1>;
        };
 
-       max77686: pmic@09 {
+       max77686: pmic@9 {
                compatible = "maxim,max77686";
                interrupt-parent = <&gpx3>;
                interrupts = <2 IRQ_TYPE_NONE>;
index 97882267ef093ded9a513e728ee097fdcd0efcbf..acf48a018e5ec20227907c618ebb1db892dadfd4 100644 (file)
@@ -43,8 +43,6 @@
                pinctrl-0 = <&gpio_power_key &gpio_home_key>;
 
                home_key {
-                       interrupt-parent = <&gpx2>;
-                       interrupts = <2 IRQ_TYPE_NONE>;
                        gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
                        linux,code = <KEY_HOME>;
                        label = "home key";
index 8a89eb893d644d46ad79d7f3e7161edb2d0eccf0..b0b5ec7903a53e91ac6f235d3167b0bbb6846b90 100644 (file)
@@ -32,7 +32,7 @@
                stdout-path = &serial_2;
        };
 
-       firmware@0203F000 {
+       firmware@203f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0203F000 0x1000>;
        };
index 1d27c28564e4dbce4f2eb27b79137765530bd7b3..4eebd4721a5f505e1f563467cef78115d93e8844 100644 (file)
                };
        };
 
-       pinctrl_2: pinctrl@03860000 {
+       pinctrl_2: pinctrl@3860000 {
                gpz: gpz {
                        gpio-controller;
                        #gpio-cells = <2>;
index bceb919ac6379ad8d5034913b32ecdfd436a7030..220cdf109405463d5f643efa4310a865e49fa25c 100644 (file)
@@ -18,6 +18,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/clock/maxim,max77686.h>
+#include <dt-bindings/pinctrl/samsung.h>
 
 / {
        model = "Samsung Trats 2 based on Exynos4412";
@@ -40,7 +41,7 @@
                stdout-path = &serial_2;
        };
 
-       firmware@0204F000 {
+       firmware@204f000 {
                compatible = "samsung,secure-firmware";
                reg = <0x0204F000 0x1000>;
        };
                        gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
+
+               vsil12: voltage-regulator-6 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VSIL_1.2V";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&buck7_reg>;
+               };
+
+               vcc33mhl: voltage-regulator-7 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VCC_3.3_MHL";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
+
+               vcc18mhl: voltage-regulator-8 {
+                       compatible = "regulator-fixed";
+                       regulator-name = "VCC_1.8_MHL";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
        };
 
        gpio-keys {
                #size-cells = <0>;
                status = "okay";
 
-               ak8975@0c {
+               ak8975@c {
                        compatible = "asahi-kasei,ak8975";
                        reg = <0x0c>;
                        gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
                };
        };
 
+       i2c-mhl {
+               compatible = "i2c-gpio";
+               gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
+               i2c-gpio,delay-us = <100>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               pinctrl-0 = <&i2c_mhl_bus>;
+               pinctrl-names = "default";
+               status = "okay";
+
+               sii9234: hdmi-bridge@39 {
+                       compatible = "sil,sii9234";
+                       avcc33-supply = <&vcc33mhl>;
+                       iovcc18-supply = <&vcc18mhl>;
+                       avcc12-supply = <&vsil12>;
+                       cvcc12-supply = <&vsil12>;
+                       reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
+                       interrupt-parent = <&gpf3>;
+                       interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+                       reg = <0x39>;
+
+                       port {
+                               mhl_to_hdmi: endpoint {
+                                       remote-endpoint = <&hdmi_to_mhl>;
+                               };
+                       };
+               };
+       };
+
        camera: camera {
                pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
                pinctrl-names = "default";
        status = "okay";
 };
 
+&hdmi {
+       hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_hpd>;
+       vdd-supply = <&ldo3_reg>;
+       vdd_osc-supply = <&ldo4_reg>;
+       vdd_pll-supply = <&ldo3_reg>;
+       ddc = <&i2c_5>;
+       status = "okay";
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@1 {
+                       reg = <1>;
+                       hdmi_to_mhl: endpoint {
+                               remote-endpoint = <&mhl_to_hdmi>;
+                       };
+               };
+       };
+};
+
 &hsotg {
        vusb_d-supply = <&ldo15_reg>;
        vusb_a-supply = <&ldo12_reg>;
        };
 };
 
+&i2c_5 {
+       status = "okay";
+};
+
 &i2c_7 {
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-slave-addr = <0x10>;
        pinctrl-names = "default";
        status = "okay";
 
-       max77686: max77686_pmic@09 {
+       max77686: max77686_pmic@9 {
                compatible = "maxim,max77686";
                interrupt-parent = <&gpx0>;
                interrupts = <7 IRQ_TYPE_NONE>;
        };
 };
 
+&i2c_8 {
+       status = "okay";
+};
+
 &i2s0 {
        pinctrl-0 = <&i2s0_bus>;
        pinctrl-names = "default";
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 &mshc_0 {
        broken-cd;
        non-removable;
        pinctrl-names = "default";
        pinctrl-0 = <&sleep0>;
 
+       mhl_int: mhl-int {
+               samsung,pins = "gpf3-5";
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+
+       i2c_mhl_bus: i2c-mhl-bus {
+               samsung,pins = "gpf0-4", "gpf0-6";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+               samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
+       };
+
        sleep0: sleep-states {
                PIN_SLP(gpa0-0, INPUT, NONE);
                PIN_SLP(gpa0-1, OUT0, NONE);
        pinctrl-names = "default";
        pinctrl-0 = <&sleep1>;
 
+       hdmi_hpd: hdmi-hpd {
+               samsung,pins = "gpx3-7";
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
        sleep1: sleep-states {
                PIN_SLP(gpk0-0, PREV, NONE);
                PIN_SLP(gpk0-1, PREV, NONE);
index 7ff03a7e8fb93e9cfcdeb89c1bd39e85e12f5bd8..b255ac55b1c1ea11c375f64723eb3dc1a1a8ccd4 100644 (file)
                };
        };
 
-       sysram@02020000 {
+       sysram@2020000 {
                compatible = "mmio-sram";
                reg = <0x02020000 0x40000>;
                #address-cells = <1>;
index 18a7f396ac5f727b4daa0c15b2723b3ca89035d2..0efd678b8251933c7555871cc810596d0112b3cc 100644 (file)
 };
 
 &hdmi {
+       status = "okay";
+       ddc = <&i2c_2>;
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_LOW>;
        vdd_osc-supply = <&ldo10_reg>;
        vdd_pll-supply = <&ldo8_reg>;
 
 &i2c_2 {
        status = "okay";
-
+       /* used by HDMI DDC */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
-       samsung,i2c-slave-addr = <0x50>;
-
-       hdmiddc@50 {
-               compatible = "samsung,exynos4210-hdmiddc";
-               reg = <0x50>;
-       };
 };
 
 &i2c_3 {
 
 &i2c_8 {
        status = "okay";
-
+       /* used by HDMI PHY */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
-       samsung,i2c-slave-addr = <0x38>;
-
-       hdmiphy@38 {
-               compatible = "samsung,exynos4212-hdmiphy";
-               reg = <0x38>;
-       };
 };
 
 &i2c_9 {
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 &mmc_0 {
        status = "okay";
        broken-cd;
index 062cba4c2c310b28846634d354b10fe4d07e786c..1e3f9627766cd2a26ace998f76d9cb13fcb669fb 100644 (file)
 };
 
 &hdmi {
+       status = "okay";
+       ddc = <&i2c_2>;
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
 };
 
                reg = <0x50>;
        };
 
-       max77686@09 {
+       max77686@9 {
                compatible = "maxim,max77686";
                reg = <0x09>;
                interrupt-parent = <&gpx3>;
 
 &i2c_2 {
        status = "okay";
+       /* used by HDMI DDC */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
-
-       hdmiddc@50 {
-               compatible = "samsung,exynos4210-hdmiddc";
-               reg = <0x50>;
-       };
 };
 
 &i2c_8 {
        status = "okay";
+       /* used by HDMI PHY */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
-
-       hdmiphy@38 {
-               compatible = "samsung,exynos4212-hdmiphy";
-               reg = <0x38>;
-       };
 };
 
 &i2c_9 {
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 &mmc_0 {
        status = "okay";
        broken-cd;
index 8788880e459d3e1dde6bfddbe80ae3c631693d89..2e7175d2b1b86736762325687e3dde3b590ca1b5 100644 (file)
 };
 
 &hdmi {
+       status = "okay";
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&hdmi_hpd_irq>;
-       phy = <&hdmiphy>;
        ddc = <&i2c_2>;
        hdmi-en-supply = <&tps65090_fet7>;
        vdd-supply = <&ldo8_reg>;
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <378000>;
 
-       max77686: max77686@09 {
+       max77686: max77686@9 {
                compatible = "maxim,max77686";
                interrupt-parent = <&gpx3>;
                interrupts = <2 IRQ_TYPE_NONE>;
 
 &i2c_2 {
        status = "okay";
+       /* used by HDMI DDC */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
-
-       hdmiddc@50 {
-               compatible = "samsung,exynos4210-hdmiddc";
-               reg = <0x50>;
-       };
 };
 
 &i2c_3 {
 
 &i2c_8 {
        status = "okay";
+       /* used by HDMI PHY */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <378000>;
-
-       hdmiphy: hdmiphy@38 {
-               compatible = "samsung,exynos4212-hdmiphy";
-               reg = <0x38>;
-       };
 };
 
 &i2s0 {
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 /* eMMC flash */
 &mmc_0 {
        status = "okay";
index d53bfcbeb39c42f3789514953f152413418d0d49..47dbc50546c104d8fc9e8e8c15201409b50a0913 100644 (file)
 };
 
 &hdmi {
+       status = "okay";
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&hdmi_hpd_irq>;
-       phy = <&hdmiphy>;
        ddc = <&i2c_2>;
        hdmi-en-supply = <&ldo8_reg>;
        vdd-supply = <&ldo8_reg>;
 
 &i2c_2 {
        status = "okay";
+       /* used by HDMI DDC */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
-
-       hdmiddc@50 {
-               compatible = "samsung,exynos4210-hdmiddc";
-               reg = <0x50>;
-       };
 };
 
 &i2c_3 {
 
 &i2c_8 {
        status = "okay";
+       /* used by HDMI PHY */
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <378000>;
-
-       hdmiphy: hdmiphy@38 {
-               compatible = "samsung,exynos4212-hdmiphy";
-               reg = <0x38>;
-       };
 };
 
 &i2s0 {
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 &mmc_0 {
        status = "okay";
        broken-cd;
index 8dbeb873e99ca8bac4badd0532c75d14699337b6..5286084e103283dd7f5d17fe74973420bee8f010 100644 (file)
@@ -93,7 +93,7 @@
        };
 
        soc: soc {
-               sysram@02020000 {
+               sysram@2020000 {
                        compatible = "mmio-sram";
                        reg = <0x02020000 0x30000>;
                        #address-cells = <1>;
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pinctrl_3: pinctrl@03860000 {
+               pinctrl_3: pinctrl@3860000 {
                        compatible = "samsung,exynos5250-pinctrl";
                        reg = <0x03860000 0x1000>;
                        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clock CLK_I2C_HDMI>;
                        clock-names = "i2c";
                        status = "disabled";
+
+                       hdmiphy: hdmiphy@38 {
+                               compatible = "samsung,exynos4212-hdmiphy";
+                               reg = <0x38>;
+                       };
                };
 
                i2c_9: i2c@121D0000 {
                        status = "disabled";
                };
 
-               i2s0: i2s@03830000 {
+               i2s0: i2s@3830000 {
                        compatible = "samsung,s5pv210-i2s";
                        status = "disabled";
                        reg = <0x03830000 0x100>;
                };
 
                gsc_0:  gsc@13e00000 {
-                       compatible = "samsung,exynos5-gsc";
+                       compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
                        reg = <0x13e00000 0x1000>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_gsc>;
                };
 
                gsc_1:  gsc@13e10000 {
-                       compatible = "samsung,exynos5-gsc";
+                       compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
                        reg = <0x13e10000 0x1000>;
                        interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_gsc>;
                };
 
                gsc_2:  gsc@13e20000 {
-                       compatible = "samsung,exynos5-gsc";
+                       compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
                        reg = <0x13e20000 0x1000>;
                        interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_gsc>;
                };
 
                gsc_3:  gsc@13e30000 {
-                       compatible = "samsung,exynos5-gsc";
+                       compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
                        reg = <0x13e30000 0x1000>;
                        interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_gsc>;
                        clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
                                        "sclk_hdmiphy", "mout_hdmi";
                        samsung,syscon-phandle = <&pmu_system_controller>;
+                       phy = <&hdmiphy>;
+                       status = "disabled";
                };
 
                hdmicec: cec@101B0000 {
                        status = "disabled";
                };
 
-               mixer@14450000 {
+               mixer: mixer@14450000 {
                        compatible = "samsung,exynos5250-mixer";
                        reg = <0x14450000 0x10000>;
                        power-domains = <&pd_disp1>;
                                 <&clock CLK_SCLK_HDMI>;
                        clock-names = "mixer", "hdmi", "sclk_hdmi";
                        iommus = <&sysmmu_tv>;
+                       status = "disabled";
                };
 
                dp_phy: video-phy {
index c4de1353e5dfe6616a06f5a596a9a30929dd0022..a45eaae33f8f9ca756840eaadfbdf15503f44a9b 100644 (file)
@@ -54,7 +54,7 @@
                #clock-cells = <0>;
        };
 
-       firmware@02073000 {
+       firmware@2073000 {
                compatible = "samsung,secure-firmware";
                reg = <0x02073000 0x1000>;
        };
        samsung,i2c-max-bus-freq = <400000>;
        status = "okay";
 
-       usb3503: usb-hub@08 {
+       usb3503: usb-hub@8 {
                compatible = "smsc,usb3503";
                reg = <0x08>;
 
                refclk-frequency = <24000000>;
        };
 
-       max77802: pmic@09 {
+       max77802: pmic@9 {
                compatible = "maxim,max77802";
                reg = <0x9>;
                interrupt-parent = <&gpx0>;
index 9cb7726ef8d0dbc1f4bb6964acc64bc34abd566e..25f21e9e7d587b3c8fce954ff39b9aa44e9d5ef0 100644 (file)
@@ -32,7 +32,7 @@
                #clock-cells = <0>;
        };
 
-       firmware@02037000 {
+       firmware@2037000 {
                compatible = "samsung,secure-firmware";
                reg = <0x02037000 0x1000>;
        };
index 7eab4bc07cec6cde6b645823040ea708d1936dad..06713ec86f0dad73586e553eb900d284393110ca 100644 (file)
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pinctrl_3: pinctrl@03860000 {
+               pinctrl_3: pinctrl@3860000 {
                        compatible = "samsung,exynos5410-pinctrl";
                        reg = <0x03860000 0x1000>;
                        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               audi2s0: i2s@03830000 {
+               audi2s0: i2s@3830000 {
                        compatible = "samsung,exynos5420-i2s";
                        reg = <0x03830000 0x100>;
                        dmas = <&pdma0 10
index ee1bb9b8b36681aa95f67b0bc02a23e40b35ec05..bc78575d8a4de483be3f948c961088529eec9734 100644 (file)
@@ -30,7 +30,7 @@
                bootargs = "console=ttySAC3,115200";
        };
 
-       firmware@02073000 {
+       firmware@2073000 {
                compatible = "samsung,secure-firmware";
                reg = <0x02073000 0x1000>;
        };
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 &mmc_0 {
        status = "okay";
        broken-cd;
index 5c052d7ff55460d2a965c5ed55e20e475ed1b24c..d7d703aa1699ded9804162b2ed1b089fd625acec 100644 (file)
@@ -36,6 +36,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu1: cpu@1 {
@@ -48,6 +49,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu2: cpu@2 {
@@ -60,6 +62,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu3: cpu@3 {
@@ -72,6 +75,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu4: cpu@100 {
@@ -85,6 +89,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <7>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu5: cpu@101 {
                        cooling-min-level = <0>;
                        cooling-max-level = <7>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu6: cpu@102 {
                        cooling-min-level = <0>;
                        cooling-max-level = <7>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu7: cpu@103 {
                        cooling-min-level = <0>;
                        cooling-max-level = <7>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
        };
 };
index 683a4cfb4a23d469ba91670f414e27ea03d57f5a..38af8769711c28a571c09314f3040601de6e2e92 100644 (file)
        status = "okay";
 };
 
+&mixer {
+       status = "okay";
+};
+
 /* eMMC flash */
 &mmc_0 {
        status = "okay";
index 08c8ab173e871fdbea71bbea7207998dbe780daa..310d8637ce9f400c8ff2d89f0ce59d40030f9d17 100644 (file)
 
 &hdmi {
        status = "okay";
+       ddc = <&i2c_2>;
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&hdmi_hpd_irq>;
 &i2c_2 {
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
+       /* used by HDMI DDC */
        status = "okay";
+};
 
-       hdmiddc@50 {
-               compatible = "samsung,exynos4210-hdmiddc";
-               reg = <0x50>;
-       };
+&mixer {
+       status = "okay";
 };
 
 &mmc_0 {
index 02d2f898efa6cbe1041f102de9b3445999a6bea3..8aa2cc7aa125f5513a8333d84f8caae7a67fd3e6 100644 (file)
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pinctrl_4: pinctrl@03860000 {
+               pinctrl_4: pinctrl@3860000 {
                        compatible = "samsung,exynos5420-pinctrl";
                        reg = <0x03860000 0x1000>;
                        interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-parent = <&gic>;
                        ranges;
 
-                       adma: adma@03880000 {
+                       adma: adma@3880000 {
                                compatible = "arm,pl330", "arm,primecell";
                                reg = <0x03880000 0x1000>;
                                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               i2s0: i2s@03830000 {
+               i2s0: i2s@3830000 {
                        compatible = "samsung,exynos5420-i2s";
                        reg = <0x03830000 0x100>;
                        dmas = <&adma 0
                        clock-names = "mixer", "hdmi", "sclk_hdmi";
                        power-domains = <&disp_pd>;
                        iommus = <&sysmmu_tv>;
+                       status = "disabled";
                };
 
                rotator: rotator@11C00000 {
                };
 
                gsc_0: video-scaler@13e00000 {
-                       compatible = "samsung,exynos5-gsc";
+                       compatible = "samsung,exynos5420-gsc", "samsung,exynos5-gsc";
                        reg = <0x13e00000 0x1000>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clock CLK_GSCL0>;
                };
 
                gsc_1: video-scaler@13e10000 {
-                       compatible = "samsung,exynos5-gsc";
+                       compatible = "samsung,exynos5420-gsc", "samsung,exynos5-gsc";
                        reg = <0x13e10000 0x1000>;
                        interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clock CLK_GSCL1>;
index bf3c6f1ec4ee3c48b9a01a2b31ce97a87d67a00b..ec01d8020c2da99a1096514a93bbaadea14a03af 100644 (file)
@@ -35,6 +35,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu1: cpu@101 {
@@ -47,6 +48,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu2: cpu@102 {
@@ -59,6 +61,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu3: cpu@103 {
@@ -71,6 +74,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <11>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu4: cpu@0 {
@@ -84,6 +88,7 @@
                        cooling-min-level = <0>;
                        cooling-max-level = <15>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu5: cpu@1 {
                        cooling-min-level = <0>;
                        cooling-max-level = <15>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu6: cpu@2 {
                        cooling-min-level = <0>;
                        cooling-max-level = <15>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu7: cpu@3 {
                        cooling-min-level = <0>;
                        cooling-max-level = <15>;
                        #cooling-cells = <2>; /* min followed by max */
+                       capacity-dmips-mhz = <1024>;
                };
        };
 };
diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi
new file mode 100644 (file)
index 0000000..a5b8d0f
--- /dev/null
@@ -0,0 +1,443 @@
+/*
+ * Hardkernel Odroid XU3/XU4/HC1 boards core device tree source
+ *
+ * Copyright (c) 2017 Marek Szyprowski
+ * Copyright (c) 2013-2017 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <dt-bindings/clock/samsung,s2mps11.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "exynos5800.dtsi"
+#include "exynos5422-cpus.dtsi"
+
+/ {
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x7EA00000>;
+       };
+
+       chosen {
+               stdout-path = "serial2:115200n8";
+       };
+
+       firmware@02073000 {
+               compatible = "samsung,secure-firmware";
+               reg = <0x02073000 0x1000>;
+       };
+
+       fixed-rate-clocks {
+               oscclk {
+                       compatible = "samsung,exynos5420-oscclk";
+                       clock-frequency = <24000000>;
+               };
+       };
+};
+
+&bus_wcore {
+       devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>,
+                       <&nocp_mem1_0>, <&nocp_mem1_1>;
+       vdd-supply = <&buck3_reg>;
+       exynos,saturation-ratio = <100>;
+       status = "okay";
+};
+
+&bus_noc {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_fsys_apb {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_fsys {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_fsys2 {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_mfc {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_gen {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_peri {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_g2d {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_g2d_acp {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_jpeg {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_jpeg_apb {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_disp1_fimd {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_disp1 {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_gscl_scaler {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&bus_mscl {
+       devfreq = <&bus_wcore>;
+       status = "okay";
+};
+
+&cpu0 {
+       cpu-supply = <&buck6_reg>;
+};
+
+&cpu4 {
+       cpu-supply = <&buck2_reg>;
+};
+
+&hsi2c_4 {
+       status = "okay";
+
+       s2mps11_pmic@66 {
+               compatible = "samsung,s2mps11-pmic";
+               reg = <0x66>;
+               samsung,s2mps11-acokb-ground;
+
+               interrupt-parent = <&gpx0>;
+               interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&s2mps11_irq>;
+
+               s2mps11_osc: clocks {
+                       #clock-cells = <1>;
+                       clock-output-names = "s2mps11_ap",
+                                       "s2mps11_cp", "s2mps11_bt";
+               };
+
+               regulators {
+                       ldo1_reg: LDO1 {
+                               regulator-name = "vdd_ldo1";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo3_reg: LDO3 {
+                               regulator-name = "vddq_mmc0";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo4_reg: LDO4 {
+                               regulator-name = "vdd_adc";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo5_reg: LDO5 {
+                               regulator-name = "vdd_ldo5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo6_reg: LDO6 {
+                               regulator-name = "vdd_ldo6";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo7_reg: LDO7 {
+                               regulator-name = "vdd_ldo7";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo8_reg: LDO8 {
+                               regulator-name = "vdd_ldo8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo9_reg: LDO9 {
+                               regulator-name = "vdd_ldo9";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "vdd_ldo10";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo11_reg: LDO11 {
+                               regulator-name = "vdd_ldo11";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
+
+                       ldo12_reg: LDO12 {
+                               regulator-name = "vdd_ldo12";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo13_reg: LDO13 {
+                               regulator-name = "vddq_mmc2";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo15_reg: LDO15 {
+                               regulator-name = "vdd_ldo15";
+                               regulator-min-microvolt = <3100000>;
+                               regulator-max-microvolt = <3100000>;
+                               regulator-always-on;
+                       };
+
+                       ldo16_reg: LDO16 {
+                               regulator-name = "vdd_ldo16";
+                               regulator-min-microvolt = <2200000>;
+                               regulator-max-microvolt = <2200000>;
+                               regulator-always-on;
+                       };
+
+                       ldo17_reg: LDO17 {
+                               regulator-name = "tsp_avdd";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       ldo18_reg: LDO18 {
+                               regulator-name = "vdd_emmc_1V8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       ldo19_reg: LDO19 {
+                               regulator-name = "vdd_sd";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
+
+                       ldo24_reg: LDO24 {
+                               regulator-name = "tsp_io";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo26_reg: LDO26 {
+                               regulator-name = "vdd_ldo26";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                       };
+
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_int";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck5_reg: BUCK5 {
+                               regulator-name = "vdd_mem";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck6_reg: BUCK6 {
+                               regulator-name = "vdd_kfc";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck7_reg: BUCK7 {
+                               regulator-name = "vdd_1.0v_ldo";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck8_reg: BUCK8 {
+                               regulator-name = "vdd_1.8v_ldo";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck9_reg: BUCK9 {
+                               regulator-name = "vdd_2.8v_ldo";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3750000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buck10_reg: BUCK10 {
+                               regulator-name = "vdd_vmem";
+                               regulator-min-microvolt = <2850000>;
+                               regulator-max-microvolt = <2850000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+               };
+       };
+};
+
+&mmc_2 {
+       status = "okay";
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <0 4>;
+       samsung,dw-mshc-ddr-timing = <0 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
+       bus-width = <4>;
+       cap-sd-highspeed;
+       vmmc-supply = <&ldo19_reg>;
+       vqmmc-supply = <&ldo13_reg>;
+};
+
+&nocp_mem0_0 {
+       status = "okay";
+};
+
+&nocp_mem0_1 {
+       status = "okay";
+};
+
+&nocp_mem1_0 {
+       status = "okay";
+};
+
+&nocp_mem1_1 {
+       status = "okay";
+};
+
+&pinctrl_0 {
+       s2mps11_irq: s2mps11-irq {
+               samsung,pins = "gpx0-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+};
+
+&tmu_cpu0 {
+       vtmu-supply = <&ldo7_reg>;
+};
+
+&tmu_cpu1 {
+       vtmu-supply = <&ldo7_reg>;
+};
+
+&tmu_cpu2 {
+       vtmu-supply = <&ldo7_reg>;
+};
+
+&tmu_cpu3 {
+       vtmu-supply = <&ldo7_reg>;
+};
+
+&tmu_gpu {
+       vtmu-supply = <&ldo7_reg>;
+};
+
+&rtc {
+       status = "okay";
+       clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
+       clock-names = "rtc", "rtc_src";
+};
+
+&usbdrd_dwc3_0 {
+       dr_mode = "host";
+};
+
+/* usbdrd_dwc3_1 mode customized in each board */
+
+&usbdrd3_0 {
+       vdd33-supply = <&ldo9_reg>;
+       vdd10-supply = <&ldo11_reg>;
+};
+
+&usbdrd3_1 {
+       vdd33-supply = <&ldo9_reg>;
+       vdd10-supply = <&ldo11_reg>;
+};
diff --git a/arch/arm/boot/dts/exynos5422-odroidhc1.dts b/arch/arm/boot/dts/exynos5422-odroidhc1.dts
new file mode 100644 (file)
index 0000000..fb8e8ae
--- /dev/null
@@ -0,0 +1,213 @@
+/*
+ * Hardkernel Odroid HC1 board device tree source
+ *
+ * Copyright (c) 2017 Marek Szyprowski
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+#include "exynos5422-odroid-core.dtsi"
+
+/ {
+       model = "Hardkernel Odroid HC1";
+       compatible = "hardkernel,odroid-hc1", "samsung,exynos5800", \
+                    "samsung,exynos5";
+
+       pwmleds {
+               compatible = "pwm-leds";
+
+               blueled {
+                       label = "blue:heartbeat";
+                       pwms = <&pwm 2 2000000 0>;
+                       pwm-names = "pwm2";
+                       max_brightness = <255>;
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       thermal-zones {
+               cpu0_thermal: cpu0-thermal {
+                       thermal-sensors = <&tmu_cpu0 0>;
+                       trips {
+                               cpu0_alert0: cpu-alert-0 {
+                                       temperature = <70000>; /* millicelsius */
+                                       hysteresis = <10000>; /* millicelsius */
+                                       type = "active";
+                               };
+                               cpu0_alert1: cpu-alert-1 {
+                                       temperature = <85000>; /* millicelsius */
+                                       hysteresis = <10000>; /* millicelsius */
+                                       type = "active";
+                               };
+                               cpu0_crit0: cpu-crit-0 {
+                                       temperature = <120000>; /* millicelsius */
+                                       hysteresis = <0>; /* millicelsius */
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               /*
+                                * When reaching cpu0_alert0, reduce CPU
+                                * by 2 steps. On Exynos5422/5800 that would
+                                * be: 1600 MHz and 1100 MHz.
+                                */
+                               map0 {
+                                       trip = <&cpu0_alert0>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map1 {
+                                       trip = <&cpu0_alert0>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               /*
+                                * When reaching cpu0_alert1, reduce CPU
+                                * further, down to 600 MHz (12 steps for big,
+                                * 7 steps for LITTLE).
+                                */
+                               map2 {
+                                       trip = <&cpu0_alert1>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map3 {
+                                       trip = <&cpu0_alert1>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+               cpu1_thermal: cpu1-thermal {
+                       thermal-sensors = <&tmu_cpu1 0>;
+                       trips {
+                               cpu1_alert0: cpu-alert-0 {
+                                       temperature = <70000>;
+                                       hysteresis = <10000>;
+                                       type = "active";
+                               };
+                               cpu1_alert1: cpu-alert-1 {
+                                       temperature = <85000>;
+                                       hysteresis = <10000>;
+                                       type = "active";
+                               };
+                               cpu1_crit0: cpu-crit-0 {
+                                       temperature = <120000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu1_alert0>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map1 {
+                                       trip = <&cpu1_alert0>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu1_alert1>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map3 {
+                                       trip = <&cpu1_alert1>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+               cpu2_thermal: cpu2-thermal {
+                       thermal-sensors = <&tmu_cpu2 0>;
+                       trips {
+                               cpu2_alert0: cpu-alert-0 {
+                                       temperature = <70000>;
+                                       hysteresis = <10000>;
+                                       type = "active";
+                               };
+                               cpu2_alert1: cpu-alert-1 {
+                                       temperature = <85000>;
+                                       hysteresis = <10000>;
+                                       type = "active";
+                               };
+                               cpu2_crit0: cpu-crit-0 {
+                                       temperature = <120000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu2_alert0>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map1 {
+                                       trip = <&cpu2_alert0>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu2_alert1>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map3 {
+                                       trip = <&cpu2_alert1>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+               cpu3_thermal: cpu3-thermal {
+                       thermal-sensors = <&tmu_cpu3 0>;
+                       trips {
+                               cpu3_alert0: cpu-alert-0 {
+                                       temperature = <70000>;
+                                       hysteresis = <10000>;
+                                       type = "active";
+                               };
+                               cpu3_alert1: cpu-alert-1 {
+                                       temperature = <85000>;
+                                       hysteresis = <10000>;
+                                       type = "active";
+                               };
+                               cpu3_crit0: cpu-crit-0 {
+                                       temperature = <120000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu3_alert0>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map1 {
+                                       trip = <&cpu3_alert0>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu3_alert1>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map3 {
+                                       trip = <&cpu3_alert1>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+       };
+
+};
+
+&pwm {
+       /*
+        * PWM 2 -- Blue LED
+        */
+       pinctrl-0 = <&pwm2_out>;
+       pinctrl-names = "default";
+       samsung,pwm-outputs = <2>;
+       status = "okay";
+};
+
+&usbdrd_dwc3_1 {
+       dr_mode = "host";
+};
index c0b85981c6bf741dadd6d9fd6e91ddd79e808c2f..da3141a307d5ea1dd3ab576b726d1ef5227bb48b 100644 (file)
@@ -11,6 +11,8 @@
  * published by the Free Software Foundation.
 */
 
+#include <dt-bindings/sound/samsung-i2s.h>
+
 / {
        sound: sound {
                compatible = "simple-audio-card";
        };
 };
 
+&clock_audss {
+       assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
+                       <&clock_audss EXYNOS_MOUT_I2S>,
+                       <&clock_audss EXYNOS_DOUT_AUD_BUS>;
+       assigned-clock-parents = <&clock CLK_FIN_PLL>,
+                       <&clock_audss EXYNOS_MOUT_AUDSS>;
+       assigned-clock-rates = <0>,
+                       <0>,
+                       <19200000>;
+};
+
 &hsi2c_5 {
        status = "okay";
        max98090: max98090@10 {
index a183b56283f8ff9e9d41d616edfc00a82d200267..445c6c5a13001610f11f03f24a2a2d19bc969ed9 100644 (file)
  * published by the Free Software Foundation.
 */
 
-#include <dt-bindings/clock/samsung,s2mps11.h>
-#include <dt-bindings/interrupt-controller/irq.h>
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/sound/samsung-i2s.h>
-#include "exynos5800.dtsi"
-#include "exynos5422-cpus.dtsi"
+#include <dt-bindings/input/input.h>
+#include "exynos5422-odroid-core.dtsi"
 
 / {
-       memory@40000000 {
-               device_type = "memory";
-               reg = <0x40000000 0x7EA00000>;
-       };
-
-       chosen {
-               stdout-path = "serial2:115200n8";
-       };
-
-       firmware@02073000 {
-               compatible = "samsung,secure-firmware";
-               reg = <0x02073000 0x1000>;
-       };
-
-       fixed-rate-clocks {
-               oscclk {
-                       compatible = "samsung,exynos5420-oscclk";
-                       clock-frequency = <24000000>;
+       gpio_keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&power_key>;
+
+               power_key {
+                       /*
+                        * The power button (SW2) is connected to the PWRON
+                        * pin (active high) of the S2MPS11 PMIC, which acts
+                        * as a 16ms debouce filter and signal inverter with
+                        * output on ONOB pin (active low). ONOB PMIC pin is
+                        * then connected to XEINT3 SoC pin.
+                        */
+                       gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
+                       label = "power key";
+                       debounce-interval = <0>;
+                       wakeup-source;
                };
        };
 
                        polling-delay-passive = <250>;
                        polling-delay = <0>;
                        trips {
-                               cpu_alert0: cpu-alert-0 {
+                               cpu0_alert0: cpu-alert-0 {
                                        temperature = <50000>; /* millicelsius */
                                        hysteresis = <5000>; /* millicelsius */
                                        type = "active";
                                };
-                               cpu_alert1: cpu-alert-1 {
+                               cpu0_alert1: cpu-alert-1 {
                                        temperature = <60000>; /* millicelsius */
                                        hysteresis = <5000>; /* millicelsius */
                                        type = "active";
                                };
-                               cpu_alert2: cpu-alert-2 {
+                               cpu0_alert2: cpu-alert-2 {
                                        temperature = <70000>; /* millicelsius */
                                        hysteresis = <5000>; /* millicelsius */
                                        type = "active";
                                };
-                               cpu_crit0: cpu-crit-0 {
+                               cpu0_crit0: cpu-crit-0 {
                                        temperature = <120000>; /* millicelsius */
                                        hysteresis = <0>; /* millicelsius */
                                        type = "critical";
                                 * Exynos542x supports only 4 trip-points
                                 * so for these polling mode is required.
                                 * Start polling at temperature level of last
-                                * interrupt-driven trip: cpu_alert2
+                                * interrupt-driven trip: cpu0_alert2
                                 */
-                               cpu_alert3: cpu-alert-3 {
+                               cpu0_alert3: cpu-alert-3 {
                                        temperature = <70000>; /* millicelsius */
                                        hysteresis = <10000>; /* millicelsius */
                                        type = "passive";
                                };
-                               cpu_alert4: cpu-alert-4 {
+                               cpu0_alert4: cpu-alert-4 {
                                        temperature = <85000>; /* millicelsius */
                                        hysteresis = <10000>; /* millicelsius */
                                        type = "passive";
                                };
-
                        };
                        cooling-maps {
                                map0 {
-                                       trip = <&cpu_alert0>;
+                                       trip = <&cpu0_alert0>;
                                        cooling-device = <&fan0 0 1>;
                                };
                                map1 {
-                                       trip = <&cpu_alert1>;
+                                       trip = <&cpu0_alert1>;
                                        cooling-device = <&fan0 1 2>;
                                };
                                map2 {
-                                       trip = <&cpu_alert2>;
+                                       trip = <&cpu0_alert2>;
                                        cooling-device = <&fan0 2 3>;
                                };
                                /*
-                                * When reaching cpu_alert3, reduce CPU
+                                * When reaching cpu0_alert3, reduce CPU
                                 * by 2 steps. On Exynos5422/5800 that would
                                 * be: 1600 MHz and 1100 MHz.
                                 */
                                map3 {
-                                       trip = <&cpu_alert3>;
+                                       trip = <&cpu0_alert3>;
                                        cooling-device = <&cpu0 0 2>;
                                };
                                map4 {
-                                       trip = <&cpu_alert3>;
+                                       trip = <&cpu0_alert3>;
                                        cooling-device = <&cpu4 0 2>;
                                };
-
                                /*
-                                * When reaching cpu_alert4, reduce CPU
-                                * further, down to 600 MHz (11 steps for big,
+                                * When reaching cpu0_alert4, reduce CPU
+                                * further, down to 600 MHz (12 steps for big,
                                 * 7 steps for LITTLE).
                                 */
                                map5 {
-                                       trip = <&cpu_alert4>;
+                                       trip = <&cpu0_alert4>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map6 {
+                                       trip = <&cpu0_alert4>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+               cpu1_thermal: cpu1-thermal {
+                       thermal-sensors = <&tmu_cpu1 0>;
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       trips {
+                               cpu1_alert0: cpu-alert-0 {
+                                       temperature = <50000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu1_alert1: cpu-alert-1 {
+                                       temperature = <60000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu1_alert2: cpu-alert-2 {
+                                       temperature = <70000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu1_crit0: cpu-crit-0 {
+                                       temperature = <120000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                               cpu1_alert3: cpu-alert-3 {
+                                       temperature = <70000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                               cpu1_alert4: cpu-alert-4 {
+                                       temperature = <85000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu1_alert0>;
+                                       cooling-device = <&fan0 0 1>;
+                               };
+                               map1 {
+                                       trip = <&cpu1_alert1>;
+                                       cooling-device = <&fan0 1 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu1_alert2>;
+                                       cooling-device = <&fan0 2 3>;
+                               };
+                               map3 {
+                                       trip = <&cpu1_alert3>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map4 {
+                                       trip = <&cpu1_alert3>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               map5 {
+                                       trip = <&cpu1_alert4>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map6 {
+                                       trip = <&cpu1_alert4>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+               cpu2_thermal: cpu2-thermal {
+                       thermal-sensors = <&tmu_cpu2 0>;
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       trips {
+                               cpu2_alert0: cpu-alert-0 {
+                                       temperature = <50000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu2_alert1: cpu-alert-1 {
+                                       temperature = <60000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu2_alert2: cpu-alert-2 {
+                                       temperature = <70000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu2_crit0: cpu-crit-0 {
+                                       temperature = <120000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                               cpu2_alert3: cpu-alert-3 {
+                                       temperature = <70000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                               cpu2_alert4: cpu-alert-4 {
+                                       temperature = <85000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu2_alert0>;
+                                       cooling-device = <&fan0 0 1>;
+                               };
+                               map1 {
+                                       trip = <&cpu2_alert1>;
+                                       cooling-device = <&fan0 1 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu2_alert2>;
+                                       cooling-device = <&fan0 2 3>;
+                               };
+                               map3 {
+                                       trip = <&cpu2_alert3>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map4 {
+                                       trip = <&cpu2_alert3>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               map5 {
+                                       trip = <&cpu2_alert4>;
                                        cooling-device = <&cpu0 3 7>;
                                };
                                map6 {
-                                       trip = <&cpu_alert4>;
-                                       cooling-device = <&cpu4 3 11>;
+                                       trip = <&cpu2_alert4>;
+                                       cooling-device = <&cpu4 3 12>;
+                               };
+                       };
+               };
+               cpu3_thermal: cpu3-thermal {
+                       thermal-sensors = <&tmu_cpu3 0>;
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       trips {
+                               cpu3_alert0: cpu-alert-0 {
+                                       temperature = <50000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu3_alert1: cpu-alert-1 {
+                                       temperature = <60000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu3_alert2: cpu-alert-2 {
+                                       temperature = <70000>;
+                                       hysteresis = <5000>;
+                                       type = "active";
+                               };
+                               cpu3_crit0: cpu-crit-0 {
+                                       temperature = <120000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                               cpu3_alert3: cpu-alert-3 {
+                                       temperature = <70000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                               cpu3_alert4: cpu-alert-4 {
+                                       temperature = <85000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu3_alert0>;
+                                       cooling-device = <&fan0 0 1>;
+                               };
+                               map1 {
+                                       trip = <&cpu3_alert1>;
+                                       cooling-device = <&fan0 1 2>;
+                               };
+                               map2 {
+                                       trip = <&cpu3_alert2>;
+                                       cooling-device = <&fan0 2 3>;
+                               };
+                               map3 {
+                                       trip = <&cpu3_alert3>;
+                                       cooling-device = <&cpu0 0 2>;
+                               };
+                               map4 {
+                                       trip = <&cpu3_alert3>;
+                                       cooling-device = <&cpu4 0 2>;
+                               };
+                               map5 {
+                                       trip = <&cpu3_alert4>;
+                                       cooling-device = <&cpu0 3 7>;
+                               };
+                               map6 {
+                                       trip = <&cpu3_alert4>;
+                                       cooling-device = <&cpu4 3 12>;
                                };
                        };
                };
        status = "okay";
 };
 
-&bus_wcore {
-       devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>,
-                       <&nocp_mem1_0>, <&nocp_mem1_1>;
-       vdd-supply = <&buck3_reg>;
-       exynos,saturation-ratio = <100>;
-       status = "okay";
-};
-
-&bus_noc {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_fsys_apb {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_fsys {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_fsys2 {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_mfc {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_gen {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_peri {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_g2d {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_g2d_acp {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_jpeg {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_jpeg_apb {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_disp1_fimd {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_disp1 {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_gscl_scaler {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&bus_mscl {
-       devfreq = <&bus_wcore>;
-       status = "okay";
-};
-
-&clock_audss {
-       assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
-                       <&clock_audss EXYNOS_MOUT_I2S>,
-                       <&clock_audss EXYNOS_DOUT_AUD_BUS>;
-       assigned-clock-parents = <&clock CLK_FIN_PLL>,
-                       <&clock_audss EXYNOS_MOUT_AUDSS>;
-       assigned-clock-rates = <0>,
-                       <0>,
-                       <19200000>;
-};
-
-&cpu0 {
-       cpu-supply = <&buck6_reg>;
-};
-
-&cpu4 {
-       cpu-supply = <&buck2_reg>;
-};
-
 &hdmi {
        status = "okay";
+       ddc = <&i2c_2>;
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&hdmi_hpd_irq>;
        needs-hpd;
 };
 
-&hsi2c_4 {
-       status = "okay";
-
-       s2mps11_pmic@66 {
-               compatible = "samsung,s2mps11-pmic";
-               reg = <0x66>;
-               samsung,s2mps11-acokb-ground;
-
-               interrupt-parent = <&gpx0>;
-               interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&s2mps11_irq>;
-
-               s2mps11_osc: clocks {
-                       #clock-cells = <1>;
-                       clock-output-names = "s2mps11_ap",
-                                       "s2mps11_cp", "s2mps11_bt";
-               };
-
-               regulators {
-                       ldo1_reg: LDO1 {
-                               regulator-name = "vdd_ldo1";
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <1000000>;
-                               regulator-always-on;
-                       };
-
-                       ldo3_reg: LDO3 {
-                               regulator-name = "vddq_mmc0";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                       };
-
-                       ldo4_reg: LDO4 {
-                               regulator-name = "vdd_adc";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                       };
-
-                       ldo5_reg: LDO5 {
-                               regulator-name = "vdd_ldo5";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                       };
-
-                       ldo6_reg: LDO6 {
-                               regulator-name = "vdd_ldo6";
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <1000000>;
-                               regulator-always-on;
-                       };
-
-                       ldo7_reg: LDO7 {
-                               regulator-name = "vdd_ldo7";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                       };
-
-                       ldo8_reg: LDO8 {
-                               regulator-name = "vdd_ldo8";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                       };
-
-                       ldo9_reg: LDO9 {
-                               regulator-name = "vdd_ldo9";
-                               regulator-min-microvolt = <3000000>;
-                               regulator-max-microvolt = <3000000>;
-                               regulator-always-on;
-                       };
-
-                       ldo10_reg: LDO10 {
-                               regulator-name = "vdd_ldo10";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                       };
-
-                       ldo11_reg: LDO11 {
-                               regulator-name = "vdd_ldo11";
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <1000000>;
-                               regulator-always-on;
-                       };
-
-                       ldo12_reg: LDO12 {
-                               regulator-name = "vdd_ldo12";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                       };
-
-                       ldo13_reg: LDO13 {
-                               regulator-name = "vddq_mmc2";
-                               regulator-min-microvolt = <2800000>;
-                               regulator-max-microvolt = <2800000>;
-                       };
-
-                       ldo15_reg: LDO15 {
-                               regulator-name = "vdd_ldo15";
-                               regulator-min-microvolt = <3100000>;
-                               regulator-max-microvolt = <3100000>;
-                               regulator-always-on;
-                       };
-
-                       ldo16_reg: LDO16 {
-                               regulator-name = "vdd_ldo16";
-                               regulator-min-microvolt = <2200000>;
-                               regulator-max-microvolt = <2200000>;
-                               regulator-always-on;
-                       };
-
-                       ldo17_reg: LDO17 {
-                               regulator-name = "tsp_avdd";
-                               regulator-min-microvolt = <3300000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
-                       };
-
-                       ldo18_reg: LDO18 {
-                               regulator-name = "vdd_emmc_1V8";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                       };
-
-                       ldo19_reg: LDO19 {
-                               regulator-name = "vdd_sd";
-                               regulator-min-microvolt = <2800000>;
-                               regulator-max-microvolt = <2800000>;
-                       };
-
-                       ldo24_reg: LDO24 {
-                               regulator-name = "tsp_io";
-                               regulator-min-microvolt = <2800000>;
-                               regulator-max-microvolt = <2800000>;
-                               regulator-always-on;
-                       };
-
-                       ldo26_reg: LDO26 {
-                               regulator-name = "vdd_ldo26";
-                               regulator-min-microvolt = <3000000>;
-                               regulator-max-microvolt = <3000000>;
-                               regulator-always-on;
-                       };
-
-                       buck1_reg: BUCK1 {
-                               regulator-name = "vdd_mif";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1300000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck2_reg: BUCK2 {
-                               regulator-name = "vdd_arm";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck3_reg: BUCK3 {
-                               regulator-name = "vdd_int";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1400000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck4_reg: BUCK4 {
-                               regulator-name = "vdd_g3d";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1400000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck5_reg: BUCK5 {
-                               regulator-name = "vdd_mem";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1400000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck6_reg: BUCK6 {
-                               regulator-name = "vdd_kfc";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck7_reg: BUCK7 {
-                               regulator-name = "vdd_1.0v_ldo";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck8_reg: BUCK8 {
-                               regulator-name = "vdd_1.8v_ldo";
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1500000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck9_reg: BUCK9 {
-                               regulator-name = "vdd_2.8v_ldo";
-                               regulator-min-microvolt = <3000000>;
-                               regulator-max-microvolt = <3750000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-
-                       buck10_reg: BUCK10 {
-                               regulator-name = "vdd_vmem";
-                               regulator-min-microvolt = <2850000>;
-                               regulator-max-microvolt = <2850000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
-               };
-       };
-};
-
 &i2c_2 {
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
+       /* used by HDMI DDC */
        status = "okay";
+};
 
-       hdmiddc@50 {
-               compatible = "samsung,exynos4210-hdmiddc";
-               reg = <0x50>;
-       };
+&mixer {
+       status = "okay";
 };
 
 &mmc_0 {
        vqmmc-supply = <&ldo3_reg>;
 };
 
-&mmc_2 {
-       status = "okay";
-       card-detect-delay = <200>;
-       samsung,dw-mshc-ciu-div = <3>;
-       samsung,dw-mshc-sdr-timing = <0 4>;
-       samsung,dw-mshc-ddr-timing = <0 2>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
-       bus-width = <4>;
-       cap-sd-highspeed;
-       vmmc-supply = <&ldo19_reg>;
-       vqmmc-supply = <&ldo13_reg>;
-};
-
-&nocp_mem0_0 {
-       status = "okay";
-};
-
-&nocp_mem0_1 {
-       status = "okay";
-};
-
-&nocp_mem1_0 {
-       status = "okay";
-};
-
-&nocp_mem1_1 {
-       status = "okay";
-};
-
 &pinctrl_0 {
-       hdmi_hpd_irq: hdmi-hpd-irq {
-               samsung,pins = "gpx3-7";
+       power_key: power-key {
+               samsung,pins = "gpx0-3";
                samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
-               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
                samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
        };
 
-       s2mps11_irq: s2mps11-irq {
-               samsung,pins = "gpx0-4";
-               samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
-               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
                samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
        };
 };
                samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
        };
 };
-
-&tmu_cpu0 {
-       vtmu-supply = <&ldo7_reg>;
-};
-
-&tmu_cpu1 {
-       vtmu-supply = <&ldo7_reg>;
-};
-
-&tmu_cpu2 {
-       vtmu-supply = <&ldo7_reg>;
-};
-
-&tmu_cpu3 {
-       vtmu-supply = <&ldo7_reg>;
-};
-
-&tmu_gpu {
-       vtmu-supply = <&ldo7_reg>;
-};
-
-&rtc {
-       status = "okay";
-       clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
-       clock-names = "rtc", "rtc_src";
-};
-
-&usbdrd_dwc3_0 {
-       dr_mode = "host";
-};
-
-/* usbdrd_dwc3_1 mode customized in each board */
-
-&usbdrd3_0 {
-       vdd33-supply = <&ldo9_reg>;
-       vdd10-supply = <&ldo11_reg>;
-};
-
-&usbdrd3_1 {
-       vdd33-supply = <&ldo9_reg>;
-       vdd10-supply = <&ldo11_reg>;
-};
index 92bd2c6f76316171718d1d3f4fb63b9daa9be4d1..7eafad333bdb2fda8e5fb0f2bca5d3c2b32b6fdf 100644 (file)
@@ -56,7 +56,7 @@
                        samsung,spi-feedback-delay = <0>;
                };
 
-               partition@00000 {
+               partition@0 {
                        label = "BootLoader";
                        reg = <0x60000 0x80000>;
                        read-only;
index 7a00be7ea6d716e38bf979a6d9e4da7397f7dfd1..9c3c75ae5e48813ad5b43ac57b054e0ce4a797b8 100644 (file)
                clock-names = "watchdog";
        };
 
-       gmac: ethernet@00230000 {
+       gmac: ethernet@230000 {
                compatible = "snps,dwmac-3.70a", "snps,dwmac";
                reg = <0x00230000 0x8000>;
                interrupt-parent = <&gic>;
index 0389e8a10d0bd353744e176360c4485fffdcd759..a5007f182bc4a1106340ddba33be64d22d3e8041 100644 (file)
@@ -29,7 +29,7 @@
        };
 
        soc: soc {
-               sysram@02020000 {
+               sysram@2020000 {
                        compatible = "mmio-sram";
                        reg = <0x02020000 0x54000>;
                        #address-cells = <1>;
                                interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                                phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
                                phy-names = "usb2-phy", "usb3-phy";
+                               snps,dis_u3_susphy_quirk;
                        };
                };
 
                                reg = <0x12400000 0x10000>;
                                phys = <&usbdrd_phy1 0>, <&usbdrd_phy1 1>;
                                phy-names = "usb2-phy", "usb3-phy";
+                               snps,dis_u3_susphy_quirk;
                        };
                };
 
index 8613944ea5c5e5e7301889bff99c989ac68fd580..6a9fdc0760f0ea8c7ad502cd70dc009d49b58a59 100644 (file)
@@ -50,7 +50,7 @@
                                                        reg = <0x0 0x7c0000>;
                                                };
 
-                                               root@07c0000 {
+                                               root@7c0000 {
                                                        label = "root";
                                                        reg = <0x7c0000 0x7840000>;
                                                };
index b9b07d0895cfaef1ba465cc4b12542bd89660ad1..cb5c925bd59729310530002d5df5bfae35d0f718 100644 (file)
                                                groups = "idegrp";
                                        };
                                };
+                               tvc_default_pins: pinctrl-tvc {
+                                       mux {
+                                               function = "tvc";
+                                               groups = "tvcgrp";
+                                       };
+                               };
                        };
                };
 
                        memcpy-bus-width = <32>;
                        #dma-cells = <2>;
                };
+
+               display-controller@6a000000 {
+                       compatible = "cortina,gemini-tvc", "faraday,tve200";
+                       reg = <0x6a000000 0x1000>;
+                       interrupts = <13 IRQ_TYPE_EDGE_RISING>;
+                       resets = <&syscon GEMINI_RESET_TVC>;
+                       clocks = <&syscon GEMINI_CLK_GATE_TVC>,
+                                <&syscon GEMINI_CLK_TVC>;
+                       clock-names = "PCLK", "TVE";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&tvc_default_pins>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
        };
 };
index 9d5fd5cfefa668d068adfd13ea720bc7267e4844..f7cf4f53e764dc41d908dad12d0675e5911c18bf 100644 (file)
                        reboot-offset = <0x4>;
                };
 
-               global_timer@0a000200 {
+               global_timer@a000200 {
                        compatible = "arm,cortex-a9-global-timer";
                        reg = <0x0a000200 0x100>;
                        interrupts = <1 11 0xf04>;
                        clocks = <&hisi_refclk144mhz>;
                };
 
-               local_timer@0a000600 {
+               local_timer@a000600 {
                        compatible = "arm,cortex-a9-twd-timer";
                        reg = <0x0a000600 0x100>;
                        interrupts = <1 13 0xf04>;
index 40a9e33c2654e3ab694d742328d2d8d4becfefff..ca48641d0f48d69f914cc56901fe7b7b864f966d 100644 (file)
@@ -18,7 +18,7 @@
        model = "Hisilicon D01 Development Board";
        compatible = "hisilicon,hip04-d01";
 
-       memory@00000000,10000000 {
+       memory@0,10000000 {
                device_type = "memory";
                reg = <0x00000000 0x10000000 0x00000000 0xc0000000>,
                      <0x00000004 0xc0000000 0x00000003 0x40000000>;
index 6c712a97e1fef042b00c8fe55d406e78285b973e..50d3f8426da17dc3b36dc85c196aefcb9176f6c3 100644 (file)
@@ -39,7 +39,7 @@
                        compatible = "simple-bus";
                        ranges;
 
-                       timer0: timer@00002000 {
+                       timer0: timer@2000 {
                                compatible = "arm,sp804", "arm,primecell";
                                reg = <0x00002000 0x1000>;
                                /* timer00 & timer01 */
@@ -48,7 +48,7 @@
                                status = "disabled";
                        };
 
-                       timer1: timer@00a29000 {
+                       timer1: timer@a29000 {
                                /*
                                 * Only used in NORMAL state, not available ins
                                 * SLOW or DOZE state.
@@ -62,7 +62,7 @@
                                status = "disabled";
                        };
 
-                       timer2: timer@00a2a000 {
+                       timer2: timer@a2a000 {
                                compatible = "arm,sp804", "arm,primecell";
                                reg = <0x00a2a000 0x1000>;
                                /* timer20 & timer21 */
@@ -71,7 +71,7 @@
                                status = "disabled";
                        };
 
-                       timer3: timer@00a2b000 {
+                       timer3: timer@a2b000 {
                                compatible = "arm,sp804", "arm,primecell";
                                reg = <0x00a2b000 0x1000>;
                                /* timer30 & timer31 */
@@ -80,7 +80,7 @@
                                status = "disabled";
                        };
 
-                       timer4: timer@00a81000 {
+                       timer4: timer@a81000 {
                                compatible = "arm,sp804", "arm,primecell";
                                reg = <0x00a81000 0x1000>;
                                /* timer30 & timer31 */
@@ -89,7 +89,7 @@
                                status = "disabled";
                        };
 
-                       uart0: uart@00b00000 {
+                       uart0: uart@b00000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x00b00000 0x1000>;
                                interrupts = <0 49 4>;
@@ -98,7 +98,7 @@
                                status = "disabled";
                        };
 
-                       uart1: uart@00006000 {
+                       uart1: uart@6000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x00006000 0x1000>;
                                interrupts = <0 50 4>;
                                status = "disabled";
                        };
 
-                       uart2: uart@00b02000 {
+                       uart2: uart@b02000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x00b02000 0x1000>;
                                interrupts = <0 51 4>;
                                status = "disabled";
                        };
 
-                       uart3: uart@00b03000 {
+                       uart3: uart@b03000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x00b03000 0x1000>;
                                interrupts = <0 52 4>;
                                status = "disabled";
                        };
 
-                       uart4: uart@00b04000 {
+                       uart4: uart@b04000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0xb04000 0x1000>;
                                interrupts = <0 53 4>;
                                status = "disabled";
                        };
 
-                       gpio5: gpio@004000 {
+                       gpio5: gpio@4000 {
                                compatible = "arm,pl061", "arm,primecell";
                                reg = <0x004000 0x1000>;
                                interrupts = <0 113 0x4>;
                        };
                };
 
-               local_timer@00a00600 {
+               local_timer@a00600 {
                        compatible = "arm,cortex-a9-twd-timer";
                        reg = <0x00a00600 0x20>;
                        interrupts = <1 13 0xf01>;
                        cache-level = <2>;
                };
 
-               sysctrl: system-controller@00000000 {
+               sysctrl: system-controller@0 {
                        compatible = "hisilicon,sysctrl", "syscon";
                        reg = <0x00000000 0x1000>;
                };
                        mask = <0xdeadbeef>;
                };
 
-               cpuctrl@00a22000 {
+               cpuctrl@a22000 {
                        compatible = "hisilicon,cpuctrl";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        clocks = <&clock HIX5HD2_SATA_CLK>;
                };
 
-               ir: ir@001000 {
+               ir: ir@1000 {
                        compatible = "hisilicon,hix5hd2-ir";
                        reg = <0x001000 0x1000>;
                        interrupts = <0 47 4>;
index 38d712be5685a8eeb989f64125a634df1ed8a339..20f6565c337d700a13fcf6071c4c236e4563f280 100644 (file)
@@ -40,7 +40,7 @@
                spi1 = &cspi2;
        };
 
-       aitc: aitc-interrupt-controller@00223000 {
+       aitc: aitc-interrupt-controller@223000 {
                compatible = "fsl,imx1-aitc", "fsl,avic";
                interrupt-controller;
                #interrupt-cells = <1>;
                interrupt-parent = <&aitc>;
                ranges;
 
-               aipi@00200000 {
+               aipi@200000 {
                        compatible = "fsl,aipi-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x00200000 0x10000>;
                        ranges;
 
-                       gpt1: timer@00202000 {
+                       gpt1: timer@202000 {
                                compatible = "fsl,imx1-gpt";
                                reg = <0x00202000 0x1000>;
                                interrupts = <59>;
@@ -85,7 +85,7 @@
                                clock-names = "ipg", "per";
                        };
 
-                       gpt2: timer@00203000 {
+                       gpt2: timer@203000 {
                                compatible = "fsl,imx1-gpt";
                                reg = <0x00203000 0x1000>;
                                interrupts = <58>;
@@ -94,7 +94,7 @@
                                clock-names = "ipg", "per";
                        };
 
-                       fb: fb@00205000 {
+                       fb: fb@205000 {
                                compatible = "fsl,imx1-fb";
                                reg = <0x00205000 0x1000>;
                                interrupts = <14>;
                                status = "disabled";
                        };
 
-                       uart1: serial@00206000 {
+                       uart1: serial@206000 {
                                compatible = "fsl,imx1-uart";
                                reg = <0x00206000 0x1000>;
                                interrupts = <30 29 26>;
                                status = "disabled";
                        };
 
-                       uart2: serial@00207000 {
+                       uart2: serial@207000 {
                                compatible = "fsl,imx1-uart";
                                reg = <0x00207000 0x1000>;
                                interrupts = <24 23 20>;
                                status = "disabled";
                        };
 
-                       pwm: pwm@00208000 {
+                       pwm: pwm@208000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx1-pwm";
                                reg = <0x00208000 0x1000>;
                                clock-names = "ipg", "per";
                        };
 
-                       dma: dma@00209000 {
+                       dma: dma@209000 {
                                compatible = "fsl,imx1-dma";
                                reg = <0x00209000 0x1000>;
                                interrupts = <61 60>;
                                #dma-cells = <1>;
                        };
 
-                       uart3: serial@0020a000 {
+                       uart3: serial@20a000 {
                                compatible = "fsl,imx1-uart";
                                reg = <0x0020a000 0x1000>;
                                interrupts = <54 4 1>;
                        };
                };
 
-               aipi@00210000 {
+               aipi@210000 {
                        compatible = "fsl,aipi-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x00210000 0x10000>;
                        ranges;
 
-                       cspi1: cspi@00213000 {
+                       cspi1: cspi@213000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx1-cspi";
                                status = "disabled";
                        };
 
-                       i2c: i2c@00217000 {
+                       i2c: i2c@217000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx1-i2c";
                                status = "disabled";
                        };
 
-                       cspi2: cspi@00219000 {
+                       cspi2: cspi@219000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx1-cspi";
                                status = "disabled";
                        };
 
-                       clks: ccm@0021b000 {
+                       clks: ccm@21b000 {
                                compatible = "fsl,imx1-ccm";
                                reg = <0x0021b000 0x1000>;
                                #clock-cells = <1>;
                        };
 
-                       iomuxc: iomuxc@0021c000 {
+                       iomuxc: iomuxc@21c000 {
                                compatible = "fsl,imx1-iomuxc";
                                reg = <0x0021c000 0x1000>;
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges;
 
-                               gpio1: gpio@0021c000 {
+                               gpio1: gpio@21c000 {
                                        compatible = "fsl,imx1-gpio";
                                        reg = <0x0021c000 0x100>;
                                        interrupts = <11>;
                                        #interrupt-cells = <2>;
                                };
 
-                               gpio2: gpio@0021c100 {
+                               gpio2: gpio@21c100 {
                                        compatible = "fsl,imx1-gpio";
                                        reg = <0x0021c100 0x100>;
                                        interrupts = <12>;
                                        #interrupt-cells = <2>;
                                };
 
-                               gpio3: gpio@0021c200 {
+                               gpio3: gpio@21c200 {
                                        compatible = "fsl,imx1-gpio";
                                        reg = <0x0021c200 0x100>;
                                        interrupts = <13>;
                                        #interrupt-cells = <2>;
                                };
 
-                               gpio4: gpio@0021c300 {
+                               gpio4: gpio@21c300 {
                                        compatible = "fsl,imx1-gpio";
                                        reg = <0x0021c300 0x100>;
                                        interrupts = <62>;
                        };
                };
 
-               weim: weim@00220000 {
+               weim: weim@220000 {
                        #address-cells = <2>;
                        #size-cells = <1>;
                        compatible = "fsl,imx1-weim";
                        status = "disabled";
                };
 
-               esram: esram@00300000 {
+               esram: esram@300000 {
                        compatible = "mmio-sram";
                        reg = <0x00300000 0x20000>;
                };
index db39bd6b8e0062ae1cae8b97b743a7ebc577f759..0f053721d80f20790ecf189c766621bdfda19d64 100644 (file)
@@ -64,7 +64,7 @@
 &esdhc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_esdhc1>;
-       cd-gpios = <&gpio1 20>;
+       cd-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
        status = "okay";
 };
 
index c52692821fb14beb23408e2297288fd77b751a44..2d15ce72d006a63b4ee2be4ef65c72c0e0861f15 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks 129>;
        status = "okay";
 };
 
+&tsc {
+       status = "okay";
+};
+
+&tscadc {
+       status = "okay";
+};
+
 &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1>;
index d2a91976e67f69ad5aed3307ac08d8e3295fff03..ae078341fb6038561776218e99eda5d66974e40f 100644 (file)
                                pinctrl-0 = <&i2c0_pins_a>;
                                status = "okay";
 
-                               sgtl5000: codec@0a {
+                               sgtl5000: codec@a {
                                        compatible = "fsl,sgtl5000";
                                        reg = <0x0a>;
                                        VDDA-supply = <&reg_3p3v>;
index 581e85f4fd4c11ffb05eb5c73b75f1fa6a7ba96b..49ab40838e694d15bd821aa410a813c5553384c6 100644 (file)
        pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_3p3v>;
index 5309bb90d7d586cbadfc6b61777761595b5d35c8..7f5b80402c545bacf6ea6903e2fae96a591ec27f 100644 (file)
                                pinctrl-0 = <&i2c0_pins_a>;
                                status = "okay";
 
-                               sgtl5000: codec@0a {
+                               sgtl5000: codec@a {
                                        compatible = "fsl,sgtl5000";
                                        reg = <0x0a>;
                                        VDDA-supply = <&reg_3p3v>;
index dbfb8aab505f76e986e301aab30632b7df43a20a..22aa025cab1ecda2caf6c892fb4c9d2e5332a180 100644 (file)
                        };
 
                        i2c0: i2c@80058000 {
-                               sgtl5000: codec@0a {
+                               sgtl5000: codec@a {
                                        compatible = "fsl,sgtl5000";
                                        reg = <0x0a>;
                                        VDDA-supply = <&reg_3p3v>;
index 0ebbc83852d026fbdd9684424b62a7a9d10720ea..152621ea37db840c35231c440df434e8156eda63 100644 (file)
@@ -1,13 +1,43 @@
 /*
  * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
- * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 at the following locations:
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
  *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /dts-v1/;
                status = "disabled";
        };
 
-       regulators {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               reg_usb0_vbus: regulator@0 {
-                       compatible = "regulator-fixed";
-                       reg = <0>;
-                       regulator-name = "usb0_vbus";
-                       regulator-min-microvolt = <5000000>;
-                       regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-               };
+       reg_usb0_vbus: regulator-usb0-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb0_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 
-               reg_usb1_vbus: regulator@1 {
-                       compatible = "regulator-fixed";
-                       reg = <1>;
-                       regulator-name = "usb1_vbus";
-                       regulator-min-microvolt = <5000000>;
-                       regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-               };
+       reg_usb1_vbus: regulator-usb1-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb1_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 
-               reg_2p5v: regulator@2 {
-                       compatible = "regulator-fixed";
-                       reg = <2>;
-                       regulator-name = "2P5V";
-                       regulator-min-microvolt = <2500000>;
-                       regulator-max-microvolt = <2500000>;
-                       regulator-always-on;
-               };
+       reg_2p5v: regulator-2p5v {
+               compatible = "regulator-fixed";
+               regulator-name = "2P5V";
+               regulator-min-microvolt = <2500000>;
+               regulator-max-microvolt = <2500000>;
+               regulator-always-on;
+       };
 
-               reg_3p3v: regulator@3 {
-                       compatible = "regulator-fixed";
-                       reg = <3>;
-                       regulator-name = "3P3V";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       regulator-always-on;
-               };
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "3P3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+       };
 
-               reg_can_xcvr: regulator@4 {
-                       compatible = "regulator-fixed";
-                       reg = <4>;
-                       regulator-name = "CAN XCVR";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
-               };
+       reg_can_xcvr: regulator-can-xcvr {
+               compatible = "regulator-fixed";
+               regulator-name = "CAN XCVR";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
+       };
 
-               reg_lcd: regulator@5 {
-                       compatible = "regulator-fixed";
-                       reg = <5>;
-                       regulator-name = "LCD POWER";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-               };
+       reg_lcd: regulator-lcd-power {
+               compatible = "regulator-fixed";
+               regulator-name = "LCD POWER";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 
-               reg_lcd_reset: regulator@6 {
-                       compatible = "regulator-fixed";
-                       reg = <6>;
-                       regulator-name = "LCD RESET";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
-                       startup-delay-us = <300000>;
-                       enable-active-high;
-                       regulator-always-on;
-                       regulator-boot-on;
-               };
+       reg_lcd_reset: regulator-lcd-reset {
+               compatible = "regulator-fixed";
+               regulator-name = "LCD RESET";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
+               startup-delay-us = <300000>;
+               enable-active-high;
+               regulator-always-on;
+               regulator-boot-on;
        };
 
        clocks {
        clock-frequency = <400000>;
        status = "okay";
 
-       sgtl5000: sgtl5000@0a {
+       sgtl5000: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_2p5v>;
                pinctrl-names = "default";
                pinctrl-0 = <&tx28_pca9554_pins>;
                interrupt-parent = <&gpio3>;
-               interrupts = <28 0>;
+               interrupts = <28 IRQ_TYPE_NONE>;
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-controller;
                pinctrl-names = "default";
                pinctrl-0 = <&tx28_tsc2007_pins>;
                interrupt-parent = <&gpio3>;
-               interrupts = <20 0>;
+               interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
                pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
                ti,x-plate-ohms = /bits/ 16 <660>;
        };
        ds1339: rtc@68 {
                compatible = "mxim,ds1339";
                reg = <0x68>;
+               trickle-resistor-ohms = <250>;
+               trickle-diode-disable;
        };
 };
 
index e9357131b026e33140d3928cd284ef976d0278be..ae98d67590747adf8eae32a57cc018e73c4bfdd6 100644 (file)
@@ -65,7 +65,7 @@
 &esdhc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_esdhc1>;
-       cd-gpios = <&gpio3 24>;
+       cd-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
        status = "okay";
 };
 
index 3747d80104f4530226638a9051e18ba14f457701..35955e63d6c56d1781e6b41548df09a040067039 100644 (file)
@@ -52,7 +52,7 @@
                };
        };
 
-       tzic: tz-interrupt-controller@0fffc000 {
+       tzic: tz-interrupt-controller@fffc000 {
                compatible = "fsl,imx50-tzic", "fsl,imx53-tzic", "fsl,tzic";
                interrupt-controller;
                #interrupt-cells = <1>;
                                clocks = <&clks IMX5_CLK_SDMA_GATE>,
                                         <&clks IMX5_CLK_SDMA_GATE>;
                                clock-names = "ipg", "ahb";
+                               #dma-cells = <3>;
                                fsl,sdma-ram-script-name = "imx/sdma/sdma-imx50.bin";
                        };
 
index a5e6091c8729968beef3bd4279c325a3212a5ca8..3e1846a64d937f13e5a161cb80be3f43cab31052 100644 (file)
@@ -16,7 +16,7 @@
        model = "Armadeus Systems APF51Dev docking/development board";
        compatible = "armadeus,imx51-apf51dev", "armadeus,imx51-apf51", "fsl,imx51";
 
-       backlight@bl1{
+       backlight {
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_backlight>;
                compatible = "gpio-backlight";
@@ -24,7 +24,7 @@
                default-on;
        };
 
-       display@di1 {
+       disp1 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "bgr666";
                pinctrl-names = "default";
@@ -51,7 +51,7 @@
 
                port {
                        display_in: endpoint {
-                               remote-endpoint = <&ipu_di0_disp0>;
+                               remote-endpoint = <&ipu_di0_disp1>;
                        };
                };
        };
        pinctrl-0 = <&pinctrl_hog>;
 
        imx51-apf51dev {
-               pinctrl_backlight: bl1grp {
+               pinctrl_backlight: backlightgrp {
                        fsl,pins = <
                                MX51_PAD_DI1_D1_CS__GPIO3_4 0x1F5
                        >;
        };
 };
 
-&ipu_di0_disp0 {
+&ipu_di0_disp1 {
        remote-endpoint = <&display_in>;
 };
index 873cf242679c0d1cbc9a84938105abfada2c9610..2a694c5cc8aebcfa2813305d02a357d4ddd7fb63 100644 (file)
@@ -39,7 +39,7 @@
                };
        };
 
-       display0: display@di0 {
+       display1: disp1 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "rgb24";
                pinctrl-names = "default";
 
                port {
                        display0_in: endpoint {
-                               remote-endpoint = <&ipu_di0_disp0>;
+                               remote-endpoint = <&ipu_di0_disp1>;
                        };
                };
        };
 
-       display1: display@di1 {
+       display2: disp2 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "rgb565";
                pinctrl-names = "default";
@@ -93,7 +93,7 @@
 
                port {
                        display1_in: endpoint {
-                               remote-endpoint = <&ipu_di1_disp1>;
+                               remote-endpoint = <&ipu_di1_disp2>;
                        };
                };
        };
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_clkcodec>;
        };
 };
 
-&ipu_di0_disp0 {
+&ipu_di0_disp1 {
        remote-endpoint = <&display0_in>;
 };
 
-&ipu_di1_disp1 {
+&ipu_di1_disp2 {
        remote-endpoint = <&display1_in>;
 };
 
index ca1cc5eca80fb1cd6a0b32b85fdee9374f2792b3..564233e974129eb6433a11e1086d86676c6ca5d4 100644 (file)
@@ -50,7 +50,7 @@
                power-supply = <&backlight_reg>;
        };
 
-       display0: display@di0 {
+       display1: disp1 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "rgb24";
                pinctrl-names = "default";
@@ -71,9 +71,9 @@
                        };
                };
 
-               port@0 {
+               port {
                        display0_in: endpoint {
-                               remote-endpoint = <&ipu_di0_disp0>;
+                               remote-endpoint = <&ipu_di0_disp1>;
                        };
                };
        };
        };
 };
 
-&ipu_di0_disp0 {
+&ipu_di0_disp1 {
        remote-endpoint = <&display0_in>;
 };
 
diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
new file mode 100644 (file)
index 0000000..49be0e1
--- /dev/null
@@ -0,0 +1,834 @@
+/*
+ * Copyright (C) 2017 Zodiac Inflight Innovations
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx51.dtsi"
+#include <dt-bindings/sound/fsl-imx-audmux.h>
+
+/ {
+       model = "ZII RDU1 Board";
+       compatible = "zii,imx51-rdu1", "fsl,imx51";
+
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       aliases {
+               mdio-gpio0 = &mdio_gpio;
+               rtc0 = &ds1341;
+       };
+
+       clk_26M_osc: 26M_osc {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <26000000>;
+       };
+
+       clk_26M_osc_gate: 26M_gate {
+               compatible = "gpio-gate-clock";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_clk26mhz>;
+               clocks = <&clk_26M_osc>;
+               #clock-cells = <0>;
+               enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
+       };
+
+       clk_26M_usb: usbhost_gate {
+               compatible = "gpio-gate-clock";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbgate26mhz>;
+               clocks = <&clk_26M_osc_gate>;
+               #clock-cells = <0>;
+               enable-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
+       };
+
+       clk_26M_snd: snd_gate {
+               compatible = "gpio-gate-clock";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_sndgate26mhz>;
+               clocks = <&clk_26M_osc_gate>;
+               #clock-cells = <0>;
+               enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
+       };
+
+       reg_5p0v_main: regulator-5p0v-main {
+               compatible = "regulator-fixed";
+               regulator-name = "5V_MAIN";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+       };
+
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "3.3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+       };
+
+       disp0 {
+               compatible = "fsl,imx-parallel-display";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ipu_disp1>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               port@0 {
+                       reg = <0>;
+
+                       display_in: endpoint {
+                               remote-endpoint = <&ipu_di0_disp1>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+
+                       display_out: endpoint {
+                               remote-endpoint = <&panel_in>;
+                       };
+               };
+       };
+
+       panel {
+               /* no compatible here, bootloader will patch in correct one */
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_panel>;
+               power-supply = <&reg_3p3v>;
+               enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
+               status = "disabled";
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&display_out>;
+                       };
+               };
+       };
+
+       i2c_gpio: i2c-gpio {
+               compatible = "i2c-gpio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_swi2c>;
+               gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>, /* sda */
+                       <&gpio3 4 GPIO_ACTIVE_HIGH>; /* scl */
+               i2c-gpio,delay-us = <50>;
+               status = "okay";
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               sgtl5000: codec@a {
+                       compatible = "fsl,sgtl5000";
+                       reg = <0x0a>;
+                       clocks = <&clk_26M_snd>;
+                       VDDA-supply = <&vdig_reg>;
+                       VDDIO-supply = <&vvideo_reg>;
+                       #sound-dai-cells = <0>;
+               };
+       };
+
+       spi_gpio: spi-gpio {
+               compatible = "spi-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpiospi0>;
+               status = "okay";
+
+               gpio-sck = <&gpio4 15 GPIO_ACTIVE_HIGH>;
+               gpio-mosi = <&gpio4 12 GPIO_ACTIVE_HIGH>;
+               gpio-miso = <&gpio4 11 GPIO_ACTIVE_HIGH>;
+               num-chipselects = <1>;
+               cs-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
+
+               eeprom@0 {
+                       compatible = "eeprom-93xx46";
+                       reg = <0>;
+                       spi-max-frequency = <1000000>;
+                       spi-cs-high;
+                       data-size = <8>;
+               };
+       };
+
+       mdio_gpio: mdio-gpio {
+               compatible = "virtual,mdio-gpio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_swmdio>;
+               gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>, /* mdc */
+                       <&gpio3 25 GPIO_ACTIVE_HIGH>; /* mdio */
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               switch@0 {
+                       compatible = "marvell,mv88e6085";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+                       dsa,member = <0 0>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       label = "cpu";
+                                       ethernet = <&fec>;
+
+                                       fixed-link {
+                                               speed = <100>;
+                                               full-duplex;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       label = "netaux";
+                               };
+
+                               port@3 {
+                                       reg = <3>;
+                                       label = "netright";
+                               };
+
+                               port@4 {
+                                       reg = <4>;
+                                       label = "netleft";
+                               };
+                       };
+               };
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "RDU1 audio";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&sound_codec>;
+               simple-audio-card,frame-master = <&sound_codec>;
+               simple-audio-card,widgets =
+                       "Headphone", "Headphone Jack";
+               simple-audio-card,routing =
+                       "Headphone Jack", "HPLEFT",
+                       "Headphone Jack", "HPRIGHT";
+               simple-audio-card,aux-devs = <&tpa6130a2>;
+
+               sound_cpu: simple-audio-card,cpu {
+                       sound-dai = <&ssi2>;
+               };
+
+               sound_codec: simple-audio-card,codec {
+                       sound-dai = <&sgtl5000>;
+                       clocks = <&clk_26M_snd>;
+               };
+       };
+
+       usbh1phy: usbphy1 {
+               compatible = "usb-nop-xceiv";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh1phy>;
+               clocks = <&clk_26M_usb>;
+               clock-names = "main_clk";
+               reset-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
+               vcc-supply = <&vusb_reg>;
+       };
+
+       usbh2phy: usbphy2 {
+               compatible = "usb-nop-xceiv";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh2phy>;
+               clocks = <&clk_26M_usb>;
+               clock-names = "main_clk";
+               reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
+               vcc-supply = <&vusb_reg>;
+       };
+};
+
+&audmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_audmux>;
+       status = "okay";
+
+       ssi2 {
+               fsl,audmux-port = <1>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_SYN |
+                        IMX_AUDMUX_V2_PTCR_TFSEL(2) |
+                        IMX_AUDMUX_V2_PTCR_TCSEL(2) |
+                        IMX_AUDMUX_V2_PTCR_TFSDIR |
+                        IMX_AUDMUX_V2_PTCR_TCLKDIR)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(2)
+               >;
+       };
+
+       aud3 {
+               fsl,audmux-port = <2>;
+               fsl,port-config = <
+                       IMX_AUDMUX_V2_PTCR_SYN
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(1)
+               >;
+       };
+};
+
+&cpu {
+       cpu-supply = <&sw1_reg>;
+};
+
+&ecspi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi1>;
+       cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
+                  <&gpio4 25 GPIO_ACTIVE_LOW>;
+       status = "okay";
+
+       pmic@0 {
+               compatible = "fsl,mc13892";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pmic>;
+               spi-max-frequency = <6000000>;
+               spi-cs-high;
+               reg = <0>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
+               fsl,mc13xxx-uses-adc;
+
+               regulators {
+                       sw1_reg: sw1 {
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <1375000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3_reg: sw3 {
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw4_reg: sw4 {
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vpll_reg: vpll {
+                               regulator-min-microvolt = <1050000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vdig_reg: vdig {
+                               regulator-min-microvolt = <1650000>;
+                               regulator-max-microvolt = <1650000>;
+                               regulator-boot-on;
+                       };
+
+                       vsd_reg: vsd {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3150000>;
+                       };
+
+                       vusb_reg: vusb {
+                               regulator-always-on;
+                       };
+
+                       vusb2_reg: vusb2 {
+                               regulator-min-microvolt = <2400000>;
+                               regulator-max-microvolt = <2775000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vvideo_reg: vvideo {
+                               regulator-min-microvolt = <2775000>;
+                               regulator-max-microvolt = <2775000>;
+                       };
+
+                       vaudio_reg: vaudio {
+                               regulator-min-microvolt = <2300000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       vcam_reg: vcam {
+                               regulator-min-microvolt = <2500000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3150000>;
+                               regulator-always-on;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <2900000>;
+                               regulator-always-on;
+                       };
+               };
+
+               leds {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       led-control = <0x0 0x0 0x3f83f8 0x0>;
+
+                       sysled0 {
+                               reg = <3>;
+                               label = "system:green:status";
+                               linux,default-trigger = "default-on";
+                       };
+
+                       sysled1 {
+                               reg = <4>;
+                               label = "system:green:act";
+                               linux,default-trigger = "heartbeat";
+                       };
+               };
+       };
+
+       flash@1 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "atmel,at45db642d", "atmel,at45", "atmel,dataflash";
+               spi-max-frequency = <25000000>;
+               reg = <1>;
+       };
+};
+
+&esdhc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_esdhc1>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+};
+
+&fec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_fec>;
+       phy-mode = "mii";
+       phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
+       phy-supply = <&vgen3_reg>;
+       status = "okay";
+};
+
+&i2c2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+
+       eeprom@50 {
+               compatible = "atmel,24c04";
+               pagesize = <16>;
+               reg = <0x50>;
+       };
+
+       tpa6130a2: amp@60 {
+               compatible = "ti,tpa6130a2";
+               reg = <0x60>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ampgpio>;
+               power-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+               Vdd-supply = <&reg_3p3v>;
+       };
+
+       ds1341: rtc@68 {
+               compatible = "maxim,ds1341";
+               reg = <0x68>;
+       };
+
+       /* touch nodes default disabled, bootloader will enable the right one */
+
+       touchscreen@4b {
+               compatible = "atmel,maxtouch";
+               reg = <0x4b>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ts>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+               status = "disabled";
+       };
+
+       touchscreen@4c {
+               compatible = "atmel,maxtouch";
+               reg = <0x4c>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ts>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+               status = "disabled";
+       };
+
+       touchscreen@20 {
+               compatible = "syna,rmi4_i2c";
+               reg = <0x20>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ts>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+               status = "disabled";
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               rmi4-f01@1 {
+                       reg = <0x1>;
+                       syna,nosleep-mode = <2>;
+               };
+
+               rmi4-f11@11 {
+                       reg = <0x11>;
+                       touch-inverted-y;
+                       touch-swapped-x-y;
+                       syna,sensor-type = <1>;
+               };
+       };
+
+};
+
+&ipu_di0_disp1 {
+       remote-endpoint = <&display_in>;
+};
+
+&ssi2 {
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3>;
+       status = "okay";
+};
+
+&usbh1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbh1>;
+       dr_mode = "host";
+       phy_type = "ulpi";
+       fsl,usbphy = <&usbh1phy>;
+       disable-over-current;
+       vbus-supply = <&reg_5p0v_main>;
+       status = "okay";
+};
+
+&usbh2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbh2>;
+       dr_mode = "host";
+       phy_type = "ulpi";
+       fsl,usbphy = <&usbh2phy>;
+       disable-over-current;
+       vbus-supply = <&reg_5p0v_main>;
+       status = "okay";
+};
+
+&usbphy0 {
+       vcc-supply = <&vusb_reg>;
+};
+
+&usbotg {
+       dr_mode = "host";
+       disable-over-current;
+       phy_type = "utmi_wide";
+       vbus-supply = <&reg_5p0v_main>;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl_ampgpio: ampgpiogrp {
+               fsl,pins = <
+                       MX51_PAD_GPIO1_9__GPIO1_9               0x5e
+               >;
+       };
+
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX51_PAD_AUD3_BB_TXD__AUD3_TXD          0xa5
+                       MX51_PAD_AUD3_BB_RXD__AUD3_RXD          0x85
+                       MX51_PAD_AUD3_BB_CK__AUD3_TXC           0xa5
+                       MX51_PAD_AUD3_BB_FS__AUD3_TXFS          0x85
+               >;
+       };
+
+       pinctrl_clk26mhz: clk26mhzgrp {
+               fsl,pins = <
+                       MX51_PAD_DI1_PIN12__GPIO3_1             0x85
+               >;
+       };
+
+       pinctrl_ecspi1: ecspi1grp {
+               fsl,pins = <
+                       MX51_PAD_CSPI1_MISO__ECSPI1_MISO        0x185
+                       MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI        0x185
+                       MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK        0x185
+                       MX51_PAD_CSPI1_SS0__GPIO4_24            0x85
+                       MX51_PAD_CSPI1_SS1__GPIO4_25            0x85
+               >;
+       };
+
+       pinctrl_esdhc1: esdhc1grp {
+               fsl,pins = <
+                       MX51_PAD_SD1_CMD__SD1_CMD               0x400020d5
+                       MX51_PAD_SD1_CLK__SD1_CLK               0x20d5
+                       MX51_PAD_SD1_DATA0__SD1_DATA0           0x20d5
+                       MX51_PAD_SD1_DATA1__SD1_DATA1           0x20d5
+                       MX51_PAD_SD1_DATA2__SD1_DATA2           0x20d5
+                       MX51_PAD_SD1_DATA3__SD1_DATA3           0x20d5
+               >;
+       };
+
+       pinctrl_fec: fecgrp {
+               fsl,pins = <
+                       MX51_PAD_EIM_EB2__FEC_MDIO              0x1f5
+                       MX51_PAD_NANDF_D9__FEC_RDATA0           0x2180
+                       MX51_PAD_EIM_EB3__FEC_RDATA1            0x180
+                       MX51_PAD_EIM_CS2__FEC_RDATA2            0x180
+                       MX51_PAD_EIM_CS3__FEC_RDATA3            0x180
+                       MX51_PAD_EIM_CS4__FEC_RX_ER             0x180
+                       MX51_PAD_NANDF_D11__FEC_RX_DV           0x2084
+                       MX51_PAD_EIM_CS5__FEC_CRS               0x180
+                       MX51_PAD_NANDF_RB2__FEC_COL             0x2180
+                       MX51_PAD_NANDF_RB3__FEC_RX_CLK          0x2180
+                       MX51_PAD_NANDF_CS2__FEC_TX_ER           0x2004
+                       MX51_PAD_NANDF_CS3__FEC_MDC             0x2004
+                       MX51_PAD_NANDF_D8__FEC_TDATA0           0x2180
+                       MX51_PAD_NANDF_CS4__FEC_TDATA1          0x2004
+                       MX51_PAD_NANDF_CS5__FEC_TDATA2          0x2004
+                       MX51_PAD_NANDF_CS6__FEC_TDATA3          0x2004
+                       MX51_PAD_DISP2_DAT9__FEC_TX_EN          0x2004
+                       MX51_PAD_DISP2_DAT13__FEC_TX_CLK        0x2180
+                       MX51_PAD_EIM_A20__GPIO2_14              0x85
+               >;
+       };
+
+       pinctrl_gpiospi0: gpiospi0grp {
+               fsl,pins = <
+                       MX51_PAD_CSI2_D18__GPIO4_11             0x85
+                       MX51_PAD_CSI2_D19__GPIO4_12             0x85
+                       MX51_PAD_CSI2_HSYNC__GPIO4_14           0x85
+                       MX51_PAD_CSI2_PIXCLK__GPIO4_15          0x85
+               >;
+       };
+
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX51_PAD_KEY_COL4__I2C2_SCL             0x400001ed
+                       MX51_PAD_KEY_COL5__I2C2_SDA             0x400001ed
+               >;
+       };
+
+       pinctrl_ipu_disp1: ipudisp1grp {
+               fsl,pins = <
+                       MX51_PAD_DISP1_DAT0__DISP1_DAT0         0x5
+                       MX51_PAD_DISP1_DAT1__DISP1_DAT1         0x5
+                       MX51_PAD_DISP1_DAT2__DISP1_DAT2         0x5
+                       MX51_PAD_DISP1_DAT3__DISP1_DAT3         0x5
+                       MX51_PAD_DISP1_DAT4__DISP1_DAT4         0x5
+                       MX51_PAD_DISP1_DAT5__DISP1_DAT5         0x5
+                       MX51_PAD_DISP1_DAT6__DISP1_DAT6         0x5
+                       MX51_PAD_DISP1_DAT7__DISP1_DAT7         0x5
+                       MX51_PAD_DISP1_DAT8__DISP1_DAT8         0x5
+                       MX51_PAD_DISP1_DAT9__DISP1_DAT9         0x5
+                       MX51_PAD_DISP1_DAT10__DISP1_DAT10       0x5
+                       MX51_PAD_DISP1_DAT11__DISP1_DAT11       0x5
+                       MX51_PAD_DISP1_DAT12__DISP1_DAT12       0x5
+                       MX51_PAD_DISP1_DAT13__DISP1_DAT13       0x5
+                       MX51_PAD_DISP1_DAT14__DISP1_DAT14       0x5
+                       MX51_PAD_DISP1_DAT15__DISP1_DAT15       0x5
+                       MX51_PAD_DISP1_DAT16__DISP1_DAT16       0x5
+                       MX51_PAD_DISP1_DAT17__DISP1_DAT17       0x5
+                       MX51_PAD_DISP1_DAT18__DISP1_DAT18       0x5
+                       MX51_PAD_DISP1_DAT19__DISP1_DAT19       0x5
+                       MX51_PAD_DISP1_DAT20__DISP1_DAT20       0x5
+                       MX51_PAD_DISP1_DAT21__DISP1_DAT21       0x5
+                       MX51_PAD_DISP1_DAT22__DISP1_DAT22       0x5
+                       MX51_PAD_DISP1_DAT23__DISP1_DAT23       0x5
+                       MX51_PAD_DI1_PIN2__DI1_PIN2             0x5
+                       MX51_PAD_DI1_PIN3__DI1_PIN3             0x5
+                       MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK     0x5
+               >;
+       };
+
+       pinctrl_panel: panelgrp {
+               fsl,pins = <
+                       MX51_PAD_DI1_D0_CS__GPIO3_3             0x85
+               >;
+       };
+
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX51_PAD_GPIO1_4__GPIO1_4               0x1e0
+                       MX51_PAD_GPIO1_8__GPIO1_8               0x21e2
+               >;
+       };
+
+       pinctrl_sndgate26mhz: sndgate26mhzgrp {
+               fsl,pins = <
+                       MX51_PAD_CSPI1_RDY__GPIO4_26            0x85
+               >;
+       };
+
+       pinctrl_swi2c: swi2cgrp {
+               fsl,pins = <
+                       MX51_PAD_GPIO1_2__GPIO1_2               0xc5
+                       MX51_PAD_DI1_D1_CS__GPIO3_4             0x400001f5
+               >;
+       };
+
+       pinctrl_swmdio: swmdiogrp {
+               fsl,pins = <
+                       MX51_PAD_NANDF_D14__GPIO3_26            0x21e6
+                       MX51_PAD_NANDF_D15__GPIO3_25            0x21e6
+               >;
+       };
+
+       pinctrl_ts: tsgrp {
+               fsl,pins = <
+                       MX51_PAD_CSI1_D8__GPIO3_12              0x85
+                       MX51_PAD_CSI1_D9__GPIO3_13              0x85
+               >;
+       };
+
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX51_PAD_UART1_RXD__UART1_RXD           0x1c5
+                       MX51_PAD_UART1_TXD__UART1_TXD           0x1c5
+                       MX51_PAD_UART1_RTS__UART1_RTS           0x1c4
+                       MX51_PAD_UART1_CTS__UART1_CTS           0x1c4
+               >;
+       };
+
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX51_PAD_UART2_RXD__UART2_RXD           0xc5
+                       MX51_PAD_UART2_TXD__UART2_TXD           0xc5
+               >;
+       };
+
+       pinctrl_uart3: uart3grp {
+               fsl,pins = <
+                       MX51_PAD_EIM_D25__UART3_RXD             0x1c5
+                       MX51_PAD_EIM_D26__UART3_TXD             0x1c5
+               >;
+       };
+
+       pinctrl_usbgate26mhz: usbgate26mhzgrp {
+               fsl,pins = <
+                       MX51_PAD_DISP2_DAT6__GPIO1_19           0x85
+               >;
+       };
+
+       pinctrl_usbh1: usbh1grp {
+               fsl,pins = <
+                       MX51_PAD_USBH1_STP__USBH1_STP           0x0
+                       MX51_PAD_USBH1_CLK__USBH1_CLK           0x0
+                       MX51_PAD_USBH1_DIR__USBH1_DIR           0x0
+                       MX51_PAD_USBH1_NXT__USBH1_NXT           0x0
+                       MX51_PAD_USBH1_DATA0__USBH1_DATA0       0x0
+                       MX51_PAD_USBH1_DATA1__USBH1_DATA1       0x0
+                       MX51_PAD_USBH1_DATA2__USBH1_DATA2       0x0
+                       MX51_PAD_USBH1_DATA3__USBH1_DATA3       0x0
+                       MX51_PAD_USBH1_DATA4__USBH1_DATA4       0x0
+                       MX51_PAD_USBH1_DATA5__USBH1_DATA5       0x0
+                       MX51_PAD_USBH1_DATA6__USBH1_DATA6       0x0
+                       MX51_PAD_USBH1_DATA7__USBH1_DATA7       0x0
+               >;
+       };
+
+       pinctrl_usbh1phy: usbh1phygrp {
+               fsl,pins = <
+                       MX51_PAD_NANDF_D0__GPIO4_8              0x85
+               >;
+       };
+
+       pinctrl_usbh2: usbh2grp {
+               fsl,pins = <
+                       MX51_PAD_EIM_A26__USBH2_STP             0x0
+                       MX51_PAD_EIM_A24__USBH2_CLK             0x0
+                       MX51_PAD_EIM_A25__USBH2_DIR             0x0
+                       MX51_PAD_EIM_A27__USBH2_NXT             0x0
+                       MX51_PAD_EIM_D16__USBH2_DATA0           0x0
+                       MX51_PAD_EIM_D17__USBH2_DATA1           0x0
+                       MX51_PAD_EIM_D18__USBH2_DATA2           0x0
+                       MX51_PAD_EIM_D19__USBH2_DATA3           0x0
+                       MX51_PAD_EIM_D20__USBH2_DATA4           0x0
+                       MX51_PAD_EIM_D21__USBH2_DATA5           0x0
+                       MX51_PAD_EIM_D22__USBH2_DATA6           0x0
+                       MX51_PAD_EIM_D23__USBH2_DATA7           0x0
+               >;
+       };
+
+       pinctrl_usbh2phy: usbh2phygrp {
+               fsl,pins = <
+                       MX51_PAD_NANDF_D1__GPIO4_7              0x85
+               >;
+       };
+};
index 1ee1d542d9ad088c0bb94a55d66829d6ac1d92b9..378be720b3c7679992c9901ab710da85ae584b7d 100644 (file)
                        ipu_di0: port@2 {
                                reg = <2>;
 
-                               ipu_di0_disp0: endpoint {
+                               ipu_di0_disp1: endpoint {
                                };
                        };
 
                        ipu_di1: port@3 {
                                reg = <3>;
 
-                               ipu_di1_disp1: endpoint {
+                               ipu_di1_disp2: endpoint {
                                };
                        };
                };
index 4347a321c78216087e0cfbf79563af73dc3b7577..e48525763b1b90d2d3e80c3c329a3740cb71041e 100644 (file)
@@ -16,7 +16,7 @@
        model = "Aries/DENX M53EVK";
        compatible = "aries,imx53-m53evk", "denx,imx53-m53evk", "fsl,imx53";
 
-       display1: display@di1 {
+       display1: disp1 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "bgr666";
                pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_3p2v>;
                        >;
                };
 
-               led_pin_gpio: led_gpio@0 {
+               led_pin_gpio: led_gpio {
                        fsl,pins = <
                                MX53_PAD_PATA_DATA8__GPIO2_8            0x80000000
                                MX53_PAD_PATA_DATA9__GPIO2_9            0x80000000
index df705ba48897f87bad941c11dd693150867f9df4..296dd74fc24685d323e026cc8136d8e743a40237 100644 (file)
@@ -30,7 +30,7 @@
                power-supply = <&reg_backlight>;
        };
 
-       disp1: display@disp1 {
+       disp1: disp1 {
                compatible = "fsl,imx-parallel-display";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_disp1_1>;
diff --git a/arch/arm/boot/dts/imx53-ppd.dts b/arch/arm/boot/dts/imx53-ppd.dts
new file mode 100644 (file)
index 0000000..cce9594
--- /dev/null
@@ -0,0 +1,1042 @@
+/*
+ * Copyright 2014 General Electric Company
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx53.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+       model = "General Electric CS ONE";
+       compatible = "ge,imx53-cpuvo", "fsl,imx53";
+
+       aliases {
+               spi0 = &cspi;
+               spi1 = &ecspi1;
+               spi2 = &ecspi2;
+       };
+
+       chosen {
+               stdout-path = "&uart1:115200n8";
+       };
+
+       memory@70000000 {
+               device_type = "memory";
+               reg = <0x70000000 0x20000000>,
+                     <0xb0000000 0x20000000>;
+       };
+
+       cko2_11M: sgtl-clock-cko2 {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <11289600>;
+       };
+
+       sgtlsound: sound {
+               compatible = "fsl,imx53-cpuvo-sgtl5000",
+                            "fsl,imx-audio-sgtl5000";
+               model = "imx53-cpuvo-sgtl5000";
+               ssi-controller = <&ssi2>;
+               audio-codec = <&sgtl5000>;
+               audio-routing =
+                       "MIC_IN", "Mic Jack",
+                       "Mic Jack", "Mic Bias",
+                       "Headphone Jack", "HP_OUT";
+               mux-int-port = <2>;
+               mux-ext-port = <6>;
+       };
+
+       reg_sgtl5k: regulator-sgtl5k {
+               compatible = "regulator-fixed";
+               regulator-name = "regulator-sgtl5k";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+       };
+
+       reg_usb_otg_vbus: regulator-usb-otg-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usbotg_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               pinctrl-0 = <&pinctrl_usb_otg_vbus>;
+               gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usbh1_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+       };
+
+       reg_usbh2_vbus: regulator-usbh2-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usbh2_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh2_vbus>;
+               gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_usbh3_vbus: regulator-usbh3-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usbh3_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh3_vbus>;
+               gpio = <&gpio5 27 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       pwm_bl: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 50000>;
+               brightness-levels = <0 2 5 7 10 12 15 17 20 22 25 28 30 33 35
+                                    38 40 43 45 48 51 53 56 58 61 63 66 68 71
+                                    73 76 79 81 84 86 89 91 94 96 99 102 104
+                                    107 109 112 114 117 119 122 124 127 130
+                                    132 135 137 140 142 145 147 150 153 155
+                                    158 160 163 165 168 170 173 175 178 181
+                                    183 186 188 191 193 196 198 201 204 206
+                                    209 211 214 216 219 221 224 226 229 232
+                                    234 237 239 242 244 247 249 252 255>;
+               default-brightness-level = <0>;
+               enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
+       };
+
+       leds {
+               compatible = "pwm-leds";
+
+               alarm-brightness {
+                       pwms = <&pwm1 0 100000>;
+                       max-brightness = <255>;
+               };
+       };
+
+       gpio-poweroff {
+               compatible = "gpio-poweroff";
+               gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>;
+       };
+
+       gpio-restart {
+               compatible = "gpio-restart";
+               gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
+               active-delay = <100>;
+               inactive-delay = <10>;
+               wait-delay = <100>;
+       };
+
+       power-gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               power-button {
+                       label = "Power button";
+                       gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
+                       linux,code = <KEY_POWER>;
+               };
+       };
+
+       touch-lock-key {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               touch-lock-button {
+                       label = "Touch lock button";
+                       gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_F12>;
+               };
+       };
+
+       usbphy2: usbphy2 {
+               compatible = "usb-nop-xceiv";
+               reset-gpios = <&gpio4 4 GPIO_ACTIVE_LOW>;
+               clock-names = "main_clk";
+               clock-frequency = <24000000>;
+               clocks = <&clks IMX5_CLK_CKO2>;
+               assigned-clocks = <&clks IMX5_CLK_CKO2_SEL>, <&clks IMX5_CLK_OSC>;
+               assigned-clock-parents = <&clks IMX5_CLK_OSC>;
+       };
+
+       usbphy3: usbphy3 {
+               compatible = "usb-nop-xceiv";
+               reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
+               clock-names = "main_clk";
+
+               clock-frequency = <24000000>;
+               clocks = <&clks IMX5_CLK_CKO2>;
+               assigned-clocks = <&clks IMX5_CLK_CKO2_SEL>, <&clks IMX5_CLK_OSC>;
+               assigned-clock-parents = <&clks IMX5_CLK_OSC>;
+       };
+
+       panel-lvds0 {
+               compatible = "nvd,9128";
+
+               port {
+                       panel_in_lvds0: endpoint {
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
+       };
+};
+
+&audmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_audmux>;
+       status = "okay";
+};
+
+&cpu0 {
+       /* CPU rated to 1GHz, not 1.2GHz as per the default settings */
+       operating-points = <
+               /* kHz   uV */
+               166666  850000
+               400000  900000
+               800000  1050000
+               1000000 1200000
+       >;
+};
+
+&ecspi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi1>;
+       cs-gpios = <&gpio5 17 GPIO_ACTIVE_LOW
+                   &gpio4 10 GPIO_ACTIVE_LOW
+                   &gpio4 11 GPIO_ACTIVE_LOW
+                   &gpio4 12 GPIO_ACTIVE_LOW>;
+       status = "okay";
+
+       spidev0: spi@0 {
+               compatible = "ge,achc";
+               reg = <0>;
+               spi-max-frequency = <1000000>;
+       };
+
+       spidev1: spi@1 {
+               compatible = "ge,achc";
+               reg = <1>;
+               spi-max-frequency = <1000000>;
+       };
+
+       gpioxra0: gpio@2 {
+               compatible = "exar,xra1403";
+               reg = <2>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               spi-max-frequency = <1000000>;
+       };
+
+       gpioxra1: gpio@3 {
+               compatible = "exar,xra1403";
+               reg = <3>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               spi-max-frequency = <1000000>;
+       };
+};
+
+&ecspi2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi2>;
+       num-chipselects = <1>;
+       cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
+       status = "okay";
+
+       da9053@0 {
+               compatible = "dlg,da9053-aa";
+               reg = <0>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <12 0x8>;
+               spi-max-frequency = <1000000>;
+
+               regulators {
+                       buck1_reg: buck1 {
+                               regulator-name = "BUCKCORE";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <2075000>;
+                               regulator-always-on;
+                       };
+
+                       buck2_reg: buck2 {
+                               regulator-name = "BUCKPRO";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <2075000>;
+                               regulator-always-on;
+                       };
+
+                       buck3_reg: buck3 {
+                               regulator-name = "BUCKMEM";
+                               regulator-min-microvolt = <925000>;
+                               regulator-max-microvolt = <2500000>;
+                               regulator-always-on;
+                       };
+
+                       buck4_reg: buck4 {
+                               regulator-name = "BUCKPERI";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3600000>;
+                               regulator-always-on;
+                       };
+
+                       ldo1_reg: ldo1 {
+                               regulator-name = "ldo1_1v3";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo2_reg: ldo2 {
+                               regulator-name = "ldo2_1v3";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
+
+                       ldo3_reg: ldo3 {
+                               regulator-name = "ldo3_3v3";
+                               regulator-min-microvolt = <1725000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       ldo4_reg: ldo4 {
+                               regulator-name = "ldo4_2v775";
+                               regulator-min-microvolt = <1725000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       ldo5_reg: ldo5 {
+                               regulator-name = "ldo5_3v3";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3600000>;
+                               regulator-always-on;
+                       };
+
+                       ldo6_reg: ldo6 {
+                               regulator-name = "ldo6_1v3";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3600000>;
+                               regulator-always-on;
+                       };
+
+                       ldo7_reg: ldo7 {
+                               regulator-name = "ldo7_2v75";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3600000>;
+                               regulator-always-on;
+                       };
+
+                       ldo8_reg: ldo8 {
+                               regulator-name = "ldo8_1v8";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3600000>;
+                               regulator-always-on;
+                       };
+
+                       ldo9_reg: ldo9 {
+                               regulator-name = "ldo9_1v5";
+                               regulator-min-microvolt = <1250000>;
+                               regulator-max-microvolt = <3650000>;
+                               regulator-always-on;
+                       };
+
+                       ldo10_reg: ldo10 {
+                               regulator-name = "ldo10_1v3";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3600000>;
+                               regulator-always-on;
+                       };
+               };
+       };
+
+};
+
+&esdhc3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_esdhc3>;
+       bus-width = <8>;
+       status = "okay";
+};
+
+&fec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_fec>;
+       phy-mode = "rmii";
+       phy-reset-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&i2c1 {
+       pinctrl-names = "default", "gpio";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       pinctrl-1 = <&pinctrl_i2c1_gpio>;
+       sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+
+       i2c-switch@70 {
+               compatible = "nxp,pca9547";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x70>;
+               reset-gpios = <&gpio2 18 GPIO_ACTIVE_LOW>;
+
+               i2c4: i2c@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0>;
+
+                       sgtl5000: codec@a {
+                               compatible = "fsl,sgtl5000";
+                               reg = <0xa>;
+                               VDDA-supply = <&reg_sgtl5k>;
+                               VDDIO-supply = <&reg_sgtl5k>;
+                               clocks = <&cko2_11M>;
+                               status = "okay";
+                       };
+               };
+
+               i2c5: i2c@1 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <1>;
+
+                       rtc@30 {
+                              compatible = "sii,s35390a";
+                              reg = <0x30>;
+                       };
+
+                       temp@48 {
+                               compatible = "ti,tmp112";
+                               reg = <0x48>;
+                       };
+
+                       mma8453q: accelerometer@1c {
+                               compatible = "fsl,mma8453";
+                               reg = <0x1c>;
+                               interrupt-parent = <&gpio1>;
+                               interrupts = <6 0>;
+                               interrupt-names = "INT1";
+                       };
+
+                       mpl3115: pressure-sensor@60 {
+                               compatible = "fsl,mpl3115";
+                               reg = <0x60>;
+                       };
+
+                       eeprom: eeprom@50 {
+                               compatible = "atmel,24c08";
+                               reg = <0x50>;
+                       };
+               };
+
+               i2c6: i2c@2 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <2>;
+               };
+
+               i2c7: i2c@3 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <3>;
+               };
+
+               i2c8: i2c@4 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <4>;
+               };
+
+               i2c9: i2c@5 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <5>;
+               };
+
+               i2c10: i2c@6 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <6>;
+               };
+
+               i2c11: i2c@7 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <7>;
+               };
+       };
+};
+
+&i2c2 {
+       pinctrl-names = "default", "gpio";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       pinctrl-1 = <&pinctrl_i2c2_gpio>;
+       sda-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+
+       touchscreen@4b {
+               compatible = "atmel,maxtouch";
+               reg = <0x4b>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <4 0x8>;
+       };
+};
+
+&i2c3 {
+       pinctrl-names = "default", "gpio";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       pinctrl-1 = <&pinctrl_i2c3_gpio>;
+       sda-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+};
+
+&ldb {
+       status = "okay";
+
+       lvds0: lvds-channel@0 {
+               status = "okay";
+
+               port@2 {
+                       reg = <2>;
+
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&panel_in_lvds0>;
+                       };
+               };
+       };
+};
+
+&pwm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm1>;
+       status = "okay";
+};
+
+&pwm2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm2>;
+       status = "okay";
+};
+
+&ssi2 {
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3>;
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&uart4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart4>;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbotg {
+       dr_mode = "otg";
+       phy_type = "utmi";
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-0 = <&pinctrl_usb_otg>;
+       status = "okay";
+};
+
+&usbh1 {
+       vbus-supply = <&reg_usb_vbus>;
+       phy_type = "utmi";
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usbh2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbh2>;
+       phy_type = "ulpi";
+       dr_mode = "host";
+       fsl,usbphy = <&usbphy2>;
+       vbus-supply = <&reg_usbh2_vbus>;
+       status = "okay";
+};
+
+&usbh3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbh3>;
+       phy_type = "ulpi";
+       dr_mode = "host";
+       vbus-supply = <&reg_usbh3_vbus>;
+       fsl,usbphy = <&usbphy3>;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hog_rev6>;
+
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX53_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD   0x400
+                       MX53_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD   0x400
+                       MX53_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC   0x400
+                       MX53_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS  0x400
+                       MX53_PAD_DI0_PIN15__AUDMUX_AUD6_TXC     0x400
+                       MX53_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS     0x400
+                       MX53_PAD_DI0_PIN4__AUDMUX_AUD6_RXD      0x400
+                       MX53_PAD_DI0_PIN2__AUDMUX_AUD6_TXD      0x400
+               >;
+       };
+
+       pinctrl_ecspi1: ecspi1grp {
+               fsl,pins = <
+                       MX53_PAD_DISP0_DAT21__ECSPI1_MOSI       0x400
+                       MX53_PAD_DISP0_DAT22__ECSPI1_MISO       0x400
+                       MX53_PAD_DISP0_DAT20__ECSPI1_SCLK       0x400
+                       /* ECSPI1_SS0, must treat as GPIO for EzPort */
+                       MX53_PAD_DISP0_DAT23__GPIO5_17          0x400
+                       MX53_PAD_KEY_COL2__GPIO4_10             0x0
+                       MX53_PAD_KEY_ROW2__GPIO4_11             0x0
+                       MX53_PAD_KEY_COL3__GPIO4_12             0x0
+               >;
+       };
+
+       pinctrl_ecspi2: ecspi2grp {
+               fsl,pins = <
+                       MX53_PAD_EIM_CS1__ECSPI2_MOSI           0x0
+                       MX53_PAD_EIM_OE__ECSPI2_MISO            0x0
+                       MX53_PAD_EIM_CS0__ECSPI2_SCLK           0x0
+                       MX53_PAD_EIM_RW__GPIO2_26               0x0
+               >;
+       };
+
+       pinctrl_esdhc1: esdhc1grp {
+               fsl,pins = <
+                       MX53_PAD_SD1_DATA0__ESDHC1_DAT0         0x1d5
+                       MX53_PAD_SD1_DATA1__ESDHC1_DAT1         0x1d5
+                       MX53_PAD_SD1_DATA2__ESDHC1_DAT2         0x1d5
+                       MX53_PAD_SD1_DATA3__ESDHC1_DAT3         0x1d5
+                       MX53_PAD_SD1_CMD__ESDHC1_CMD            0x1d5
+                       MX53_PAD_SD1_CLK__ESDHC1_CLK            0x1d5
+               >;
+       };
+
+       pinctrl_esdhc3: esdhc3grp {
+               fsl,pins = <
+                       MX53_PAD_PATA_DATA8__ESDHC3_DAT0        0x1d5
+                       MX53_PAD_PATA_DATA9__ESDHC3_DAT1        0x1d5
+                       MX53_PAD_PATA_DATA10__ESDHC3_DAT2       0x1d5
+                       MX53_PAD_PATA_DATA11__ESDHC3_DAT3       0x1d5
+                       MX53_PAD_PATA_DATA0__ESDHC3_DAT4        0x1d5
+                       MX53_PAD_PATA_DATA1__ESDHC3_DAT5        0x1d5
+                       MX53_PAD_PATA_DATA2__ESDHC3_DAT6        0x1d5
+                       MX53_PAD_PATA_DATA3__ESDHC3_DAT7        0x1d5
+                       MX53_PAD_PATA_RESET_B__ESDHC3_CMD       0x1d5
+                       MX53_PAD_PATA_IORDY__ESDHC3_CLK         0x1d5
+               >;
+       };
+
+       pinctrl_fec: fecgrp {
+               fsl,pins = <
+                       MX53_PAD_FEC_MDC__FEC_MDC               0x0
+                       MX53_PAD_FEC_MDIO__FEC_MDIO             0x0
+                       MX53_PAD_FEC_REF_CLK__FEC_TX_CLK        0x0
+                       MX53_PAD_FEC_RX_ER__FEC_RX_ER           0x0
+                       MX53_PAD_FEC_CRS_DV__FEC_RX_DV          0x0
+                       MX53_PAD_FEC_RXD1__FEC_RDATA_1          0x0
+                       MX53_PAD_FEC_RXD0__FEC_RDATA_0          0x0
+                       MX53_PAD_FEC_TX_EN__FEC_TX_EN           0x0
+                       MX53_PAD_FEC_TXD1__FEC_TDATA_1          0x0
+                       MX53_PAD_FEC_TXD0__FEC_TDATA_0          0x0
+               >;
+       };
+
+       pinctrl_hog_rev6: hoggrp {
+               fsl,pins = <
+                       /* CKO2 */
+                       MX53_PAD_GPIO_3__CCM_CLKO2              0x4
+                       /* DEFIB_SYNC_MARKER_IN_IRQ */
+                       MX53_PAD_GPIO_5__GPIO1_5                0x0
+                       /* ACCELEROMETER_DATA_RDY_N */
+                       MX53_PAD_GPIO_6__GPIO1_6                0x0
+                       /* TEMPERATURE_ALERT_N */
+                       MX53_PAD_GPIO_7__GPIO1_7                0x0
+                       /* BAROMETRIC_PRESSURE_DATA_RDY_N */
+                       MX53_PAD_GPIO_8__GPIO1_8                0x0
+                       /* DOCKING_I2C_INTERFACE_IRQ_N */
+                       MX53_PAD_PATA_DATA4__GPIO2_4            0x0
+                       /* PWR_OUT_TO_DOCK_FAULT_N */
+                       MX53_PAD_PATA_DATA5__GPIO2_5            0x0
+                       /* ENABLE_PWR_TO_DOCK_N */
+                       MX53_PAD_PATA_DATA6__GPIO2_6            0x0
+                       /* HOST_CONTROLLED_RESET_TO_DOCKING_CONNECTOR_N */
+                       MX53_PAD_PATA_DATA7__GPIO2_7            0x0
+                       /* REMOTE_ON_REQUEST_FROM_DOCKING_CONNECTOR_IS_ACTIVE_N */
+                       MX53_PAD_PATA_DATA12__GPIO2_12          0x0
+                       /* DOCK_PRESENT_N */
+                       MX53_PAD_PATA_DATA13__GPIO2_13          0x0
+                       /* ECG_MARKER_IN_FROM_DOCKING_CONNECTOR_IRQ */
+                       MX53_PAD_PATA_DATA14__GPIO2_14          0x0
+                       /* ENABLE_ECG_MARKER_INTERFACE_TO_DOCKING_CONNECTOR */
+                       MX53_PAD_PATA_DATA15__GPIO2_15          0x0
+                       /* RESET_IMX535_ETHERNET_PHY_N */
+                       MX53_PAD_EIM_A22__GPIO2_16              0x0
+                       /* ENABLE_PWR_TO_LCD_AND_UI_INTERFACE */
+                       MX53_PAD_EIM_A21__GPIO2_17              0x0
+                       /* RESET_I2C1_BUS_SEGMENT_MUX_N */
+                       MX53_PAD_EIM_A20__GPIO2_18              0x0
+                       /* RESET_IMX535_USB_HOST3_PHY_N */
+                       MX53_PAD_EIM_A19__GPIO2_19              0x0
+                       /* ESDHC3_EMMC_NAND_RST_N */
+                       MX53_PAD_EIM_A18__GPIO2_20              0x0
+                       /* LCD_AND_UI_INTERFACE_PWR_FAULT_N */
+                       MX53_PAD_EIM_A17__GPIO2_21              0x0
+                       /* POWER_DOWN_LVDS0_DESERIALIZER_N */
+                       MX53_PAD_EIM_A16__GPIO2_22              0x0
+                       /* POWER_DOWN_LVDS1_DESERIALIZER_N */
+                       MX53_PAD_EIM_LBA__GPIO2_27              0x0
+                       /* RESET_DP0_TRANSMITTER_N */
+                       MX53_PAD_EIM_EB0__GPIO2_28              0x0
+                       /* RESET_DP1_TRANSMITTER_N */
+                       MX53_PAD_EIM_EB1__GPIO2_29              0x0
+                       /* ENABLE_SPDIF_AUDIO_TO_DP0 */
+                       MX53_PAD_EIM_DA0__GPIO3_0               0x0
+                       /* ENABLE_SPDIF_AUDIO_TO_DP1 */
+                       MX53_PAD_EIM_DA1__GPIO3_1               0x0
+                       /* LVDS1_MUX_CTRL */
+                       MX53_PAD_EIM_DA2__GPIO3_2               0x0
+                       /* LVDS0_MUX_CTRL */
+                       MX53_PAD_EIM_DA3__GPIO3_3               0x0
+                       /* DP1_TRANSMITTER_IRQ */
+                       MX53_PAD_EIM_DA4__GPIO3_4               0x0
+                       /* DP0_TRANSMITTER_IRQ */
+                       MX53_PAD_EIM_DA5__GPIO3_5               0x0
+                       /* USB_RESET_N */
+                       MX53_PAD_EIM_DA6__GPIO3_6               0x0
+                       /* ENABLE_BATTERY_CHARGER */
+                       MX53_PAD_EIM_DA7__GPIO3_7               0x0
+                       /* SOFTWARE_CONTROLLED_PWR_CYCLE */
+                       MX53_PAD_EIM_DA8__GPIO3_8               0x0
+                       /* SOFTWARE_CONTROLLED_POWERDOWN */
+                       MX53_PAD_EIM_DA9__GPIO3_9               0x0
+                       /* DC_PWR_IN_OK */
+                       MX53_PAD_EIM_DA10__GPIO3_10             0x0
+                       /* BATT_PRESENT_N */
+                       MX53_PAD_EIM_DA11__GPIO3_11             0xe4
+                       /* PMIC_IRQ_N */
+                       MX53_PAD_EIM_DA12__GPIO3_12             0x0
+                       /* PMIC_VDD_FAULT_STATUS_N */
+                       MX53_PAD_EIM_DA13__GPIO3_13             0x0
+                       /* IMX535_ETHERNET_PHY_STATUS_IRQ_N */
+                       MX53_PAD_EIM_DA14__GPIO3_14             0x0
+                       /* NOT USED - AVAILABLE 3.3V GPIO */
+                       MX53_PAD_EIM_DA15__GPIO3_15             0x0
+                       /* NOT USED - AVAILABLE 3.3V GPIO */
+                       MX53_PAD_EIM_D22__GPIO3_22              0x0
+                       /* NOT USED - AVAILABLE 3.3V GPIO */
+                       MX53_PAD_EIM_D24__GPIO3_24              0x0
+                       /* NBP_PUMP_VALVE_PWR_ENABLE */
+                       MX53_PAD_EIM_D25__GPIO3_25              0x0
+                       /* NIBP_RESET_N */
+                       MX53_PAD_EIM_D26__GPIO3_26              0x0
+                       /* LATCHED_OVERPRESSURE_N */
+                       MX53_PAD_EIM_D27__GPIO3_27              0x0
+                       /* NBP_SBWTCLK */
+                       MX53_PAD_EIM_D29__GPIO3_29              0x0
+                       /* ENABLE_WIFI_MODULE */
+                       MX53_PAD_GPIO_11__GPIO4_1               0x400
+                       /* WIFI_MODULE_IRQ_N */
+                       MX53_PAD_GPIO_12__GPIO4_2               0x400
+                       /* ENABLE_BLUETOOTH_MODULE */
+                       MX53_PAD_GPIO_13__GPIO4_3               0x400
+                       /* RESET_IMX535_USB_HOST2_PHY_N */
+                       MX53_PAD_GPIO_14__GPIO4_4               0x400
+                       /* ONKEY_IS_DEPRESSED */
+                       MX53_PAD_KEY_ROW3__GPIO4_13             0x0
+                       /* UNUSED_GPIO_TO_ALARM_LIGHT_BOARD */
+                       MX53_PAD_EIM_WAIT__GPIO5_0              0x0
+                       /* DISPLAY_LOCK_BUTTON_IS_DEPRESSED_N */
+                       MX53_PAD_EIM_A25__GPIO5_2               0x0
+                       /* I2C_PCAP_TOUCHSCREEN_IRQ_N */
+                       MX53_PAD_EIM_A24__GPIO5_4               0x0
+                       /* NOT USED - AVAILABLE 1.8V GPIO */
+                       MX53_PAD_DISP0_DAT13__GPIO5_7           0x400
+                       /* NOT USED - AVAILABLE 1.8V GPIO */
+                       MX53_PAD_DISP0_DAT14__GPIO5_8           0x400
+                       /* NOT USED - AVAILABLE 1.8V GPIO */
+                       MX53_PAD_DISP0_DAT15__GPIO5_9           0x400
+                       /* HOST_CONTROLLED_RESET_TO_LCD_N */
+                       MX53_PAD_CSI0_PIXCLK__GPIO5_18          0x0
+                       /* HOST_CONTROLLED_RESET_TO_PCAP_N */
+                       MX53_PAD_CSI0_MCLK__GPIO5_19            0x0
+                       /* LR_SCAN_CTRL */
+                       MX53_PAD_CSI0_DATA_EN__GPIO5_20         0x0
+                       /* UD_SCAN_CTRL */
+                       MX53_PAD_CSI0_VSYNC__GPIO5_21           0x0
+                       /* DATA_WIDTH_CTRL */
+                       MX53_PAD_CSI0_DAT10__GPIO5_28           0x0
+                       /* BACKLIGHT_ENABLE */
+                       MX53_PAD_CSI0_DAT11__GPIO5_29           0x0
+                       /* MED_USB_PORT_1_HOST_SELECT */
+                       MX53_PAD_EIM_A23__GPIO6_6               0x0
+                       /* MED_USB_PORT_2_HOST_SELECT */
+                       MX53_PAD_NANDF_CLE__GPIO6_7             0x0
+                       /* MED_USB_PORT_3_HOST_SELECT */
+                       MX53_PAD_NANDF_ALE__GPIO6_8             0x0
+                       /* MED_USB_PORT_4_HOST_SELECT */
+                       MX53_PAD_NANDF_WP_B__GPIO6_9            0x0
+                       /* MED_USB_PORT_5_HOST_SELECT */
+                       MX53_PAD_NANDF_RB0__GPIO6_10            0x0
+                       /* MED_USB_PORT_6_HOST_SELECT */
+                       MX53_PAD_NANDF_CS0__GPIO6_11            0x0
+                       /* MED_USB_PORT_7_HOST_SELECT */
+                       MX53_PAD_NANDF_WE_B__GPIO6_12           0x0
+                       /* MED_USB_PORT_8_HOST_SELECT */
+                       MX53_PAD_NANDF_RE_B__GPIO6_13           0x0
+                       /* MED_USB_PORT_TO_IMX_SELECT_0 */
+                       MX53_PAD_NANDF_CS1__GPIO6_14            0x0
+                       /* MED_USB_PORT_TO_IMX_SELECT_1 */
+                       MX53_PAD_NANDF_CS2__GPIO6_15            0x0
+                       /* MED_USB_PORT_TO_IMX_SELECT_2 */
+                       MX53_PAD_NANDF_CS3__GPIO6_16            0x0
+                       /* POWER_AND_BOOT_STATUS_INDICATOR */
+                       MX53_PAD_PATA_INTRQ__GPIO7_2            0x1e4
+                       /* ACTIVATE_ALARM_LIGHT_RED */
+                       MX53_PAD_PATA_DIOR__GPIO7_3             0x0
+                       /* ACTIVATE_ALARM_LIGHT_YELLOW */
+                       MX53_PAD_PATA_DA_1__GPIO7_7             0x0
+                       /* ACTIVATE_ALARM_LIGHT_CYAN */
+                       MX53_PAD_PATA_DA_2__GPIO7_8             0x0
+                       /* RUNNING_ON_BATTERY_INDICATOR_GREEN */
+                       MX53_PAD_GPIO_16__GPIO7_11              0x0
+                       /* BATTERY_STATUS_INDICATOR_AMBER */
+                       MX53_PAD_GPIO_17__GPIO7_12              0x0
+                       /* AUDIO_ALARMS_SILENCED_INDICATOR */
+                       MX53_PAD_GPIO_18__GPIO7_13              0x0
+               >;
+       };
+
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX53_PAD_EIM_D21__I2C1_SCL              0x400001e4
+                       MX53_PAD_EIM_D28__I2C1_SDA              0x400001e4
+               >;
+       };
+
+       pinctrl_i2c1_gpio: i2c1gpiogrp {
+               fsl,pins = <
+                       MX53_PAD_EIM_D28__GPIO3_28              0x1e4
+                       MX53_PAD_EIM_D21__GPIO3_21              0x1e4
+               >;
+       };
+
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX53_PAD_EIM_EB2__I2C2_SCL              0x400001e4
+                       MX53_PAD_EIM_D16__I2C2_SDA              0x400001e4
+               >;
+       };
+
+       pinctrl_i2c2_gpio: i2c2gpiogrp {
+               fsl,pins = <
+                       MX53_PAD_EIM_D16__GPIO3_16              0x1e4
+                       MX53_PAD_EIM_EB2__GPIO2_30              0x1e4
+               >;
+       };
+
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX53_PAD_EIM_D17__I2C3_SCL              0x400001e4
+                       MX53_PAD_EIM_D18__I2C3_SDA              0x400001e4
+               >;
+       };
+
+       pinctrl_i2c3_gpio: i2c3gpiogrp {
+               fsl,pins = <
+                       MX53_PAD_EIM_D18__GPIO3_18              0x1e4
+                       MX53_PAD_EIM_D17__GPIO3_17              0x1e4
+               >;
+       };
+
+       pinctrl_pwm1: pwm1grp {
+               fsl,pins = <
+                       MX53_PAD_GPIO_9__PWM1_PWMO              0x5
+               >;
+       };
+
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX53_PAD_DISP0_DAT9__PWM2_PWMO          0x5
+               >;
+       };
+
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX53_PAD_PATA_DIOW__UART1_TXD_MUX       0x1e4
+                       MX53_PAD_PATA_DMACK__UART1_RXD_MUX      0x1e4
+               >;
+       };
+
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX53_PAD_PATA_DMARQ__UART2_TXD_MUX      0x1e4
+                       MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX  0x1e4
+               >;
+       };
+
+       pinctrl_uart3: uart3grp {
+               fsl,pins = <
+                       MX53_PAD_PATA_CS_0__UART3_TXD_MUX       0x1e4
+                       MX53_PAD_PATA_CS_1__UART3_RXD_MUX       0x1e4
+                       MX53_PAD_EIM_D23__UART3_CTS             0x1e4
+                       MX53_PAD_EIM_EB3__UART3_RTS             0x1e4
+               >;
+       };
+
+       pinctrl_uart4: uart4grp {
+               fsl,pins = <
+                       MX53_PAD_KEY_COL0__UART4_TXD_MUX        0x1e4
+                       MX53_PAD_KEY_ROW0__UART4_RXD_MUX        0x1e4
+               >;
+       };
+
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX53_PAD_KEY_COL1__UART5_TXD_MUX        0x1e4
+                       MX53_PAD_KEY_ROW1__UART5_RXD_MUX        0x1e4
+               >;
+       };
+
+       pinctrl_usb_otg_vbus: usb-otg-vbusgrp {
+               fsl,pins = <
+                       /* USB_HS_OTG_VBUS_ENABLE */
+                       MX53_PAD_KEY_ROW4__GPIO4_15             0x1c4
+               >;
+       };
+
+       pinctrl_usbh2: usbh2grp {
+               fsl,pins = <
+                       /* USB H2 */
+                       MX53_PAD_DISP0_DAT0__USBOH3_USBH2_DATA_0 0x180
+                       MX53_PAD_DISP0_DAT1__USBOH3_USBH2_DATA_1 0x180
+                       MX53_PAD_DISP0_DAT2__USBOH3_USBH2_DATA_2 0x180
+                       MX53_PAD_DISP0_DAT3__USBOH3_USBH2_DATA_3 0x180
+                       MX53_PAD_DISP0_DAT4__USBOH3_USBH2_DATA_4 0x180
+                       MX53_PAD_DISP0_DAT5__USBOH3_USBH2_DATA_5 0x180
+                       MX53_PAD_DISP0_DAT6__USBOH3_USBH2_DATA_6 0x180
+                       MX53_PAD_DISP0_DAT7__USBOH3_USBH2_DATA_7 0x180
+                       MX53_PAD_DISP0_DAT10__USBOH3_USBH2_STP   0x180
+                       MX53_PAD_DISP0_DAT11__USBOH3_USBH2_NXT   0x180
+                       MX53_PAD_DISP0_DAT12__USBOH3_USBH2_CLK   0x180
+                       MX53_PAD_DI0_DISP_CLK__USBOH3_USBH2_DIR  0x5
+                       MX53_PAD_EIM_D30__USBOH3_USBH2_OC        0x180
+               >;
+       };
+
+       pinctrl_usbh2_vbus: usbh2-vbusgrp {
+               fsl,pins = <
+                       /* USB_HS_HOST2_VBUS_ENABLE */
+                       MX53_PAD_EIM_D31__GPIO3_31              0x0
+               >;
+       };
+
+       pinctrl_usbh3_vbus: usbh3-vbusgrp {
+               fsl,pins = <
+                       /* USB_HS_HOST3_VBUS_ENABLE */
+                       MX53_PAD_CSI0_DAT9__GPIO5_27            0x0
+               >;
+       };
+
+       pinctrl_usbh3: usbh3grp {
+               fsl,pins = <
+                       /* USB H3 */
+                       MX53_PAD_CSI0_DAT12__USBOH3_USBH3_DATA_0 0x180
+                       MX53_PAD_CSI0_DAT13__USBOH3_USBH3_DATA_1 0x180
+                       MX53_PAD_CSI0_DAT14__USBOH3_USBH3_DATA_2 0x180
+                       MX53_PAD_CSI0_DAT15__USBOH3_USBH3_DATA_3 0x180
+                       MX53_PAD_CSI0_DAT16__USBOH3_USBH3_DATA_4 0x180
+                       MX53_PAD_CSI0_DAT17__USBOH3_USBH3_DATA_5 0x180
+                       MX53_PAD_CSI0_DAT18__USBOH3_USBH3_DATA_6 0x180
+                       MX53_PAD_CSI0_DAT19__USBOH3_USBH3_DATA_7 0x180
+                       MX53_PAD_CSI0_DAT7__USBOH3_USBH3_DIR     0x5
+                       MX53_PAD_CSI0_DAT6__USBOH3_USBH3_CLK     0x180
+                       MX53_PAD_CSI0_DAT5__USBOH3_USBH3_NXT     0x180
+                       MX53_PAD_CSI0_DAT4__USBOH3_USBH3_STP     0x180
+                       MX53_PAD_CSI0_DAT8__USBOH3_USBH3_OC      0x180
+               >;
+       };
+
+       pinctrl_usb_otg: usbotggrp {
+               fsl,pins = <
+                       /* USB_OTG_FAULT_N */
+                       MX53_PAD_KEY_COL4__USBOH3_USBOTG_OC     0x180
+               >;
+       };
+};
index 683dcbe27cbd63b6b30a8e20b7dc52d604a84616..41a2e2a2b07926235e321a206b7f0514546a8d2b 100644 (file)
@@ -22,7 +22,7 @@
                      <0xb0000000 0x20000000>;
        };
 
-       display0: display@di0 {
+       display0: disp0 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "rgb565";
                pinctrl-names = "default";
                        >;
                };
 
-               led_pin_gpio7_7: led_gpio7_7@0 {
+               led_pin_gpio7_7: led_gpio7_7 {
                        fsl,pins = <
                                MX53_PAD_PATA_DA_1__GPIO7_7 0x80000000
                        >;
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_3p2v>;
index 33cb64fc8372bbfd8d4f1d17840bd307e0e92a2a..51f4a42a55e2d7d97389304afcae6e45899003df 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
        };
 
-       magnetometer: mag3110@0e {
+       magnetometer: mag3110@e {
                compatible = "fsl,mag3110";
                reg = <0x0e>;
        };
index 0ecb43d88522318701304fad35e3c214cfcb276e..7eb53e48c2f441d92f8968db3728d2fcdc2ae5ce 100644 (file)
@@ -1,12 +1,42 @@
 /*
- * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 at the following locations:
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
  *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /dts-v1/;
@@ -24,7 +54,7 @@
        };
 
        soc {
-               display: display@di0 {
+               display: disp0 {
                        compatible = "fsl,imx-parallel-display";
                        interface-pix-fmt = "rgb24";
                        pinctrl-names = "default";
                default-brightness-level = <50>;
        };
 
-       regulators {
-               reg_lcd_pwr: regulator@5 {
-                       compatible = "regulator-fixed";
-                       reg = <5>;
-                       regulator-name = "LCD POWER";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-                       regulator-boot-on;
-               };
+       reg_lcd_pwr: regulator-lcd-pwr {
+               compatible = "regulator-fixed";
+               regulator-name = "LCD POWER";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-boot-on;
+       };
 
-               reg_lcd_reset: regulator@6 {
-                       compatible = "regulator-fixed";
-                       reg = <6>;
-                       regulator-name = "LCD RESET";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-                       regulator-boot-on;
-               };
+       reg_lcd_reset: regulator-lcd-reset {
+               compatible = "regulator-fixed";
+               regulator-name = "LCD RESET";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-boot-on;
        };
 };
 
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_2v5>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_tsc2007>;
                interrupt-parent = <&gpio3>;
-               interrupts = <26 0>;
+               interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
                gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
                ti,x-plate-ohms = <660>;
                wakeup-source;
index 3cf682a681f40a986e8eb3142f3621ec5d6736b0..f2b2ad3ce9e52d6084c31f8983dcf21108079159 100644 (file)
@@ -1,6 +1,42 @@
 /*
- * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * Version 2 at the following locations:
                default-brightness-level = <50>;
        };
 
-       regulators {
-               reg_lcd_pwr0: regulator@5 {
-                       compatible = "regulator-fixed";
-                       reg = <5>;
-                       regulator-name = "LVDS0 POWER";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-                       regulator-boot-on;
-               };
-
-               reg_lcd_pwr1: regulator@6 {
-                       compatible = "regulator-fixed";
-                       reg = <6>;
-                       regulator-name = "LVDS1 POWER";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-                       regulator-boot-on;
-               };
+       reg_lcd_pwr0: regulator-lvds0-pwr {
+               compatible = "regulator-fixed";
+               regulator-name = "LVDS0 POWER";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-boot-on;
        };
-};
 
-&i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_i2c2>;
-       status = "okay";
-
-       touchscreen2: eeti@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_eeti2>;
-               interrupt-parent = <&gpio3>;
-               interrupts = <23 0>;
-               wakeup-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
-               wakeup-source;
+       reg_lcd_pwr1: regulator-lvds1-pwr {
+               compatible = "regulator-fixed";
+               regulator-name = "LVDS1 POWER";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-boot-on;
        };
 };
 
 &i2c3 {
-       pinctrl-names = "default";
+       pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c3>;
+       pinctrl-1 = <&pinctrl_i2c3_gpio>;
+       scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+       sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_2v5>;
                VDDIO-supply = <&reg_3v3>;
                clocks = <&mclk>;
        };
-
-       touchscreen1: eeti@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_eeti1>;
-               interrupt-parent = <&gpio3>;
-               interrupts = <22 0>;
-               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
-               wakeup-source;
-       };
 };
 
 &iomuxc {
        imx53-tx53-x13x {
-               pinctrl_i2c2: i2c2-grp1 {
-                       fsl,pins = <
-                               MX53_PAD_KEY_ROW3__I2C2_SDA             0xc0000000
-                               MX53_PAD_KEY_COL3__I2C2_SCL             0xc0000000
-                       >;
-               };
-
                pinctrl_lvds0: lvds0grp {
                        fsl,pins = <
                                MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000
index 7807c1fa110176b12cfa26f238186da8dcdeafe7..71b58b6933e1d7fb57cfe90b97b1232d8b8efaed 100644 (file)
@@ -1,15 +1,45 @@
 /*
- * Copyright 2012 <LW@KARO-electronics.de>
+ * Copyright 2012-2017 <LW@KARO-electronics.de>
  * based on imx53-qsb.dts
  *   Copyright 2011 Freescale Semiconductor, Inc.
  *   Copyright 2011 Linaro Ltd.
  *
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 at the following locations:
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
  *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
 #include "imx53.dtsi"
                };
        };
 
-       regulators {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               reg_2v5: regulator@0 {
-                       compatible = "regulator-fixed";
-                       reg = <0>;
-                       regulator-name = "2V5";
-                       regulator-min-microvolt = <2500000>;
-                       regulator-max-microvolt = <2500000>;
-               };
+       reg_2v5: regulator-2v5 {
+               compatible = "regulator-fixed";
+               regulator-name = "2V5";
+               regulator-min-microvolt = <2500000>;
+               regulator-max-microvolt = <2500000>;
+       };
 
-               reg_3v3: regulator@1 {
-                       compatible = "regulator-fixed";
-                       reg = <1>;
-                       regulator-name = "3V3";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-               };
+       reg_3v3: regulator-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
 
-               reg_can_xcvr: regulator@2 {
-                       compatible = "regulator-fixed";
-                       reg = <2>;
-                       regulator-name = "CAN XCVR";
-                       regulator-min-microvolt = <3300000>;
-                       regulator-max-microvolt = <3300000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_can_xcvr>;
-                       gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
-               };
+       reg_can_xcvr: regulator-can-xcvr {
+               compatible = "regulator-fixed";
+               regulator-name = "CAN XCVR";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_can_xcvr>;
+               gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
+       };
 
-               reg_usbh1_vbus: regulator@3 {
-                       compatible = "regulator-fixed";
-                       reg = <3>;
-                       regulator-name = "usbh1_vbus";
-                       regulator-min-microvolt = <5000000>;
-                       regulator-max-microvolt = <5000000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_usbh1_vbus>;
-                       gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-               };
+       reg_usbh1_vbus: regulator-usbh1-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usbh1_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh1_vbus>;
+               gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 
-               reg_usbotg_vbus: regulator@4 {
-                       compatible = "regulator-fixed";
-                       reg = <4>;
-                       regulator-name = "usbotg_vbus";
-                       regulator-min-microvolt = <5000000>;
-                       regulator-max-microvolt = <5000000>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_usbotg_vbus>;
-                       gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
-                       enable-active-high;
-               };
+       reg_usbotg_vbus: regulator-usbotg-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usbotg_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbotg_vbus>;
+               gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
        };
 
        sound {
 
        phy0: ethernet-phy@0 {
                interrupt-parent = <&gpio2>;
-               interrupts = <4>;
+               interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
                device_type = "ethernet-phy";
        };
 };
 
 &i2c1 {
-       pinctrl-names = "default";
+       pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c1>;
+       pinctrl-0 = <&pinctrl_i2c1_gpio>;
+       scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+       sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
        clock-frequency = <400000>;
        status = "okay";
 
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_ds1339>;
                interrupt-parent = <&gpio4>;
-               interrupts = <20 0>;
+               interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
+               trickle-resistor-ohms = <250>;
+               trickle-diode-disable;
        };
 };
 
 
                pinctrl_i2c1: i2c1grp {
                        fsl,pins = <
-                               MX53_PAD_EIM_D21__I2C1_SCL              0xc0000000
-                               MX53_PAD_EIM_D28__I2C1_SDA              0xc0000000
+                               MX53_PAD_EIM_D21__I2C1_SCL              0x400001e4
+                               MX53_PAD_EIM_D28__I2C1_SDA              0x400001e4
+                       >;
+               };
+
+               pinctrl_i2c1_gpio: i2c1-gpiogrp {
+                       fsl,pins = <
+                               MX53_PAD_EIM_D21__GPIO3_21              0x400001e6
+                               MX53_PAD_EIM_D28__GPIO3_28              0x400001e6
                        >;
                };
 
                pinctrl_i2c3: i2c3grp {
                        fsl,pins = <
-                               MX53_PAD_GPIO_3__I2C3_SCL               0xc0000000
-                               MX53_PAD_GPIO_6__I2C3_SDA               0xc0000000
+                               MX53_PAD_GPIO_3__I2C3_SCL               0x400001e4
+                               MX53_PAD_GPIO_6__I2C3_SDA               0x400001e4
+                       >;
+               };
+
+               pinctrl_i2c3_gpio: i2c3-gpiogrp {
+                       fsl,pins = <
+                               MX53_PAD_GPIO_3__GPIO1_3                0x400001e6
+                               MX53_PAD_GPIO_6__GPIO1_6                0x400001e6
                        >;
                };
 
index fc51b87ad2087022e8b8648c71fac18e00abb762..25c78f19826c823a19201e40c15604e1ae0f2707 100644 (file)
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                VDDA-supply = <&reg_3p3v>;
index 8bf0d89cdd355cf0c9484335476e08fb0fca1b5e..589a67c5f7969fb15b59e1910ea96db528dbf9e4 100644 (file)
@@ -80,7 +80,7 @@
                ports = <&ipu_di0>, <&ipu_di1>;
        };
 
-       tzic: tz-interrupt-controller@0fffc000 {
+       tzic: tz-interrupt-controller@fffc000 {
                compatible = "fsl,imx53-tzic", "fsl,tzic";
                interrupt-controller;
                #interrupt-cells = <1>;
                                reg = <0x53f00000 0x60>;
                        };
 
-                       usbphy0: usbphy@0 {
+                       usbphy0: usbphy-0 {
                                compatible = "usb-nop-xceiv";
                                clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
                                clock-names = "main_clk";
                                status = "okay";
                        };
 
-                       usbphy1: usbphy@1 {
+                       usbphy1: usbphy-1 {
                                compatible = "usb-nop-xceiv";
                                clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
                                clock-names = "main_clk";
index 0677625463d6fec91172fb251f4a49955940c108..5f0d196495d08ff23b6b2d2478f34545c7bca110 100644 (file)
@@ -52,7 +52,7 @@
                reg = <0x10000000 0x40000000>;
        };
 
-       display0: display@di0 {
+       display0: disp0 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "fsl,imx-parallel-display";
index 32a812b1839ea0cc5e3ab4451b031e6053fb9b29..cc418cecabdb3b76ef5be767184950b5d609d64f 100644 (file)
@@ -32,7 +32,7 @@
        };
 
        soc {
-               display0: display@di0 {
+               display0: disp0 {
                        compatible = "fsl,imx-parallel-display";
                        interface-pix-fmt = "rgb24";
                        pinctrl-names = "default";
index 15203f0e9725cb775dac06399ab212d12479e536..126ff964edede598c126d62b0561979f5c6a3c06 100644 (file)
@@ -21,7 +21,7 @@
        };
 
        soc {
-               display0: display@di0 {
+               display0: disp0 {
                        compatible = "fsl,imx-parallel-display";
                        interface-pix-fmt = "rgb24";
                        pinctrl-names = "default";
index 26541538562c6d937fde7b96066112c5c7463689..5705ebee05955932f8e7cfce562d5c4115b8f1ae 100644 (file)
@@ -88,7 +88,7 @@
                };
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
index 6de83c72bd7243448ca5bd0113880ce5c016fae0..971f9fc39c66c8ec22f7acf63970b7699587b29d 100644 (file)
 &can2 {
        status = "okay";
 };
+
+&i2c1 {
+       max11801: touchscreen@48 {
+               compatible = "maxim,max11801";
+               reg = <0x48>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
+       };
+};
index 275c6c05219dbdc54ba4c994459a45506608e65b..23e108204e1e7d505515fb3e8760eb2ee8da9308 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       pmic: pf0100@08 {
+       pmic: pf0100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
                interrupt-parent = <&gpio5>;
index aac42ac465b64619a82773bf097cc49051c5aa08..51a9bb9d6bc2811bc347b1553e8ba74a2f2f642f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6dl.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6DL Module on CoMpact TFT";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
+};
 
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 0>;
-               power-supply = <&reg_3v3>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               interface-pix-fmt = "rgb24";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_1>;
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&ET070001DM6>;
-
-                       ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
+&backlight {
+       pwms = <&pwm2 0 500000 0>;
+       /delete-property/ turn-on-delay-ms;
 };
 
 &can1 {
        xceiver-supply = <&reg_3v3>;
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
 &kpp {
        status = "disabled";
 };
 
+&lcd_panel {
+       compatible = "edt,etm0700g0edh6";
+};
+
 &reg_can_xcvr {
        status = "disabled";
 };
diff --git a/arch/arm/boot/dts/imx6dl-tx6s-8034-mb7.dts b/arch/arm/boot/dts/imx6dl-tx6s-8034-mb7.dts
new file mode 100644 (file)
index 0000000..fc23b4d
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6dl-tx6s-8034.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6S-8034 Module on MB7 baseboard";
+};
index ff8f7b1c42825b5f24fe16846a7a01367cae992a..9eb2ef17339c739080b9ea02b753574ba582197f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2015-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6dl.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6S-8034 Module";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
 
-       aliases {
-               display = &display;
-               ipu1 = &ipu1;
-       };
-
        cpus {
                /delete-node/ cpu@1;
        };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_lcd0_pwr>;
-               enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_2>;
-               interface-pix-fmt = "rgb24";
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&vga>;
-
-                       vga: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
 };
 
 &ds1339 {
                MX6QDL_PAD_SD3_CMD__GPIO7_IO02          0x170b0 /* SD1 CD */
        >;
 };
-
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
-&reg_lcd0_pwr {
-       status = "disabled";
-};
diff --git a/arch/arm/boot/dts/imx6dl-tx6s-8035-mb7.dts b/arch/arm/boot/dts/imx6dl-tx6s-8035-mb7.dts
new file mode 100644 (file)
index 0000000..4101c65
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6dl-tx6s-8035.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6U-8035 Module on MB7 baseboard";
+};
index f988950e9443d44b19886f12ad9d9f423556c91e..a5532ecc18c5ad9d3901f53e575483da3cbe9cc6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2015-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6dl.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6S-8035 Module";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
 
-       aliases {
-               display = &display;
-               ipu1 = &ipu1;
-       };
-
        cpus {
                /delete-node/ cpu@1;
        };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_lcd0_pwr>;
-               enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_2>;
-               interface-pix-fmt = "rgb24";
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&vga>;
-
-                       vga: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
 };
 
 &ds1339 {
        status = "disabled";
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
-&reg_lcd0_pwr {
-       status = "disabled";
-};
-
 &usdhc4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usdhc4>;
index d1f1298ec55a8f28e80a297ee9e15d62d8385d28..67ed0452f5de5c1a2437a6ccbf70b7fdcdb195e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6dl.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6U-801x Module";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
-
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_3v3>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               interface-pix-fmt = "rgb24";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_1>;
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
-};
-
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
 };
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-8033-mb7.dts b/arch/arm/boot/dts/imx6dl-tx6u-8033-mb7.dts
new file mode 100644 (file)
index 0000000..d34189f
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6dl-tx6u-8033.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6U-8033 Module on MB7 baseboard";
+};
index 4d3204a56f46114347be5943691be5917e752dab..7030b2654bbd23d33580d79679e7016671b8a0e0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6dl.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6U-8033 Module";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
-
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_lcd0_pwr>;
-               enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_2>;
-               interface-pix-fmt = "rgb24";
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&vga>;
-
-                       vga: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
 };
 
 &ds1339 {
        status = "disabled";
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
-&reg_lcd0_pwr {
-       status = "disabled";
-};
-
 &usdhc4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usdhc4>;
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-80xx-mb7.dts b/arch/arm/boot/dts/imx6dl-tx6u-80xx-mb7.dts
new file mode 100644 (file)
index 0000000..aef5fcc
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6dl-tx6u-801x.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6U-8030/-8010/-8012 Module on MB7 baseboard";
+};
index 5e0c6bb49f37a38b50ae6e849fad3898f0428c21..5342f2f5a8a856c25fbc70200212f6f6aec96ce1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6dl.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lvds.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6U-811x Module";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
-
-       aliases {
-               display = &lvds0;
-               lvds0 = &lvds0;
-               lvds1 = &lvds1;
-       };
-
-       backlight0: backlight0 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 0>;
-               power-supply = <&reg_lcd0_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       backlight1: backlight1 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm1 0 500000 0>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-};
-
-&i2c3 {
-       polytouch2: eeti@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_eeti>;
-               interrupt-parent = <&gpio3>;
-               interrupts = <22 0>;
-               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
-               wakeup-source;
-       };
-};
-
-&kpp {
-       status = "disabled"; /* pad conflict with backlight1 PWM */
-};
-
-&ldb {
-       status = "okay";
-
-       lvds0: lvds-channel@0 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&lvds_timing0>;
-                       lvds_timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-
-       lvds1: lvds-channel@1 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "disabled";
-
-               display-timings {
-                       native-mode = <&lvds_timing1>;
-                       lvds_timing1: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-};
-
-&pwm1 {
-       status = "okay";
-};
-
-&iomuxc {
-       pinctrl_eeti: eetigrp {
-               fsl,pins = <
-                       MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
-               >;
-       };
 };
index b9a783f7160e29fd177f4e4697625722ee1b9ba7..c4588fb0bf6fe492ed84f48adcc8eea5c94d9299 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2016-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
  */
 
 /dts-v1/;
-#include "imx6dl.dtsi"
-#include "imx6qdl-tx6.dtsi"
+#include "imx6dl-tx6u-811x.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
 
 / {
-       model = "Ka-Ro electronics TX6U-81xx Module on MB7 baseboard";
-       compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
-
-       aliases {
-               display = &lvds0;
-               lvds0 = &lvds0;
-               lvds1 = &lvds1;
-       };
-
-       backlight0: backlight0 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_lcd0_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       backlight1: backlight1 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-};
-
-&can1 {
-       status = "disabled";
-};
-
-&can2 {
-       xceiver-supply = <&reg_3v3>;
-};
-
-&i2c3 {
-       polytouch1: eeti@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_eeti>;
-               interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_FALLING>;
-               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
-               wakeup-source;
-       };
-};
-
-&kpp {
-       status = "disabled"; /* pads partially clash with backlight1 PWM */
-};
-
-&ldb {
-       status = "okay";
-
-       lvds0: lvds-channel@0 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&lvds0_timing1>;
-
-                       lvds0_timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       lvds0_timing1: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vfront-porch = <12>;
-                               hsync-len = <96>;
-                               vsync-len = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       lvds0_timing2: nl12880bc20 {
-                               clock-frequency = <71000000>;
-                               hactive = <1280>;
-                               vactive = <800>;
-                               hback-porch = <50>;
-                               hfront-porch = <50>;
-                               vback-porch = <5>;
-                               vfront-porch = <5>;
-                               hsync-len = <60>;
-                               vsync-len = <13>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-
-       lvds1: lvds-channel@1 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&lvds1_timing2>;
-
-                       lvds1_timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       lvds1_timing1: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vfront-porch = <12>;
-                               hsync-len = <96>;
-                               vsync-len = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       lvds1_timing2: nl12880bc20 {
-                               clock-frequency = <71000000>;
-                               hactive = <1280>;
-                               vactive = <800>;
-                               hback-porch = <50>;
-                               hfront-porch = <50>;
-                               vback-porch = <5>;
-                               vfront-porch = <5>;
-                               hsync-len = <60>;
-                               vsync-len = <13>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-};
-
-&pwm1 {
-       status = "okay";
-};
-
-&iomuxc {
-       pinctrl_eeti: eetigrp {
-               fsl,pins = <
-                       MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
-               >;
-       };
+       model = "Ka-Ro electronics TX6U-8130/-8110 Module on MB7 baseboard";
 };
diff --git a/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts b/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts
new file mode 100644 (file)
index 0000000..aa4d4fa
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-wandboard-revd1.dtsi"
+
+/ {
+       model = "Wandboard i.MX6 Dual Lite Board revD1";
+       compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";
+
+       memory {
+               reg = <0x10000000 0x40000000>;
+       };
+};
index 8475e6cc59ac63c68036987845e33f8c3e50a164..4d693a75ce98b99ba7d9c1ec57f13b4361ddba39 100644 (file)
        };
 
        soc {
-               ocram: sram@00900000 {
+               ocram: sram@900000 {
                        compatible = "mmio-sram";
                        reg = <0x00900000 0x20000>;
                        clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
-               aips1: aips-bus@02000000 {
-                       iomuxc: iomuxc@020e0000 {
+               aips1: aips-bus@2000000 {
+                       iomuxc: iomuxc@20e0000 {
                                compatible = "fsl,imx6dl-iomuxc";
                        };
 
-                       pxp: pxp@020f0000 {
+                       pxp: pxp@20f0000 {
                                reg = <0x020f0000 0x4000>;
                                interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       epdc: epdc@020f4000 {
+                       epdc: epdc@20f4000 {
                                reg = <0x020f4000 0x4000>;
                                interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       lcdif: lcdif@020f8000 {
+                       lcdif: lcdif@20f8000 {
                                reg = <0x020f8000 0x4000>;
                                interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               aips2: aips-bus@02100000 {
-                       i2c4: i2c@021f8000 {
+               aips2: aips-bus@2100000 {
+                       i2c4: i2c@21f8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
index 4bbfe3d6102756178a14e76a4b60b1c02dfead96..8b56656e53da8c50ff9a9ba4468d280b2250780b 100644 (file)
@@ -76,7 +76,7 @@
                };
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
index a35c7a54ad3b5484be85987024d771e42fb01bb1..27dc0fc686a918b75dc9ac37db5e670560c97217 100644 (file)
@@ -77,7 +77,7 @@
                };
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
index 60d33e99de76037cf546c8000ade4304c959c1c6..40b2c67fe7af2c1511c19de5171ac55541be442b 100644 (file)
@@ -76,7 +76,7 @@
                };
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
index 1015e55ca8f7bd9eaa2edf68ed499f577fbac083..b915837bbb5f7f867aad5fc27d39898a034ce4fb 100644 (file)
                        #size-cells = <0>;
                        reg = <0x3>;
 
-                       sgtl5000: codec@0a {
+                       sgtl5000: codec@a {
                                compatible = "fsl,sgtl5000";
                                reg = <0x0a>;
                                clocks = <&mclk>;
index fe6ab0aa34f9dd5f7b5d0fb19b6c9be4858fb9d9..bc7587c383f687b72abc736809a7826e73840dca 100644 (file)
@@ -77,8 +77,7 @@
                regulator-name = "regulator-pcie-power-on-gpio";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-               gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
-               enable-active-high;
+               gpio = <&gpio2 24 GPIO_ACTIVE_LOW>;
        };
 
        reg_usb_h1_vbus: usb_h1_vbus {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pcie>;
        reset-gpio = <&gpio1 26 GPIO_ACTIVE_LOW>;
-       vdd-supply = <&reg_pcie_power_on_gpio>;
+       vpcie-supply = <&reg_pcie_power_on_gpio>;
        status = "okay";
 };
 
diff --git a/arch/arm/boot/dts/imx6q-display5-tianma-tm070-1280x768.dts b/arch/arm/boot/dts/imx6q-display5-tianma-tm070-1280x768.dts
new file mode 100644 (file)
index 0000000..16658b7
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2017
+ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is licensed under the terms of the GNU General Public
+ *     License version 2.  This program is licensed "as is" without
+ *     any warranty of any kind, whether express or implied.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6q-display5.dtsi"
+
+&panel {
+       compatible = "tianma,tm070jdhg30";
+};
+
+&ldb {
+       lvds0: lvds-channel@0 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <18>;
+       };
+};
diff --git a/arch/arm/boot/dts/imx6q-display5.dtsi b/arch/arm/boot/dts/imx6q-display5.dtsi
new file mode 100644 (file)
index 0000000..4084de4
--- /dev/null
@@ -0,0 +1,596 @@
+/*
+ * Copyright 2017
+ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is licensed under the terms of the GNU General Public
+ *     License version 2.  This program is licensed "as is" without
+ *     any warranty of any kind, whether express or implied.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6q.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/sound/fsl-imx-audmux.h>
+
+/ {
+       model = "Liebherr (LWN) display5 i.MX6 Quad Board";
+       compatible = "lwn,display5", "fsl,imx6q";
+
+       memory {
+               reg = <0x10000000 0x40000000>;
+       };
+
+       backlight_lvds: backlight {
+               compatible = "pwm-backlight";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_backlight>;
+               pwms = <&pwm2 0 5000000 0>;
+               brightness-levels = <  0   1   2   3   4   5   6   7   8   9
+                                     10  11  12  13  14  15  16  17  18  19
+                                     20  21  22  23  24  25  26  27  28  29
+                                     30  31  32  33  34  35  36  37  38  39
+                                     40  41  42  43  44  45  46  47  48  49
+                                     50  51  52  53  54  55  56  57  58  59
+                                     60  61  62  63  64  65  66  67  68  69
+                                     70  71  72  73  74  75  76  77  78  79
+                                     80  81  82  83  84  85  86  87  88  89
+                                     90  91  92  93  94  95  96  97  98  99
+                                    100 101 102 103 104 105 106 107 108 109
+                                    110 111 112 113 114 115 116 117 118 119
+                                    120 121 122 123 124 125 126 127 128 129
+                                    130 131 132 133 134 135 136 137 138 139
+                                    140 141 142 143 144 145 146 147 148 149
+                                    150 151 152 153 154 155 156 157 158 159
+                                    160 161 162 163 164 165 166 167 168 169
+                                    170 171 172 173 174 175 176 177 178 179
+                                    180 181 182 183 184 185 186 187 188 189
+                                    190 191 192 193 194 195 196 197 198 199
+                                    200 201 202 203 204 205 206 207 208 209
+                                    210 211 212 213 214 215 216 217 218 219
+                                    220 221 222 223 224 225 226 227 228 229
+                                    230 231 232 233 234 235 236 237 238 239
+                                    240 241 242 243 244 245 246 247 248 249
+                                    250 251 252 253 254 255>;
+               default-brightness-level = <250>;
+               enable-gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+       };
+
+       reg_lvds: regulator-lvds {
+               compatible = "regulator-fixed";
+               regulator-name = "lvds_ppen";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               regulator-always-on;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_reg_lvds>;
+               gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_usbh1_vbus: usb-h1-vbus {
+               compatible = "regulator-fixed";
+               gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh1_vbus>;
+               regulator-name = "usb_h1_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-enable-ramp-delay = <300000>;
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               label = "tfa9879-mono";
+
+               simple-audio-card,dai-link {
+                       /* DAC */
+                       format = "i2s";
+                       bitclock-master = <&dailink_master>;
+                       frame-master = <&dailink_master>;
+
+                       dailink_master: cpu {
+                           sound-dai = <&ssi2>;
+                       };
+                       codec {
+                           sound-dai = <&codec>;
+                       };
+               };
+       };
+
+       panel: panel-lvds0 {
+               backlight = <&backlight_lvds>;
+               power-supply = <&reg_lvds>;
+
+               port {
+                       panel_in_lvds0: endpoint {
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
+       };
+};
+
+&audmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_audmux>;
+       status = "okay";
+
+       ssi2 {
+               fsl,audmux-port = <1>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_SYN |
+                        IMX_AUDMUX_V2_PTCR_TFSEL(5) |
+                        IMX_AUDMUX_V2_PTCR_TCSEL(5) |
+                        IMX_AUDMUX_V2_PTCR_TFSDIR |
+                        IMX_AUDMUX_V2_PTCR_TCLKDIR)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(5)
+               >;
+       };
+
+       aud6 {
+               fsl,audmux-port = <5>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_RFSEL(8) |
+                        IMX_AUDMUX_V2_PTCR_RCSEL(8) |
+                        IMX_AUDMUX_V2_PTCR_TFSEL(1) |
+                        IMX_AUDMUX_V2_PTCR_TCSEL(1) |
+                        IMX_AUDMUX_V2_PTCR_RFSDIR |
+                        IMX_AUDMUX_V2_PTCR_RCLKDIR |
+                        IMX_AUDMUX_V2_PTCR_TFSDIR |
+                        IMX_AUDMUX_V2_PTCR_TCLKDIR)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(1)
+               >;
+       };
+};
+
+&ecspi2 {
+       cs-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs &pinctrl_ecspi2_flwp>;
+       status = "okay";
+
+       s25fl256s: flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               spi-max-frequency = <40000000>;
+               reg = <0>;
+
+               partition@0 {
+                       label = "SPL (spi)";
+                       reg = <0x0 0x20000>;
+                       read-only;
+               };
+               partition@1 {
+                       label = "u-boot (spi)";
+                       reg = <0x20000 0x100000>;
+                       read-only;
+               };
+               partition@2 {
+                       label = "uboot-env (spi)";
+                       reg = <0x120000 0x10000>;
+               };
+               partition@3 {
+                       label = "uboot-envr (spi)";
+                       reg = <0x130000 0x10000>;
+               };
+               partition@4 {
+                       label = "linux-recovery (spi)";
+                       reg = <0x140000 0x800000>;
+               };
+               partition@5 {
+                       label = "swupdate-fitImg (spi)";
+                       reg = <0x940000 0x400000>;
+               };
+               partition@6 {
+                       label = "swupdate-initramfs (spi)";
+                       reg = <0xD40000 0x800000>;
+               };
+       };
+};
+
+&ecspi3 {
+       cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi3 &pinctrl_ecspi3_cs &pinctrl_ecspi3_flwp>;
+       status = "okay";
+};
+
+&fec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_enet>;
+       phy-handle = <&ethernet_phy0>;
+       phy-mode = "rgmii-id";
+       status = "okay";
+
+       mdio {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               ethernet_phy0: ethernet-phy@0 {
+                       compatible = "marvell,88E1510";
+                       device_type = "ethernet-phy";
+                       /* Set LED0 control: */
+                       /* On - Link, Blink - Activity, Off - No Link */
+                       marvell,reg-init = <3 0x10 0 0x1011>;
+                       max-speed = <100>;
+                       reg = <0>;
+               };
+       };
+};
+
+&i2c1 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+
+       codec: tfa9879@6C {
+               #sound-dai-cells = <0>;
+               compatible = "nxp,tfa9879";
+               reg = <0x6C>;
+       };
+};
+
+&i2c2 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+};
+
+&i2c3 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+
+       at24@50 {
+               compatible = "atmel,24c256";
+               pagesize = <64>;
+               reg = <0x50>;
+       };
+
+       pfuze100: pmic@8 {
+               compatible = "fsl,pfuze100";
+               reg = <0x08>;
+
+               regulators {
+                       sw1a_reg: sw1ab {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw1c_reg: sw1c {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3950000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3a_reg: sw3a {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3b_reg: sw3b {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw4_reg: sw4 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       swbst_reg: swbst {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5150000>;
+                       };
+
+                       snvs_reg: vsnvs {
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vref_reg: vrefddr {
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       vgen4_reg: vgen4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen5_reg: vgen5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen6_reg: vgen6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+               };
+       };
+};
+
+&ldb {
+       status = "okay";
+
+       lvds0: lvds-channel@0 {
+               status = "okay";
+
+               port@4 {
+                       reg = <4>;
+
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&panel_in_lvds0>;
+                       };
+               };
+       };
+};
+
+&pwm2 {
+       #pwm-cells = <3>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm2>;
+       status = "okay";
+};
+
+&ssi2 {
+       status = "okay";
+};
+
+&uart4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart4>;
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       status = "okay";
+};
+
+&usbh1 {
+       vbus-supply = <&reg_usbh1_vbus>;
+       pinctrl-0 = <&pinctrl_usbh1>;
+       status = "okay";
+};
+
+&usdhc4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc4>;
+       bus-width = <8>;
+       non-removable;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       /* I2S OUTPUT AUD6*/
+                       MX6QDL_PAD_DI0_PIN4__AUD6_RXD  0x130b0
+                       MX6QDL_PAD_DI0_PIN2__AUD6_TXD  0x130b0
+                       MX6QDL_PAD_DI0_PIN3__AUD6_TXFS  0x130b0
+                       MX6QDL_PAD_DI0_PIN15__AUD6_TXC  0x130b0
+               >;
+       };
+
+       pinctrl_backlight: dispgrp {
+               fsl,pins = <
+                       /* BLEN_OUT */
+                       MX6QDL_PAD_DISP0_DAT13__GPIO5_IO07    0x1b0b0
+               >;
+       };
+
+       pinctrl_ecspi2: ecspi2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT10__ECSPI2_MISO      0x100b1
+                       MX6QDL_PAD_CSI0_DAT9__ECSPI2_MOSI       0x100b1
+                       MX6QDL_PAD_CSI0_DAT8__ECSPI2_SCLK       0x100b1
+               >;
+       };
+
+       pinctrl_ecspi2_cs: ecspi2csgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT11__GPIO5_IO29 0x100b1
+               >;
+       };
+
+       pinctrl_ecspi2_flwp: ecspi2flwpgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0
+               >;
+       };
+
+       pinctrl_ecspi3: ecspi3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO      0x100b1
+                       MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI      0x100b1
+                       MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK      0x100b1
+               >;
+       };
+
+       pinctrl_ecspi3_cs: ecspi3csgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x1b0b0
+               >;
+       };
+
+       pinctrl_ecspi3_flwp: ecspi3flwpgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT6__GPIO4_IO27 0x1b0b0
+               >;
+       };
+
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b0b0
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b0b0
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b0b0
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b0b0
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b0b0
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b0b0
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b0b0
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b0b0
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b0b0
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b0b0
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
+                       MX6QDL_PAD_GPIO_6__ENET_IRQ             0x000b1
+                       MX6QDL_PAD_ENET_RXD0__GPIO1_IO27        0x1b0b0
+               >;
+       };
+
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL    0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA    0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_EB2__I2C2_SCL    0x4001b8b1
+                       MX6QDL_PAD_EIM_D16__I2C2_SDA    0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D17__I2C3_SCL    0x4001b8b1
+                       MX6QDL_PAD_EIM_D18__I2C3_SDA    0x4001b8b1
+               >;
+       };
+
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT9__PWM2_OUT 0x1b0b1
+               >;
+       };
+
+       pinctrl_reg_lvds: reqlvdsgrp {
+               fsl,pins = <
+                       /* LVDS_PPEN_OUT */
+                       MX6QDL_PAD_DISP0_DAT19__GPIO5_IO13      0x1b0b0
+               >;
+       };
+
+       pinctrl_uart4: uart4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B      0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B      0x1b0b1
+               >;
+       };
+
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA    0x1b0b1
+               >;
+       };
+
+       pinctrl_usbh1: usbh1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D30__USB_H1_OC  0x030b0
+               >;
+       };
+
+       pinctrl_usbh1_vbus: usbh1_vbus_grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0
+               >;
+       };
+
+       pinctrl_usdhc4: usdhc4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_CMD__SD4_CMD             0x17059
+                       MX6QDL_PAD_SD4_CLK__SD4_CLK             0x10059
+                       MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x17059
+                       MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x17059
+                       MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x17059
+                       MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x17059
+                       MX6QDL_PAD_SD4_DAT4__SD4_DATA4          0x17059
+                       MX6QDL_PAD_SD4_DAT5__SD4_DATA5          0x17059
+                       MX6QDL_PAD_SD4_DAT6__SD4_DATA6          0x17059
+                       MX6QDL_PAD_SD4_DAT7__SD4_DATA7          0x17059
+                       MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x17059
+               >;
+       };
+};
index 33eb7f180995dfccbd483d4e140e3b63902753a8..f0316ea96898d31fba547c5c95d57aa7ebd606be 100644 (file)
                     &pinctrl_pfuze>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
                interrupt-parent = <&gpio3>;
index 9dbeea05a9495f6fc2b5e56b55659508ca1230df..29adaa7c72f84cc4efb327df156f8af584337491 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
                reg = <0x1c>;
        };
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       touchscreen: egalax_ts@04 {
+       touchscreen: egalax_ts@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio7>;
 };
 
 &iomuxc {
-       imx6q-gw5400-a {
-
-               pinctrl_audmux: audmuxgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
-                               MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
-                               MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
-                               MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
-                       >;
-               };
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
+                       MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
+                       MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
+                       MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                       MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
+               >;
+       };
 
-               pinctrl_ecspi1: ecspi1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
-                               MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
-                               MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
-                               MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x1b0b0 /* SPINOR_CS0# */
-                       >;
-               };
+       pinctrl_ecspi1: ecspi1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
+                       MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
+                       MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
+                       MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x1b0b0 /* SPINOR_CS0# */
+               >;
+       };
 
-               pinctrl_enet: enetgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
-                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
-                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
-                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
-                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
-                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
-                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
-                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
-                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
-                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
-                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
-                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
-                               MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
-                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
-                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
-                               MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
-                       >;
-               };
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+               >;
+       };
 
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0 /* user1 led */
-                               MX6QDL_PAD_KEY_COL2__GPIO4_IO10         0x1b0b0 /* user2 led */
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0 /* user3 led */
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0 /* user1 led */
+                       MX6QDL_PAD_KEY_COL2__GPIO4_IO10         0x1b0b0 /* user2 led */
+                       MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0 /* user3 led */
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
+                       MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
+               >;
+       };
 
-               pinctrl_pps: ppsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_5__GPIO1_IO05           0x1b0b0 /* GPS_PPS */
-                       >;
-               };
+       pinctrl_pps: ppsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_5__GPIO1_IO05           0x1b0b0 /* GPS_PPS */
+               >;
+       };
 
-               pinctrl_uart1: uart1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart5: uart5grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_usbotg: usbotggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
-                       >;
-               };
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
+               >;
+       };
 
-               pinctrl_usdhc3: usdhc3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
-                       >;
-               };
+       pinctrl_usdhc3: usdhc3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
+               >;
        };
 };
index 8f9252889971a1421f28d05fde46e7956d0a6230..a3269f57df2b5ce74fc036b8d69b25e2fbb273bb 100644 (file)
                reg = <0x68>;
        };
 
-       sgtl5000: sgtl5000@0a {
+       sgtl5000: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                pinctrl-names = "default";
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       tc358743: tc358743@0f {
+       tc358743: tc358743@f {
                compatible = "toshiba,tc358743";
                reg = <0x0f>;
                pinctrl-names = "default";
index e451b4ceb4d81ef1972f0b1f51a782cf3bf94a1c..b81f48c6a8c68a9eab475e989db3297d73cf39ac 100644 (file)
 / {
        model = "Engicam i.CoreM6 Quad/Dual RQS Starter Kit";
        compatible = "engicam,imx6-icore-rqs", "fsl,imx6q";
-
-       sound {
-               compatible = "fsl,imx-audio-sgtl5000";
-               model = "imx-audio-sgtl5000";
-               ssi-controller = <&ssi1>;
-               audio-codec = <&codec>;
-               audio-routing =
-                       "MIC_IN", "Mic Jack",
-                       "Mic Jack", "Mic Bias",
-                       "Headphone Jack", "HP_OUT";
-               mux-int-port = <1>;
-               mux-ext-port = <4>;
-       };
-};
-
-&i2c3 {
-       codec: sgtl5000@0a {
-               compatible = "fsl,sgtl5000";
-               reg = <0x0a>;
-               clocks = <&clks IMX6QDL_CLK_CKO>;
-               VDDA-supply = <&reg_2p5v>;
-               VDDIO-supply = <&reg_3p3v>;
-               VDDD-supply = <&reg_1p8v>;
-       };
 };
 
 &sata {
index eedbe737420c8472ac030b25744875033c418790..cab36f48d5f109e9a3a6f434a5703591ce1660d0 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       pfuze100: pmic@08 {
+       pfuze100: pmic@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
index d83cfb6ec598993831d5447fb89803107fe45edc..7d7dc59507cfd0bf3e2e55d3d64a2107fdb729dd 100644 (file)
                regulator-max-microvolt = <1500000>;
                gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
                enable-active-high;
-               regulator-always-on;
        };
 
        reg_sata: regulator-sata {
                reg = <0x68>;
        };
 
-       sbs_battery: bq20z75@0b {
+       sbs_battery: bq20z75@b {
                compatible = "sbs,sbs-battery";
                reg = <0x0b>;
                sbs,i2c-retry-count = <50>;
        pinctrl-0 = <&pinctrl_i2c2_novena>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pcie_novena>;
        reset-gpio = <&gpio3 29 GPIO_ACTIVE_LOW>;
+       vpcie-supply = <&reg_pcie>;
        status = "okay";
 };
 
diff --git a/arch/arm/boot/dts/imx6q-pistachio.dts b/arch/arm/boot/dts/imx6q-pistachio.dts
new file mode 100644 (file)
index 0000000..1effb58
--- /dev/null
@@ -0,0 +1,693 @@
+/*
+ * Copyright (C) 2017 NutsBoard.Org
+ *
+ * Author: Wig Cheng <onlywig@gmail.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include "imx6q.dtsi"
+
+/ {
+       model = "NutsBoard i.MX6 Quad Pistachio board";
+       compatible = "nutsboard,imx6q-pistachio", "fsl,imx6q";
+
+       chosen {
+               stdout-path = &uart4;
+       };
+
+       memory: memory {
+               reg = <0x10000000 0x80000000>;
+       };
+
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "3P3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       reg_1p8v: regulator-1p8v {
+               compatible = "regulator-fixed";
+               regulator-name = "1P8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       wlan_en_reg: regulator-wlan_en {
+               compatible = "regulator-fixed";
+               regulator-name = "wlan-en-regulator";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
+               startup-delay-us = <70000>;
+               enable-active-high;
+       };
+
+       reg_usb_otg_vbus: regulator-usb_vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb_otg_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&swbst_reg>;
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_keys>;
+
+               power {
+                       label = "Power Button";
+                       gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
+                       gpio-key,wakeup;
+                       linux,code = <KEY_POWER>;
+               };
+       };
+
+       sound {
+               compatible = "fsl,imx-sgtl5000",
+                          "fsl,imx-audio-sgtl5000";
+               model = "audio-sgtl5000";
+               ssi-controller = <&ssi1>;
+               audio-codec = <&codec>;
+               audio-routing =
+                       "MIC_IN", "Mic Jack",
+                       "Mic Jack", "Mic Bias",
+                       "Headphone Jack", "HP_OUT";
+               mux-int-port = <1>;
+               mux-ext-port = <3>;
+       };
+
+       backlight_lvds: backlight-lvds {
+               compatible = "pwm-backlight";
+               pwms = <&pwm1 0 50000>;
+               brightness-levels = <
+                       0  /*1  2  3  4  5  6*/  7  8  9
+                       10 11 12 13 14 15 16 17 18 19
+                       20 21 22 23 24 25 26 27 28 29
+                       30 31 32 33 34 35 36 37 38 39
+                       40 41 42 43 44 45 46 47 48 49
+                       50 51 52 53 54 55 56 57 58 59
+                       60 61 62 63 64 65 66 67 68 69
+                       70 71 72 73 74 75 76 77 78 79
+                       80 81 82 83 84 85 86 87 88 89
+                       90 91 92 93 94 95 96 97 98 99
+                       100
+               >;
+               default-brightness-level = <94>;
+               status = "okay";
+       };
+
+       panel {
+               compatible = "hannstar,hsd100pxn1";
+               backlight = <&backlight_lvds>;
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
+       };
+};
+
+&audmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_audmux>;
+       status = "okay";
+};
+
+&can2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       status = "okay";
+};
+
+&clks {
+       assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
+                         <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
+       assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
+                                <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
+};
+
+&fec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_enet>;
+       phy-mode = "rgmii";
+       status = "okay";
+};
+
+&hdmi {
+       ddc-i2c-bus = <&i2c2>;
+       status = "okay";
+};
+
+&i2c1 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+
+       codec: sgtl5000@a {
+               compatible = "fsl,sgtl5000";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c1_sgtl5000>;
+               reg = <0x0a>;
+               clocks = <&clks IMX6QDL_CLK_CKO>;
+               VDDA-supply = <&reg_1p8v>;
+               VDDIO-supply = <&reg_1p8v>;
+       };
+};
+
+&i2c2 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c2>;
+       status = "okay";
+
+       pmic: pfuze100@8 {
+               compatible = "fsl,pfuze100";
+               reg = <0x08>;
+
+               regulators {
+                       sw1a_reg: sw1ab {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw1c_reg: sw1c {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw3a_reg: sw3a {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3b_reg: sw3b {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw4_reg: sw4 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       swbst_reg: swbst {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5150000>;
+                       };
+
+                       snvs_reg: vsnvs {
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vref_reg: vrefddr {
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       vgen4_reg: vgen4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen5_reg: vgen5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+                       vgen6_reg: vgen6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+               };
+       };
+
+       ar1021@4d {
+               compatible = "microchip,ar1021-i2c";
+               reg = <0x4d>;
+               interrupt-parent = <&gpio6>;
+               interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+       };
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl-names = "default";
+
+       pinctrl_hog: hoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x1b0b0  /*pcie power*/
+                       MX6QDL_PAD_EIM_A25__GPIO5_IO02  0x1b0b0   /*LCD power*/
+                       MX6QDL_PAD_EIM_D16__GPIO3_IO16  0x1b0b0   /*backlight power*/
+                       MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x1b0b1 /*SD3 CD pin*/
+                       MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x1b0b0 /*codec power*/
+                       MX6QDL_PAD_EIM_A16__GPIO2_IO22  0x1b0b0 /*touch reset*/
+                       MX6QDL_PAD_NANDF_ALE__GPIO6_IO08        0x1b0b01 /*touch irq*/
+                       MX6QDL_PAD_GPIO_7__GPIO1_IO07    0x1b0b0/*backlight pwr*/
+                       MX6QDL_PAD_GPIO_16__GPIO7_IO11  0x1b0b0 /*gpio 5V_1*/
+                       MX6QDL_PAD_EIM_A19__GPIO2_IO19  0x1b0b0 /*gpio 5V_2*/
+                       MX6QDL_PAD_EIM_A24__GPIO5_IO04  0x1b0b0 /*gpio 5V_3*/
+                       MX6QDL_PAD_GPIO_17__GPIO7_IO12  0x1b0b0 /*gpio 5V_4*/
+                       MX6QDL_PAD_NANDF_CLE__GPIO6_IO07        0x1b0b0 /*AUX_5V_EN*/
+                       MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09       0x1b0b0 /*AUX_5VB_EN*/
+                       MX6QDL_PAD_NANDF_RB0__GPIO6_IO10        0x1b0b0 /*AUX_3V3_EN*/
+                       MX6QDL_PAD_EIM_D21__GPIO3_IO21  0x1b0b0 /*I2C expander pwr*/
+               >;
+       };
+
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT7__AUD3_RXD          0x130b0
+                       MX6QDL_PAD_CSI0_DAT4__AUD3_TXC          0x130b0
+                       MX6QDL_PAD_CSI0_DAT5__AUD3_TXD          0x110b0
+                       MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS         0x130b0
+               >;
+       };
+
+       pinctrl_ecspi1: ecspi1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__ECSPI1_MISO        0x100b1
+                       MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI        0x100b1
+                       MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK        0x100b1
+                       MX6QDL_PAD_KEY_ROW1__GPIO4_IO09         0x1b0b0
+               >;
+       };
+
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b8b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       /* AR8035 reset */
+                       MX6QDL_PAD_EIM_A20__GPIO2_IO18          0x130b0
+                       /* AR8035 interrupt */
+                       MX6QDL_PAD_EIM_CS0__GPIO2_IO23          0x1b0b1
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                       /* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x0a0b1
+                       /* AR8035 pin strapping: IO voltage: pull up */
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                       /* AR8035 pin strapping: PHYADDR#0: pull down */
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x13030
+                       /* AR8035 pin strapping: PHYADDR#1: pull down */
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x13030
+                       /* AR8035 pin strapping: MODE#1: pull up */
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                       /* AR8035 pin strapping: MODE#3: pull up */
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                       /* AR8035 pin strapping: MODE#0: pull down */
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x13030
+               >;
+       };
+
+       pinctrl_flexcan2: flexcan2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX        0x1b0b0
+                       MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX        0x1b0b0
+               >;
+       };
+
+       pinctrl_gpio_keys: gpio_keysgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x1b0b0
+               >;
+       };
+
+       pinctrl_hdmi_cec: hdmicecgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x108b0
+               >;
+       };
+
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT8__I2C1_SDA          0x4001b8b1
+                       MX6QDL_PAD_CSI0_DAT9__I2C1_SCL          0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c1_sgtl5000: i2c1-sgtl5000grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_0__CCM_CLKO1                    0x000b0 /* sys_mclk */
+                       MX6QDL_PAD_SD3_RST__GPIO7_IO08          0x130b0 /*headphone det*/
+                       MX6QDL_PAD_GPIO_8__GPIO1_IO08                   0x130b0 /*microphone det*/
+               >;
+       };
+
+       pinctrl_pwm1: pwm1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_9__PWM1_OUT         0x1b0b1
+               >;
+       };
+
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT10__UART1_RX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT11__UART1_TX_DATA    0x1b0b1
+                       MX6QDL_PAD_EIM_D20__UART1_CTS_B 0x1b0b1
+                       MX6QDL_PAD_EIM_D19__UART1_RTS_B 0x1b0b1
+                       MX6QDL_PAD_EIM_D23__UART1_DCD_B 0x1b0b0
+                       MX6QDL_PAD_EIM_D24__UART1_DTR_B 0x1b0b0
+                       MX6QDL_PAD_EIM_D25__UART1_DSR_B 0x1b0b0
+               >;
+       };
+
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D26__UART2_TX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D27__UART2_RX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D28__UART2_CTS_B 0x1b0b1
+                       MX6QDL_PAD_EIM_D29__UART2_RTS_B 0x1b0b1
+               >;
+       };
+
+       pinctrl_uart3: uart3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_CLK__UART3_RX_DATA       0x1b0b1
+                       MX6QDL_PAD_SD4_CMD__UART3_TX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D30__UART3_CTS_B         0x1b0b1
+                       MX6QDL_PAD_EIM_D31__UART3_RTS_B         0x1b0b1
+               >;
+       };
+
+       pinctrl_uart4: uart4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B      0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B      0x1b0b1
+               >;
+       };
+
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA    0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B      0x1b0b1
+                       MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B      0x1b0b1
+                       MX6QDL_PAD_EIM_A21__GPIO2_IO17           0x15059 /*BT_EN*/
+               >;
+       };
+
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID       0x17059
+               >;
+       };
+
+       pinctrl_usdhc1: usdhc1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_CMD__SD1_CMD             0x17059
+                       MX6QDL_PAD_SD1_CLK__SD1_CLK             0x10059
+                       MX6QDL_PAD_SD1_DAT0__SD1_DATA0          0x17059
+                       MX6QDL_PAD_SD1_DAT1__SD1_DATA1          0x17059
+                       MX6QDL_PAD_SD1_DAT2__SD1_DATA2          0x17059
+                       MX6QDL_PAD_SD1_DAT3__SD1_DATA3          0x17059
+                       MX6QDL_PAD_NANDF_D0__SD1_DATA4          0x17059
+                       MX6QDL_PAD_NANDF_D1__SD1_DATA5          0x17059
+                       MX6QDL_PAD_NANDF_D2__SD1_DATA6          0x17059
+                       MX6QDL_PAD_NANDF_D3__SD1_DATA7          0x17059
+               >;
+       };
+
+       pinctrl_usdhc2: usdhc2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17059
+                       MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10059
+                       MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17059
+                       MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17059
+                       MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17059
+                       MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17059
+                       MX6QDL_PAD_EIM_RW__GPIO2_IO26                   0x15059 /*WL_EN_LDO*/
+                       MX6QDL_PAD_EIM_CS1__GPIO2_IO24          0x15059 /*WL_EN*/
+                       MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18      0x15059 /*WL_IRQ*/
+               >;
+       };
+
+       pinctrl_usdhc3: usdhc3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17071
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10071
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17071
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17071
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17071
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17071
+               >;
+       };
+
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__WDOG2_B      0x1b0b00
+               >;
+       };
+};
+
+&ldb {
+       status = "okay";
+
+       lvds-channel@1 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <18>;
+               status = "okay";
+
+               port@4 {
+                       reg = <4>;
+
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&panel_in>;
+                       };
+               };
+       };
+};
+
+&pwm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm1>;
+       status = "okay";
+};
+
+&snvs_poweroff {
+       status = "okay";
+};
+
+&ssi1 {
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       uart-has-rtscts;
+       fsl,dte-mode;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3>;
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&uart4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart4>;
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5>;
+       fsl,uart-has-rtscts;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usb_otg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       disable-over-current;
+       srp-disable;
+       hnp-disable;
+       adp-disable;
+       status = "okay";
+};
+
+&usbh1 {
+       status = "okay";
+};
+
+&usbphy1 {
+       fsl,tx-d-cal = <0x5>;
+};
+
+&usbphy2 {
+       fsl,tx-d-cal = <0x5>;
+};
+
+&usdhc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc1>;
+       bus-width = <8>;
+       keep-power-in-suspend;
+       vmmc-supply = <&reg_3p3v>;
+       status = "okay";
+};
+
+&usdhc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc2>;
+       bus-width = <4>;
+       vmmc-supply = <&wlan_en_reg>;
+       no-1-8-v;
+       keep-power-in-suspend;
+       non-removable;
+       cap-power-off-card;
+       status = "okay";
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+       wlcore: wlcore@2 {
+               compatible = "ti,wl1835";
+               reg = <2>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
+               ref-clock-frequency = <38400000>;
+               tcxo-clock-frequency = <26000000>;
+       };
+};
+
+&usdhc3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc3>;
+       bus-width = <4>;
+       cd-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+       no-1-8-v;
+       keep-power-in-suspend;
+       wakeup-source;
+       status = "okay";
+};
+
+&sata {
+       status = "okay";
+};
+
+&wdog1 {
+       status = "okay";
+};
index 06f492e17ca70edc3de4aa21fbe5357397febaeb..a3cd7afac20a8c764497a07404fce94529b4297b 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       sgtl5000: sgtl5000@0a {
+       sgtl5000: sgtl5000@a {
                clocks = <&clks IMX6QDL_CLK_CKO>;
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
index 71746edc2ee9218d21cd8a738188ff24370862b0..ac3050a835e5502bf24ed3f04dc6500003d534f8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6q.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6Q-1010 Module on CoMpact TFT";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+};
 
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 0>;
-               power-supply = <&reg_3v3>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               interface-pix-fmt = "rgb24";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_1>;
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&ET070001DM6>;
-
-                       ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
+&backlight {
+       pwms = <&pwm2 0 500000 0>;
+       /delete-property/ turn-on-delay-ms;
 };
 
 &can1 {
        xceiver-supply = <&reg_3v3>;
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
 &kpp {
        status = "disabled";
 };
 
+&lcd_panel {
+       compatible = "edt,etm0700g0edh6";
+};
+
 &reg_can_xcvr {
        status = "disabled";
 };
index f9cd21a41a797c8b2dc81a04f1485de650611e3e..4ee860b626ff6842d23ee3971d1a85b21416f79c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6q.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
-       model = "Ka-Ro electronics TX6Q-1010 Module";
+       model = "Ka-Ro electronics TX6Q-1010/-1030 Module";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
-
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_3v3>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               interface-pix-fmt = "rgb24";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_1>;
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
+&ipu2 {
+       status = "disabled";
 };
index 959ff3fb7304e4c3aef373eb6801e54ddb086d90..a773f252816cb54091a60189be147c6d92616a03 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6q.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6Q-1020 Module on CoMpact TFT";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+};
 
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 0>;
-               power-supply = <&reg_3v3>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               interface-pix-fmt = "rgb24";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_1>;
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&ET070001DM6>;
-
-                       ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
+&backlight {
+       pwms = <&pwm2 0 500000 0>;
+       /delete-property/ turn-on-delay-ms;
 };
 
 &can1 {
        status = "disabled";
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
 &kpp {
        status = "disabled";
 };
 
+&lcd_panel {
+       compatible = "edt,etm0700g0edh6";
+};
+
 &reg_can_xcvr {
        status = "disabled";
 };
index b49133d25d80995e7a38d87195fc1c588c753efc..0a4daec8d3ad3abd733892febf7ab11029bc47ff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6q.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6Q-1020 Module";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
-
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_3v3>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               interface-pix-fmt = "rgb24";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_1>;
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
 };
 
 &ds1339 {
        status = "disabled";
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
+&ipu2 {
+       status = "disabled";
 };
 
 &usdhc4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usdhc4>;
        bus-width = <4>;
+       non-removable;
        no-1-8-v;
        fsl,wp-controller;
        status = "okay";
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1036-mb7.dts b/arch/arm/boot/dts/imx6q-tx6q-1036-mb7.dts
new file mode 100644 (file)
index 0000000..9ffbb0f
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6q-tx6q-1036.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1036 Module on MB7 baseboard";
+};
index 7c152e32758cbc63b634daa37b55c0c44a947d01..cb2fcb4896c6590efae1c8e411eca573426243aa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6q.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6Q-1036 Module";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
-
-       aliases {
-               display = &display;
-       };
-
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_lcd0_pwr>;
-               enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       display: display@di0 {
-               compatible = "fsl,imx-parallel-display";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_disp0_2>;
-               interface-pix-fmt = "rgb24";
-               status = "okay";
-
-               port {
-                       display0_in: endpoint {
-                               remote-endpoint = <&ipu1_di0_disp0>;
-                       };
-               };
-
-               display-timings {
-                       native-mode = <&vga>;
-
-                       vga: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hsync-len = <96>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vsync-len = <2>;
-                               vfront-porch = <12>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETV570 {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <114>;
-                               hsync-len = <30>;
-                               hfront-porch = <16>;
-                               vback-porch = <32>;
-                               vsync-len = <3>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0350 {
-                               clock-frequency = <6413760>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <34>;
-                               hsync-len = <34>;
-                               hfront-porch = <20>;
-                               vback-porch = <15>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0430 {
-                               clock-frequency = <9009000>;
-                               hactive = <480>;
-                               vactive = <272>;
-                               hback-porch = <2>;
-                               hsync-len = <41>;
-                               hfront-porch = <2>;
-                               vback-porch = <2>;
-                               vsync-len = <10>;
-                               vfront-porch = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       ET0500 {
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ET0700 { /* same as ET0500 */
-                               clock-frequency = <33264000>;
-                               hactive = <800>;
-                               vactive = <480>;
-                               hback-porch = <88>;
-                               hsync-len = <128>;
-                               hfront-porch = <40>;
-                               vback-porch = <33>;
-                               vsync-len = <2>;
-                               vfront-porch = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       ETQ570 {
-                               clock-frequency = <6596040>;
-                               hactive = <320>;
-                               vactive = <240>;
-                               hback-porch = <38>;
-                               hsync-len = <30>;
-                               hfront-porch = <30>;
-                               vback-porch = <16>;
-                               vsync-len = <3>;
-                               vfront-porch = <4>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-               };
-       };
 };
 
 &ds1339 {
        status = "disabled";
 };
 
-&ipu1_di0_disp0 {
-       remote-endpoint = <&display0_in>;
-};
-
 &ipu2 {
        status = "disabled";
 };
 
-&reg_lcd0_pwr {
-       status = "disabled";
-};
-
 &usdhc4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usdhc4>;
diff --git a/arch/arm/boot/dts/imx6q-tx6q-10x0-mb7.dts b/arch/arm/boot/dts/imx6q-tx6q-10x0-mb7.dts
new file mode 100644 (file)
index 0000000..d43a5d8
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6q-tx6q-1010.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1010/-1030 Module on MB7 baseboard";
+};
index 0433e220a931318a216fe4852d34600fad840a7c..f7b0acb65352c3c3852c3e2ca7f70aef2a37a508 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
 /dts-v1/;
 #include "imx6q.dtsi"
 #include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lvds.dtsi"
 
 / {
-       model = "Ka-Ro electronics TX6Q-1110 Module";
+       model = "Ka-Ro electronics TX6Q-1110/-1130 Module";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
-
-       aliases {
-               display = &lvds0;
-               lvds0 = &lvds0;
-               lvds1 = &lvds1;
-       };
-
-       backlight0: backlight0 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 0>;
-               power-supply = <&reg_lcd0_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       backlight1: backlight1 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm1 0 500000 0>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-};
-
-&i2c3 {
-       polytouch1: eeti@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_eeti>;
-               interrupt-parent = <&gpio3>;
-               interrupts = <22 0>;
-               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
-               wakeup-source;
-       };
 };
 
-&kpp {
-       status = "disabled"; /* pad conflict with backlight1 PWM */
-};
-
-&ldb {
-       status = "okay";
-
-       lvds0: lvds-channel@0 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&lvds_timing0>;
-                       lvds_timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-
-       lvds1: lvds-channel@1 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "disabled";
-
-               display-timings {
-                       native-mode = <&lvds_timing1>;
-                       lvds_timing1: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-};
-
-&pwm1 {
-       status = "okay";
+&ipu2 {
+       status = "disabled";
 };
 
 &sata {
        status = "okay";
 };
-
-&iomuxc {
-       pinctrl_eeti: eetigrp {
-               fsl,pins = <
-                       MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
-               >;
-       };
-};
index d78b129d01ea492d6b65e3885ca7974a0225c269..387edf2b3f96b437da6b4b421b5c71faf2d64db9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2016-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
  */
 
 /dts-v1/;
-#include "imx6q.dtsi"
-#include "imx6qdl-tx6.dtsi"
+#include "imx6q-tx6q-1110.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
 
 / {
        model = "Ka-Ro electronics TX6Q-1110/-1130 Module on MB7 baseboard";
-       compatible = "karo,imx6q-tx6q", "fsl,imx6q";
-
-       aliases {
-               display = &lvds0;
-               ipu1 = &ipu2;
-               lvds0 = &lvds0;
-               lvds1 = &lvds1;
-       };
-
-       backlight0: backlight0 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_lcd0_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-
-       backlight1: backlight1 {
-               compatible = "pwm-backlight";
-               pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
-               power-supply = <&reg_lcd1_pwr>;
-               /*
-                * a poor man's way to create a 1:1 relationship between
-                * the PWM value and the actual duty cycle
-                */
-               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
-                                    10 11 12 13 14 15 16 17 18 19
-                                    20 21 22 23 24 25 26 27 28 29
-                                    30 31 32 33 34 35 36 37 38 39
-                                    40 41 42 43 44 45 46 47 48 49
-                                    50 51 52 53 54 55 56 57 58 59
-                                    60 61 62 63 64 65 66 67 68 69
-                                    70 71 72 73 74 75 76 77 78 79
-                                    80 81 82 83 84 85 86 87 88 89
-                                    90 91 92 93 94 95 96 97 98 99
-                                   100>;
-               default-brightness-level = <50>;
-       };
-};
-
-&can1 {
-       status = "disabled";
-};
-
-&can2 {
-       xceiver-supply = <&reg_3v3>;
-};
-
-&i2c3 {
-       polytouch1: eeti@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_eeti>;
-               interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_FALLING>;
-               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
-               wakeup-source;
-       };
-};
-
-&ipu2 {
-       status = "disabled";
-};
-
-&kpp {
-       status = "disabled"; /* pads partially clash with backlight1 PWM */
-};
-
-&ldb {
-       status = "okay";
-
-       lvds0: lvds-channel@0 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&lvds0_timing1>;
-
-                       lvds0_timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       lvds0_timing1: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vfront-porch = <12>;
-                               hsync-len = <96>;
-                               vsync-len = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       lvds0_timing2: nl12880bc20 {
-                               clock-frequency = <71000000>;
-                               hactive = <1280>;
-                               vactive = <800>;
-                               hback-porch = <50>;
-                               hfront-porch = <50>;
-                               vback-porch = <5>;
-                               vfront-porch = <5>;
-                               hsync-len = <60>;
-                               vsync-len = <13>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-
-       lvds1: lvds-channel@1 {
-               fsl,data-mapping = "spwg";
-               fsl,data-width = <18>;
-               status = "okay";
-
-               display-timings {
-                       native-mode = <&lvds1_timing2>;
-
-                       lvds1_timing0: hsd100pxn1 {
-                               clock-frequency = <65000000>;
-                               hactive = <1024>;
-                               vactive = <768>;
-                               hback-porch = <220>;
-                               hfront-porch = <40>;
-                               vback-porch = <21>;
-                               vfront-porch = <7>;
-                               hsync-len = <60>;
-                               vsync-len = <10>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-
-                       lvds1_timing1: VGA {
-                               clock-frequency = <25200000>;
-                               hactive = <640>;
-                               vactive = <480>;
-                               hback-porch = <48>;
-                               hfront-porch = <16>;
-                               vback-porch = <31>;
-                               vfront-porch = <12>;
-                               hsync-len = <96>;
-                               vsync-len = <2>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <0>;
-                       };
-
-                       lvds1_timing2: nl12880bc20 {
-                               clock-frequency = <71000000>;
-                               hactive = <1280>;
-                               vactive = <800>;
-                               hback-porch = <50>;
-                               hfront-porch = <50>;
-                               vback-porch = <5>;
-                               vfront-porch = <5>;
-                               hsync-len = <60>;
-                               vsync-len = <13>;
-                               hsync-active = <0>;
-                               vsync-active = <0>;
-                               de-active = <1>;
-                               pixelclk-active = <1>;
-                       };
-               };
-       };
-};
-
-&pwm1 {
-       status = "okay";
-};
-
-&sata {
-       status = "okay";
-};
-
-&iomuxc {
-       pinctrl_eeti: eetigrp {
-               fsl,pins = <
-                       MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
-               >;
-       };
 };
index 16d5be1aeb3ce3f56c0c01fe93140e55b0355269..f5d9c34b0d392caca7b3b9e8aa8e6c40ab40de1b 100644 (file)
 /delete-node/&hdmi_mux_1;
 
 &hdmi {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hdmicec>;
        ddc-i2c-bus = <&i2c2>;
        status = "okay";
 };
                >;
        };
 
+       pinctrl_hdmicec: hdmicecgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
+               >;
+       };
+
        pinctrl_hpd: hpdgrp {
                fsl,pins = <
                        MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0
diff --git a/arch/arm/boot/dts/imx6q-wandboard-revd1.dts b/arch/arm/boot/dts/imx6q-wandboard-revd1.dts
new file mode 100644 (file)
index 0000000..e87ddb1
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-wandboard-revd1.dtsi"
+
+/ {
+       model = "Wandboard i.MX6 Quad Board revD1";
+       compatible = "wand,imx6q-wandboard", "fsl,imx6q";
+
+       memory {
+               reg = <0x10000000 0x80000000>;
+       };
+};
+
+&sata {
+       status = "okay";
+};
index 90a741732f606fc00c50cd755bb7c4858f60c031..bc581aa5cf1785fce20c8e46d5c9e2fddedca4d2 100644 (file)
        };
 
        soc {
-               ocram: sram@00900000 {
+               ocram: sram@900000 {
                        compatible = "mmio-sram";
                        reg = <0x00900000 0x40000>;
                        clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
-               aips-bus@02000000 { /* AIPS1 */
-                       spba-bus@02000000 {
-                               ecspi5: ecspi@02018000 {
+               aips-bus@2000000 { /* AIPS1 */
+                       spba-bus@2000000 {
+                               ecspi5: ecspi@2018000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
                                };
                        };
 
-                       iomuxc: iomuxc@020e0000 {
+                       iomuxc: iomuxc@20e0000 {
                                compatible = "fsl,imx6q-iomuxc";
                        };
                };
 
-               sata: sata@02200000 {
+               sata: sata@2200000 {
                        compatible = "fsl,imx6q-ahci";
                        reg = <0x02200000 0x4000>;
                        interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               gpu_vg: gpu@02204000 {
+               gpu_vg: gpu@2204000 {
                        compatible = "vivante,gc";
                        reg = <0x02204000 0x4000>;
                        interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_pu>;
                };
 
-               ipu2: ipu@02800000 {
+               ipu2: ipu@2800000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "fsl,imx6q-ipu";
index ea339fa58f4a5a99f1834778e926ce022f139cdd..e80fdca585f861c7e716666270770f2b77127871 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
                };
        };
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
index 9cd2a7477ed76b20bd938319c0fcef35a5117395..829a479381798dc6ff5c5339f9138f80017fe6c5 100644 (file)
@@ -54,7 +54,7 @@
                stdout-path = &uart4;
        };
 
-       display@di0 {
+       disp0 {
                compatible = "fsl,imx-parallel-display";
                interface-pix-fmt = "bgr666";
                pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
index ad84eddb6836f070b0fafdf3581e6dcb37372bfc..fc66bbfd6796b2d46920bd79ae4b46fa4d8ae532 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
                };
        };
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
index 885556260bd0737b2164967dcad8af83d44ef066..dea8fc43c692d3a32e4268f1bd32de36475db65e 100644 (file)
 };
 
 &iomuxc {
-       imx6qdl-gw51xx {
-               pinctrl_adv7180: adv7180grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23        0x0001b0b0
-                               MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20     0x4001b0b0
-                       >;
-               };
+       pinctrl_adv7180: adv7180grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23        0x0001b0b0
+                       MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20     0x4001b0b0
+               >;
+       };
 
-               pinctrl_enet: enetgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
-                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
-                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
-                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
-                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
-                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
-                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
-                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
-                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
-                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
-                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
-                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
-                               MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
-                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
-                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
-                               MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
-                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0 /* PHY Reset */
-                       >;
-               };
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+                       MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0 /* PHY Reset */
+               >;
+       };
 
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
+                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
+               >;
+       };
 
-               pinctrl_gpmi_nand: gpminandgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
-                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
-                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
-                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
-                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
-                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
-                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
-                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
-                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
-                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
-                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
-                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
-                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
-                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
-                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
-                       >;
-               };
+       pinctrl_gpmi_nand: gpminandgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                       MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                       MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                       MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                       MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                       MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                       MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                       MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                       MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                       MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                       MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                       MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                       MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                       MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                       MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_ipu1_csi0: ipu1csi0grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18    0x1b0b0
-                               MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19    0x1b0b0
-                               MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC      0x1b0b0
-                               MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC     0x1b0b0
-                               MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK   0x1b0b0
-                       >;
-               };
+       pinctrl_ipu1_csi0: ipu1csi0grp {
+               fsl,pins = <
+                       MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18    0x1b0b0
+                       MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19    0x1b0b0
+                       MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC      0x1b0b0
+                       MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC     0x1b0b0
+                       MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK   0x1b0b0
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0
+               >;
+       };
 
-               pinctrl_pmic: pmicgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
-                       >;
-               };
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
+               >;
+       };
 
-               pinctrl_pps: ppsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
-                       >;
-               };
+       pinctrl_pps: ppsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm2: pwm2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm3: pwm3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm3: pwm3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm4: pwm4grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
-                       >;
-               };
+       pinctrl_pwm4: pwm4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
+               >;
+       };
 
-               pinctrl_uart1: uart1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart3: uart3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
-                               MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
-                       >;
-               };
+       pinctrl_uart3: uart3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
+               >;
+       };
 
-               pinctrl_uart5: uart5grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_usbotg: usbotggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
-                       >;
-               };
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
+               >;
+       };
 
-               pinctrl_wdog: wdoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
-                       >;
-               };
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
+               >;
        };
 };
index 115d706228eff5067f6a536e049e07183a778631..363a44394dad76e13b3a7082414d61dba7790fc3 100644 (file)
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       touchscreen: egalax_ts@04 {
+       touchscreen: egalax_ts@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio7>;
 };
 
 &iomuxc {
-       imx6qdl-gw52xx {
-               pinctrl_audmux: audmuxgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
-                               MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
-                               MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
-                               MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x130b0 /* AUD4_MCK */
-                       >;
-               };
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
+                       MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
+                       MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
+                       MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                       MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x130b0 /* AUD4_MCK */
+               >;
+       };
 
-               pinctrl_ecspi3: escpi3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK      0x100b1
-                               MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI      0x100b1
-                               MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO      0x100b1
-                               MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24       0x100b1
-                       >;
-               };
+       pinctrl_ecspi3: escpi3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK      0x100b1
+                       MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI      0x100b1
+                       MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO      0x100b1
+                       MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24       0x100b1
+               >;
+       };
 
-               pinctrl_enet: enetgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
-                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
-                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
-                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
-                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
-                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
-                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
-                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
-                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
-                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
-                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
-                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
-                               MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
-                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
-                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
-                               MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
-                               MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0 /* PHY Reset */
-                       >;
-               };
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+                       MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x1b0b0 /* PHY Reset */
+               >;
+       };
 
-               pinctrl_flexcan1: flexcan1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
-                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
-                               MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x4001b0b0 /* CAN_STBY */
-                       >;
-               };
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                       MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                       MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x4001b0b0 /* CAN_STBY */
+               >;
+       };
 
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x1b0b0
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x1b0b0
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x1b0b0
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x1b0b0
+                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x1b0b0
+                       MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x1b0b0
+               >;
+       };
 
-               pinctrl_gpmi_nand: gpminandgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
-                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
-                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
-                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
-                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
-                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
-                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
-                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
-                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
-                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
-                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
-                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
-                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
-                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
-                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
-                       >;
-               };
+       pinctrl_gpmi_nand: gpminandgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                       MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                       MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                       MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                       MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                       MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                       MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                       MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                       MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                       MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                       MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                       MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                       MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                       MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                       MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE_RST# */
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE_RST# */
+               >;
+       };
 
-               pinctrl_pmic: pmicgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
-                       >;
-               };
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
+               >;
+       };
 
-               pinctrl_pps: ppsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
-                       >;
-               };
+       pinctrl_pps: ppsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm2: pwm2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm3: pwm3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm3: pwm3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm4: pwm4grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
-                       >;
-               };
+       pinctrl_pwm4: pwm4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
+               >;
+       };
 
-               pinctrl_uart1: uart1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
-                       >;
-               };
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart5: uart5grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_usbotg: usbotggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x1b0b0 /* OTG_PWR_EN */
-                       >;
-               };
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x1b0b0 /* OTG_PWR_EN */
+               >;
+       };
 
-               pinctrl_usdhc3: usdhc3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
-                       >;
-               };
+       pinctrl_usdhc3: usdhc3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
+               >;
+       };
 
-               pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x170b9
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
-                       >;
-               };
+       pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x170b9
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
+               >;
+       };
 
-               pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
-                       >;
-               };
+       pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
+               >;
+       };
 
-               pinctrl_wdog: wdoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
-                       >;
-               };
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
+               >;
        };
 };
index 24be7965056c13d898d026eb852ba30db284b206..c75385c0cad050cff380463c461e23164f726f95 100644 (file)
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       touchscreen: egalax_ts@04 {
+       touchscreen: egalax_ts@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio1>;
 };
 
 &iomuxc {
-       imx6qdl-gw53xx {
-               pinctrl_audmux: audmuxgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
-                               MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
-                               MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
-                               MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
-                       >;
-               };
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
+                       MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
+                       MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
+                       MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                       MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
+               >;
+       };
 
-               pinctrl_enet: enetgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
-                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
-                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
-                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
-                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
-                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
-                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
-                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
-                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
-                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
-                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
-                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
-                               MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
-                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
-                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
-                               MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
-                       >;
-               };
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+               >;
+       };
 
-               pinctrl_flexcan1: flexcan1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
-                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
-                       >;
-               };
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                       MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                       MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
+               >;
+       };
 
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x1b0b0
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x1b0b0
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x1b0b0
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x1b0b0
+                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x1b0b0
+                       MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x1b0b0
+               >;
+       };
 
-               pinctrl_gpmi_nand: gpminandgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
-                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
-                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
-                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
-                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
-                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
-                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
-                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
-                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
-                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
-                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
-                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
-                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
-                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
-                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
-                       >;
-               };
+       pinctrl_gpmi_nand: gpminandgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                       MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                       MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                       MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                       MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                       MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                       MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                       MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                       MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                       MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                       MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                       MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                       MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                       MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                       MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x1b0b0 /* PCIE IRQ */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x1b0b0 /* PCIE RST */
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x1b0b0 /* PCIE IRQ */
+                       MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x1b0b0 /* PCIE RST */
+               >;
+       };
 
-               pinctrl_pmic: pmicgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
-                       >;
-               };
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
+               >;
+       };
 
-               pinctrl_pps: ppsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
-                       >;
-               };
+       pinctrl_pps: ppsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm2: pwm2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm3: pwm3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm3: pwm3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm4: pwm4grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
-                       >;
-               };
+       pinctrl_pwm4: pwm4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
+               >;
+       };
 
-               pinctrl_uart1: uart1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
-                       >;
-               };
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart5: uart5grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_usbotg: usbotggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
-                               MX6QDL_PAD_KEY_COL4__GPIO4_IO14         0x1b0b0 /* OC */
-                       >;
-               };
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
+                       MX6QDL_PAD_KEY_COL4__GPIO4_IO14         0x1b0b0 /* OC */
+               >;
+       };
 
-               pinctrl_usdhc3: usdhc3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
-                       >;
-               };
+       pinctrl_usdhc3: usdhc3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
+               >;
+       };
 
-               pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100b9
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
-                       >;
-               };
+       pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100b9
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
+               >;
+       };
 
-               pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
-                       >;
-               };
+       pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
+               >;
+       };
 
-               pinctrl_wdog: wdoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
-                       >;
-               };
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
+               >;
        };
 };
index 4594b22791695436df2cd9ff372f332db74ad5c4..eab75f3dbaf324e0e250998bb6b2c2c9ff7a6391 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       touchscreen: egalax_ts@04 {
+       touchscreen: egalax_ts@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio7>;
 };
 
 &iomuxc {
-       imx6qdl-gw54xx {
-               pinctrl_audmux: audmuxgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
-                               MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
-                               MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
-                               MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
-                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
-                       >;
-               };
+       pinctrl_audmux: audmuxgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
+                       MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
+                       MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
+                       MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
+                       MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
+               >;
+       };
 
-               pinctrl_enet: enetgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
-                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
-                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
-                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
-                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
-                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
-                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
-                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
-                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
-                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
-                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
-                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
-                               MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
-                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
-                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
-                               MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
-                       >;
-               };
+       pinctrl_enet: enetgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                       MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                       MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                       MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                       MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                       MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                       MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                       MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                       MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                       MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                       MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                       MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                       MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
+               >;
+       };
 
-               pinctrl_ecspi2: escpi2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1
-                               MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1
-                               MX6QDL_PAD_EIM_OE__ECSPI2_MISO  0x100b1
-                               MX6QDL_PAD_EIM_RW__GPIO2_IO26   0x100b1
-                       >;
-               };
+       pinctrl_ecspi2: escpi2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1
+                       MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1
+                       MX6QDL_PAD_EIM_OE__ECSPI2_MISO  0x100b1
+                       MX6QDL_PAD_EIM_RW__GPIO2_IO26   0x100b1
+               >;
+       };
 
-               pinctrl_flexcan1: flexcan1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
-                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
-                               MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
-                       >;
-               };
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                       MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                       MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
+               >;
+       };
 
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
+                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
+                       MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
+               >;
+       };
 
-               pinctrl_gpmi_nand: gpminandgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
-                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
-                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
-                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
-                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
-                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
-                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
-                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
-                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
-                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
-                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
-                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
-                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
-                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
-                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
-                       >;
-               };
+       pinctrl_gpmi_nand: gpminandgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                       MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                       MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                       MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                       MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                       MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                       MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                       MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                       MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                       MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                       MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                       MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                       MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                       MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                       MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
+                       MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
+               >;
+       };
 
-               pinctrl_pps: ppsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
-                       >;
-               };
+       pinctrl_pps: ppsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm1: pwm1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_9__PWM1_OUT             0x1b0b1
-                       >;
-               };
+       pinctrl_pwm1: pwm1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_9__PWM1_OUT             0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm2: pwm2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm3: pwm3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT1__PWM3_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm3: pwm3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT1__PWM3_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm4_backlight: pwm4grpbacklight {
-                       fsl,pins = <
-                               /* LVDS_PWM J6.5 */
-                               MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
-                       >;
-               };
+       pinctrl_pwm4_backlight: pwm4grpbacklight {
+               fsl,pins = <
+                       /* LVDS_PWM J6.5 */
+                       MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm4_dio: pwm4grpdio {
-                       fsl,pins = <
-                               /* DIO3 J16.4 */
-                               MX6QDL_PAD_SD4_DAT2__PWM4_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm4_dio: pwm4grpdio {
+               fsl,pins = <
+                       /* DIO3 J16.4 */
+                       MX6QDL_PAD_SD4_DAT2__PWM4_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_uart1: uart1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
-                       >;
-               };
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart5: uart5grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_usbotg: usbotggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
-                               MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
-                       >;
-               };
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
+               >;
+       };
 
-               pinctrl_usdhc3: usdhc3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
-                       >;
-               };
+       pinctrl_usdhc3: usdhc3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
+               >;
+       };
 
-               pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100b9
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
-                       >;
-               };
+       pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100b9
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
+               >;
+       };
 
-               pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
-                               MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
-                               MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
-                               MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
-                               MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
-                               MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
-                               MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
-                               MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
-                       >;
-               };
+       pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
+                       MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
+                       MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
+                       MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
+                       MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
+                       MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
+                       MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
+                       MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
+               >;
+       };
 
-               pinctrl_wdog: wdoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT3__WDOG2_B            0x1b0b0
-                       >;
-               };
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT3__WDOG2_B            0x1b0b0
+               >;
        };
 };
index 405b40310ddf2828672e8c0d7245b42ea701ae80..30d4662d44801c69d7198fe76e562c323eeaea15 100644 (file)
 };
 
 &iomuxc {
-       imx6qdl-gw51xx {
-               pinctrl_flexcan1: flexcan1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
-                               MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
-                               MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x4001b0b0 /* CAN_STBY */
-                       >;
-               };
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
+                       MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
+                       MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x4001b0b0 /* CAN_STBY */
+               >;
+       };
 
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x1b0b0
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07   0x1b0b0
+               >;
+       };
 
-               pinctrl_gpmi_nand: gpminandgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
-                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
-                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
-                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
-                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
-                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
-                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
-                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
-                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
-                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
-                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
-                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
-                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
-                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
-                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
-                       >;
-               };
+       pinctrl_gpmi_nand: gpminandgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                       MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                       MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                       MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                       MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                       MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                       MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                       MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                       MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                       MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                       MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                       MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                       MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                       MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                       MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0 /* PCIE RST */
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0 /* PCIE RST */
+               >;
+       };
 
-               pinctrl_pmic: pmicgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
-                       >;
-               };
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
+               >;
+       };
 
-               pinctrl_pwm2: pwm2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm3: pwm3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm3: pwm3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart3: uart3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
-                               MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
-                       >;
-               };
+       pinctrl_uart3: uart3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
+               >;
+       };
 
-               pinctrl_usbotg: usbotggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
-                       >;
-               };
+       pinctrl_usbotg: usbotggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
+               >;
+       };
 
-               pinctrl_wdog: wdoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
-                       >;
-               };
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
+               >;
        };
 };
index 67613dd7cc926fa6d11c273dadfb1c8314365ad1..c67c106050705bc2879e62ee9a8048339de3068e 100644 (file)
 };
 
 &iomuxc {
-       imx6qdl-gw552x {
-               pinctrl_gpio_leds: gpioledsgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
-                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
-                               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
-                       >;
-               };
+       pinctrl_gpio_leds: gpioledsgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
+                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
+                       MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
+               >;
+       };
 
-               pinctrl_gpmi_nand: gpminandgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
-                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
-                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
-                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
-                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
-                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
-                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
-                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
-                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
-                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
-                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
-                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
-                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
-                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
-                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
-                       >;
-               };
+       pinctrl_gpmi_nand: gpminandgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
+                       MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
+                       MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
+                       MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
+                       MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
+                       MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
+                       MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
+                       MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
+                       MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
+                       MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
+                       MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
+                       MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
+                       MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
+                       MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
+                       MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
+               >;
+       };
 
-               pinctrl_i2c1: i2c1grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
-                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c2: i2c2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
-                               MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c2: i2c2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
+                       MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
+               >;
+       };
 
-               pinctrl_i2c3: i2c3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
-                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
-                       >;
-               };
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+               >;
+       };
 
-               pinctrl_pcie: pciegrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0
-                       >;
-               };
+       pinctrl_pcie: pciegrp {
+               fsl,pins = <
+                       MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0
+               >;
+       };
 
-               pinctrl_pmic: pmicgrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
-                       >;
-               };
+       pinctrl_pmic: pmicgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
+               >;
+       };
 
-               pinctrl_pwm2: pwm2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm2: pwm2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_pwm3: pwm3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
-                       >;
-               };
+       pinctrl_pwm3: pwm3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
+               >;
+       };
 
-               pinctrl_uart2: uart2grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_uart3: uart3grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
-                               MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
-                       >;
-               };
+       pinctrl_uart3: uart3grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
+                       MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
+               >;
+       };
 
-               pinctrl_uart5: uart5grp {
-                       fsl,pins = <
-                               MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
-                               MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
-                       >;
-               };
+       pinctrl_uart5: uart5grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
+                       MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
+               >;
+       };
 
-               pinctrl_wdog: wdoggrp {
-                       fsl,pins = <
-                               MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
-                       >;
-               };
+       pinctrl_wdog: wdoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
+               >;
        };
 };
index 988334c889eb79986f51f12b27d23cbec46de61d..37c07c0748aaf99e57ceef90512331e8c7cdf39b 100644 (file)
        };
 
        /* Pro baseboard model */
-       sgtl5000: sgtl5000@0a {
+       sgtl5000: sgtl5000@a {
                clocks = <&clks IMX6QDL_CLK_CKO>;
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
index 7ca291e9dbdb234b253d09b72fd1cb2a3f5aac71..b6220d62f6de0f48f2ba667f237d90e987f1bcf7 100644 (file)
@@ -41,6 +41,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/clock/imx6qdl-clock.h>
+#include <dt-bindings/sound/fsl-imx-audmux.h>
 
 / {
        memory {
                clocks = <&clks IMX6QDL_CLK_LVDS2_GATE>;
                clock-names = "refclk";
        };
-};
 
-&clks {
-       assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
-       assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "imx6qdl-icore-rqs-sgtl5000";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&dailink_master>;
+               simple-audio-card,frame-master = <&dailink_master>;
+               simple-audio-card,widgets =
+                       "Microphone", "Mic Jack",
+                       "Headphone", "Headphone Jack",
+                       "Line", "Line In Jack",
+                       "Speaker", "Line Out Jack",
+                       "Speaker", "Ext Spk";
+               simple-audio-card,routing =
+                       "MIC_IN", "Mic Jack",
+                       "Mic Jack", "Mic Bias",
+                       "Headphone Jack", "HP_OUT";
+
+               simple-audio-card,cpu {
+                       sound-dai = <&ssi1>;
+               };
+
+               dailink_master: simple-audio-card,codec {
+                       sound-dai = <&sgtl5000>;
+               };
+       };
 };
 
 &audmux {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_audmux>;
        status = "okay";
+
+       audmux_ssi1 {
+               fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_TFSDIR |
+                       IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
+                       IMX_AUDMUX_V2_PTCR_TCLKDIR |
+                       IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
+                       IMX_AUDMUX_V2_PTCR_SYN)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
+               >;
+       };
+
+       audmux_aud4 {
+               fsl,audmux-port = <MX51_AUDMUX_PORT4>;
+               fsl,port-config = <
+                       IMX_AUDMUX_V2_PTCR_SYN
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
+               >;
+       };
+};
+
+&can1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_can1>;
+       xceiver-supply = <&reg_3p3v>;
+       status = "okay";
+};
+
+&can2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_can2>;
+       xceiver-supply = <&reg_3p3v>;
+       status = "okay";
+};
+
+&clks {
+       assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
+       assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
 };
 
 &fec {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
+
+       sgtl5000: codec@a {
+               #sound-dai-cells = <0>;
+               compatible = "fsl,sgtl5000";
+               reg = <0x0a>;
+               clocks = <&clks IMX6QDL_CLK_CKO>;
+               VDDA-supply = <&reg_2p5v>;
+               VDDIO-supply = <&reg_3p3v>;
+               VDDD-supply = <&reg_1p8v>;
+       };
 };
 
 &pcie {
 };
 
 &ssi1 {
+       fsl,mode = "i2s-slave";
        status = "okay";
 };
 
                >;
        };
 
+       pinctrl_can1: can1grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
+                       MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
+               >;
+       };
+
+       pinctrl_can2: can2grp {
+               fsl,pins = <
+                       MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b020
+                       MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b020
+               >;
+       };
+
        pinctrl_i2c1: i2c1grp {
                fsl,pins = <
                        MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
index 56d0c5d21cd01b528eb09300bf0ba82156c64e83..a1b469c142f10d0e42d204005361a396987b0218 100644 (file)
@@ -42,6 +42,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/sound/fsl-imx-audmux.h>
 
 / {
        memory {
                default-brightness-level = <7>;
        };
 
+       reg_1p8v: regulator-1p8v {
+               compatible = "regulator-fixed";
+               regulator-name = "1P8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
+
+       reg_2p5v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "2P5V";
+               regulator-min-microvolt = <2500000>;
+               regulator-max-microvolt = <2500000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
        reg_3p3v: regulator-3p3v {
                compatible = "regulator-fixed";
                regulator-name = "3P3V";
                #clock-cells = <0>;
                clock-frequency = <25000000>;  /* 25MHz for example */
        };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "imx6qdl-icore-sgtl5000";
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&dailink_master>;
+               simple-audio-card,frame-master = <&dailink_master>;
+               simple-audio-card,widgets =
+                       "Microphone", "Mic Jack",
+                       "Headphone", "Headphone Jack",
+                       "Line", "Line In Jack",
+                       "Speaker", "Line Out Jack",
+                       "Speaker", "Ext Spk";
+               simple-audio-card,routing =
+                       "MIC_IN", "Mic Jack",
+                       "Mic Jack", "Mic Bias",
+                       "Headphone Jack", "HP_OUT";
+
+               simple-audio-card,cpu {
+                       sound-dai = <&ssi1>;
+               };
+
+               dailink_master: simple-audio-card,codec {
+                       sound-dai = <&sgtl5000>;
+               };
+       };
+};
+
+&audmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_audmux>;
+       status = "okay";
+
+
+       audmux_ssi1 {
+               fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_TFSDIR |
+                       IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
+                       IMX_AUDMUX_V2_PTCR_TCLKDIR |
+                       IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
+                       IMX_AUDMUX_V2_PTCR_SYN)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
+               >;
+       };
+
+       audmux_aud4 {
+               fsl,audmux-port = <MX51_AUDMUX_PORT4>;
+               fsl,port-config = <
+                       IMX_AUDMUX_V2_PTCR_SYN
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
+               >;
+       };
 };
 
 &can1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
+
+       sgtl5000: codec@a {
+               #sound-dai-cells = <0>;
+               compatible = "fsl,sgtl5000";
+               reg = <0x0a>;
+               clocks = <&clks IMX6QDL_CLK_CKO>;
+               VDDA-supply = <&reg_2p5v>;
+               VDDIO-supply = <&reg_3p3v>;
+               VDDD-supply = <&reg_1p8v>;
+       };
 };
 
 &pwm3 {
        status = "okay";
 };
 
+&ssi1 {
+       fsl,mode = "i2s-slave";
+       status = "okay";
+};
+
 &uart4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart4>;
 };
 
 &iomuxc {
+       pinctrl_audmux: audmux {
+               fsl,pins = <
+                       MX6QDL_PAD_DISP0_DAT20__AUD4_TXC  0x130b0
+                       MX6QDL_PAD_DISP0_DAT21__AUD4_TXD  0x110b0
+                       MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0
+                       MX6QDL_PAD_DISP0_DAT23__AUD4_RXD  0x130b0
+               >;
+       };
+
        pinctrl_enet: enetgrp {
                fsl,pins = <
                        MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN      0x1b0b0
index 6b81580623ff70ae494ee28a74b02c180503e23c..4cc4e23cf99c4e2f3f6317791b21d4dd2cf04ca1 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_sgtl5000>;
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       touchscreen@04 {
+       touchscreen@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio1>;
index b63134e3b51a078a44b65698b7db3707c9f0bcdd..3a77f0fedfce9d439ca04c8437107aa906ade469 100644 (file)
                status = "okay";
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_sgtl5000>;
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       touchscreen@04 {
+       touchscreen@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio1>;
index a24e4f1911abe77917726d8ff8342f7dcb88dab2..40942d6b94b366737b2c66177617a2f993ef9956 100644 (file)
                };
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_sgtl5000>;
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       touchscreen@04 {
+       touchscreen@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio1>;
index d309a4d0eb08b38c0ba551ee3652549421538eb5..4bdf29169d2a0e8193e8c41c481474d67398757f 100644 (file)
                status = "okay";
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       touchscreen@04 {
+       touchscreen@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio1>;
index 5cf90c24c70791a2fc7c89a386b0ebe3e9fa3d17..6e9549ff11da965e2cead22f0e95dcffdd0f220a 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
index 6a7594e5d183f92c5ed7df23466d2e4bc3e508f2..4fa2fac3877b5a5685d85654d44476a933c0e72b 100644 (file)
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
index 756c5054f047724f7e12a1fad1ca98fde09f50c2..35de7adc997bf6f86ed047515bbaa2a09872b2c3 100644 (file)
                status = "okay";
        };
 
-       lcd_display: display@di0 {
+       lcd_display: disp0 {
                compatible = "fsl,imx-parallel-display";
                #address-cells = <1>;
                #size-cells = <0>;
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
index b72b6fa475801df93fc1e0413eb4b6ea3179fb07..0a50705b9c1897101a1732cc4bc703ff907b5443 100644 (file)
@@ -67,7 +67,6 @@
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
                        gpio = <&gpio3 19 0>;
-                       regulator-always-on;
                        enable-active-high;
                };
        };
 };
 
 &hdmi {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hdmi_cec>;
        ddc-i2c-bus = <&i2c2>;
        status = "okay";
 };
                };
        };
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
 
-       egalax_ts@04 {
+       egalax_ts@4 {
                compatible = "eeti,egalax_ts";
                reg = <0x04>;
                interrupt-parent = <&gpio6>;
                        >;
                };
 
+               pinctrl_hdmi_cec: hdmicecgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE   0x1f8b0
+                       >;
+               };
+
                pinctrl_i2c1: i2c1grp {
                        fsl,pins = <
                                MX6QDL_PAD_CSI0_DAT8__I2C1_SDA          0x4001b8b1
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pcie>;
        reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
+       vpcie-supply = <&reg_pcie>;
        status = "okay";
 };
 
diff --git a/arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi b/arch/arm/boot/dts/imx6qdl-tx6-lcd.dtsi
new file mode 100644 (file)
index 0000000..5102fc4
--- /dev/null
@@ -0,0 +1,252 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/ {
+       aliases {
+               display = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_lcd1_pwr>;
+               enable-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+               power-supply = <&reg_3v3>;
+               turn-on-delay-ms = <35>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       lcd_panel: lcd-panel {
+               compatible = "edt,etm0700g0dh6";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_lcd0_pwr>;
+               enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
+               power-supply = <&reg_3v3>;
+               backlight = <&backlight>;
+               bus-format-override = "rgb24";
+
+               port {
+                       lcd_panel_in: endpoint {
+                               remote-endpoint = <&lcd_out>;
+                       };
+               };
+       };
+
+       display: disp0 {
+               compatible = "fsl,imx-parallel-display";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_1>;
+               status = "okay";
+
+               port@0 {
+                       reg = <0>;
+
+                       lcd_in: endpoint {
+                               remote-endpoint = <&ipu1_di0_disp0>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+
+                       lcd_out: endpoint {
+                               remote-endpoint = <&lcd_panel_in>;
+                       };
+               };
+
+               display-timings {
+                       VGA {
+                               clock-frequency = <25200000>;
+                               hactive = <640>;
+                               vactive = <480>;
+                               hback-porch = <48>;
+                               hsync-len = <96>;
+                               hfront-porch = <16>;
+                               vback-porch = <31>;
+                               vsync-len = <2>;
+                               vfront-porch = <12>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       ETV570 {
+                               u-boot,panel-name = "edt,et057090dhu";
+                               clock-frequency = <25200000>;
+                               hactive = <640>;
+                               vactive = <480>;
+                               hback-porch = <114>;
+                               hsync-len = <30>;
+                               hfront-porch = <16>;
+                               vback-porch = <32>;
+                               vsync-len = <3>;
+                               vfront-porch = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       ET0350 {
+                               u-boot,panel-name = "edt,et0350g0dh6";
+                               clock-frequency = <6413760>;
+                               hactive = <320>;
+                               vactive = <240>;
+                               hback-porch = <34>;
+                               hsync-len = <34>;
+                               hfront-porch = <20>;
+                               vback-porch = <15>;
+                               vsync-len = <3>;
+                               vfront-porch = <4>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       ET0430 {
+                               u-boot,panel-name = "edt,et0430g0dh6";
+                               clock-frequency = <9009000>;
+                               hactive = <480>;
+                               vactive = <272>;
+                               hback-porch = <2>;
+                               hsync-len = <41>;
+                               hfront-porch = <2>;
+                               vback-porch = <2>;
+                               vsync-len = <10>;
+                               vfront-porch = <2>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+
+                       ET0500 {
+                               clock-frequency = <33264000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hback-porch = <88>;
+                               hsync-len = <128>;
+                               hfront-porch = <40>;
+                               vback-porch = <33>;
+                               vsync-len = <2>;
+                               vfront-porch = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       ET0700 { /* same as ET0500 */
+                               u-boot,panel-name = "edt,etm0700g0dh6";
+                               clock-frequency = <33264000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hback-porch = <88>;
+                               hsync-len = <128>;
+                               hfront-porch = <40>;
+                               vback-porch = <33>;
+                               vsync-len = <2>;
+                               vfront-porch = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       ETQ570 {
+                               clock-frequency = <6596040>;
+                               hactive = <320>;
+                               vactive = <240>;
+                               hback-porch = <38>;
+                               hsync-len = <30>;
+                               hfront-porch = <30>;
+                               vback-porch = <16>;
+                               vsync-len = <3>;
+                               vfront-porch = <4>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       CoMTFT { /* same as ET0700 but with inverted pixel clock */
+                               u-boot,panel-name = "edt,etm0700g0edh6";
+                               clock-frequency = <33264000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hback-porch = <88>;
+                               hsync-len = <128>;
+                               hfront-porch = <40>;
+                               vback-porch = <33>;
+                               vsync-len = <2>;
+                               vfront-porch = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+               };
+       };
+};
+
+&ipu1_di0_disp0 {
+       remote-endpoint = <&lcd_in>;
+};
diff --git a/arch/arm/boot/dts/imx6qdl-tx6-lvds.dtsi b/arch/arm/boot/dts/imx6qdl-tx6-lvds.dtsi
new file mode 100644 (file)
index 0000000..2ca2eb3
--- /dev/null
@@ -0,0 +1,286 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/ {
+       aliases {
+               display = &lvds0;
+               lvds0 = &lvds0;
+               lvds1 = &lvds1;
+       };
+
+       backlight0: backlight0 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000 0>;
+               power-supply = <&reg_lcd0_pwr>;
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       backlight1: backlight1 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm1 0 500000 0>;
+               power-supply = <&reg_lcd1_pwr>;
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       lvds0_panel: lvds0-panel {
+               compatible = "nlt,nl12880bc20-spwg-24";
+               backlight = <&backlight0>;
+               power-supply = <&reg_3v3>;
+
+               port {
+                       panel_in_lvds0: endpoint {
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
+       };
+
+       lvds1_panel: lvds1-panel {
+               compatible = "nlt,nl12880bc20-spwg-24";
+               backlight = <&backlight1>;
+               power-supply = <&reg_3v3>;
+
+               port {
+                       panel_in_lvds1: endpoint {
+                               remote-endpoint = <&lvds1_out>;
+                       };
+               };
+       };
+};
+
+&kpp {
+       status = "disabled"; /* pad conflict with backlight1 PWM */
+};
+
+&ldb {
+       status = "okay";
+
+       lvds0: lvds-channel@0 {
+               fsl,data-width = <18>;
+               status = "okay";
+
+               port@4 {
+                       reg = <4>;
+
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&panel_in_lvds0>;
+                       };
+               };
+
+               display-timings {
+                       hsd100pxn1 {
+                               u-boot,panel-name = "hannstar,hsd100pxn1";
+                               clock-frequency = <65000000>;
+                               hactive = <1024>;
+                               vactive = <768>;
+                               hback-porch = <220>;
+                               hfront-porch = <40>;
+                               vback-porch = <21>;
+                               vfront-porch = <7>;
+                               hsync-len = <60>;
+                               vsync-len = <10>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+
+                       VGA {
+                               clock-frequency = <25200000>;
+                               hactive = <640>;
+                               vactive = <480>;
+                               hback-porch = <48>;
+                               hfront-porch = <16>;
+                               vback-porch = <31>;
+                               vfront-porch = <12>;
+                               hsync-len = <96>;
+                               vsync-len = <2>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       nl12880bc20 {
+                               u-boot,panel-name = "nlt,nl12880bc20-spwg-24";
+                               clock-frequency = <71000000>;
+                               hactive = <1280>;
+                               vactive = <800>;
+                               hback-porch = <50>;
+                               hfront-porch = <50>;
+                               vback-porch = <5>;
+                               vfront-porch = <5>;
+                               hsync-len = <60>;
+                               vsync-len = <13>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+
+                       ET0700 {
+                               u-boot,panel-name = "edt,etm0700g0dh6";
+                               clock-frequency = <33264000>;
+                               hactive = <800>;
+                               vactive = <480>;
+                               hback-porch = <88>;
+                               hsync-len = <128>;
+                               hfront-porch = <40>;
+                               vback-porch = <33>;
+                               vsync-len = <2>;
+                               vfront-porch = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       ETV570 {
+                               u-boot,panel-name = "edt,et057090dhu";
+                               clock-frequency = <25200000>;
+                               hactive = <640>;
+                               vactive = <480>;
+                               hback-porch = <114>;
+                               hsync-len = <30>;
+                               hfront-porch = <16>;
+                               vback-porch = <32>;
+                               vsync-len = <3>;
+                               vfront-porch = <10>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+               };
+       };
+
+       lvds1: lvds-channel@1 {
+               fsl,data-width = <18>;
+               status = "okay";
+
+               port@4 {
+                       reg = <4>;
+
+                       lvds1_out: endpoint {
+                               remote-endpoint = <&panel_in_lvds1>;
+                       };
+               };
+
+               display-timings {
+                       hsd100pxn1 {
+                               clock-frequency = <65000000>;
+                               hactive = <1024>;
+                               vactive = <768>;
+                               hback-porch = <220>;
+                               hfront-porch = <40>;
+                               vback-porch = <21>;
+                               vfront-porch = <7>;
+                               hsync-len = <60>;
+                               vsync-len = <10>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+
+                       VGA {
+                               clock-frequency = <25200000>;
+                               hactive = <640>;
+                               vactive = <480>;
+                               hback-porch = <48>;
+                               hfront-porch = <16>;
+                               vback-porch = <31>;
+                               vfront-porch = <12>;
+                               hsync-len = <96>;
+                               vsync-len = <2>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <0>;
+                       };
+
+                       nl12880bc20 {
+                               clock-frequency = <71000000>;
+                               hactive = <1280>;
+                               vactive = <800>;
+                               hback-porch = <50>;
+                               hfront-porch = <50>;
+                               vback-porch = <5>;
+                               vfront-porch = <5>;
+                               hsync-len = <60>;
+                               vsync-len = <13>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+               };
+       };
+};
+
+&pwm1 {
+       status = "okay";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi b/arch/arm/boot/dts/imx6qdl-tx6-mb7.dtsi
new file mode 100644 (file)
index 0000000..4c4e2e1
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/ {
+       backlight0 {
+               pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
+               turn-on-delay-ms = <35>;
+               power-supply = <&reg_lcd1_pwr>;
+       };
+
+       backlight1 {
+               pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
+               turn-on-delay-ms = <35>;
+               power-supply = <&reg_lcd1_pwr>;
+       };
+
+       lcd-panel {
+               compatible = "edt,et057090dhu";
+               bus-format-override = "rgb24";
+               pixelclk-active = <0>;
+       };
+
+       lvds0-panel {
+               compatible = "edt,etml1010g0dka";
+               bus-format-override = "spwg-18";
+               pixelclk-active = <0>;
+       };
+
+       lvds1-panel {
+               compatible = "edt,etml1010g0dka";
+               bus-format-override = "spwg-18";
+               pixelclk-active = <0>;
+       };
+};
+
+&can1 {
+       status = "disabled";
+};
+
+&can2 {
+       xceiver-supply = <&reg_3v3>;
+};
+
+&ds1339 {
+       /*
+        * The backup voltage of the module internal RTC is not wired
+        * by default on the MB7, so disable that RTC chip.
+        */
+       status = "disabled";
+};
+
+&i2c3 {
+       rtc: mcp7940x@6f {
+               compatible = "microchip,mcp7940x";
+               reg = <0x6f>;
+       };
+};
+
+&reg_lcd0_pwr {
+       status = "disabled";
+};
index c6bec97fbeaf567c19046c8b39ec1f6dddbcdd5c..6abb66cd7d4ac43ee9d837413f02c73f631a9885 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
+ * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
  *
  * This file is dual-licensed: you can use it either under the terms
  * of the GPL or the X11 license, at your option. Note that this dual
@@ -43,6 +43,7 @@
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/sound/fsl-imx-audmux.h>
 
 / {
        aliases {
                pinctrl-0 = <&pinctrl_lcd0_pwr>;
                gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
                enable-active-high;
-               regulator-boot-on;
+               status = "disabled";
        };
 
        reg_lcd1_pwr: regulator-lcd1-pwr {
                pinctrl-0 = <&pinctrl_lcd1_pwr>;
                gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
                enable-active-high;
-               regulator-boot-on;
+               status = "disabled";
        };
 
        reg_usbh1_vbus: regulator-usbh1-vbus {
        };
 
        sound {
-               compatible = "karo,imx6qdl-tx6qdl-sgtl5000",
-                            "fsl,imx-audio-sgtl5000";
-               model = "sgtl5000-audio";
+               compatible = "karo,imx6qdl-tx6-sgtl5000",
+                            "simple-audio-card";
+               simple-audio-card,name = "imx6qdl-tx6-sgtl5000-audio";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_audmux>;
-               ssi-controller = <&ssi1>;
-               audio-codec = <&sgtl5000>;
-               audio-routing =
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&codec_dai>;
+               simple-audio-card,frame-master = <&codec_dai>;
+               simple-audio-card,widgets =
+                       "Microphone", "Mic Jack",
+                       "Line", "Line In",
+                       "Line", "Line Out",
+                       "Headphone", "Headphone Jack";
+               simple-audio-card,routing =
                        "MIC_IN", "Mic Jack",
                        "Mic Jack", "Mic Bias",
                        "Headphone Jack", "HP_OUT";
-               mux-int-port = <1>;
-               mux-ext-port = <5>;
+
+               cpu_dai: simple-audio-card,cpu {
+                       sound-dai = <&ssi1>;
+               };
+
+               codec_dai: simple-audio-card,codec {
+                       sound-dai = <&sgtl5000>;
+               };
        };
 };
 
 &audmux {
        status = "okay";
+
+       ssi1 {
+               fsl,audmux-port = <0>;
+               fsl,port-config = <
+                       (IMX_AUDMUX_V2_PTCR_SYN |
+                       IMX_AUDMUX_V2_PTCR_TFSEL(4) |
+                       IMX_AUDMUX_V2_PTCR_TCSEL(4) |
+                       IMX_AUDMUX_V2_PTCR_TFSDIR |
+                       IMX_AUDMUX_V2_PTCR_TCLKDIR)
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(4)
+               >;
+       };
+
+       pins5 {
+               fsl,audmux-port = <4>;
+               fsl,port-config = <
+                       IMX_AUDMUX_V2_PTCR_SYN
+                       IMX_AUDMUX_V2_PDCR_RXDSEL(0)
+               >;
+       };
 };
 
 &can1 {
 
 &fec {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_enet>;
+       pinctrl-0 = <&pinctrl_enet &pinctrl_enet_mdio &pinctrl_etnphy_rst>;
        clocks = <&clks IMX6QDL_CLK_ENET>,
                 <&clks IMX6QDL_CLK_ENET>,
                 <&clks IMX6QDL_CLK_ENET_REF>,
        clock-names = "ipg", "ahb", "ptp", "enet_out";
        phy-mode = "rmii";
        phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
+       phy-reset-post-delay = <10>;
        phy-handle = <&etnphy>;
        phy-supply = <&reg_3v3_etn>;
        status = "okay";
                        compatible = "ethernet-phy-ieee802.3-c22";
                        reg = <0>;
                        pinctrl-names = "default";
-                       pinctrl-0 = <&pinctrl_enet_mdio>;
-                       interrupts-extended = <&gpio7 1 IRQ_TYPE_EDGE_FALLING>;
+                       pinctrl-0 = <&pinctrl_etnphy_int>;
+                       interrupt-parent = <&gpio7>;
+                       interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
                };
        };
 };
 };
 
 &i2c1 {
-       pinctrl-names = "default";
+       pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c1>;
+       pinctrl-1 = <&pinctrl_i2c1_gpio>;
+       scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+       sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
        clock-frequency = <400000>;
        status = "okay";
 
        ds1339: rtc@68 {
                compatible = "dallas,ds1339";
                reg = <0x68>;
+               trickle-resistor-ohms = <250>;
+               trickle-diode-disable;
        };
 };
 
 &i2c3 {
-       pinctrl-names = "default";
+       pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c3>;
+       pinctrl-1 = <&pinctrl_i2c3_gpio>;
+       scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+       sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
        clock-frequency = <400000>;
        status = "okay";
 
-       sgtl5000: sgtl5000@0a {
+       sgtl5000: sgtl5000@a {
                compatible = "fsl,sgtl5000";
+               #sound-dai-cells = <0>;
                reg = <0x0a>;
                VDDA-supply = <&reg_2v5>;
                VDDIO-supply = <&reg_3v3>;
 
        pinctrl_hog: hoggrp {
                fsl,pins = <
-                       MX6QDL_PAD_SD3_DAT2__GPIO7_IO06         0x1b0b1 /* ETN PHY RESET */
-                       MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x1b0b1 /* ETN PHY INT */
                        MX6QDL_PAD_EIM_A25__GPIO5_IO02          0x1b0b1 /* PWR BTN */
                >;
        };
                >;
        };
 
+       pinctrl_etnphy_int: etnphy-intgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x1b0b1 /* ETN PHY INT */
+               >;
+       };
+
        pinctrl_etnphy_power: etnphy-pwrgrp {
                fsl,pins = <
                        MX6QDL_PAD_EIM_D20__GPIO3_IO20          0x1b0b1 /* ETN PHY POWER */
                >;
        };
 
+       pinctrl_etnphy_rst: etnphy-rstgrp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD3_DAT2__GPIO7_IO06         0x1b0b1 /* ETN PHY RESET */
+               >;
+       };
+
        pinctrl_flexcan1: flexcan1grp {
                fsl,pins = <
                        MX6QDL_PAD_GPIO_7__FLEXCAN1_TX          0x1b0b0
                >;
        };
 
+       pinctrl_i2c1_gpio: i2c1-gpiogrp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D21__GPIO3_IO21          0x4001b8b1
+                       MX6QDL_PAD_EIM_D28__GPIO3_IO28          0x4001b8b1
+               >;
+       };
+
        pinctrl_i2c3: i2c3grp {
                fsl,pins = <
                        MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
                >;
        };
 
+       pinctrl_i2c3_gpio: i2c3-gpiogrp {
+               fsl,pins = <
+                       MX6QDL_PAD_GPIO_3__GPIO1_IO03           0x4001b8b1
+                       MX6QDL_PAD_GPIO_6__GPIO1_IO06           0x4001b8b1
+               >;
+       };
+
        pinctrl_kpp: kppgrp {
                fsl,pins = <
                        MX6QDL_PAD_GPIO_9__KEY_COL6             0x1b0b1
diff --git a/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi b/arch/arm/boot/dts/imx6qdl-wandboard-revd1.dtsi
new file mode 100644 (file)
index 0000000..6d8d9ca
--- /dev/null
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include "imx6qdl-wandboard.dtsi"
+
+/ {
+       reg_eth_phy: regulator-eth-phy {
+               compatible = "regulator-fixed";
+               regulator-name = "ETH_PHY";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio7 13 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+
+       pmic: pfuze100@8 {
+               compatible = "fsl,pfuze100";
+               reg = <0x08>;
+
+               regulators {
+                       sw1a_reg: sw1ab {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw1c_reg: sw1c {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw3a_reg: sw3a {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3b_reg: sw3b {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw4_reg: sw4 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       swbst_reg: swbst {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5150000>;
+                       };
+
+                       snvs_reg: vsnvs {
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vref_reg: vrefddr {
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen4_reg: vgen4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen5_reg: vgen5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen6_reg: vgen6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+               };
+       };
+};
+
+&fec {
+       phy-supply = <&reg_eth_phy>;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl-0 = <&pinctrl_hog>;
+
+       imx6qdl-wandboard {
+               pinctrl_hog: hoggrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0
+                               MX6QDL_PAD_EIM_D22__USB_OTG_PWR         0x80000000      /* USB Power Enable */
+                               MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x80000000      /* USDHC1 CD */
+                               MX6QDL_PAD_EIM_DA9__GPIO3_IO09          0x80000000      /* uSDHC3 CD */
+                               MX6QDL_PAD_EIM_D29__GPIO3_IO29          0x1f0b1         /* RGMII PHY reset */
+                       >;
+               };
+
+               pinctrl_enet: enetgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
+                               MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
+                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                               MX6QDL_PAD_GPIO_6__ENET_IRQ             0x000b1
+                       >;
+               };
+
+               pinctrl_i2c3: i2c3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_5__I2C3_SCL             0x4001b8b1
+                               MX6QDL_PAD_GPIO_16__I2C3_SDA            0x4001b8b1
+                       >;
+               };
+
+               pinctrl_spdif: spdifgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_19__SPDIF_OUT           0x1b0b0
+                       >;
+               };
+       };
+};
+
+&usdhc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc2>;
+       bus-width = <4>;
+       no-1-8-v;
+       non-removable;
+       status = "okay";
+};
index b4fa7f1d63da1e54b3a09108ff74fc0b80d7ccfb..ed96d7b5feabdb276de7f0750c25c5dba26d6c1c 100644 (file)
@@ -82,7 +82,7 @@
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks IMX6QDL_CLK_CKO>;
index eeb7679fd348a4932d123a8bd7ec76fb5107cc63..7812fbac963c933f7247af8172a8bb17704761e0 100644 (file)
        clock-frequency = <100000>;
        status = "okay";
 
-       pmic@08 {
+       pmic@8 {
                compatible = "fsl,pfuze100";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_pfuze100_irq>;
 
                rmi4-f01@1 {
                        reg = <0x1>;
-                       syna,nosleep-mode = <1>;
+                       syna,nosleep-mode = <2>;
                };
 
                rmi4-f11@11 {
 
 &usbh1 {
        vbus-supply = <&reg_5p0v_main>;
+       disable-over-current;
        status = "okay";
 };
 
index 8884b4a3cafb6f979189ba4be89295ad3777bfee..1ce4eabf05904c21e0e8501795fe2927cab3c0bb 100644 (file)
@@ -87,7 +87,7 @@
                interrupt-parent = <&gpc>;
                ranges;
 
-               dma_apbh: dma-apbh@00110000 {
+               dma_apbh: dma-apbh@110000 {
                        compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
                        reg = <0x00110000 0x2000>;
                        interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&clks IMX6QDL_CLK_APBH_DMA>;
                };
 
-               gpmi: gpmi-nand@00112000 {
+               gpmi: gpmi-nand@112000 {
                        compatible = "fsl,imx6q-gpmi-nand";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        status = "disabled";
                };
 
-               hdmi: hdmi@0120000 {
+               hdmi: hdmi@120000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x00120000 0x9000>;
                        };
                };
 
-               gpu_3d: gpu@00130000 {
+               gpu_3d: gpu@130000 {
                        compatible = "vivante,gc";
                        reg = <0x00130000 0x4000>;
                        interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_pu>;
                };
 
-               gpu_2d: gpu@00134000 {
+               gpu_2d: gpu@134000 {
                        compatible = "vivante,gc";
                        reg = <0x00134000 0x4000>;
                        interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
                        power-domains = <&pd_pu>;
                };
 
-               timer@00a00600 {
+               timer@a00600 {
                        compatible = "arm,cortex-a9-twd-timer";
                        reg = <0x00a00600 0x20>;
                        interrupts = <1 13 0xf01>;
                        clocks = <&clks IMX6QDL_CLK_TWD>;
                };
 
-               intc: interrupt-controller@00a01000 {
+               intc: interrupt-controller@a01000 {
                        compatible = "arm,cortex-a9-gic";
                        #interrupt-cells = <3>;
                        interrupt-controller;
                        interrupt-parent = <&intc>;
                };
 
-               L2: l2-cache@00a02000 {
+               L2: l2-cache@a02000 {
                        compatible = "arm,pl310-cache";
                        reg = <0x00a02000 0x1000>;
                        interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
                        interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               aips-bus@02000000 { /* AIPS1 */
+               aips-bus@2000000 { /* AIPS1 */
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02000000 0x100000>;
                        ranges;
 
-                       spba-bus@02000000 {
+                       spba-bus@2000000 {
                                compatible = "fsl,spba-bus", "simple-bus";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x02000000 0x40000>;
                                ranges;
 
-                               spdif: spdif@02004000 {
+                               spdif: spdif@2004000 {
                                        compatible = "fsl,imx35-spdif";
                                        reg = <0x02004000 0x4000>;
                                        interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
                                        status = "disabled";
                                };
 
-                               ecspi1: ecspi@02008000 {
+                               ecspi1: ecspi@2008000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi2: ecspi@0200c000 {
+                               ecspi2: ecspi@200c000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi3: ecspi@02010000 {
+                               ecspi3: ecspi@2010000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi4: ecspi@02014000 {
+                               ecspi4: ecspi@2014000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               uart1: serial@02020000 {
+                               uart1: serial@2020000 {
                                        compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02020000 0x4000>;
                                        interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
                                        status = "disabled";
                                };
 
-                               esai: esai@02024000 {
+                               esai: esai@2024000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx35-esai";
                                        reg = <0x02024000 0x4000>;
                                        status = "disabled";
                                };
 
-                               ssi1: ssi@02028000 {
+                               ssi1: ssi@2028000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6q-ssi",
                                                        "fsl,imx51-ssi";
                                        status = "disabled";
                                };
 
-                               ssi2: ssi@0202c000 {
+                               ssi2: ssi@202c000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6q-ssi",
                                                        "fsl,imx51-ssi";
                                        status = "disabled";
                                };
 
-                               ssi3: ssi@02030000 {
+                               ssi3: ssi@2030000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6q-ssi",
                                                        "fsl,imx51-ssi";
                                        status = "disabled";
                                };
 
-                               asrc: asrc@02034000 {
+                               asrc: asrc@2034000 {
                                        compatible = "fsl,imx53-asrc";
                                        reg = <0x02034000 0x4000>;
                                        interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
                                        status = "okay";
                                };
 
-                               spba@0203c000 {
+                               spba@203c000 {
                                        reg = <0x0203c000 0x4000>;
                                };
                        };
 
-                       vpu: vpu@02040000 {
+                       vpu: vpu@2040000 {
                                compatible = "cnm,coda960";
                                reg = <0x02040000 0x3c000>;
                                interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>,
                                iram = <&ocram>;
                        };
 
-                       aipstz@0207c000 { /* AIPSTZ1 */
+                       aipstz@207c000 { /* AIPSTZ1 */
                                reg = <0x0207c000 0x4000>;
                        };
 
-                       pwm1: pwm@02080000 {
+                       pwm1: pwm@2080000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
                                reg = <0x02080000 0x4000>;
                                status = "disabled";
                        };
 
-                       pwm2: pwm@02084000 {
+                       pwm2: pwm@2084000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
                                reg = <0x02084000 0x4000>;
                                status = "disabled";
                        };
 
-                       pwm3: pwm@02088000 {
+                       pwm3: pwm@2088000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
                                reg = <0x02088000 0x4000>;
                                status = "disabled";
                        };
 
-                       pwm4: pwm@0208c000 {
+                       pwm4: pwm@208c000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
                                reg = <0x0208c000 0x4000>;
                                status = "disabled";
                        };
 
-                       can1: flexcan@02090000 {
+                       can1: flexcan@2090000 {
                                compatible = "fsl,imx6q-flexcan";
                                reg = <0x02090000 0x4000>;
                                interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       can2: flexcan@02094000 {
+                       can2: flexcan@2094000 {
                                compatible = "fsl,imx6q-flexcan";
                                reg = <0x02094000 0x4000>;
                                interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       gpt: gpt@02098000 {
+                       gpt: gpt@2098000 {
                                compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt";
                                reg = <0x02098000 0x4000>;
                                interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
                                clock-names = "ipg", "per", "osc_per";
                        };
 
-                       gpio1: gpio@0209c000 {
+                       gpio1: gpio@209c000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x0209c000 0x4000>;
                                interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       gpio2: gpio@020a0000 {
+                       gpio2: gpio@20a0000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x020a0000 0x4000>;
                                interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       gpio3: gpio@020a4000 {
+                       gpio3: gpio@20a4000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x020a4000 0x4000>;
                                interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       gpio4: gpio@020a8000 {
+                       gpio4: gpio@20a8000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x020a8000 0x4000>;
                                interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       gpio5: gpio@020ac000 {
+                       gpio5: gpio@20ac000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x020ac000 0x4000>;
                                interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       gpio6: gpio@020b0000 {
+                       gpio6: gpio@20b0000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x020b0000 0x4000>;
                                interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       gpio7: gpio@020b4000 {
+                       gpio7: gpio@20b4000 {
                                compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
                                reg = <0x020b4000 0x4000>;
                                interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>,
                                #interrupt-cells = <2>;
                        };
 
-                       kpp: kpp@020b8000 {
+                       kpp: kpp@20b8000 {
                                compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp";
                                reg = <0x020b8000 0x4000>;
                                interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       wdog1: wdog@020bc000 {
+                       wdog1: wdog@20bc000 {
                                compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
                                reg = <0x020bc000 0x4000>;
                                interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6QDL_CLK_DUMMY>;
                        };
 
-                       wdog2: wdog@020c0000 {
+                       wdog2: wdog@20c0000 {
                                compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
                                reg = <0x020c0000 0x4000>;
                                interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       clks: ccm@020c4000 {
+                       clks: ccm@20c4000 {
                                compatible = "fsl,imx6q-ccm";
                                reg = <0x020c4000 0x4000>;
                                interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
                                #clock-cells = <1>;
                        };
 
-                       anatop: anatop@020c8000 {
+                       anatop: anatop@20c8000 {
                                compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
                                reg = <0x020c8000 0x1000>;
                                interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>,
                                clocks = <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
                        };
 
-                       usbphy1: usbphy@020c9000 {
+                       usbphy1: usbphy@20c9000 {
                                compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020c9000 0x1000>;
                                interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       usbphy2: usbphy@020ca000 {
+                       usbphy2: usbphy@20ca000 {
                                compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020ca000 0x1000>;
                                interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       snvs: snvs@020cc000 {
+                       snvs: snvs@20cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
 
                                };
                        };
 
-                       epit1: epit@020d0000 { /* EPIT1 */
+                       epit1: epit@20d0000 { /* EPIT1 */
                                reg = <0x020d0000 0x4000>;
                                interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       epit2: epit@020d4000 { /* EPIT2 */
+                       epit2: epit@20d4000 { /* EPIT2 */
                                reg = <0x020d4000 0x4000>;
                                interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       src: src@020d8000 {
+                       src: src@20d8000 {
                                compatible = "fsl,imx6q-src", "fsl,imx51-src";
                                reg = <0x020d8000 0x4000>;
                                interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
                                #reset-cells = <1>;
                        };
 
-                       gpc: gpc@020dc000 {
+                       gpc: gpc@20dc000 {
                                compatible = "fsl,imx6q-gpc";
                                reg = <0x020dc000 0x4000>;
                                interrupt-controller;
                                };
                        };
 
-                       gpr: iomuxc-gpr@020e0000 {
+                       gpr: iomuxc-gpr@20e0000 {
                                compatible = "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
-                               reg = <0x020e0000 0x38>;
+                               reg = <0x20e0000 0x38>;
 
                                mux: mux-controller {
                                        compatible = "mmio-mux";
                                };
                        };
 
-                       iomuxc: iomuxc@020e0000 {
+                       iomuxc: iomuxc@20e0000 {
                                compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
-                               reg = <0x020e0000 0x4000>;
+                               reg = <0x20e0000 0x4000>;
                        };
 
                        ldb: ldb {
                                };
                        };
 
-                       dcic1: dcic@020e4000 {
+                       dcic1: dcic@20e4000 {
                                reg = <0x020e4000 0x4000>;
                                interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       dcic2: dcic@020e8000 {
+                       dcic2: dcic@20e8000 {
                                reg = <0x020e8000 0x4000>;
                                interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       sdma: sdma@020ec000 {
+                       sdma: sdma@20ec000 {
                                compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
                                reg = <0x020ec000 0x4000>;
                                interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               aips-bus@02100000 { /* AIPS2 */
+               aips-bus@2100000 { /* AIPS2 */
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                                };
                        };
 
-                       aipstz@0217c000 { /* AIPSTZ2 */
+                       aipstz@217c000 { /* AIPSTZ2 */
                                reg = <0x0217c000 0x4000>;
                        };
 
-                       usbotg: usb@02184000 {
+                       usbotg: usb@2184000 {
                                compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
                                reg = <0x02184000 0x200>;
                                interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbh1: usb@02184200 {
+                       usbh1: usb@2184200 {
                                compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
                                reg = <0x02184200 0x200>;
                                interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbh2: usb@02184400 {
+                       usbh2: usb@2184400 {
                                compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
                                reg = <0x02184400 0x200>;
                                interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbh3: usb@02184600 {
+                       usbh3: usb@2184600 {
                                compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
                                reg = <0x02184600 0x200>;
                                interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbmisc: usbmisc@02184800 {
+                       usbmisc: usbmisc@2184800 {
                                #index-cells = <1>;
                                compatible = "fsl,imx6q-usbmisc";
                                reg = <0x02184800 0x200>;
                                clocks = <&clks IMX6QDL_CLK_USBOH3>;
                        };
 
-                       fec: ethernet@02188000 {
+                       fec: ethernet@2188000 {
                                compatible = "fsl,imx6q-fec";
                                reg = <0x02188000 0x4000>;
                                interrupts-extended =
                                status = "disabled";
                        };
 
-                       mlb@0218c000 {
+                       mlb@218c000 {
                                reg = <0x0218c000 0x4000>;
                                interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>,
                                             <0 117 IRQ_TYPE_LEVEL_HIGH>,
                                             <0 126 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       usdhc1: usdhc@02190000 {
+                       usdhc1: usdhc@2190000 {
                                compatible = "fsl,imx6q-usdhc";
                                reg = <0x02190000 0x4000>;
                                interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc2: usdhc@02194000 {
+                       usdhc2: usdhc@2194000 {
                                compatible = "fsl,imx6q-usdhc";
                                reg = <0x02194000 0x4000>;
                                interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc3: usdhc@02198000 {
+                       usdhc3: usdhc@2198000 {
                                compatible = "fsl,imx6q-usdhc";
                                reg = <0x02198000 0x4000>;
                                interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc4: usdhc@0219c000 {
+                       usdhc4: usdhc@219c000 {
                                compatible = "fsl,imx6q-usdhc";
                                reg = <0x0219c000 0x4000>;
                                interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       i2c1: i2c@021a0000 {
+                       i2c1: i2c@21a0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c2: i2c@021a4000 {
+                       i2c2: i2c@21a4000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c3: i2c@021a8000 {
+                       i2c3: i2c@21a8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       romcp@021ac000 {
+                       romcp@21ac000 {
                                reg = <0x021ac000 0x4000>;
                        };
 
-                       mmdc0: mmdc@021b0000 { /* MMDC0 */
+                       mmdc0: mmdc@21b0000 { /* MMDC0 */
                                compatible = "fsl,imx6q-mmdc";
                                reg = <0x021b0000 0x4000>;
                        };
 
-                       mmdc1: mmdc@021b4000 { /* MMDC1 */
+                       mmdc1: mmdc@21b4000 { /* MMDC1 */
                                reg = <0x021b4000 0x4000>;
                        };
 
-                       weim: weim@021b8000 {
+                       weim: weim@21b8000 {
                                #address-cells = <2>;
                                #size-cells = <1>;
                                compatible = "fsl,imx6q-weim";
                                status = "disabled";
                        };
 
-                       ocotp: ocotp@021bc000 {
+                       ocotp: ocotp@21bc000 {
                                compatible = "fsl,imx6q-ocotp", "syscon";
                                reg = <0x021bc000 0x4000>;
                                clocks = <&clks IMX6QDL_CLK_IIM>;
                        };
 
-                       tzasc@021d0000 { /* TZASC1 */
+                       tzasc@21d0000 { /* TZASC1 */
                                reg = <0x021d0000 0x4000>;
                                interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       tzasc@021d4000 { /* TZASC2 */
+                       tzasc@21d4000 { /* TZASC2 */
                                reg = <0x021d4000 0x4000>;
                                interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       audmux: audmux@021d8000 {
+                       audmux: audmux@21d8000 {
                                compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
                                reg = <0x021d8000 0x4000>;
                                status = "disabled";
                        };
 
-                       mipi_csi: mipi@021dc000 {
+                       mipi_csi: mipi@21dc000 {
                                compatible = "fsl,imx6-mipi-csi2";
                                reg = <0x021dc000 0x4000>;
                                #address-cells = <1>;
                                status = "disabled";
                        };
 
-                       mipi_dsi: mipi@021e0000 {
+                       mipi_dsi: mipi@21e0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0x021e0000 0x4000>;
                                };
                        };
 
-                       vdoa@021e4000 {
+                       vdoa@21e4000 {
                                compatible = "fsl,imx6q-vdoa";
                                reg = <0x021e4000 0x4000>;
                                interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6QDL_CLK_VDOA>;
                        };
 
-                       uart2: serial@021e8000 {
+                       uart2: serial@21e8000 {
                                compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021e8000 0x4000>;
                                interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       uart3: serial@021ec000 {
+                       uart3: serial@21ec000 {
                                compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021ec000 0x4000>;
                                interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       uart4: serial@021f0000 {
+                       uart4: serial@21f0000 {
                                compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021f0000 0x4000>;
                                interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       uart5: serial@021f4000 {
+                       uart5: serial@21f4000 {
                                compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021f4000 0x4000>;
                                interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               ipu1: ipu@02400000 {
+               ipu1: ipu@2400000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "fsl,imx6q-ipu";
diff --git a/arch/arm/boot/dts/imx6qp-tx6qp-8037-mb7.dts b/arch/arm/boot/dts/imx6qp-tx6qp-8037-mb7.dts
new file mode 100644 (file)
index 0000000..92b38e6
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6qp-tx6qp-8037.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-8037 Module on MB7 baseboard";
+};
diff --git a/arch/arm/boot/dts/imx6qp-tx6qp-8037.dts b/arch/arm/boot/dts/imx6qp-tx6qp-8037.dts
new file mode 100644 (file)
index 0000000..ffc0f2e
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6qp.dtsi"
+#include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lcd.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6QP-8037 Module";
+       compatible = "karo,imx6qp-tx6qp", "fsl,imx6qp";
+};
+
+&ds1339 {
+       status = "disabled";
+};
+
+&gpmi {
+       status = "disabled";
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&usdhc4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc4>;
+       bus-width = <4>;
+       non-removable;
+       no-1-8-v;
+       fsl,wp-controller;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl_usdhc4: usdhc4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_CMD__SD4_CMD             0x070b1
+                       MX6QDL_PAD_SD4_CLK__SD4_CLK             0x070b1
+                       MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x070b1
+                       MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x070b1
+                       MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x070b1
+                       MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x070b1
+                       MX6QDL_PAD_NANDF_ALE__SD4_RESET         0x0b0b1
+               >;
+       };
+};
diff --git a/arch/arm/boot/dts/imx6qp-tx6qp-8137-mb7.dts b/arch/arm/boot/dts/imx6qp-tx6qp-8137-mb7.dts
new file mode 100644 (file)
index 0000000..07ad707
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6qp-tx6qp-8137.dts"
+#include "imx6qdl-tx6-mb7.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-8137 Module on MB7 baseboard";
+       compatible = "karo,imx6qp-tx6qp", "fsl,imx6qp";
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&sata {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6qp-tx6qp-8137.dts b/arch/arm/boot/dts/imx6qp-tx6qp-8137.dts
new file mode 100644 (file)
index 0000000..dd494d5
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License
+ *     version 2 as published by the Free Software Foundation.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "imx6qp.dtsi"
+#include "imx6qdl-tx6.dtsi"
+#include "imx6qdl-tx6-lvds.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6QP-8137 Module";
+       compatible = "karo,imx6qp-tx6qp", "fsl,imx6qp";
+};
+
+&ds1339 {
+       status = "disabled";
+};
+
+&gpmi {
+       status = "disabled";
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&sata {
+       status = "okay";
+};
+
+&usdhc4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc4>;
+       bus-width = <4>;
+       non-removable;
+       no-1-8-v;
+       fsl,wp-controller;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl_usdhc4: usdhc4grp {
+               fsl,pins = <
+                       MX6QDL_PAD_SD4_CMD__SD4_CMD             0x070b1
+                       MX6QDL_PAD_SD4_CLK__SD4_CLK             0x070b1
+                       MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x070b1
+                       MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x070b1
+                       MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x070b1
+                       MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x070b1
+                       MX6QDL_PAD_NANDF_ALE__SD4_RESET         0x0b0b1
+               >;
+       };
+};
diff --git a/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts b/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts
new file mode 100644 (file)
index 0000000..f7badd8
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+/dts-v1/;
+#include "imx6qp.dtsi"
+#include "imx6qdl-wandboard-revd1.dtsi"
+
+/ {
+       model = "Wandboard i.MX6 QuadPlus Board revD1";
+       compatible = "wand,imx6qp-wandboard", "fsl,imx6qp";
+
+       memory {
+               reg = <0x10000000 0x80000000>;
+       };
+};
+
+&sata {
+       status = "okay";
+};
index 299d863690c5dbbaded0a3b1bf05de9002b7cd3d..5f4fdce715c1941e24cab61074bfc8005db03a03 100644 (file)
 
 / {
        soc {
-               ocram2: sram@00940000 {
+               ocram2: sram@940000 {
                        compatible = "mmio-sram";
                        reg = <0x00940000 0x20000>;
                        clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
-               ocram3: sram@00960000 {
+               ocram3: sram@960000 {
                        compatible = "mmio-sram";
                        reg = <0x00960000 0x20000>;
                        clocks = <&clks IMX6QDL_CLK_OCRAM>;
                };
 
-               aips-bus@02100000 {
+               aips-bus@2100000 {
                        pre1: pre@21c8000 {
                                compatible = "fsl,imx6qp-pre";
                                reg = <0x021c8000 0x1000>;
index 0a90eea17018aceed3268d3969de1cb7bbd2f435..60600b4cf5fed80b8426d47f688d583cb357881b 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
index 3f76f980947ed6ecd88cb5a8b48cbfc3dc5bd63b..3ea1a41893c8bb578b7a7d0056bfbe32e2861246 100644 (file)
@@ -76,7 +76,7 @@
                };
        };
 
-       intc: interrupt-controller@00a01000 {
+       intc: interrupt-controller@a01000 {
                compatible = "arm,cortex-a9-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
                interrupt-parent = <&gpc>;
                ranges;
 
-               ocram: sram@00900000 {
+               ocram: sram@900000 {
                        compatible = "mmio-sram";
                        reg = <0x00900000 0x20000>;
                        clocks = <&clks IMX6SL_CLK_OCRAM>;
                };
 
-               L2: l2-cache@00a02000 {
+               L2: l2-cache@a02000 {
                        compatible = "arm,pl310-cache";
                        reg = <0x00a02000 0x1000>;
                        interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
                        interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               aips1: aips-bus@02000000 {
+               aips1: aips-bus@2000000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02000000 0x100000>;
                        ranges;
 
-                       spba: spba-bus@02000000 {
+                       spba: spba-bus@2000000 {
                                compatible = "fsl,spba-bus", "simple-bus";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x02000000 0x40000>;
                                ranges;
 
-                               spdif: spdif@02004000 {
+                               spdif: spdif@2004000 {
                                        compatible = "fsl,imx6sl-spdif",
                                                "fsl,imx35-spdif";
                                        reg = <0x02004000 0x4000>;
                                        status = "disabled";
                                };
 
-                               ecspi1: ecspi@02008000 {
+                               ecspi1: ecspi@2008000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi2: ecspi@0200c000 {
+                               ecspi2: ecspi@200c000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi3: ecspi@02010000 {
+                               ecspi3: ecspi@2010000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi4: ecspi@02014000 {
+                               ecspi4: ecspi@2014000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sl-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               uart5: serial@02018000 {
+                               uart5: serial@2018000 {
                                        compatible = "fsl,imx6sl-uart",
                                                   "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02018000 0x4000>;
                                        status = "disabled";
                                };
 
-                               uart1: serial@02020000 {
+                               uart1: serial@2020000 {
                                        compatible = "fsl,imx6sl-uart",
                                                   "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02020000 0x4000>;
                                        status = "disabled";
                                };
 
-                               uart2: serial@02024000 {
+                               uart2: serial@2024000 {
                                        compatible = "fsl,imx6sl-uart",
                                                   "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02024000 0x4000>;
                                        status = "disabled";
                                };
 
-                               ssi1: ssi@02028000 {
+                               ssi1: ssi@2028000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sl-ssi",
                                                        "fsl,imx51-ssi";
                                        status = "disabled";
                                };
 
-                               ssi2: ssi@0202c000 {
+                               ssi2: ssi@202c000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sl-ssi",
                                                        "fsl,imx51-ssi";
                                        status = "disabled";
                                };
 
-                               ssi3: ssi@02030000 {
+                               ssi3: ssi@2030000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sl-ssi",
                                                        "fsl,imx51-ssi";
                                        status = "disabled";
                                };
 
-                               uart3: serial@02034000 {
+                               uart3: serial@2034000 {
                                        compatible = "fsl,imx6sl-uart",
                                                   "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02034000 0x4000>;
                                        status = "disabled";
                                };
 
-                               uart4: serial@02038000 {
+                               uart4: serial@2038000 {
                                        compatible = "fsl,imx6sl-uart",
                                                   "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02038000 0x4000>;
                                };
                        };
 
-                       pwm1: pwm@02080000 {
+                       pwm1: pwm@2080000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
                                reg = <0x02080000 0x4000>;
                                clock-names = "ipg", "per";
                        };
 
-                       pwm2: pwm@02084000 {
+                       pwm2: pwm@2084000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
                                reg = <0x02084000 0x4000>;
                                clock-names = "ipg", "per";
                        };
 
-                       pwm3: pwm@02088000 {
+                       pwm3: pwm@2088000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
                                reg = <0x02088000 0x4000>;
                                clock-names = "ipg", "per";
                        };
 
-                       pwm4: pwm@0208c000 {
+                       pwm4: pwm@208c000 {
                                #pwm-cells = <2>;
                                compatible = "fsl,imx6sl-pwm", "fsl,imx27-pwm";
                                reg = <0x0208c000 0x4000>;
                                clock-names = "ipg", "per";
                        };
 
-                       gpt: gpt@02098000 {
+                       gpt: gpt@2098000 {
                                compatible = "fsl,imx6sl-gpt";
                                reg = <0x02098000 0x4000>;
                                interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
                                clock-names = "ipg", "per";
                        };
 
-                       gpio1: gpio@0209c000 {
+                       gpio1: gpio@209c000 {
                                compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
                                reg = <0x0209c000 0x4000>;
                                interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>,
                                              <&iomuxc 27 64 4>, <&iomuxc 31 52 1>;
                        };
 
-                       gpio2: gpio@020a0000 {
+                       gpio2: gpio@20a0000 {
                                compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
                                reg = <0x020a0000 0x4000>;
                                interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>,
                                              <&iomuxc 23 125 7>, <&iomuxc 30 110 2>;
                        };
 
-                       gpio3: gpio@020a4000 {
+                       gpio3: gpio@20a4000 {
                                compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
                                reg = <0x020a4000 0x4000>;
                                interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>,
                                              <&iomuxc 31 102 1>;
                        };
 
-                       gpio4: gpio@020a8000 {
+                       gpio4: gpio@20a8000 {
                                compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
                                reg = <0x020a8000 0x4000>;
                                interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>,
                                              <&iomuxc 30 152 1>, <&iomuxc 31 156 1>;
                        };
 
-                       gpio5: gpio@020ac000 {
+                       gpio5: gpio@20ac000 {
                                compatible = "fsl,imx6sl-gpio", "fsl,imx35-gpio";
                                reg = <0x020ac000 0x4000>;
                                interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>,
                                              <&iomuxc 21 161 1>;
                        };
 
-                       kpp: kpp@020b8000 {
+                       kpp: kpp@20b8000 {
                                compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp";
                                reg = <0x020b8000 0x4000>;
                                interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       wdog1: wdog@020bc000 {
+                       wdog1: wdog@20bc000 {
                                compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
                                reg = <0x020bc000 0x4000>;
                                interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SL_CLK_DUMMY>;
                        };
 
-                       wdog2: wdog@020c0000 {
+                       wdog2: wdog@20c0000 {
                                compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt";
                                reg = <0x020c0000 0x4000>;
                                interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       clks: ccm@020c4000 {
+                       clks: ccm@20c4000 {
                                compatible = "fsl,imx6sl-ccm";
                                reg = <0x020c4000 0x4000>;
                                interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
                                #clock-cells = <1>;
                        };
 
-                       anatop: anatop@020c8000 {
+                       anatop: anatop@20c8000 {
                                compatible = "fsl,imx6sl-anatop",
                                             "fsl,imx6q-anatop",
                                             "syscon", "simple-bus";
                                clocks = <&clks IMX6SL_CLK_PLL3_USB_OTG>;
                        };
 
-                       usbphy1: usbphy@020c9000 {
+                       usbphy1: usbphy@20c9000 {
                                compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020c9000 0x1000>;
                                interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       usbphy2: usbphy@020ca000 {
+                       usbphy2: usbphy@20ca000 {
                                compatible = "fsl,imx6sl-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020ca000 0x1000>;
                                interrupts = <0 45 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       snvs: snvs@020cc000 {
+                       snvs: snvs@20cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
 
                                };
                        };
 
-                       epit1: epit@020d0000 {
+                       epit1: epit@20d0000 {
                                reg = <0x020d0000 0x4000>;
                                interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       epit2: epit@020d4000 {
+                       epit2: epit@20d4000 {
                                reg = <0x020d4000 0x4000>;
                                interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       src: src@020d8000 {
+                       src: src@20d8000 {
                                compatible = "fsl,imx6sl-src", "fsl,imx51-src";
                                reg = <0x020d8000 0x4000>;
                                interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>,
                                #reset-cells = <1>;
                        };
 
-                       gpc: gpc@020dc000 {
+                       gpc: gpc@20dc000 {
                                compatible = "fsl,imx6sl-gpc", "fsl,imx6q-gpc";
                                reg = <0x020dc000 0x4000>;
                                interrupt-controller;
                                #power-domain-cells = <1>;
                        };
 
-                       gpr: iomuxc-gpr@020e0000 {
+                       gpr: iomuxc-gpr@20e0000 {
                                compatible = "fsl,imx6sl-iomuxc-gpr",
                                             "fsl,imx6q-iomuxc-gpr", "syscon";
                                reg = <0x020e0000 0x38>;
                        };
 
-                       iomuxc: iomuxc@020e0000 {
+                       iomuxc: iomuxc@20e0000 {
                                compatible = "fsl,imx6sl-iomuxc";
                                reg = <0x020e0000 0x4000>;
                        };
 
-                       csi: csi@020e4000 {
+                       csi: csi@20e4000 {
                                reg = <0x020e4000 0x4000>;
                                interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       spdc: spdc@020e8000 {
+                       spdc: spdc@20e8000 {
                                reg = <0x020e8000 0x4000>;
                                interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       sdma: sdma@020ec000 {
+                       sdma: sdma@20ec000 {
                                compatible = "fsl,imx6sl-sdma", "fsl,imx6q-sdma";
                                reg = <0x020ec000 0x4000>;
                                interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
                        };
 
-                       pxp: pxp@020f0000 {
+                       pxp: pxp@20f0000 {
                                reg = <0x020f0000 0x4000>;
                                interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       epdc: epdc@020f4000 {
+                       epdc: epdc@20f4000 {
                                reg = <0x020f4000 0x4000>;
                                interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       lcdif: lcdif@020f8000 {
+                       lcdif: lcdif@20f8000 {
                                compatible = "fsl,imx6sl-lcdif", "fsl,imx28-lcdif";
                                reg = <0x020f8000 0x4000>;
                                interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       dcp: dcp@020fc000 {
+                       dcp: dcp@20fc000 {
                                compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp";
                                reg = <0x020fc000 0x4000>;
                                interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>,
                        };
                };
 
-               aips2: aips-bus@02100000 {
+               aips2: aips-bus@2100000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02100000 0x100000>;
                        ranges;
 
-                       usbotg1: usb@02184000 {
+                       usbotg1: usb@2184000 {
                                compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
                                reg = <0x02184000 0x200>;
                                interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbotg2: usb@02184200 {
+                       usbotg2: usb@2184200 {
                                compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
                                reg = <0x02184200 0x200>;
                                interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbh: usb@02184400 {
+                       usbh: usb@2184400 {
                                compatible = "fsl,imx6sl-usb", "fsl,imx27-usb";
                                reg = <0x02184400 0x200>;
                                interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbmisc: usbmisc@02184800 {
+                       usbmisc: usbmisc@2184800 {
                                #index-cells = <1>;
                                compatible = "fsl,imx6sl-usbmisc", "fsl,imx6q-usbmisc";
                                reg = <0x02184800 0x200>;
                                clocks = <&clks IMX6SL_CLK_USBOH3>;
                        };
 
-                       fec: ethernet@02188000 {
+                       fec: ethernet@2188000 {
                                compatible = "fsl,imx6sl-fec", "fsl,imx25-fec";
                                reg = <0x02188000 0x4000>;
                                interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc1: usdhc@02190000 {
+                       usdhc1: usdhc@2190000 {
                                compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
                                reg = <0x02190000 0x4000>;
                                interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc2: usdhc@02194000 {
+                       usdhc2: usdhc@2194000 {
                                compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
                                reg = <0x02194000 0x4000>;
                                interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc3: usdhc@02198000 {
+                       usdhc3: usdhc@2198000 {
                                compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
                                reg = <0x02198000 0x4000>;
                                interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc4: usdhc@0219c000 {
+                       usdhc4: usdhc@219c000 {
                                compatible = "fsl,imx6sl-usdhc", "fsl,imx6q-usdhc";
                                reg = <0x0219c000 0x4000>;
                                interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       i2c1: i2c@021a0000 {
+                       i2c1: i2c@21a0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c2: i2c@021a4000 {
+                       i2c2: i2c@21a4000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c3: i2c@021a8000 {
+                       i2c3: i2c@21a8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sl-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       mmdc: mmdc@021b0000 {
+                       mmdc: mmdc@21b0000 {
                                compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
                                reg = <0x021b0000 0x4000>;
                        };
 
-                       rngb: rngb@021b4000 {
+                       rngb: rngb@21b4000 {
                                reg = <0x021b4000 0x4000>;
                                interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       weim: weim@021b8000 {
+                       weim: weim@21b8000 {
                                #address-cells = <2>;
                                #size-cells = <1>;
                                reg = <0x021b8000 0x4000>;
                                status = "disabled";
                        };
 
-                       ocotp: ocotp@021bc000 {
+                       ocotp: ocotp@21bc000 {
                                compatible = "fsl,imx6sl-ocotp", "syscon";
                                reg = <0x021bc000 0x4000>;
                                clocks = <&clks IMX6SL_CLK_OCOTP>;
                        };
 
-                       audmux: audmux@021d8000 {
+                       audmux: audmux@21d8000 {
                                compatible = "fsl,imx6sl-audmux", "fsl,imx31-audmux";
                                reg = <0x021d8000 0x4000>;
                                status = "disabled";
index c5578d1c1ee4d126a2b2f156af02b0a4f29a1888..f9d40ee149824186442a0d4d8352f4ed9d59aaf1 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_sgtl5000>;
index 71005478cdf06f29e9a0f4a04215e02d32fdba22..e3533e74ccc84bbaa0dbf82aae7d9f5c408102dc 100644 (file)
@@ -18,7 +18,7 @@
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
 
index c0139d7e497ab3b525f3de8a891e6b47f1eb4dfa..6dd9bebfe027834fe445fad8408280e9cbf51ef3 100644 (file)
@@ -18,7 +18,7 @@
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze100@08 {
+       pmic: pfuze100@8 {
                compatible = "fsl,pfuze200";
                reg = <0x08>;
 
diff --git a/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts b/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts
new file mode 100644 (file)
index 0000000..4d8c652
--- /dev/null
@@ -0,0 +1,572 @@
+/*
+ * Copyright (C) 2016 Christoph Fritz <chf.fritz@googlemail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include "imx6sx.dtsi"
+
+/ {
+       model = "Softing VIN|ING 2000";
+       compatible = "samtec,imx6sx-vining-2000", "fsl,imx6sx";
+
+       chosen {
+               stdout-path = &uart1;
+       };
+
+       memory {
+               reg = <0x80000000 0x40000000>;
+       };
+
+       reg_usb_otg1_vbus: regulator-usb_otg1_vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb_otg1_vbus";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usb_otg1>;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
+       reg_peri_3v3: regulator-peri_3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "peri_3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       pwmleds {
+               compatible = "pwm-leds";
+
+               red {
+                       label = "red";
+                       max-brightness = <255>;
+                       pwms = <&pwm6 0 50000>;
+               };
+
+               green {
+                       label = "green";
+                       max-brightness = <255>;
+                       pwms = <&pwm2 0 50000>;
+               };
+
+               blue {
+                       label = "blue";
+                       max-brightness = <255>;
+                       pwms = <&pwm1 0 50000>;
+               };
+       };
+};
+
+&adc1 {
+       vref-supply = <&reg_peri_3v3>;
+       status = "okay";
+};
+
+&cpu0 {
+       /*
+        * This board has a shared rail of reg_arm and reg_soc (supplied by
+        * sw1a_reg) which is modeled below, but still this module behaves
+        * unstable without higher voltages. Hence, set higher voltages here.
+        */
+       operating-points = <
+               /* kHz    uV */
+               996000  1250000
+               792000  1175000
+               396000  1175000
+               198000  1175000
+               >;
+       fsl,soc-operating-points = <
+               /* ARM kHz  SOC uV */
+               996000  1250000
+               792000  1175000
+               396000  1175000
+               198000  1175000
+       >;
+};
+
+&ecspi4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi4>;
+       cs-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+};
+
+&fec1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_enet1>;
+       phy-supply = <&reg_peri_3v3>;
+       phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
+       phy-reset-duration = <5>;
+       phy-mode = "rmii";
+       phy-handle = <&ethphy0>;
+       status = "okay";
+
+       mdio {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               ethphy0: ethernet0-phy@0 {
+                       reg = <0>;
+                       max-speed = <100>;
+                       interrupt-parent = <&gpio2>;
+                       interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
+               };
+       };
+};
+
+&fec2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_enet2>;
+       phy-supply = <&reg_peri_3v3>;
+       phy-reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
+       phy-reset-duration = <5>;
+       phy-mode = "rmii";
+       phy-handle = <&ethphy1>;
+       status = "okay";
+
+       mdio {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               ethphy1: ethernet1-phy@0 {
+                       reg = <0>;
+                       max-speed = <100>;
+                       interrupt-parent = <&gpio2>;
+                       interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
+               };
+       };
+};
+
+&flexcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       status = "okay";
+};
+
+&flexcan2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       status = "okay";
+};
+
+&i2c1 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       status = "okay";
+
+       proximity: sx9500@28 {
+               compatible = "semtech,sx9500";
+               reg = <0x28>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_sx9500>;
+               interrupt-parent = <&gpio2>;
+               interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+               reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
+       };
+
+       pmic: pfuze100@8 {
+               compatible = "fsl,pfuze200";
+               reg = <0x08>;
+
+               regulators {
+                       sw1a_reg: sw1ab {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3a_reg: sw3a {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3b_reg: sw3b {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       snvs_reg: vsnvs {
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vref_reg: vrefddr {
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                               regulator-always-on;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen4_reg: vgen4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen5_reg: vgen5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen6_reg: vgen6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+               };
+       };
+};
+
+&i2c3 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+};
+
+&iomuxc {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_gpios>;
+
+       pinctrl_ecspi4: ecspi4grp {
+               fsl,pins = <
+                       MX6SX_PAD_SD3_CLK__ECSPI4_SCLK          0x130b1
+                       MX6SX_PAD_SD3_DATA3__ECSPI4_MISO        0x130b1
+                       MX6SX_PAD_SD3_CMD__ECSPI4_MOSI          0x130b1
+                       MX6SX_PAD_SD3_DATA2__GPIO7_IO_4         0x30b0
+               >;
+       };
+
+       pinctrl_enet1: enet1grp {
+               fsl,pins = <
+                       MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0   0x30c1
+                       MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1   0x30c1
+                       MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0   0xa0f9
+                       MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1   0xa0f9
+                       MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN    0x30c1
+                       MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN    0xa0f9
+                       MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x4000a038
+                       /* LAN8720 PHY Reset */
+                       MX6SX_PAD_RGMII1_TD3__GPIO5_IO_9        0x10b0
+                       /* MDIO */
+                       MX6SX_PAD_ENET1_MDC__ENET1_MDC          0xa0f9
+                       MX6SX_PAD_ENET1_MDIO__ENET1_MDIO        0xa0f9
+                       /* IRQ from PHY */
+                       MX6SX_PAD_KEY_ROW2__GPIO2_IO_17         0x10b0
+               >;
+       };
+
+       pinctrl_enet2: enet2grp {
+               fsl,pins = <
+                       MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0   0x1b0b0
+                       MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1   0x1b0b0
+                       MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0   0x1b0b0
+                       MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1   0x1b0b0
+                       MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN    0x1b0b0
+                       MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN    0x1b0b0
+                       MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x4000a038
+                       /* LAN8720 PHY Reset */
+                       MX6SX_PAD_RGMII2_TD3__GPIO5_IO_21       0x10b0
+                       /* MDIO */
+                       MX6SX_PAD_ENET1_COL__ENET2_MDC          0xa0f9
+                       MX6SX_PAD_ENET1_CRS__ENET2_MDIO         0xa0f9
+                       /* IRQ from PHY */
+                       MX6SX_PAD_KEY_ROW4__GPIO2_IO_19         0x10b0
+               >;
+       };
+
+       pinctrl_flexcan1: flexcan1grp {
+               fsl,pins = <
+                       MX6SX_PAD_QSPI1B_DQS__CAN1_TX           0x1b0b0
+                       MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX         0x1b0b0
+               >;
+       };
+
+       pinctrl_flexcan2: flexcan2grp {
+               fsl,pins = <
+                       MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX         0x1b0b0
+                       MX6SX_PAD_QSPI1A_DQS__CAN2_TX           0x1b0b0
+               >;
+       };
+
+       pinctrl_gpios: gpiosgrp {
+               fsl,pins = <
+                       /* reset external uC */
+                       MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19     0x10b0
+                       /* IRQ from external uC */
+                       MX6SX_PAD_KEY_ROW0__GPIO2_IO_15         0x10b0
+                       /* overcurrent detection */
+                       MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8        0x10b0
+               >;
+       };
+
+       pinctrl_i2c1: i2c1grp {
+               fsl,pins = <
+                       MX6SX_PAD_GPIO1_IO01__I2C1_SDA          0x4001b8b1
+                       MX6SX_PAD_GPIO1_IO00__I2C1_SCL          0x4001b8b1
+               >;
+       };
+
+       pinctrl_i2c3: i2c3grp {
+               fsl,pins = <
+                       MX6SX_PAD_NAND_ALE__I2C3_SDA            0x4001b8b1
+                       MX6SX_PAD_NAND_CLE__I2C3_SCL            0x4001b8b1
+               >;
+       };
+
+       pinctrl_pwm1: pwm1grp-1 {
+               fsl,pins = <
+                       /* blue LED */
+                       MX6SX_PAD_RGMII2_RD3__PWM1_OUT          0x1b0b1
+               >;
+       };
+
+       pinctrl_pwm2: pwm2grp-1 {
+               fsl,pins = <
+                       /* green LED */
+                       MX6SX_PAD_RGMII2_RD2__PWM2_OUT          0x1b0b1
+               >;
+       };
+
+       pinctrl_pwm6: pwm6grp-1 {
+               fsl,pins = <
+                       /* red LED */
+                       MX6SX_PAD_RGMII2_TD2__PWM6_OUT          0x1b0b1
+               >;
+       };
+
+       pinctrl_sx9500: sx9500grp {
+               fsl,pins = <
+                       /* Reset */
+                       MX6SX_PAD_KEY_COL0__GPIO2_IO_10         0x838
+                       /* IRQ */
+                       MX6SX_PAD_KEY_ROW1__GPIO2_IO_16         0x70e0
+               >;
+       };
+
+       pinctrl_uart1: uart1grp {
+               fsl,pins = <
+                       MX6SX_PAD_GPIO1_IO04__UART1_TX          0x1b0b1
+                       MX6SX_PAD_GPIO1_IO05__UART1_RX          0x1b0b1
+               >;
+       };
+
+       pinctrl_uart2: uart2grp {
+               fsl,pins = <
+                       MX6SX_PAD_GPIO1_IO06__UART2_TX          0x1b0b1
+                       MX6SX_PAD_GPIO1_IO07__UART2_RX          0x1b0b1
+               >;
+       };
+
+       pinctrl_usb_otg1: usbotg1grp {
+               fsl,pins = <
+                       MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9        0x10b0
+               >;
+       };
+
+       pinctrl_usb_otg1_id: usbotg1idgrp {
+               fsl,pins = <
+                       MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID    0x17059
+               >;
+       };
+
+       pinctrl_usdhc2_50mhz: usdhc2grp-50mhz {
+               fsl,pins = <
+                       MX6SX_PAD_SD2_CLK__USDHC2_CLK           0x10059
+                       MX6SX_PAD_SD2_CMD__USDHC2_CMD           0x17059
+                       MX6SX_PAD_SD2_DATA0__USDHC2_DATA0       0x17059
+                       MX6SX_PAD_SD2_DATA1__USDHC2_DATA1       0x17059
+                       MX6SX_PAD_SD2_DATA2__USDHC2_DATA2       0x17059
+                       MX6SX_PAD_SD2_DATA3__USDHC2_DATA3       0x17059
+                       MX6SX_PAD_LCD1_VSYNC__GPIO3_IO_28       0x1b000
+                       MX6SX_PAD_LCD1_HSYNC__GPIO3_IO_26       0x10b0
+               >;
+       };
+
+       pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
+               fsl,pins = <
+                       MX6SX_PAD_SD2_CLK__USDHC2_CLK           0x100b9
+                       MX6SX_PAD_SD2_CMD__USDHC2_CMD           0x170b9
+                       MX6SX_PAD_SD2_DATA0__USDHC2_DATA0       0x170b9
+                       MX6SX_PAD_SD2_DATA1__USDHC2_DATA1       0x170b9
+                       MX6SX_PAD_SD2_DATA2__USDHC2_DATA2       0x170b9
+                       MX6SX_PAD_SD2_DATA3__USDHC2_DATA3       0x170b9
+               >;
+       };
+
+       pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
+               fsl,pins = <
+                       MX6SX_PAD_SD2_CLK__USDHC2_CLK           0x100f9
+                       MX6SX_PAD_SD2_CMD__USDHC2_CMD           0x170f9
+                       MX6SX_PAD_SD2_DATA0__USDHC2_DATA0       0x170f9
+                       MX6SX_PAD_SD2_DATA1__USDHC2_DATA1       0x170f9
+                       MX6SX_PAD_SD2_DATA2__USDHC2_DATA2       0x170f9
+                       MX6SX_PAD_SD2_DATA3__USDHC2_DATA3       0x170f9
+               >;
+       };
+
+       pinctrl_usdhc4_50mhz: usdhc4grp-50mhz {
+               fsl,pins = <
+                       MX6SX_PAD_SD4_CLK__USDHC4_CLK           0x10059
+                       MX6SX_PAD_SD4_CMD__USDHC4_CMD           0x17059
+                       MX6SX_PAD_SD4_DATA0__USDHC4_DATA0       0x17059
+                       MX6SX_PAD_SD4_DATA1__USDHC4_DATA1       0x17059
+                       MX6SX_PAD_SD4_DATA2__USDHC4_DATA2       0x17059
+                       MX6SX_PAD_SD4_DATA3__USDHC4_DATA3       0x17059
+                       MX6SX_PAD_SD4_DATA4__USDHC4_DATA4       0x17059
+                       MX6SX_PAD_SD4_DATA5__USDHC4_DATA5       0x17059
+                       MX6SX_PAD_SD4_DATA6__USDHC4_DATA6       0x17059
+                       MX6SX_PAD_SD4_DATA7__USDHC4_DATA7       0x17059
+                       MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B   0x17068
+               >;
+       };
+
+       pinctrl_usdhc4_100mhz: usdhc4-100mhz {
+               fsl,pins = <
+                       MX6SX_PAD_SD4_CLK__USDHC4_CLK           0x100b9
+                       MX6SX_PAD_SD4_CMD__USDHC4_CMD           0x170b9
+                       MX6SX_PAD_SD4_DATA0__USDHC4_DATA0       0x170b9
+                       MX6SX_PAD_SD4_DATA1__USDHC4_DATA1       0x170b9
+                       MX6SX_PAD_SD4_DATA2__USDHC4_DATA2       0x170b9
+                       MX6SX_PAD_SD4_DATA3__USDHC4_DATA3       0x170b9
+                       MX6SX_PAD_SD4_DATA4__USDHC4_DATA4       0x170b9
+                       MX6SX_PAD_SD4_DATA5__USDHC4_DATA5       0x170b9
+                       MX6SX_PAD_SD4_DATA6__USDHC4_DATA6       0x170b9
+                       MX6SX_PAD_SD4_DATA7__USDHC4_DATA7       0x170b9
+               >;
+       };
+
+       pinctrl_usdhc4_200mhz: usdhc4-200mhz {
+               fsl,pins = <
+                       MX6SX_PAD_SD4_CLK__USDHC4_CLK           0x100f9
+                       MX6SX_PAD_SD4_CMD__USDHC4_CMD           0x170f9
+                       MX6SX_PAD_SD4_DATA0__USDHC4_DATA0       0x170f9
+                       MX6SX_PAD_SD4_DATA1__USDHC4_DATA1       0x170f9
+                       MX6SX_PAD_SD4_DATA2__USDHC4_DATA2       0x170f9
+                       MX6SX_PAD_SD4_DATA3__USDHC4_DATA3       0x170f9
+                       MX6SX_PAD_SD4_DATA4__USDHC4_DATA4       0x170f9
+                       MX6SX_PAD_SD4_DATA5__USDHC4_DATA5       0x170f9
+                       MX6SX_PAD_SD4_DATA6__USDHC4_DATA6       0x170f9
+                       MX6SX_PAD_SD4_DATA7__USDHC4_DATA7       0x170f9
+               >;
+       };
+};
+
+&pwm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm1>;
+       status = "okay";
+};
+
+&pwm2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm2>;
+       status = "okay";
+};
+
+&pwm6 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm6>;
+       status = "okay";
+};
+
+&reg_arm {
+       vin-supply = <&sw1a_reg>;
+};
+
+&reg_soc {
+       vin-supply = <&sw1a_reg>;
+};
+
+&snvs_poweroff {
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       status = "okay";
+};
+
+&usbotg1 {
+       vbus-supply = <&reg_usb_otg1_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usb_otg1_id>;
+       status = "okay";
+};
+
+&usbotg2 {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usdhc2 {
+       pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       pinctrl-0 = <&pinctrl_usdhc2_50mhz>;
+       pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
+       pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
+       cd-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
+       keep-power-in-suspend;
+       status = "okay";
+};
+
+&usdhc4 {
+       /* hs200-mode is currently unsupported because Vccq is on 3.1V, but
+        * not on necessary 1.8V.
+        */
+       pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       pinctrl-0 = <&pinctrl_usdhc4_50mhz>;
+       pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
+       pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
+       bus-width = <8>;
+       keep-power-in-suspend;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
index dcfc9759143375decd12bea87ad5e7547837f3bd..53b3eac94f0de605606260e111c7980887349d3c 100644 (file)
        clock-frequency = <100000>;
        status = "okay";
 
-       pmic: pmic@08 {
+       pmic: pmic@8 {
                compatible = "fsl,pfuze3000";
                reg = <0x08>;
 
index 6c7eb54be9e2a4912d27cd4dcc2803a338390323..5b03ba3beda9e91d47d1bf7ad8e5ed25fc1f347d 100644 (file)
@@ -95,7 +95,7 @@
                };
        };
 
-       intc: interrupt-controller@00a01000 {
+       intc: interrupt-controller@a01000 {
                compatible = "arm,cortex-a9-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
                        interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               ocram: sram@00900000 {
+               ocram: sram@900000 {
                        compatible = "mmio-sram";
                        reg = <0x00900000 0x20000>;
                        clocks = <&clks IMX6SX_CLK_OCRAM>;
                };
 
-               L2: l2-cache@00a02000 {
+               L2: l2-cache@a02000 {
                        compatible = "arm,pl310-cache";
                        reg = <0x00a02000 0x1000>;
                        interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
                        arm,data-latency = <4 2 3>;
                };
 
-               gpu: gpu@01800000 {
+               gpu: gpu@1800000 {
                        compatible = "vivante,gc";
                        reg = <0x01800000 0x4000>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                        clock-names = "bus", "core", "shader";
                };
 
-               dma_apbh: dma-apbh@01804000 {
+               dma_apbh: dma-apbh@1804000 {
                        compatible = "fsl,imx6sx-dma-apbh", "fsl,imx28-dma-apbh";
                        reg = <0x01804000 0x2000>;
                        interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&clks IMX6SX_CLK_APBH_DMA>;
                };
 
-               gpmi: gpmi-nand@01806000{
+               gpmi: gpmi-nand@1806000{
                        compatible = "fsl,imx6sx-gpmi-nand";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        status = "disabled";
                };
 
-               aips1: aips-bus@02000000 {
+               aips1: aips-bus@2000000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02000000 0x100000>;
                        ranges;
 
-                       spba-bus@02000000 {
+                       spba-bus@2000000 {
                                compatible = "fsl,spba-bus", "simple-bus";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x02000000 0x40000>;
                                ranges;
 
-                               spdif: spdif@02004000 {
+                               spdif: spdif@2004000 {
                                        compatible = "fsl,imx6sx-spdif", "fsl,imx35-spdif";
                                        reg = <0x02004000 0x4000>;
                                        interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
                                        status = "disabled";
                                };
 
-                               ecspi1: ecspi@02008000 {
+                               ecspi1: ecspi@2008000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi2: ecspi@0200c000 {
+                               ecspi2: ecspi@200c000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi3: ecspi@02010000 {
+                               ecspi3: ecspi@2010000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi4: ecspi@02014000 {
+                               ecspi4: ecspi@2014000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               uart1: serial@02020000 {
+                               uart1: serial@2020000 {
                                        compatible = "fsl,imx6sx-uart",
                                                     "fsl,imx6q-uart", "fsl,imx21-uart";
                                        reg = <0x02020000 0x4000>;
                                        status = "disabled";
                                };
 
-                               esai: esai@02024000 {
+                               esai: esai@2024000 {
                                        reg = <0x02024000 0x4000>;
                                        interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_ESAI_IPG>,
                                        status = "disabled";
                                };
 
-                               ssi1: ssi@02028000 {
+                               ssi1: ssi@2028000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
                                        reg = <0x02028000 0x4000>;
                                        status = "disabled";
                                };
 
-                               ssi2: ssi@0202c000 {
+                               ssi2: ssi@202c000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
                                        reg = <0x0202c000 0x4000>;
                                        status = "disabled";
                                };
 
-                               ssi3: ssi@02030000 {
+                               ssi3: ssi@2030000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6sx-ssi", "fsl,imx51-ssi";
                                        reg = <0x02030000 0x4000>;
                                        status = "disabled";
                                };
 
-                               asrc: asrc@02034000 {
+                               asrc: asrc@2034000 {
                                        reg = <0x02034000 0x4000>;
                                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_ASRC_MEM>,
                                };
                        };
 
-                       pwm1: pwm@02080000 {
+                       pwm1: pwm@2080000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x02080000 0x4000>;
                                interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       pwm2: pwm@02084000 {
+                       pwm2: pwm@2084000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x02084000 0x4000>;
                                interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       pwm3: pwm@02088000 {
+                       pwm3: pwm@2088000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x02088000 0x4000>;
                                interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       pwm4: pwm@0208c000 {
+                       pwm4: pwm@208c000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x0208c000 0x4000>;
                                interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       flexcan1: can@02090000 {
+                       flexcan1: can@2090000 {
                                compatible = "fsl,imx6sx-flexcan", "fsl,imx6q-flexcan";
                                reg = <0x02090000 0x4000>;
                                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       flexcan2: can@02094000 {
+                       flexcan2: can@2094000 {
                                compatible = "fsl,imx6sx-flexcan", "fsl,imx6q-flexcan";
                                reg = <0x02094000 0x4000>;
                                interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       gpt: gpt@02098000 {
+                       gpt: gpt@2098000 {
                                compatible = "fsl,imx6sx-gpt", "fsl,imx31-gpt";
                                reg = <0x02098000 0x4000>;
                                interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
                                clock-names = "ipg", "per";
                        };
 
-                       gpio1: gpio@0209c000 {
+                       gpio1: gpio@209c000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x0209c000 0x4000>;
                                interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 5 26>;
                        };
 
-                       gpio2: gpio@020a0000 {
+                       gpio2: gpio@20a0000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x020a0000 0x4000>;
                                interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 31 20>;
                        };
 
-                       gpio3: gpio@020a4000 {
+                       gpio3: gpio@20a4000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x020a4000 0x4000>;
                                interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 51 29>;
                        };
 
-                       gpio4: gpio@020a8000 {
+                       gpio4: gpio@20a8000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x020a8000 0x4000>;
                                interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 80 32>;
                        };
 
-                       gpio5: gpio@020ac000 {
+                       gpio5: gpio@20ac000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x020ac000 0x4000>;
                                interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 112 24>;
                        };
 
-                       gpio6: gpio@020b0000 {
+                       gpio6: gpio@20b0000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x020b0000 0x4000>;
                                interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 136 12>, <&iomuxc 12 158 11>;
                        };
 
-                       gpio7: gpio@020b4000 {
+                       gpio7: gpio@20b4000 {
                                compatible = "fsl,imx6sx-gpio", "fsl,imx35-gpio";
                                reg = <0x020b4000 0x4000>;
                                interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 148 10>, <&iomuxc 10 169 2>;
                        };
 
-                       kpp: kpp@020b8000 {
+                       kpp: kpp@20b8000 {
                                compatible = "fsl,imx6sx-kpp", "fsl,imx21-kpp";
                                reg = <0x020b8000 0x4000>;
                                interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       wdog1: wdog@020bc000 {
+                       wdog1: wdog@20bc000 {
                                compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt";
                                reg = <0x020bc000 0x4000>;
                                interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6SX_CLK_DUMMY>;
                        };
 
-                       wdog2: wdog@020c0000 {
+                       wdog2: wdog@20c0000 {
                                compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt";
                                reg = <0x020c0000 0x4000>;
                                interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       clks: ccm@020c4000 {
+                       clks: ccm@20c4000 {
                                compatible = "fsl,imx6sx-ccm";
                                reg = <0x020c4000 0x4000>;
                                interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
                                clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
                        };
 
-                       anatop: anatop@020c8000 {
+                       anatop: anatop@20c8000 {
                                compatible = "fsl,imx6sx-anatop", "fsl,imx6q-anatop",
                                             "syscon", "simple-bus";
                                reg = <0x020c8000 0x1000>;
                                compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon";
                                interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,tempmon = <&anatop>;
-                               fsl,tempmon-data = <&ocotp>;
+                               nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
+                               nvmem-cell-names = "calib", "temp_grade";
                                clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
                        };
 
-                       usbphy1: usbphy@020c9000 {
+                       usbphy1: usbphy@20c9000 {
                                compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020c9000 0x1000>;
                                interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       usbphy2: usbphy@020ca000 {
+                       usbphy2: usbphy@20ca000 {
                                compatible = "fsl,imx6sx-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020ca000 0x1000>;
                                interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       snvs: snvs@020cc000 {
+                       snvs: snvs@20cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
 
                                };
                        };
 
-                       epit1: epit@020d0000 {
+                       epit1: epit@20d0000 {
                                reg = <0x020d0000 0x4000>;
                                interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       epit2: epit@020d4000 {
+                       epit2: epit@20d4000 {
                                reg = <0x020d4000 0x4000>;
                                interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       src: src@020d8000 {
+                       src: src@20d8000 {
                                compatible = "fsl,imx6sx-src", "fsl,imx51-src";
                                reg = <0x020d8000 0x4000>;
                                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
                                #reset-cells = <1>;
                        };
 
-                       gpc: gpc@020dc000 {
+                       gpc: gpc@20dc000 {
                                compatible = "fsl,imx6sx-gpc", "fsl,imx6q-gpc";
                                reg = <0x020dc000 0x4000>;
                                interrupt-controller;
                                interrupt-parent = <&intc>;
                        };
 
-                       iomuxc: iomuxc@020e0000 {
+                       iomuxc: iomuxc@20e0000 {
                                compatible = "fsl,imx6sx-iomuxc";
                                reg = <0x020e0000 0x4000>;
                        };
 
-                       gpr: iomuxc-gpr@020e4000 {
+                       gpr: iomuxc-gpr@20e4000 {
                                compatible = "fsl,imx6sx-iomuxc-gpr",
                                             "fsl,imx6q-iomuxc-gpr", "syscon";
                                reg = <0x020e4000 0x4000>;
                        };
 
-                       sdma: sdma@020ec000 {
+                       sdma: sdma@20ec000 {
                                compatible = "fsl,imx6sx-sdma", "fsl,imx6q-sdma";
                                reg = <0x020ec000 0x4000>;
                                interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               aips2: aips-bus@02100000 {
+               aips2: aips-bus@2100000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                                };
                        };
 
-                       usbotg1: usb@02184000 {
+                       usbotg1: usb@2184000 {
                                compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
                                reg = <0x02184000 0x200>;
                                interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbotg2: usb@02184200 {
+                       usbotg2: usb@2184200 {
                                compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
                                reg = <0x02184200 0x200>;
                                interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbh: usb@02184400 {
+                       usbh: usb@2184400 {
                                compatible = "fsl,imx6sx-usb", "fsl,imx27-usb";
                                reg = <0x02184400 0x200>;
                                interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbmisc: usbmisc@02184800 {
+                       usbmisc: usbmisc@2184800 {
                                #index-cells = <1>;
                                compatible = "fsl,imx6sx-usbmisc", "fsl,imx6q-usbmisc";
                                reg = <0x02184800 0x200>;
                                clocks = <&clks IMX6SX_CLK_USBOH3>;
                        };
 
-                       fec1: ethernet@02188000 {
+                       fec1: ethernet@2188000 {
                                compatible = "fsl,imx6sx-fec", "fsl,imx6q-fec";
                                reg = <0x02188000 0x4000>;
                                interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
                                status = "disabled";
                        };
 
-                       mlb: mlb@0218c000 {
+                       mlb: mlb@218c000 {
                                reg = <0x0218c000 0x4000>;
                                interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
                                             <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
                                status = "disabled";
                        };
 
-                       usdhc1: usdhc@02190000 {
+                       usdhc1: usdhc@2190000 {
                                compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
                                reg = <0x02190000 0x4000>;
                                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc2: usdhc@02194000 {
+                       usdhc2: usdhc@2194000 {
                                compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
                                reg = <0x02194000 0x4000>;
                                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc3: usdhc@02198000 {
+                       usdhc3: usdhc@2198000 {
                                compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
                                reg = <0x02198000 0x4000>;
                                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc4: usdhc@0219c000 {
+                       usdhc4: usdhc@219c000 {
                                compatible = "fsl,imx6sx-usdhc", "fsl,imx6sl-usdhc";
                                reg = <0x0219c000 0x4000>;
                                interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       i2c1: i2c@021a0000 {
+                       i2c1: i2c@21a0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c2: i2c@021a4000 {
+                       i2c2: i2c@21a4000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c3: i2c@021a8000 {
+                       i2c3: i2c@21a8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       mmdc: mmdc@021b0000 {
+                       mmdc: mmdc@21b0000 {
                                compatible = "fsl,imx6sx-mmdc", "fsl,imx6q-mmdc";
                                reg = <0x021b0000 0x4000>;
                        };
 
-                       fec2: ethernet@021b4000 {
+                       fec2: ethernet@21b4000 {
                                compatible = "fsl,imx6sx-fec", "fsl,imx6q-fec";
                                reg = <0x021b4000 0x4000>;
                                interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
                                status = "disabled";
                        };
 
-                       weim: weim@021b8000 {
+                       weim: weim@21b8000 {
                                #address-cells = <2>;
                                #size-cells = <1>;
                                compatible = "fsl,imx6sx-weim", "fsl,imx6q-weim";
                                status = "disabled";
                        };
 
-                       ocotp: ocotp@021bc000 {
+                       ocotp: ocotp@21bc000 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
                                compatible = "fsl,imx6sx-ocotp", "syscon";
                                reg = <0x021bc000 0x4000>;
                                clocks = <&clks IMX6SX_CLK_OCOTP>;
+
+                               tempmon_calib: calib@38 {
+                                       reg = <0x38 4>;
+                               };
+
+                               tempmon_temp_grade: temp-grade@20 {
+                                       reg = <0x20 4>;
+                               };
                        };
 
-                       sai1: sai@021d4000 {
+                       sai1: sai@21d4000 {
                                compatible = "fsl,imx6sx-sai";
                                reg = <0x021d4000 0x4000>;
                                interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       audmux: audmux@021d8000 {
+                       audmux: audmux@21d8000 {
                                compatible = "fsl,imx6sx-audmux", "fsl,imx31-audmux";
                                reg = <0x021d8000 0x4000>;
                                status = "disabled";
                        };
 
-                       sai2: sai@021dc000 {
+                       sai2: sai@21dc000 {
                                compatible = "fsl,imx6sx-sai";
                                reg = <0x021dc000 0x4000>;
                                interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       qspi1: qspi@021e0000 {
+                       qspi1: qspi@21e0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-qspi";
                                status = "disabled";
                        };
 
-                       qspi2: qspi@021e4000 {
+                       qspi2: qspi@21e4000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-qspi";
                                status = "disabled";
                        };
 
-                       uart2: serial@021e8000 {
+                       uart2: serial@21e8000 {
                                compatible = "fsl,imx6sx-uart",
                                             "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021e8000 0x4000>;
                                status = "disabled";
                        };
 
-                       uart3: serial@021ec000 {
+                       uart3: serial@21ec000 {
                                compatible = "fsl,imx6sx-uart",
                                             "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021ec000 0x4000>;
                                status = "disabled";
                        };
 
-                       uart4: serial@021f0000 {
+                       uart4: serial@21f0000 {
                                compatible = "fsl,imx6sx-uart",
                                             "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021f0000 0x4000>;
                                status = "disabled";
                        };
 
-                       uart5: serial@021f4000 {
+                       uart5: serial@21f4000 {
                                compatible = "fsl,imx6sx-uart",
                                             "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x021f4000 0x4000>;
                                status = "disabled";
                        };
 
-                       i2c4: i2c@021f8000 {
+                       i2c4: i2c@21f8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-i2c", "fsl,imx21-i2c";
                        };
                };
 
-               aips3: aips-bus@02200000 {
+               aips3: aips-bus@2200000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02200000 0x100000>;
                        ranges;
 
-                       spba-bus@02200000 {
+                       spba-bus@2200000 {
                                compatible = "fsl,spba-bus", "simple-bus";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x02240000 0x40000>;
                                ranges;
 
-                               csi1: csi@02214000 {
+                               csi1: csi@2214000 {
                                        reg = <0x02214000 0x4000>;
                                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_DISPLAY_AXI>,
                                        status = "disabled";
                                };
 
-                               pxp: pxp@02218000 {
+                               pxp: pxp@2218000 {
                                        reg = <0x02218000 0x4000>;
                                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_PXP_AXI>,
                                        status = "disabled";
                                };
 
-                               csi2: csi@0221c000 {
+                               csi2: csi@221c000 {
                                        reg = <0x0221c000 0x4000>;
                                        interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clks IMX6SX_CLK_DISPLAY_AXI>,
                                        status = "disabled";
                                };
 
-                               lcdif1: lcdif@02220000 {
+                               lcdif1: lcdif@2220000 {
                                        compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
                                        reg = <0x02220000 0x4000>;
                                        interrupts = <GIC_SPI 5 IRQ_TYPE_EDGE_RISING>;
                                        status = "disabled";
                                };
 
-                               lcdif2: lcdif@02224000 {
+                               lcdif2: lcdif@2224000 {
                                        compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
                                        reg = <0x02224000 0x4000>;
                                        interrupts = <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>;
                                        status = "disabled";
                                };
 
-                               vadc: vadc@02228000 {
+                               vadc: vadc@2228000 {
                                        reg = <0x02228000 0x4000>, <0x0222c000 0x4000>;
                                        reg-names = "vadc-vafe", "vadc-vdec";
                                        clocks = <&clks IMX6SX_CLK_VADC>,
                                };
                        };
 
-                       adc1: adc@02280000 {
+                       adc1: adc@2280000 {
                                compatible = "fsl,imx6sx-adc", "fsl,vf610-adc";
                                reg = <0x02280000 0x4000>;
                                interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       adc2: adc@02284000 {
+                       adc2: adc@2284000 {
                                compatible = "fsl,imx6sx-adc", "fsl,vf610-adc";
                                reg = <0x02284000 0x4000>;
                                interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       wdog3: wdog@02288000 {
+                       wdog3: wdog@2288000 {
                                compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt";
                                reg = <0x02288000 0x4000>;
                                interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       ecspi5: ecspi@0228c000 {
+                       ecspi5: ecspi@228c000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6sx-ecspi", "fsl,imx51-ecspi";
                                status = "disabled";
                        };
 
-                       uart6: serial@022a0000 {
+                       uart6: serial@22a0000 {
                                compatible = "fsl,imx6sx-uart",
                                             "fsl,imx6q-uart", "fsl,imx21-uart";
                                reg = <0x022a0000 0x4000>;
                                status = "disabled";
                        };
 
-                       pwm5: pwm@022a4000 {
+                       pwm5: pwm@22a4000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x022a4000 0x4000>;
                                interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       pwm6: pwm@022a8000 {
+                       pwm6: pwm@22a8000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x022a8000 0x4000>;
                                interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       pwm7: pwm@022ac000 {
+                       pwm7: pwm@22ac000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x022ac000 0x4000>;
                                interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
                                #pwm-cells = <2>;
                        };
 
-                       pwm8: pwm@0022b0000 {
+                       pwm8: pwm@22b0000 {
                                compatible = "fsl,imx6sx-pwm", "fsl,imx27-pwm";
                                reg = <0x0022b0000 0x4000>;
                                interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
index 9c23e017d86ad9194d48d7ef3bdb767210fd8dee..e5d3ef88be608562b057ba1fa337bd04f7ed08e0 100644 (file)
 
 
 &lcdif {
+       assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
+       assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl>;
index 7d7254b12a7563788ff85812437d8f5dab79336b..3bf26ebd4df9fa3b63bb28e7bf2c713caa0609e0 100644 (file)
                        reg = <1>;
                        max-speed = <100>;
                        interrupt-parent = <&gpio5>;
-                       interrupts = <6 IRQ_TYPE_LEVEL_LOW 0>;
+                       interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
                };
        };
 };
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze3000@08 {
+       pmic: pfuze3000@8 {
                compatible = "fsl,pfuze3000";
                reg = <0x08>;
 
        pinctrl-0 = <&pinctrl_i2c2>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                reg = <0x0a>;
                compatible = "fsl,sgtl5000";
                clocks = <&sys_mclk>;
index 28d055e3f3010fef8964f1aad5606cca1824e2e5..2d80f7b50bc03bce0ddc66d855ac4f8199644353 100644 (file)
 };
 
 &i2c2 {
-       /delete-node/ codec@0a;
+       /delete-node/ codec@a;
        /delete-node/ touchscreen@48;
 
        rtc: mcp7940x@6f {
index ec745eb3b6a853b1aab6eb7faab14c30e68bcdf7..65111f9843f4eaf715f0446e6ba8f70389c38cc1 100644 (file)
        clock-frequency = <400000>;
        status = "okay";
 
-       sgtl5000: codec@0a {
+       sgtl5000: codec@a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                #sound-dai-cells = <0>;
        display = <&display>;
        status = "okay";
 
-       display: display@di0 {
+       display: disp0 {
                bits-per-pixel = <32>;
                bus-width = <24>;
                status = "okay";
index f11a241a340d52b6cf95b184b69696e13e29c88d..d5181f85ca9cafbba955ca1a3a6e5fbaedf9248f 100644 (file)
@@ -98,7 +98,7 @@
                };
        };
 
-       intc: interrupt-controller@00a01000 {
+       intc: interrupt-controller@a01000 {
                compatible = "arm,gic-400", "arm,cortex-a7-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
                        status = "disabled";
                };
 
-               ocram: sram@00900000 {
+               ocram: sram@900000 {
                        compatible = "mmio-sram";
                        reg = <0x00900000 0x20000>;
                };
 
-               dma_apbh: dma-apbh@01804000 {
+               dma_apbh: dma-apbh@1804000 {
                        compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
                        reg = <0x01804000 0x2000>;
                        interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&clks IMX6UL_CLK_APBHDMA>;
                };
 
-               gpmi: gpmi-nand@01806000         {
+               gpmi: gpmi-nand@1806000         {
                        compatible = "fsl,imx6q-gpmi-nand";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        status = "disabled";
                };
 
-               aips1: aips-bus@02000000 {
+               aips1: aips-bus@2000000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02000000 0x100000>;
                        ranges;
 
-                       spba-bus@02000000 {
+                       spba-bus@2000000 {
                                compatible = "fsl,spba-bus", "simple-bus";
                                #address-cells = <1>;
                                #size-cells = <1>;
                                reg = <0x02000000 0x40000>;
                                ranges;
 
-                               ecspi1: ecspi@02008000 {
+                               ecspi1: ecspi@2008000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi2: ecspi@0200c000 {
+                               ecspi2: ecspi@200c000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi3: ecspi@02010000 {
+                               ecspi3: ecspi@2010000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               ecspi4: ecspi@02014000 {
+                               ecspi4: ecspi@2014000 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        compatible = "fsl,imx6ul-ecspi", "fsl,imx51-ecspi";
                                        status = "disabled";
                                };
 
-                               uart7: serial@02018000 {
+                               uart7: serial@2018000 {
                                        compatible = "fsl,imx6ul-uart",
                                                     "fsl,imx6q-uart";
                                        reg = <0x02018000 0x4000>;
                                        status = "disabled";
                                };
 
-                               uart1: serial@02020000 {
+                               uart1: serial@2020000 {
                                        compatible = "fsl,imx6ul-uart",
                                                     "fsl,imx6q-uart";
                                        reg = <0x02020000 0x4000>;
                                        status = "disabled";
                                };
 
-                               uart8: serial@02024000 {
+                               uart8: serial@2024000 {
                                        compatible = "fsl,imx6ul-uart",
                                                     "fsl,imx6q-uart";
                                        reg = <0x02024000 0x4000>;
                                        status = "disabled";
                                };
 
-                               sai1: sai@02028000 {
+                               sai1: sai@2028000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
                                        reg = <0x02028000 0x4000>;
                                        status = "disabled";
                                };
 
-                               sai2: sai@0202c000 {
+                               sai2: sai@202c000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
                                        reg = <0x0202c000 0x4000>;
                                        status = "disabled";
                                };
 
-                               sai3: sai@02030000 {
+                               sai3: sai@2030000 {
                                        #sound-dai-cells = <0>;
                                        compatible = "fsl,imx6ul-sai", "fsl,imx6sx-sai";
                                        reg = <0x02030000 0x4000>;
                                };
                        };
 
-                       tsc: tsc@02040000 {
+                       tsc: tsc@2040000 {
                                compatible = "fsl,imx6ul-tsc";
                                reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
                                interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
                                status = "disabled";
                        };
 
-                       pwm1: pwm@02080000 {
+                       pwm1: pwm@2080000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x02080000 0x4000>;
                                interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       pwm2: pwm@02084000 {
+                       pwm2: pwm@2084000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x02084000 0x4000>;
                                interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       pwm3: pwm@02088000 {
+                       pwm3: pwm@2088000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x02088000 0x4000>;
                                interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       pwm4: pwm@0208c000 {
+                       pwm4: pwm@208c000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x0208c000 0x4000>;
                                interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       can1: flexcan@02090000 {
+                       can1: flexcan@2090000 {
                                compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
                                reg = <0x02090000 0x4000>;
                                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       can2: flexcan@02094000 {
+                       can2: flexcan@2094000 {
                                compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan";
                                reg = <0x02094000 0x4000>;
                                interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       gpt1: gpt@02098000 {
+                       gpt1: gpt@2098000 {
                                compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
                                reg = <0x02098000 0x4000>;
                                interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
                                clock-names = "ipg", "per";
                        };
 
-                       gpio1: gpio@0209c000 {
+                       gpio1: gpio@209c000 {
                                compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
                                reg = <0x0209c000 0x4000>;
                                interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
                                              <&iomuxc 16 33 16>;
                        };
 
-                       gpio2: gpio@020a0000 {
+                       gpio2: gpio@20a0000 {
                                compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
                                reg = <0x020a0000 0x4000>;
                                interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 49 16>, <&iomuxc 16 111 6>;
                        };
 
-                       gpio3: gpio@020a4000 {
+                       gpio3: gpio@20a4000 {
                                compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
                                reg = <0x020a4000 0x4000>;
                                interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 65 29>;
                        };
 
-                       gpio4: gpio@020a8000 {
+                       gpio4: gpio@20a8000 {
                                compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
                                reg = <0x020a8000 0x4000>;
                                interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 94 17>, <&iomuxc 17 117 12>;
                        };
 
-                       gpio5: gpio@020ac000 {
+                       gpio5: gpio@20ac000 {
                                compatible = "fsl,imx6ul-gpio", "fsl,imx35-gpio";
                                reg = <0x020ac000 0x4000>;
                                interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
                                gpio-ranges = <&iomuxc 0 7 10>, <&iomuxc 10 5 2>;
                        };
 
-                       fec2: ethernet@020b4000 {
+                       fec2: ethernet@20b4000 {
                                compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
                                reg = <0x020b4000 0x4000>;
                                interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
                                status = "disabled";
                        };
 
-                       kpp: kpp@020b8000 {
+                       kpp: kpp@20b8000 {
                                compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp";
                                reg = <0x020b8000 0x4000>;
                                interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       wdog1: wdog@020bc000 {
+                       wdog1: wdog@20bc000 {
                                compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
                                reg = <0x020bc000 0x4000>;
                                interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX6UL_CLK_WDOG1>;
                        };
 
-                       wdog2: wdog@020c0000 {
+                       wdog2: wdog@20c0000 {
                                compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
                                reg = <0x020c0000 0x4000>;
                                interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       clks: ccm@020c4000 {
+                       clks: ccm@20c4000 {
                                compatible = "fsl,imx6ul-ccm";
                                reg = <0x020c4000 0x4000>;
                                interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
                                clock-names = "ckil", "osc", "ipp_di0", "ipp_di1";
                        };
 
-                       anatop: anatop@020c8000 {
+                       anatop: anatop@20c8000 {
                                compatible = "fsl,imx6ul-anatop", "fsl,imx6q-anatop",
                                             "syscon", "simple-bus";
                                reg = <0x020c8000 0x1000>;
                                };
                        };
 
-                       usbphy1: usbphy@020c9000 {
+                       usbphy1: usbphy@20c9000 {
                                compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020c9000 0x1000>;
                                interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       usbphy2: usbphy@020ca000 {
+                       usbphy2: usbphy@20ca000 {
                                compatible = "fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
                                reg = <0x020ca000 0x1000>;
                                interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                                fsl,anatop = <&anatop>;
                        };
 
-                       snvs: snvs@020cc000 {
+                       tempmon: tempmon {
+                               compatible = "fsl,imx6ul-tempmon", "fsl,imx6sx-tempmon";
+                               interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+                               fsl,tempmon = <&anatop>;
+                               nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
+                               nvmem-cell-names = "calib", "temp_grade";
+                               clocks = <&clks IMX6UL_CLK_PLL3_USB_OTG>;
+                       };
+
+                       snvs: snvs@20cc000 {
                                compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
                                reg = <0x020cc000 0x4000>;
 
                                };
                        };
 
-                       epit1: epit@020d0000 {
+                       epit1: epit@20d0000 {
                                reg = <0x020d0000 0x4000>;
                                interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       epit2: epit@020d4000 {
+                       epit2: epit@20d4000 {
                                reg = <0x020d4000 0x4000>;
                                interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
                        };
 
-                       src: src@020d8000 {
+                       src: src@20d8000 {
                                compatible = "fsl,imx6ul-src", "fsl,imx51-src";
                                reg = <0x020d8000 0x4000>;
                                interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
                                #reset-cells = <1>;
                        };
 
-                       gpc: gpc@020dc000 {
+                       gpc: gpc@20dc000 {
                                compatible = "fsl,imx6ul-gpc", "fsl,imx6q-gpc";
                                reg = <0x020dc000 0x4000>;
                                interrupt-controller;
                                interrupt-parent = <&intc>;
                        };
 
-                       iomuxc: iomuxc@020e0000 {
+                       iomuxc: iomuxc@20e0000 {
                                compatible = "fsl,imx6ul-iomuxc";
                                reg = <0x020e0000 0x4000>;
                        };
 
-                       gpr: iomuxc-gpr@020e4000 {
+                       gpr: iomuxc-gpr@20e4000 {
                                compatible = "fsl,imx6ul-iomuxc-gpr",
                                             "fsl,imx6q-iomuxc-gpr", "syscon";
                                reg = <0x020e4000 0x4000>;
                        };
 
-                       gpt2: gpt@020e8000 {
+                       gpt2: gpt@20e8000 {
                                compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt";
                                reg = <0x020e8000 0x4000>;
                                interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
                                clock-names = "ipg", "per";
                        };
 
-                       sdma: sdma@020ec000 {
+                       sdma: sdma@20ec000 {
                                compatible = "fsl,imx6ul-sdma", "fsl,imx6q-sdma",
                                             "fsl,imx35-sdma";
                                reg = <0x020ec000 0x4000>;
                                fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
                        };
 
-                       pwm5: pwm@020f0000 {
+                       pwm5: pwm@20f0000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x020f0000 0x4000>;
                                interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       pwm6: pwm@020f4000 {
+                       pwm6: pwm@20f4000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x020f4000 0x4000>;
                                interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       pwm7: pwm@020f8000 {
+                       pwm7: pwm@20f8000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x020f8000 0x4000>;
                                interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       pwm8: pwm@020fc000 {
+                       pwm8: pwm@20fc000 {
                                compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
                                reg = <0x020fc000 0x4000>;
                                interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               aips2: aips-bus@02100000 {
+               aips2: aips-bus@2100000 {
                        compatible = "fsl,aips-bus", "simple-bus";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        reg = <0x02100000 0x100000>;
                        ranges;
 
-                       usbotg1: usb@02184000 {
+                       usbotg1: usb@2184000 {
                                compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
                                reg = <0x02184000 0x200>;
                                interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbotg2: usb@02184200 {
+                       usbotg2: usb@2184200 {
                                compatible = "fsl,imx6ul-usb", "fsl,imx27-usb";
                                reg = <0x02184200 0x200>;
                                interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usbmisc: usbmisc@02184800 {
+                       usbmisc: usbmisc@2184800 {
                                #index-cells = <1>;
                                compatible = "fsl,imx6ul-usbmisc", "fsl,imx6q-usbmisc";
                                reg = <0x02184800 0x200>;
                        };
 
-                       fec1: ethernet@02188000 {
+                       fec1: ethernet@2188000 {
                                compatible = "fsl,imx6ul-fec", "fsl,imx6q-fec";
                                reg = <0x02188000 0x4000>;
                                interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
                                status = "disabled";
                        };
 
-                       usdhc1: usdhc@02190000 {
+                       usdhc1: usdhc@2190000 {
                                compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
                                reg = <0x02190000 0x4000>;
                                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       usdhc2: usdhc@02194000 {
+                       usdhc2: usdhc@2194000 {
                                compatible = "fsl,imx6ul-usdhc", "fsl,imx6sx-usdhc";
                                reg = <0x02194000 0x4000>;
                                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       adc1: adc@02198000 {
+                       adc1: adc@2198000 {
                                compatible = "fsl,imx6ul-adc", "fsl,vf610-adc";
                                reg = <0x02198000 0x4000>;
                                interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       i2c1: i2c@021a0000 {
+                       i2c1: i2c@21a0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c2: i2c@021a4000 {
+                       i2c2: i2c@21a4000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       i2c3: i2c@021a8000 {
+                       i2c3: i2c@21a8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       mmdc: mmdc@021b0000 {
+                       mmdc: mmdc@21b0000 {
                                compatible = "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc";
                                reg = <0x021b0000 0x4000>;
                        };
 
-                       ocotp: ocotp-ctrl@021bc000 {
+                       ocotp: ocotp-ctrl@21bc000 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
                                compatible = "fsl,imx6ul-ocotp", "syscon";
                                reg = <0x021bc000 0x4000>;
                                clocks = <&clks IMX6UL_CLK_OCOTP>;
+
+                               tempmon_calib: calib@38 {
+                                       reg = <0x38 4>;
+                               };
+
+                               tempmon_temp_grade: temp-grade@20 {
+                                       reg = <0x20 4>;
+                               };
                        };
 
-                       lcdif: lcdif@021c8000 {
+                       lcdif: lcdif@21c8000 {
                                compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
                                reg = <0x021c8000 0x4000>;
                                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
-                       qspi: qspi@021e0000 {
+                       qspi: qspi@21e0000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi";
                                status = "disabled";
                        };
 
-                       uart2: serial@021e8000 {
+                       uart2: serial@21e8000 {
                                compatible = "fsl,imx6ul-uart",
                                             "fsl,imx6q-uart";
                                reg = <0x021e8000 0x4000>;
                                status = "disabled";
                        };
 
-                       uart3: serial@021ec000 {
+                       uart3: serial@21ec000 {
                                compatible = "fsl,imx6ul-uart",
                                             "fsl,imx6q-uart";
                                reg = <0x021ec000 0x4000>;
                                status = "disabled";
                        };
 
-                       uart4: serial@021f0000 {
+                       uart4: serial@21f0000 {
                                compatible = "fsl,imx6ul-uart",
                                             "fsl,imx6q-uart";
                                reg = <0x021f0000 0x4000>;
                                status = "disabled";
                        };
 
-                       uart5: serial@021f4000 {
+                       uart5: serial@21f4000 {
                                compatible = "fsl,imx6ul-uart",
                                             "fsl,imx6q-uart";
                                reg = <0x021f4000 0x4000>;
                                status = "disabled";
                        };
 
-                       i2c4: i2c@021f8000 {
+                       i2c4: i2c@21f8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6ul-i2c", "fsl,imx21-i2c";
                                status = "disabled";
                        };
 
-                       uart6: serial@021fc000 {
+                       uart6: serial@21fc000 {
                                compatible = "fsl,imx6ul-uart",
                                             "fsl,imx6q-uart";
                                reg = <0x021fc000 0x4000>;
index 0a3915868aa328fc4bafa4650ecf9085ce85b8df..bb5bf94f1a3295f38ca5497a1e11e1a8646e1045 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1 &pinctrl_i2c1_int>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                compatible = "fsl,sgtl5000";
                #sound-dai-cells = <0>;
                reg = <0x0a>;
index e7998308861fa395477bfbced53706e810a5e40b..2b05898bb3f68805d0ac801f42ddceb3644b3c8e 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze3000@08 {
+       pmic: pfuze3000@8 {
                compatible = "fsl,pfuze3000";
                reg = <0x08>;
 
index e78c2c9cc28a919f51cbc7fc815dba5aafca69e1..508328b2a6bf4375f880a43b00575f7fd84b14fa 100644 (file)
                reg = <0x80000000 0x80000000>;
        };
 
+       reg_ap6212: regulator-ap6212 {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_reg_ap6212>;
+               regulator-name = "AP6212";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        reg_2p5v: regulator-2p5v {
                compatible = "regulator-fixed";
                regulator-name = "2P5V";
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                #sound-dai-cells = <0>;
                reg = <0x0a>;
                compatible = "fsl,sgtl5000";
        pinctrl-0 = <&pinctrl_i2c4>;
        status = "okay";
 
-       pmic: pfuze3000@08 {
+       pmic: pfuze3000@8 {
                compatible = "fsl,pfuze3000";
                reg = <0x08>;
 
        status = "okay";
 };
 
+&usdhc2 { /* Wifi SDIO */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc2>;
+       no-1-8-v;
+       non-removable;
+       keep-power-in-suspend;
+       wakeup-source;
+       vmmc-supply = <&reg_ap6212>;
+       status = "okay";
+};
+
 &usdhc3 {
        pinctrl-names = "default", "state_100mhz", "state_200mhz";
        pinctrl-0 = <&pinctrl_usdhc3>;
                >;
        };
 
+       pinctrl_reg_ap6212: regap6212grp {
+               fsl,pins = <
+                       MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16        0x59
+               >;
+       };
+
        pinctrl_sai1: sai1grp {
                fsl,pins = <
                        MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK     0x1f
                >;
        };
 
+       pinctrl_usdhc2: usdhc2grp {
+               fsl,pins = <
+                       MX7D_PAD_SD2_CMD__SD2_CMD               0x59
+                       MX7D_PAD_SD2_CLK__SD2_CLK               0x19
+                       MX7D_PAD_SD2_DATA0__SD2_DATA0           0x59
+                       MX7D_PAD_SD2_DATA1__SD2_DATA1           0x59
+                       MX7D_PAD_SD2_DATA2__SD2_DATA2           0x59
+                       MX7D_PAD_SD2_DATA3__SD2_DATA3           0x59
+               >;
+       };
+
        pinctrl_usdhc3: usdhc3grp {
                fsl,pins = <
                        MX7D_PAD_SD3_CMD__SD3_CMD               0x59
index 44637cabcc566d402847992607984f9736db5a27..a7a5dc7b270083ffc6172a5d4cd499f74a7c67d6 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze3000@08 {
+       pmic: pfuze3000@8 {
                compatible = "fsl,pfuze3000";
                reg = <0x08>;
 
index 07b63f8b7314595980f928e06c68ee8e602a6111..9bdf121f7e4358840c969b859d683ed25f321529 100644 (file)
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
-       pmic: pfuze3000@08 {
+       pmic: pfuze3000@8 {
                compatible = "fsl,pfuze3000";
                reg = <0x08>;
 
        pinctrl-0 = <&pinctrl_i2c4>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
                #sound-dai-cells = <0>;
                reg = <0x0a>;
                compatible = "fsl,sgtl5000";
index 380f9ae60c78856f083dbd1370f80cc92dbbda1a..4d58638d104b4b7060398500b51be5f79c04a51d 100644 (file)
@@ -11,7 +11,7 @@
                reg = <0x10000000 0x200>;
 
                /* Use core module LED to indicate CPU load */
-               led@0c.0 {
+               led@c.0 {
                        compatible = "register-bit-led";
                        offset = <0x0c>;
                        mask = <0x01>;
                        compatible = "syscon", "simple-mfd";
                        reg = <0x1a000000 0x10>;
 
-                       led@04.0 {
+                       led@4.0 {
                                compatible = "register-bit-led";
                                offset = <0x04>;
                                mask = <0x01>;
                                linux,default-trigger = "heartbeat";
                                default-state = "on";
                        };
-                       led@04.1 {
+                       led@4.1 {
                                compatible = "register-bit-led";
                                offset = <0x04>;
                                mask = <0x02>;
                                label = "integrator:yellow";
                                default-state = "off";
                        };
-                       led@04.2 {
+                       led@4.2 {
                                compatible = "register-bit-led";
                                offset = <0x04>;
                                mask = <0x04>;
                                label = "integrator:red";
                                default-state = "off";
                        };
-                       led@04.3 {
+                       led@4.3 {
                                compatible = "register-bit-led";
                                offset = <0x04>;
                                mask = <0x08>;
index a5d88a213dcda47c0756a53dc6c516dffeb4455b..94d2ff9836d00367a086f01a69bb16acd95008dd 100644 (file)
        };
 
        pci: pciv3@62000000 {
-               compatible = "v3,v360epc-pci";
+               compatible = "arm,integrator-ap-pci", "v3,v360epc-pci";
                #interrupt-cells = <1>;
                #size-cells = <2>;
                #address-cells = <3>;
-               reg = <0x62000000 0x10000>;
+               /* Bridge registers and config access space */
+               reg = <0x62000000 0x10000>, <0x61000000 0x01000000>;
                interrupt-parent = <&pic>;
                interrupts = <17>; /* Bus error IRQ */
-               ranges = <0x00000000 0 0x61000000 /* config space */
-                       0x61000000 0 0x00100000 /* 16 MiB @ 61000000 */
-                       0x01000000 0 0x0 /* I/O space */
-                       0x60000000 0 0x00100000 /* 16 MiB @ 60000000 */
-                       0x02000000 0 0x00000000 /* non-prefectable memory */
-                       0x40000000 0 0x10000000 /* 256 MiB @ 40000000 */
-                       0x42000000 0 0x10000000 /* prefetchable memory */
-                       0x50000000 0 0x10000000>; /* 256 MiB @ 50000000 */
+               clocks = <&pciclk>;
+               bus-range = <0x00 0xff>;
+               ranges = <0x01000000 0 0x0000000 /* I/O space @00000000 */
+                       0x60000000 0 0x00010000 /* 64 KB @ LB 60000000 */
+                       0x02000000 0 0x40000000 /* non-prefectable memory @40000000 */
+                       0x40000000 0 0x10000000 /* 256 MiB @ LB 40000000 1:1 */
+                       0x42000000 0 0x50000000 /* prefetchable memory @50000000 */
+                       0x50000000 0 0x10000000>; /* 256 MiB @ LB 50000000 1:1 */
+               dma-ranges = <0x02000000 0 0x20000000 /* EBI memory space */
+                       0x20000000 0 0x20000000 /* 512 MB @ LB 20000000 1:1 */
+                       0x02000000 0 0x80000000 /* Core module alias memory */
+                       0x80000000 0 0x40000000>; /* 1GB @ LB 80000000 */
                interrupt-map-mask = <0xf800 0 0 0x7>;
                interrupt-map = <
                /* IDSEL 9 */
diff --git a/arch/arm/boot/dts/iwg20d-q7-common.dtsi b/arch/arm/boot/dts/iwg20d-q7-common.dtsi
new file mode 100644 (file)
index 0000000..efd8af9
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * Device Tree Source for the iWave-RZ/G1M/G1N Qseven carrier board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/ {
+       aliases {
+               serial0 = &scif0;
+               ethernet0 = &avb;
+       };
+
+       chosen {
+               bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
+               stdout-path = "serial0:115200n8";
+       };
+
+       vcc_sdhi1: regulator-vcc-sdhi1 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "SDHI1 Vcc";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
+       };
+
+       vccq_sdhi1: regulator-vccq-sdhi1 {
+               compatible = "regulator-gpio";
+
+               regulator-name = "SDHI1 VccQ";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
+               gpios-states = <1>;
+               states = <3300000 1
+                         1800000 0>;
+       };
+};
+
+&avb {
+       pinctrl-0 = <&avb_pins>;
+       pinctrl-names = "default";
+
+       phy-handle = <&phy3>;
+       phy-mode = "gmii";
+       renesas,no-ether-link;
+       status = "okay";
+
+       phy3: ethernet-phy@3 {
+               reg = <3>;
+               micrel,led-mode = <1>;
+       };
+};
+
+&hsusb {
+       status = "okay";
+       pinctrl-0 = <&usb0_pins>;
+       pinctrl-names = "default";
+};
+
+&i2c2 {
+       pinctrl-0 = <&i2c2_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+       clock-frequency = <400000>;
+
+       rtc@68 {
+               compatible = "ti,bq32000";
+               reg = <0x68>;
+       };
+};
+
+&pci0 {
+       pinctrl-0 = <&usb0_pins>;
+       pinctrl-names = "default";
+};
+
+&pci1 {
+       status = "okay";
+       pinctrl-0 = <&usb1_pins>;
+       pinctrl-names = "default";
+};
+
+&pfc {
+       avb_pins: avb {
+               groups = "avb_mdio", "avb_gmii";
+               function = "avb";
+       };
+
+       i2c2_pins: i2c2 {
+               groups = "i2c2";
+               function = "i2c2";
+       };
+
+       scif0_pins: scif0 {
+               groups = "scif0_data_d";
+               function = "scif0";
+       };
+
+       sdhi1_pins: sd1 {
+               groups = "sdhi1_data4", "sdhi1_ctrl";
+               function = "sdhi1";
+               power-source = <3300>;
+       };
+
+       sdhi1_pins_uhs: sd1_uhs {
+               groups = "sdhi1_data4", "sdhi1_ctrl";
+               function = "sdhi1";
+               power-source = <1800>;
+       };
+
+       usb0_pins: usb0 {
+               groups = "usb0";
+               function = "usb0";
+       };
+
+       usb1_pins: usb1 {
+               groups = "usb1";
+               function = "usb1";
+       };
+};
+
+&scif0 {
+       pinctrl-0 = <&scif0_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&sdhi1 {
+       pinctrl-0 = <&sdhi1_pins>;
+       pinctrl-1 = <&sdhi1_pins_uhs>;
+       pinctrl-names = "default", "state_uhs";
+
+       vmmc-supply = <&vcc_sdhi1>;
+       vqmmc-supply = <&vccq_sdhi1>;
+       cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
+       wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
+       sd-uhs-sdr50;
+       status = "okay";
+};
+
+&usbphy {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
new file mode 100644 (file)
index 0000000..31fab5f
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Device Tree Source for the iWave-RZ-G1M/N Daughter Board Camera Module
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/ {
+       aliases {
+               serial1 = &scif1;
+               serial4 = &hscif1;
+       };
+};
+
+&hscif1 {
+       pinctrl-0 = <&hscif1_pins>;
+       pinctrl-names = "default";
+
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&pfc {
+       hscif1_pins: hscif1 {
+               groups = "hscif1_data_c", "hscif1_ctrl_c";
+               function = "hscif1";
+       };
+
+       scif1_pins: scif1 {
+               groups = "scif1_data_d";
+               function = "scif1";
+       };
+};
+
+&scif1 {
+       pinctrl-0 = <&scif1_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
index 819ab83459163963a80c9471c1b61c7eca422311..6b796b52ff4f8497eca86db917ce52102e4c8312 100644 (file)
@@ -88,7 +88,7 @@
                        };
                };
 
-               msm_ram: msmram@0c000000 {
+               msm_ram: msmram@c000000 {
                        compatible = "mmio-sram";
                        reg = <0x0c000000 0x200000>;
                        ranges = <0x0 0x0c000000 0x200000>;
                        };
                };
 
-               psc: power-sleep-controller@02350000 {
+               psc: power-sleep-controller@2350000 {
                        pscrst: reset-controller {
                                compatible = "ti,k2e-pscrst", "ti,syscon-reset";
                                #reset-cells = <1>;
                        };
                };
 
-               dspgpio0: keystone_dsp_gpio@02620240 {
+               dspgpio0: keystone_dsp_gpio@2620240 {
                        compatible = "ti,keystone-dsp-gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
index f462f1043531682f2c00dcc9f287dad5df8dd03e..656af194a518263c08474bb45c162badb907d5c0 100644 (file)
                regulator-max-microvolt = <3300000>;
                regulator-always-on;
        };
+
+       ecap0_pins: ecap0_pins {
+               pinctrl-single,pins = <
+                       K2G_CORE_IOPAD(0x1374) (BUFFER_CLASS_B | MUX_MODE4)     /* pr1_mdio_data.ecap0_in_apwm0_out */
+               >;
+       };
+
+       spi1_pins: pinmux_spi1_pins {
+               pinctrl-single,pins = <
+                       K2G_CORE_IOPAD(0x11a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_scs0.spi1_scs0 */
+                       K2G_CORE_IOPAD(0x11ac) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_clk.spi1_clk */
+                       K2G_CORE_IOPAD(0x11b0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_miso.spi1_miso */
+                       K2G_CORE_IOPAD(0x11b4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_mosi.spi1_mosi */
+               >;
+       };
+
 };
 
 &k2g_pinctrl {
                        K2G_CORE_IOPAD(0x1110) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_cmd.mmc1_cmd */
                >;
        };
+
+       i2c0_pins: pinmux_i2c0_pins {
+               pinctrl-single,pins = <
+                       K2G_CORE_IOPAD(0x137c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* i2c0_scl.i2c0_scl */
+                       K2G_CORE_IOPAD(0x1380) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* i2c0_sda.i2c0_sda */
+               >;
+       };
+
 };
 
 &uart0 {
        memory-region = <&dsp_common_memory>;
        status = "okay";
 };
+
+&i2c0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c0_pins>;
+       status = "okay";
+
+       eeprom@50 {
+               compatible = "atmel,24c1024";
+               reg = <0x50>;
+       };
+};
+
+&keystone_usb0 {
+       status = "okay";
+};
+
+&usb0_phy {
+       status = "okay";
+};
+
+&usb0 {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&keystone_usb1 {
+       status = "okay";
+};
+
+&usb1_phy {
+       status = "okay";
+};
+
+&usb1 {
+       dr_mode = "peripheral";
+       status = "okay";
+};
+
+&ecap0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&ecap0_pins>;
+};
+
+&spi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi1_pins>;
+       status = "okay";
+
+       spi_nor: flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               spi-max-frequency = <5000000>;
+               m25p,fast-read;
+               reg = <0>;
+
+               partition@0 {
+                       label = "u-boot-spl";
+                       reg = <0x0 0x100000>;
+                       read-only;
+               };
+
+               partition@1 {
+                       label = "misc";
+                       reg = <0x100000 0xf00000>;
+               };
+       };
+};
index 826b286665e62491bc85dccf65f0528cc425512c..8f313ff406b9f9a416e0b1e9182f0ecfcd29d373 100644 (file)
@@ -28,6 +28,9 @@
 
        aliases {
                serial0 = &uart0;
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
                rproc0 = &dsp0;
        };
 
@@ -42,7 +45,7 @@
                };
        };
 
-       gic: interrupt-controller@02561000 {
+       gic: interrupt-controller@2561000 {
                compatible = "arm,gic-400", "arm,cortex-a15-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
@@ -80,7 +83,7 @@
                ranges = <0x0 0x0 0x0 0xc0000000>;
                dma-ranges = <0x80000000 0x8 0x00000000 0x80000000>;
 
-               msm_ram: msmram@0c000000 {
+               msm_ram: msmram@c000000 {
                        compatible = "mmio-sram";
                        reg = <0x0c000000 0x100000>;
                        ranges = <0x0 0x0c000000 0x100000>;
                        };
                };
 
-               k2g_pinctrl: pinmux@02621000 {
+               k2g_pinctrl: pinmux@2621000 {
                        compatible = "pinctrl-single";
                        reg = <0x02621000 0x410>;
                        pinctrl-single,register-width = <32>;
                        pinctrl-single,function-mask = <0x001b0007>;
                };
 
-               devctrl: device-state-control@02620000 {
+               devctrl: device-state-control@2620000 {
                        compatible = "ti,keystone-devctrl", "syscon";
                        reg = <0x02620000 0x1000>;
                };
 
-               uart0: serial@02530c00 {
+               uart0: serial@2530c00 {
                        compatible = "ti,da830-uart", "ns16550a";
                        current-speed = <115200>;
                        reg-shift = <2>;
                        status = "disabled";
                };
 
-               dcan0: can@0260B200 {
+               dcan0: can@260b200 {
                        compatible = "ti,am4372-d_can", "ti,am3352-d_can";
                        reg = <0x0260B200 0x200>;
                        interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
                        clocks = <&k2g_clks 0x0008 1>;
                };
 
-               dcan1: can@0260B400 {
+               dcan1: can@260b400 {
                        compatible = "ti,am4372-d_can", "ti,am3352-d_can";
                        reg = <0x0260B400 0x200>;
                        interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
                        clocks = <&k2g_clks 0x0009 1>;
                };
 
-               kirq0: keystone_irq@026202a0 {
+               i2c0: i2c@2530000 {
+                       compatible = "ti,keystone-i2c";
+                       reg = <0x02530000 0x400>;
+                       clocks = <&k2g_clks 0x003a 0>;
+                       power-domains = <&k2g_pds 0x003a>;
+                       interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               i2c1: i2c@2530400 {
+                       compatible = "ti,keystone-i2c";
+                       reg = <0x02530400 0x400>;
+                       clocks = <&k2g_clks 0x003b 0>;
+                       power-domains = <&k2g_pds 0x003b>;
+                       interrupts = <GIC_SPI 89 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               i2c2: i2c@2530800 {
+                       compatible = "ti,keystone-i2c";
+                       reg = <0x02530800 0x400>;
+                       clocks = <&k2g_clks 0x003c 0>;
+                       power-domains = <&k2g_pds 0x003c>;
+                       interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               kirq0: keystone_irq@26202a0 {
                        compatible = "ti,keystone-irq";
                        interrupts = <GIC_SPI 1 IRQ_TYPE_EDGE_RISING>;
                        interrupt-controller;
                        ti,syscon-dev = <&devctrl 0x2a0>;
                };
 
-               dspgpio0: keystone_dsp_gpio@02620240 {
+               dspgpio0: keystone_dsp_gpio@2620240 {
                        compatible = "ti,keystone-dsp-gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
                        status = "disabled";
                };
 
-               msgmgr: msgmgr@02a00000 {
+               msgmgr: msgmgr@2a00000 {
                        compatible = "ti,k2g-message-manager";
                        #mbox-cells = <2>;
                        reg-names = "queue_proxy_region",
                                     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pmmc: pmmc@02921c00 {
+               pmmc: pmmc@2921c00 {
                        compatible = "ti,k2g-sci";
                        /*
                         * In case of rare platforms that does not use k2g as
                        clock-names = "gpio";
                };
 
-               edma0: edma@02700000 {
+               edma0: edma@2700000 {
                        compatible = "ti,k2g-edma3-tpcc", "ti,edma3-tpcc";
                        reg =   <0x02700000 0x8000>;
                        reg-names = "edma3_cc";
                        power-domains = <&k2g_pds 0x3f>;
                };
 
-               edma0_tptc0: tptc@02760000 {
+               edma0_tptc0: tptc@2760000 {
                        compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
                        reg =   <0x02760000 0x400>;
                        power-domains = <&k2g_pds 0x3f>;
                };
 
-               edma0_tptc1: tptc@02768000 {
+               edma0_tptc1: tptc@2768000 {
                        compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
                        reg =   <0x02768000 0x400>;
                        power-domains = <&k2g_pds 0x3f>;
                };
 
-               edma1: edma@02728000 {
+               edma1: edma@2728000 {
                        compatible = "ti,k2g-edma3-tpcc", "ti,edma3-tpcc";
                        reg =   <0x02728000 0x8000>;
                        reg-names = "edma3_cc";
                        power-domains = <&k2g_pds 0x4f>;
                };
 
-               edma1_tptc0: tptc@027b0000 {
+               edma1_tptc0: tptc@27b0000 {
                        compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
                        reg =   <0x027b0000 0x400>;
                        power-domains = <&k2g_pds 0x4f>;
                };
 
-               edma1_tptc1: tptc@027b8000 {
+               edma1_tptc1: tptc@27b8000 {
                        compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
                        reg =   <0x027b8000 0x400>;
                        power-domains = <&k2g_pds 0x4f>;
                        clock-names = "fck", "mmchsdb_fck";
                        status = "disabled";
                };
+
+               mcasp0: mcasp@2340000 {
+                       compatible = "ti,am33xx-mcasp-audio";
+                       reg = <0x02340000 0x2000>,
+                             <0x21804000 0x1000>;
+                       reg-names = "mpu","dat";
+                       interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "tx", "rx";
+                       dmas = <&edma0 24 1>, <&edma0 25 1>;
+                       dma-names = "tx", "rx";
+                       power-domains = <&k2g_pds 0x4>;
+                       clocks = <&k2g_clks 0x4 0>;
+                       clock-names = "fck";
+                       status = "disabled";
+               };
+
+               mcasp1: mcasp@2342000 {
+                       compatible = "ti,am33xx-mcasp-audio";
+                       reg = <0x02342000 0x2000>,
+                             <0x21804400 0x1000>;
+                       reg-names = "mpu","dat";
+                       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "tx", "rx";
+                       dmas = <&edma1 48 1>, <&edma1 49 1>;
+                       dma-names = "tx", "rx";
+                       power-domains = <&k2g_pds 0x5>;
+                       clocks = <&k2g_clks 0x5 0>;
+                       clock-names = "fck";
+                       status = "disabled";
+               };
+
+               mcasp2: mcasp@2344000 {
+                       compatible = "ti,am33xx-mcasp-audio";
+                       reg = <0x02344000 0x2000>,
+                             <0x21804800 0x1000>;
+                       reg-names = "mpu","dat";
+                       interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "tx", "rx";
+                       dmas = <&edma1 50 1>, <&edma1 51 1>;
+                       dma-names = "tx", "rx";
+                       power-domains = <&k2g_pds 0x6>;
+                       clocks = <&k2g_clks 0x6 0>;
+                       clock-names = "fck";
+                       status = "disabled";
+               };
+
+               usb0_phy: usb-phy@0 {
+                       compatible = "usb-nop-xceiv";
+                       status = "disabled";
+               };
+
+               keystone_usb0: keystone-dwc3@2680000 {
+                       compatible = "ti,keystone-dwc3";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x2680000 0x10000>;
+                       interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
+                       ranges;
+                       dma-coherent;
+                       dma-ranges;
+                       status = "disabled";
+                       power-domains = <&k2g_pds 0x0016>;
+
+                       usb0: usb@2690000 {
+                               compatible = "snps,dwc3";
+                               reg = <0x2690000 0x10000>;
+                               interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
+                               maximum-speed = "high-speed";
+                               dr_mode = "otg";
+                               usb-phy = <&usb0_phy>;
+                               status = "disabled";
+                       };
+               };
+
+               usb1_phy: usb-phy@1 {
+                       compatible = "usb-nop-xceiv";
+                       status = "disabled";
+               };
+
+               keystone_usb1: keystone-dwc3@2580000 {
+                       compatible = "ti,keystone-dwc3";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x2580000 0x10000>;
+                       interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
+                       ranges;
+                       dma-coherent;
+                       dma-ranges;
+                       status = "disabled";
+                       power-domains = <&k2g_pds 0x0017>;
+
+                       usb1: usb@2590000 {
+                               compatible = "snps,dwc3";
+                               reg = <0x2590000 0x10000>;
+                               interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
+                               maximum-speed = "high-speed";
+                               dr_mode = "otg";
+                               usb-phy = <&usb1_phy>;
+                               status = "disabled";
+                       };
+               };
+
+               ecap0: pwm@21d1800 {
+                       compatible = "ti,k2g-ecap", "ti,am3352-ecap";
+                       #pwm-cells = <3>;
+                       reg = <0x021d1800 0x60>;
+                       power-domains = <&k2g_pds 0x38>;
+                       clocks = <&k2g_clks 0x38 0>;
+                       clock-names = "fck";
+                       status = "disabled";
+               };
+
+               ecap1: pwm@21d1c00 {
+                       compatible = "ti,k2g-ecap", "ti,am3352-ecap";
+                       #pwm-cells = <3>;
+                       reg = <0x021d1c00 0x60>;
+                       power-domains = <&k2g_pds 0x39>;
+                       clocks = <&k2g_clks 0x39 0x0>;
+                       clock-names = "fck";
+                       status = "disabled";
+               };
+
+               spi0: spi@21805400 {
+                       compatible = "ti,keystone-spi";
+                       reg = <0x21805400 0x200>;
+                       num-cs = <4>;
+                       ti,davinci-spi-intr-line = <0>;
+                       interrupts = <GIC_SPI 64 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       power-domains = <&k2g_pds 0x0010>;
+                       clocks = <&k2g_clks 0x0010 0>;
+               };
+
+               spi1: spi@21805800 {
+                       compatible = "ti,keystone-spi";
+                       reg = <0x21805800 0x200>;
+                       num-cs = <4>;
+                       ti,davinci-spi-intr-line = <0>;
+                       interrupts = <GIC_SPI 66 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       power-domains = <&k2g_pds 0x0011>;
+                       clocks = <&k2g_clks 0x0011 0>;
+               };
+
+               spi2: spi@21805c00 {
+                       compatible = "ti,keystone-spi";
+                       reg = <0x21805C00 0x200>;
+                       num-cs = <4>;
+                       ti,davinci-spi-intr-line = <0>;
+                       interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       power-domains = <&k2g_pds 0x0012>;
+                       clocks = <&k2g_clks 0x0012 0>;
+               };
+
+               spi3: spi@21806000 {
+                       compatible = "ti,keystone-spi";
+                       reg = <0x21806000 0x200>;
+                       num-cs = <4>;
+                       ti,davinci-spi-intr-line = <0>;
+                       interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       power-domains = <&k2g_pds 0x0013>;
+                       clocks = <&k2g_clks 0x0013 0>;
+               };
        };
 };
index 31dc00e4e5fd8ce1124c48e575b9772804a0798f..7c486d9dc90ed38d8c268f1dc9048ddd58ad3766 100644 (file)
@@ -59,7 +59,7 @@
        soc {
                /include/ "keystone-k2hk-clocks.dtsi"
 
-               msm_ram: msmram@0c000000 {
+               msm_ram: msmram@c000000 {
                        compatible = "mmio-sram";
                        reg = <0x0c000000 0x600000>;
                        ranges = <0x0 0x0c000000 0x600000>;
@@ -71,7 +71,7 @@
                        };
                };
 
-               psc: power-sleep-controller@02350000 {
+               psc: power-sleep-controller@2350000 {
                        pscrst: reset-controller {
                                compatible = "ti,k2hk-pscrst", "ti,syscon-reset";
                                #reset-cells = <1>;
@@ -89,7 +89,7 @@
                        };
                };
 
-               dspgpio0: keystone_dsp_gpio@02620240 {
+               dspgpio0: keystone_dsp_gpio@2620240 {
                        compatible = "ti,keystone-dsp-gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
                        status = "disabled";
                };
 
-               mdio: mdio@02090300 {
+               mdio: mdio@2090300 {
                        compatible      = "ti,keystone_mdio", "ti,davinci_mdio";
                        #address-cells = <1>;
                        #size-cells = <0>;
index 4431310bc922bf3c6e4de97f4bcd0dc2ee262056..4370e6513aa4ff23c5e0b01c03250b9de2401b76 100644 (file)
@@ -43,7 +43,7 @@
        soc {
                /include/ "keystone-k2l-clocks.dtsi"
 
-               uart2: serial@02348400 {
+               uart2: serial@2348400 {
                        compatible = "ti,da830-uart", "ns16550a";
                        current-speed = <115200>;
                        reg-shift = <2>;
@@ -53,7 +53,7 @@
                        interrupts = <GIC_SPI 432 IRQ_TYPE_EDGE_RISING>;
                };
 
-               uart3:  serial@02348800 {
+               uart3:  serial@2348800 {
                        compatible = "ti,da830-uart", "ns16550a";
                        current-speed = <115200>;
                        reg-shift = <2>;
@@ -63,7 +63,7 @@
                        interrupts = <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>;
                };
 
-               k2l_pmx: pinmux@02620690 {
+               k2l_pmx: pinmux@2620690 {
                        compatible = "pinctrl-single";
                        reg = <0x02620690 0xc>;
                        #address-cells = <1>;
                        };
                };
 
-               msm_ram: msmram@0c000000 {
+               msm_ram: msmram@c000000 {
                        compatible = "mmio-sram";
                        reg = <0x0c000000 0x200000>;
                        ranges = <0x0 0x0c000000 0x200000>;
                        };
                };
 
-               psc: power-sleep-controller@02350000 {
+               psc: power-sleep-controller@2350000 {
                        pscrst: reset-controller {
                                compatible = "ti,k2l-pscrst", "ti,syscon-reset";
                                #reset-cells = <1>;
                        clocks = <&clkosr>;
                };
 
-               dspgpio0: keystone_dsp_gpio@02620240 {
+               dspgpio0: keystone_dsp_gpio@2620240 {
                        compatible = "ti,keystone-dsp-gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
index 8dd74f48a6d3720119153745bdea67f629d19c29..06e10544f9b11b4fb41b35beb2d1542435cf83f2 100644 (file)
                ranges = <0x0 0x0 0x0 0xc0000000>;
                dma-ranges = <0x80000000 0x8 0x00000000 0x80000000>;
 
-               pllctrl: pll-controller@02310000 {
+               pllctrl: pll-controller@2310000 {
                        compatible = "ti,keystone-pllctrl", "syscon";
                        reg = <0x02310000 0x200>;
                };
 
-               psc: power-sleep-controller@02350000 {
+               psc: power-sleep-controller@2350000 {
                        compatible = "syscon", "simple-mfd";
                        reg = <0x02350000 0x1000>;
                };
 
-               devctrl: device-state-control@02620000 {
+               devctrl: device-state-control@2620000 {
                        compatible = "ti,keystone-devctrl", "syscon";
                        reg = <0x02620000 0x1000>;
                };
 
                /include/ "keystone-clocks.dtsi"
 
-               uart0: serial@02530c00 {
+               uart0: serial@2530c00 {
                        compatible = "ti,da830-uart", "ns16550a";
                        current-speed = <115200>;
                        reg-shift = <2>;
                        interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
                };
 
-               uart1:  serial@02531000 {
+               uart1:  serial@2531000 {
                        compatible = "ti,da830-uart", "ns16550a";
                        current-speed = <115200>;
                        reg-shift = <2>;
                        };
                };
 
-               wdt: wdt@022f0080 {
+               wdt: wdt@22f0080 {
                        compatible = "ti,keystone-wdt","ti,davinci-wdt";
                        reg = <0x022f0080 0x80>;
                        clocks = <&clkwdtimer0>;
index 65e9524e852ab0570e72330fc8a5eabfb4fe173f..210d21a65bd13b9a7f09bf2cf73a644b0044db66 100644 (file)
                                spi-max-frequency = <20000000>;
                                mode = <0>;
 
-                               partition@00000000 {
+                               partition@0 {
                                        reg = <0x00000000 0x00080000>;
                                        label = "RedBoot";
                                };
 
-                               partition@00080000 {
+                               partition@80000 {
                                        reg = <0x00080000 0x00200000>;
                                        label = "zImage";
                                };
 
-                               partition@00280000 {
+                               partition@280000 {
                                        reg = <0x00280000 0x00140000>;
                                        label = "rd.gz";
                                };
 
-                               partition@003c0000 {
+                               partition@3c0000 {
                                        reg = <0x003c0000 0x00010000>;
                                        label = "vendor";
                                };
 
-                               partition@003d0000 {
+                               partition@3d0000 {
                                        reg = <0x003d0000 0x00020000>;
                                        label = "RedBoot config";
                                };
 
-                               partition@003f0000 {
+                               partition@3f0000 {
                                        reg = <0x003f0000 0x00010000>;
                                        label = "FIS directory";
                                };
index 4faea1d9facf1058d6bdcc073a9eafabda893163..a88eb22070a1b714ca74a5384e3302b2806166b7 100644 (file)
                                spi-max-frequency = <20000000>;
                                mode = <0>;
 
-                               partition@0000000 {
+                               partition@0 {
                                        reg = <0x00000000 0x00080000>;
                                        label = "U-Boot";
                                };
 
-                               partition@00200000 {
+                               partition@200000 {
                                        reg = <0x00200000 0x00200000>;
                                        label = "Kernel";
                                };
 
-                               partition@00400000 {
+                               partition@400000 {
                                        reg = <0x00400000 0x00900000>;
                                        label = "RootFS1";
                                };
-                               partition@00d00000 {
+                               partition@d00000 {
                                        reg = <0x00d00000 0x00300000>;
                                        label = "RootFS2";
                                };
-                               partition@00040000 {
+                               partition@40000 {
                                        reg = <0x00080000 0x00040000>;
                                        label = "U-Boot Config";
                                };
-                               partition@000c0000 {
+                               partition@c0000 {
                                        reg = <0x000c0000 0x00140000>;
                                        label = "NAS Config";
                                };
index a70fc7f01fc391e619710c1e17871aadd9e77454..eb2bf74096559b006d3f75af15ca6183a78d8eb5 100644 (file)
@@ -41,7 +41,7 @@
                pcie-mem-aperture = <0xe0000000 0x10000000>; /* 256 MiB memory space */
                pcie-io-aperture  = <0xf2000000 0x100000>;   /*   1 MiB    I/O space */
 
-               nand: nand@012f {
+               nand: nand@12f {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        cle = <0>;
@@ -57,7 +57,7 @@
                        status = "disabled";
                };
 
-               crypto_sram: sa-sram@0301 {
+               crypto_sram: sa-sram@301 {
                        compatible = "mmio-sram";
                        reg = <MBUS_ID(0x03, 0x01) 0x0 0x800>;
                        clocks = <&gate_clk 17>;
index 52b3ed10283a7a5dabca56341d623a60017420dc..c43adb7b4d7ca5e342f628d2890ef99c6901a5f8 100644 (file)
                #address-cells = <1>;
                #size-cells = <1>;
 
-               mtd0@00000000 {
+               mtd0@0 {
                        label = "ea3250-boot";
                        reg = <0x00000000 0x00080000>;
                        read-only;
                };
 
-               mtd1@00080000 {
+               mtd1@80000 {
                        label = "ea3250-uboot";
                        reg = <0x00080000 0x000c0000>;
                        read-only;
                };
 
-               mtd2@00140000 {
+               mtd2@140000 {
                        label = "ea3250-kernel";
                        reg = <0x00140000 0x00400000>;
                };
 
-               mtd3@00540000 {
+               mtd3@540000 {
                        label = "ea3250-rootfs";
                        reg = <0x00540000 0x07ac0000>;
                };
index fd95e2b10357755478f544075bb2ac30d3ace486..c72eb9845603a25d0968ae07730e2b6d2faa11b7 100644 (file)
                #address-cells = <1>;
                #size-cells = <1>;
 
-               mtd0@00000000 {
+               mtd0@0 {
                        label = "phy3250-boot";
                        reg = <0x00000000 0x00064000>;
                        read-only;
                };
 
-               mtd1@00064000 {
+               mtd1@64000 {
                        label = "phy3250-uboot";
                        reg = <0x00064000 0x00190000>;
                        read-only;
                };
 
-               mtd2@001f4000 {
+               mtd2@1f4000 {
                        label = "phy3250-ubt-prms";
                        reg = <0x001f4000 0x00010000>;
                };
 
-               mtd3@00204000 {
+               mtd3@204000 {
                        label = "phy3250-kernel";
                        reg = <0x00204000 0x00400000>;
                };
 
-               mtd4@00604000 {
+               mtd4@604000 {
                        label = "phy3250-rootfs";
                        reg = <0x00604000 0x039fc000>;
                };
index d81fe433e3c82eafa0ea1703a5b6fe7905e6f7ac..abff7ef7c9cd6a571a5966ff75f473215c737233 100644 (file)
@@ -55,7 +55,7 @@
                         <0x20000000 0x20000000 0x30000000>,
                         <0xe0000000 0xe0000000 0x04000000>;
 
-               iram: sram@08000000 {
+               iram: sram@8000000 {
                        compatible = "mmio-sram";
                        reg = <0x08000000 0x20000>;
 
index cd6ad072e72c17ebe287b72d3f26657a402a97ba..4926133077b3541165ccf989af0834a8362411b3 100644 (file)
                        #size-cells = <1>;
                        ranges = <0x0 0xc1100000 0x200000>;
 
+                       assist: assist@7c00 {
+                               compatible = "amlogic,meson-mx-assist", "syscon";
+                               reg = <0x7c00 0x200>;
+                       };
+
+                       gpio_intc: interrupt-controller@9880 {
+                               compatible = "amlogic,meson-gpio-intc";
+                               reg = <0xc1109880 0x10>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
+                               status = "disabled";
+                       };
+
                        hwrng: rng@8100 {
                                compatible = "amlogic,meson-rng";
                                reg = <0x8100 0x8>;
                                status = "disabled";
                        };
 
+                       sdio: mmc@8c20 {
+                               compatible = "amlogic,meson-mx-sdio";
+                               reg = <0x8c20 0x20>;
+                               interrupts = <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
+
                        spifc: spi@8c80 {
                                compatible = "amlogic,meson6-spifc";
                                reg = <0x8c80 0x80>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0xc9040000 0x40000>;
-                       interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>;
+                       interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
                        phys = <&usb0_phy>;
                        phy-names = "usb2-phy";
                        dr_mode = "host";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0xc90c0000 0x40000>;
-                       interrupts = <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
+                       interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
                        phys = <&usb1_phy>;
                        phy-names = "usb2-phy";
                        dr_mode = "host";
                        #size-cells = <1>;
                        ranges = <0 0xd9000000 0x20000>;
                };
+
+               bootrom: bootrom@d9040000 {
+                       compatible = "amlogic,meson-mx-bootrom", "syscon";
+                       reg = <0xd9040000 0x10000>;
+               };
+
+               secbus: secbus@da000000 {
+                       compatible = "simple-bus";
+                       reg = <0xda000000 0x6000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x0 0xda000000 0x6000>;
+
+                       efuse: nvmem@0 {
+                               compatible = "amlogic,meson6-efuse";
+                               reg = <0x0 0x2000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                       };
+               };
        };
 }; /* end of / */
index ef281d2900527703af28b49f425df50415d1bd2d..9b463211339f5f5bc9156e88da3881607ba22ecc 100644 (file)
@@ -84,6 +84,9 @@
        };
 }; /* end of / */
 
+&efuse {
+       status = "disabled";
+};
 
 &uart_AO {
        clocks = <&xtal>, <&clk81>, <&clk81>;
index b98d44fde6b60bc9301a3b23cb65f2ccd0d8e64c..2d7a0752a460886de27f1a280169538f95422f9f 100644 (file)
@@ -45,6 +45,7 @@
 
 #include <dt-bindings/clock/meson8b-clkc.h>
 #include <dt-bindings/gpio/meson8-gpio.h>
+#include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h>
 #include "meson.dtsi"
 
 / {
@@ -60,6 +61,8 @@
                        compatible = "arm,cortex-a9";
                        next-level-cache = <&L2>;
                        reg = <0x200>;
+                       enable-method = "amlogic,meson8-smp";
+                       resets = <&clkc CLKC_RESET_CPU0_SOFT_RESET>;
                };
 
                cpu@201 {
@@ -67,6 +70,8 @@
                        compatible = "arm,cortex-a9";
                        next-level-cache = <&L2>;
                        reg = <0x201>;
+                       enable-method = "amlogic,meson8-smp";
+                       resets = <&clkc CLKC_RESET_CPU1_SOFT_RESET>;
                };
 
                cpu@202 {
@@ -74,6 +79,8 @@
                        compatible = "arm,cortex-a9";
                        next-level-cache = <&L2>;
                        reg = <0x202>;
+                       enable-method = "amlogic,meson8-smp";
+                       resets = <&clkc CLKC_RESET_CPU2_SOFT_RESET>;
                };
 
                cpu@203 {
@@ -81,6 +88,8 @@
                        compatible = "arm,cortex-a9";
                        next-level-cache = <&L2>;
                        reg = <0x203>;
+                       enable-method = "amlogic,meson8-smp";
+                       resets = <&clkc CLKC_RESET_CPU3_SOFT_RESET>;
                };
        };
 
 }; /* end of / */
 
 &aobus {
+       pmu: pmu@e0 {
+               compatible = "amlogic,meson8-pmu", "syscon";
+               reg = <0xe0 0x8>;
+       };
+
        pinctrl_aobus: pinctrl@84 {
                compatible = "amlogic,meson8-aobus-pinctrl";
                reg = <0x84 0xc>;
                        reg-names = "mux", "pull", "gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
-                       gpio-ranges = <&pinctrl_aobus 0 120 16>;
+                       gpio-ranges = <&pinctrl_aobus 0 0 16>;
                };
 
                uart_ao_a_pins: uart_ao_a {
                reg = <0x8000 0x4>, <0x4000 0x460>;
        };
 
+       analog_top: analog-top@81a8 {
+               compatible = "amlogic,meson8-analog-top", "syscon";
+               reg = <0x81a8 0x14>;
+       };
+
        pwm_ef: pwm@86c0 {
                compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm";
                reg = <0x86c0 0x10>;
        };
 };
 
+&ahb_sram {
+       smp-sram@1ff80 {
+               compatible = "amlogic,meson8-smp-sram";
+               reg = <0x1ff80 0x8>;
+       };
+};
+
+&efuse {
+       compatible = "amlogic,meson8-efuse";
+       clocks = <&clkc CLKID_EFUSE>;
+       clock-names = "core";
+};
+
 &ethmac {
        clocks = <&clkc CLKID_ETH>;
        clock-names = "stmmaceth";
        clock-names = "clkin", "core", "sana";
 };
 
+&sdio {
+       compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
+       clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>;
+       clock-names = "core", "clkin";
+};
+
 &spifc {
        clocks = <&clkc CLKID_CLK81>;
 };
index e50f1a1fdbc79a57116b499a8a227369083b387e..9ff6ca4e20d069f56427fef917f20d71bdf83649 100644 (file)
        pinctrl-0 = <&uart_ao_a_pins>;
        pinctrl-names = "default";
 };
+
+&gpio_ao {
+       /*
+        * WARNING: The USB Hub on the Odroid-C1/C1+ needs a reset signal
+        * to be turned high in order to be detected by the USB Controller.
+        * This signal should be handled by a USB specific power sequence
+        * in order to reset the Hub when USB bus is powered down.
+        */
+       usb-hub {
+               gpio-hog;
+               gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>;
+               output-high;
+               line-name = "usb-hub-reset";
+       };
+};
+
+&usb1_phy {
+       status = "okay";
+};
+
+&usb1 {
+       status = "okay";
+};
index bc278da7df0d93b260eb36d0080b64de2711c592..d75e0ceda8bbec15119068e40ce15bd7e0212972 100644 (file)
@@ -47,6 +47,7 @@
 #include <dt-bindings/clock/meson8b-clkc.h>
 #include <dt-bindings/gpio/meson8b-gpio.h>
 #include <dt-bindings/reset/amlogic,meson8b-reset.h>
+#include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h>
 #include "meson.dtsi"
 
 / {
@@ -59,6 +60,8 @@
                        compatible = "arm,cortex-a5";
                        next-level-cache = <&L2>;
                        reg = <0x200>;
+                       enable-method = "amlogic,meson8b-smp";
+                       resets = <&clkc CLKC_RESET_CPU0_SOFT_RESET>;
                };
 
                cpu@201 {
@@ -66,6 +69,8 @@
                        compatible = "arm,cortex-a5";
                        next-level-cache = <&L2>;
                        reg = <0x201>;
+                       enable-method = "amlogic,meson8b-smp";
+                       resets = <&clkc CLKC_RESET_CPU1_SOFT_RESET>;
                };
 
                cpu@202 {
@@ -73,6 +78,8 @@
                        compatible = "arm,cortex-a5";
                        next-level-cache = <&L2>;
                        reg = <0x202>;
+                       enable-method = "amlogic,meson8b-smp";
+                       resets = <&clkc CLKC_RESET_CPU2_SOFT_RESET>;
                };
 
                cpu@203 {
                        compatible = "arm,cortex-a5";
                        next-level-cache = <&L2>;
                        reg = <0x203>;
+                       enable-method = "amlogic,meson8b-smp";
+                       resets = <&clkc CLKC_RESET_CPU3_SOFT_RESET>;
+               };
+       };
+
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               /* 2 MiB reserved for Hardware ROM Firmware? */
+               hwrom@0 {
+                       reg = <0x0 0x200000>;
+                       no-map;
                };
        };
 
 }; /* end of / */
 
 &aobus {
+       pmu: pmu@e0 {
+               compatible = "amlogic,meson8b-pmu", "syscon";
+               reg = <0xe0 0x18>;
+       };
+
        pinctrl_aobus: pinctrl@84 {
                compatible = "amlogic,meson8b-aobus-pinctrl";
                reg = <0x84 0xc>;
                        reg-names = "mux", "pull", "gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
-                       gpio-ranges = <&pinctrl_aobus 0 130 16>;
+                       gpio-ranges = <&pinctrl_aobus 0 0 16>;
                };
 
                uart_ao_a_pins: uart_ao_a {
                #reset-cells = <1>;
        };
 
+       analog_top: analog-top@81a8 {
+               compatible = "amlogic,meson8b-analog-top", "syscon";
+               reg = <0x81a8 0x14>;
+       };
+
        pwm_ef: pwm@86c0 {
                compatible = "amlogic,meson8b-pwm";
                reg = <0x86c0 0x10>;
        };
 };
 
+&ahb_sram {
+       smp-sram@1ff80 {
+               compatible = "amlogic,meson8b-smp-sram";
+               reg = <0x1ff80 0x8>;
+       };
+};
+
+
+&efuse {
+       compatible = "amlogic,meson8b-efuse";
+       clocks = <&clkc CLKID_EFUSE>;
+       clock-names = "core";
+};
+
 &ethmac {
        clocks = <&clkc CLKID_ETH>;
        clock-names = "stmmaceth";
 };
 
+&gpio_intc {
+       compatible = "amlogic,meson-gpio-intc",
+                    "amlogic,meson8b-gpio-intc";
+       status = "okay";
+};
+
 &hwrng {
        compatible = "amlogic,meson8b-rng", "amlogic,meson-rng";
        clocks = <&clkc CLKID_RNG0>;
        clock-names = "clkin", "core", "sana";
 };
 
+&sdio {
+       compatible = "amlogic,meson8b-sdio", "amlogic,meson-mx-sdio";
+       clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>;
+       clock-names = "core", "clkin";
+};
+
 &uart_AO {
        clocks = <&clkc CLKID_CLK81>;
 };
index 116ce78bea4fd0716ec53e7fa71aec275ec69b62..36cfa215620d2c26cc50f313826d53ffdfd24ec8 100644 (file)
@@ -46,7 +46,7 @@
                        };
                };
 
-               usb0: ohci@00300000 {
+               usb0: ohci@300000 {
                        num-ports = <1>;
                        status = "okay";
                };
index f48497354221d3fd786258940e4d25e2e109f4de..63af4b13a36f040c41d6d5d34f91d6a91d9c1b38 100644 (file)
        bt_sco_codec:bt_sco_codec {
                compatible = "linux,bt-sco";
        };
+
+       backlight_lcd: backlight_lcd {
+               compatible = "pwm-backlight";
+               pwms = <&bls 0 100000>;
+               brightness-levels = <
+                         0  16  32  48  64  80  96 112
+                       128 144 160 176 192 208 224 240
+                       255
+               >;
+               default-brightness-level = <9>;
+       };
 };
 
 &auxadc {
        status = "okay";
 };
 
+&bls {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pwm_bls_gpio>;
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
                };
        };
 
+       pwm_bls_gpio: pwm_bls_gpio {
+               pins_cmd_dat {
+                       pinmux = <MT2701_PIN_208_AUD_EXT_CK1__FUNC_DISP_PWM>;
+               };
+       };
+
        spi_pins_a: spi0@0 {
                pins_spi {
                        pinmux = <MT2701_PIN_53_SPI0_CSN__FUNC_SPI0_CS>,
index afe12e5b51f95374e2f8f5f91b91f2bbc189e193..965ddfbc9953685e559bfc169ef654ce60bc7347 100644 (file)
                compatible = "mediatek,mt2701-audio";
                reg = <0 0x11220000 0 0x2000>,
                      <0 0x112a0000 0 0x20000>;
-               interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
+               interrupts =  <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
+                             <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "afe", "asys";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
 
                clocks = <&infracfg CLK_INFRA_AUDIO>,
                #clock-cells = <1>;
        };
 
+       bls: pwm@1400a000 {
+               compatible = "mediatek,mt2701-disp-pwm";
+               reg = <0 0x1400a000 0 0x1000>;
+               #pwm-cells = <2>;
+               clocks = <&mmsys CLK_MM_MDP_BLS_26M>, <&mmsys CLK_MM_DISP_BLS>;
+               clock-names = "main", "mm";
+               status = "disabled";
+       };
+
        larb0: larb@14010000 {
                compatible = "mediatek,mt2701-smi-larb";
                reg = <0 0x14010000 0 0x1000>;
index 0d6f60af76402f5de54b7ecea8add726d85b31b0..41df742d78914b96eae2b2f7fa2e9b2154b1c3fc 100644 (file)
                        status = "disabled";
                };
 
-               wdt: watchdog@010000000 {
+               wdt: watchdog@10000000 {
                        compatible = "mediatek,mt6589-wdt";
                        reg = <0x10000000 0x44>;
                };
index ec8a07415cb38816db5990aa240744b9d9b27e64..0640fb75bf59bc20e8a679d43d487395ade67d3a 100644 (file)
        };
 
        pio: pinctrl@10005000 {
-               compatible = "mediatek,mt7623-pinctrl",
-                            "mediatek,mt2701-pinctrl";
+               compatible = "mediatek,mt7623-pinctrl";
                reg = <0 0x1000b000 0 0x1000>;
                mediatek,pctl-regmap = <&syscfg_pctl_a>;
                pins-are-numbered;
                             "mediatek,mt2701-audio";
                reg = <0 0x11220000 0 0x2000>,
                      <0 0x112a0000 0 0x20000>;
-               interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
+               interrupts =  <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
+                             <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "afe", "asys";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
 
                clocks = <&infracfg CLK_INFRA_AUDIO>,
                interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>;
                clocks = <&hifsys CLK_HIFSYS_USB0PHY>,
                         <&topckgen CLK_TOP_ETHIF_SEL>;
-               clock-names = "sys_ck", "free_ck";
+               clock-names = "sys_ck", "ref_ck";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
                phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
                status = "disabled";
                compatible = "mediatek,mt7623-u3phy",
                             "mediatek,mt2701-u3phy";
                reg = <0 0x1a1c4000 0 0x0700>;
-               clocks = <&clk26m>;
-               clock-names = "u3phya_ref";
                #address-cells = <2>;
                #size-cells = <2>;
                ranges;
 
                u2port0: usb-phy@1a1c4800 {
                        reg = <0 0x1a1c4800 0 0x0100>;
+                       clocks = <&topckgen CLK_TOP_USB_PHY48M>;
+                       clock-names = "ref";
                        #phy-cells = <1>;
                        status = "okay";
                };
 
                u3port0: usb-phy@1a1c4900 {
                        reg = <0 0x1a1c4900 0 0x0700>;
+                       clocks = <&clk26m>;
+                       clock-names = "ref";
                        #phy-cells = <1>;
                        status = "okay";
                };
                interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
                clocks = <&hifsys CLK_HIFSYS_USB1PHY>,
                         <&topckgen CLK_TOP_ETHIF_SEL>;
-               clock-names = "sys_ck", "free_ck";
+               clock-names = "sys_ck", "ref_ck";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
                phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>;
                status = "disabled";
                compatible = "mediatek,mt7623-u3phy",
                             "mediatek,mt2701-u3phy";
                reg = <0 0x1a244000 0 0x0700>;
-               clocks = <&clk26m>;
-               clock-names = "u3phya_ref";
                #address-cells = <2>;
                #size-cells = <2>;
                ranges;
 
                u2port1: usb-phy@1a244800 {
                        reg = <0 0x1a244800 0 0x0100>;
+                       clocks = <&topckgen CLK_TOP_USB_PHY48M>;
+                       clock-names = "ref";
                        #phy-cells = <1>;
                        status = "okay";
                };
 
                u3port1: usb-phy@1a244900 {
                        reg = <0 0x1a244900 0 0x0700>;
+                       clocks = <&clk26m>;
+                       clock-names = "ref";
                        #phy-cells = <1>;
                        status = "okay";
                };
        };
 
        crypto: crypto@1b240000 {
-               compatible = "mediatek,mt7623-crypto";
+               compatible = "mediatek,eip97-crypto";
                reg = <0 0x1b240000 0 0x20000>;
                interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 97 IRQ_TYPE_LEVEL_LOW>;
-               clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
-                        <&ethsys CLK_ETHSYS_CRYPTO>;
-               clock-names = "ethif","cryp";
+               clocks = <&ethsys CLK_ETHSYS_CRYPTO>;
+               clock-names = "cryp";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
                status = "disabled";
        };
index ee5a0bb22354df10d9d3fc6d4179f7f8460fd933..ec2283b1a638e028d28e57d53e8a7dd9fc2c2778 100644 (file)
@@ -20,7 +20,7 @@
                };
        };
 
-       bootrom: bootrom@00000000 {
+       bootrom: bootrom@0 {
                reg = <0x00000000 0x80000>;
        };
 
index 1de80c7886abaa7f9bb25432519c65a112a501ee..1df3ace3af9275254a05b4097b83d0a25a975061 100644 (file)
@@ -7,6 +7,10 @@
                reg = <0x80000000 0x8000000>; /* 128 MB */
        };
 
+       chosen {
+               stdout-path = &uart3;
+       };
+
        ocp {
                i2c0 {
                        compatible = "i2c-cbus-gpio";
index c963b31ec3b3cd9368911df73a21764663b42a5d..5a4ba0aea44711de976971991e91be063fc0ac46 100644 (file)
 
 #include "omap36xx.dtsi"
 #include "omap3-evm-common.dtsi"
-
+#include "omap3-evm-processor-common.dtsi"
 
 / {
        model = "TI OMAP37XX EVM (TMDSEVM3730)";
        compatible = "ti,omap3-evm-37xx", "ti,omap3630", "ti,omap3";
-
-       memory@80000000 {
-               device_type = "memory";
-               reg = <0x80000000 0x10000000>; /* 256 MB */
-       };
-
-       wl12xx_vmmc: wl12xx_vmmc {
-               pinctrl-names = "default";
-               pinctrl-0 = <&wl12xx_gpio>;
-       };
-};
-
-&dss {
-       pinctrl-names = "default";
-       pinctrl-0 = <
-               &dss_dpi_pins1
-               &dss_dpi_pins2
-       >;
-};
-
-&hsusb2_phy {
-       pinctrl-names = "default";
-       pinctrl-0 = <&ehci_phy_pins>;
-};
-
-&omap3_pmx_core {
-       pinctrl-names = "default";
-       pinctrl-0 = <&on_board_gpio_61 &hsusb2_pins>;
-
-       dss_dpi_pins1: pinmux_dss_dpi_pins2 {
-               pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
-                       OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
-                       OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
-                       OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */
-
-                       OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
-                       OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
-                       OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
-                       OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
-                       OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
-                       OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
-                       OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
-                       OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
-                       OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
-                       OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
-                       OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
-                       OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */
-
-                       OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3)   /* dss_data18.dss_data0 */
-                       OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3)   /* dss_data19.dss_data1 */
-                       OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3)   /* dss_data20.dss_data2 */
-                       OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3)   /* dss_data21.dss_data3 */
-                       OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3)   /* dss_data22.dss_data4 */
-                       OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3)   /* dss_data23.dss_data5 */
-               >;
-       };
-
-       mmc1_pins: pinmux_mmc1_pins {
-               pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT_PULLUP | MUX_MODE0)        /* sdmmc1_clk.sdmmc1_clk */
-                       OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
-                       OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat0.sdmmc1_dat0 */
-                       OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat1.sdmmc1_dat1 */
-                       OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat2.sdmmc1_dat2 */
-                       OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat3.sdmmc1_dat3 */
-                       OMAP3_CORE1_IOPAD(0x2150, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat4.sdmmc1_dat4 */
-                       OMAP3_CORE1_IOPAD(0x2152, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat5.sdmmc1_dat5 */
-                       OMAP3_CORE1_IOPAD(0x2154, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat6.sdmmc1_dat6 */
-                       OMAP3_CORE1_IOPAD(0x2156, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat7.sdmmc1_dat7 */
-               >;
-       };
-
-       /* NOTE: Clocked externally, needs INPUT also for sdmmc2_clk.sdmmc2_clk */
-       mmc2_pins: pinmux_mmc2_pins {
-               pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
-                       OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
-                       OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
-                       OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
-                       OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
-                       OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
-               >;
-       };
-
-       uart3_pins: pinmux_uart3_pins {
-               pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x219e, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
-                       OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)               /* uart3_tx_irtx.uart3_tx_irtx */
-               >;
-       };
-
-       /* Devices are routed with gpmc_nbe1.gpio_61 to on-board devices */
-       on_board_gpio_61: pinmux_ehci_port_select_pins {
-               pinctrl-single,pins = <
-               OMAP3_CORE1_IOPAD(0x20c8, PIN_OUTPUT | MUX_MODE4)
-               >;
-       };
-
-       /* Used by OHCI and EHCI. OHCI won't work without external phy */
-       hsusb2_pins: pinmux_hsusb2_pins {
-               pinctrl-single,pins = <
-
-               /* mcspi1_cs3.hsusb2_data2 */
-               OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)
-
-               /* mcspi2_clk.hsusb2_data7 */
-               OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)
-
-               /* mcspi2_simo.hsusb2_data4 */
-               OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)
-
-               /* mcspi2_somi.hsusb2_data5 */
-               OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)
-
-               /* mcspi2_cs0.hsusb2_data6 */
-               OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)
-
-               /* mcspi2_cs1.hsusb2_data3 */
-               OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)
-               >;
-       };
-
-       wl12xx_gpio: pinmux_wl12xx_gpio {
-               pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x2180, PIN_OUTPUT | MUX_MODE4)               /* uart1_cts.gpio_150 */
-                       OMAP3_CORE1_IOPAD(0x217e, PIN_INPUT | MUX_MODE4)                /* uart1_rts.gpio_149 */
-               >;
-       };
-
-       smsc911x_pins: pinmux_smsc911x_pins {
-               pinctrl-single,pins = <
-                       OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4)                /* mcspi1_cs2.gpio_176 */
-               >;
-       };
 };
 
 &omap3_pmx_core2 {
        };
 };
 
-&omap3_pmx_wkup {
-       dss_dpi_pins2: pinmux_dss_dpi_pins1 {
-               pinctrl-single,pins = <
-                       OMAP3_WKUP_IOPAD(0x2a0a, PIN_OUTPUT | MUX_MODE3)   /* sys_boot0.dss_data18 */
-                       OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE3)   /* sys_boot1.dss_data19 */
-                       OMAP3_WKUP_IOPAD(0x2a10, PIN_OUTPUT | MUX_MODE3)   /* sys_boot3.dss_data20 */
-                       OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE3)   /* sys_boot4.dss_data21 */
-                       OMAP3_WKUP_IOPAD(0x2a14, PIN_OUTPUT | MUX_MODE3)   /* sys_boot5.dss_data22 */
-                       OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | MUX_MODE3)   /* sys_boot6.dss_data23 */
-               >;
-       };
-};
-
-&mmc1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc1_pins>;
-};
-
-&mmc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc2_pins>;
-};
-
-&mmc3 {
-       status = "disabled";
-};
-
-&uart1 {
-       interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
-};
-
-&uart2 {
-       interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
-};
-
-&uart3 {
-       interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart3_pins>;
-};
-
-/*
- * GPIO_61 (nUSB2_EN_1V8) must be low to enable on-board EHCI USB2 interface
- * for bus switch SN74CB3Q3384A, level-shifter SN74AVC16T245DGGR, and 1.8V.
- */
-&gpio2 {
-       en_usb2_port {
-               gpio-hog;
-               gpios = <29 GPIO_ACTIVE_HIGH>;  /* gpio_61 */
-               output-low;
-               line-name = "enable usb2 port";
-       };
-};
-
-/* T2_GPIO_2 low to route GPIO_61 to on-board devices */
-&twl_gpio {
-       en_on_board_gpio_61 {
-               gpio-hog;
-               gpios = <2 GPIO_ACTIVE_HIGH>;
-               output-low;
-               line-name = "en_hsusb2_clk";
-       };
-};
-
 &gpmc {
-       ranges = <0 0 0x30000000 0x1000000>,    /* CS0: 16MB for NAND */
-                <5 0 0x2c000000 0x01000000>;
-
        nand@0,0 {
                compatible = "ti,omap2-nand";
                reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
                        reg = <0x780000 0x1f880000>;
                };
        };
-
-       ethernet@gpmc {
-               pinctrl-names = "default";
-               pinctrl-0 = <&smsc911x_pins>;
-       };
 };
diff --git a/arch/arm/boot/dts/omap3-evm-processor-common.dtsi b/arch/arm/boot/dts/omap3-evm-processor-common.dtsi
new file mode 100644 (file)
index 0000000..ce7f42f
--- /dev/null
@@ -0,0 +1,216 @@
+/*
+ * Common support for omap3 EVM 35xx/37xx processor modules
+ */
+
+/ {
+       memory@80000000 {
+               device_type = "memory";
+               reg = <0x80000000 0x10000000>; /* 256 MB */
+       };
+
+       wl12xx_vmmc: wl12xx_vmmc {
+               pinctrl-names = "default";
+               pinctrl-0 = <&wl12xx_gpio>;
+       };
+};
+
+&dss {
+       vdds_dsi-supply = <&vpll2>;
+       vdda_video-supply = <&lcd_3v3>;
+       pinctrl-names = "default";
+       pinctrl-0 = <
+               &dss_dpi_pins1
+               &dss_dpi_pins2
+       >;
+};
+
+&hsusb2_phy {
+       pinctrl-names = "default";
+       pinctrl-0 = <&ehci_phy_pins>;
+};
+
+&omap3_pmx_core {
+       pinctrl-names = "default";
+       pinctrl-0 = <&on_board_gpio_61 &hsusb2_pins>;
+
+       dss_dpi_pins1: pinmux_dss_dpi_pins2 {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
+                       OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
+                       OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
+                       OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */
+
+                       OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
+                       OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
+                       OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
+                       OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
+                       OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
+                       OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
+                       OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
+                       OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
+                       OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
+                       OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
+                       OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
+                       OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */
+
+                       OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3)   /* dss_data18.dss_data0 */
+                       OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3)   /* dss_data19.dss_data1 */
+                       OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3)   /* dss_data20.dss_data2 */
+                       OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3)   /* dss_data21.dss_data3 */
+                       OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3)   /* dss_data22.dss_data4 */
+                       OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3)   /* dss_data23.dss_data5 */
+               >;
+       };
+
+       mmc1_pins: pinmux_mmc1_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT_PULLUP | MUX_MODE0)        /* sdmmc1_clk.sdmmc1_clk */
+                       OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_cmd.sdmmc1_cmd */
+                       OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat0.sdmmc1_dat0 */
+                       OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat1.sdmmc1_dat1 */
+                       OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat2.sdmmc1_dat2 */
+                       OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat3.sdmmc1_dat3 */
+                       OMAP3_CORE1_IOPAD(0x2150, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat4.sdmmc1_dat4 */
+                       OMAP3_CORE1_IOPAD(0x2152, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat5.sdmmc1_dat5 */
+                       OMAP3_CORE1_IOPAD(0x2154, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat6.sdmmc1_dat6 */
+                       OMAP3_CORE1_IOPAD(0x2156, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat7.sdmmc1_dat7 */
+               >;
+       };
+
+       /* NOTE: Clocked externally, needs INPUT also for sdmmc2_clk.sdmmc2_clk */
+       mmc2_pins: pinmux_mmc2_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
+                       OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
+                       OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
+                       OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
+                       OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
+                       OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
+               >;
+       };
+
+       uart3_pins: pinmux_uart3_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x219e, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
+                       OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)               /* uart3_tx_irtx.uart3_tx_irtx */
+               >;
+       };
+
+       /* Devices are routed with gpmc_nbe1.gpio_61 to on-board devices */
+       on_board_gpio_61: pinmux_ehci_port_select_pins {
+               pinctrl-single,pins = <
+               OMAP3_CORE1_IOPAD(0x20c8, PIN_OUTPUT | MUX_MODE4)
+               >;
+       };
+
+       /* Used by OHCI and EHCI. OHCI won't work without external phy */
+       hsusb2_pins: pinmux_hsusb2_pins {
+               pinctrl-single,pins = <
+
+               /* mcspi1_cs3.hsusb2_data2 */
+               OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* mcspi2_clk.hsusb2_data7 */
+               OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* mcspi2_simo.hsusb2_data4 */
+               OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* mcspi2_somi.hsusb2_data5 */
+               OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* mcspi2_cs0.hsusb2_data6 */
+               OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* mcspi2_cs1.hsusb2_data3 */
+               OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)
+               >;
+       };
+
+       wl12xx_gpio: pinmux_wl12xx_gpio {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x2180, PIN_OUTPUT | MUX_MODE4)               /* uart1_cts.gpio_150 */
+                       OMAP3_CORE1_IOPAD(0x217e, PIN_INPUT | MUX_MODE4)                /* uart1_rts.gpio_149 */
+               >;
+       };
+
+       smsc911x_pins: pinmux_smsc911x_pins {
+               pinctrl-single,pins = <
+                       OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4)                /* mcspi1_cs2.gpio_176 */
+               >;
+       };
+};
+
+&omap3_pmx_wkup {
+       dss_dpi_pins2: pinmux_dss_dpi_pins1 {
+               pinctrl-single,pins = <
+                       OMAP3_WKUP_IOPAD(0x2a0a, PIN_OUTPUT | MUX_MODE3)   /* sys_boot0.dss_data18 */
+                       OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE3)   /* sys_boot1.dss_data19 */
+                       OMAP3_WKUP_IOPAD(0x2a10, PIN_OUTPUT | MUX_MODE3)   /* sys_boot3.dss_data20 */
+                       OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE3)   /* sys_boot4.dss_data21 */
+                       OMAP3_WKUP_IOPAD(0x2a14, PIN_OUTPUT | MUX_MODE3)   /* sys_boot5.dss_data22 */
+                       OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | MUX_MODE3)   /* sys_boot6.dss_data23 */
+               >;
+       };
+};
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins>;
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_pins>;
+};
+
+&mmc3 {
+       status = "disabled";
+};
+
+&uart1 {
+       interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
+};
+
+&uart2 {
+       interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
+};
+
+&uart3 {
+       interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>;
+};
+
+/*
+ * GPIO_61 (nUSB2_EN_1V8) must be low to enable on-board EHCI USB2 interface
+ * for bus switch SN74CB3Q3384A, level-shifter SN74AVC16T245DGGR, and 1.8V.
+ */
+&gpio2 {
+       en_usb2_port {
+               gpio-hog;
+               gpios = <29 GPIO_ACTIVE_HIGH>;  /* gpio_61 */
+               output-low;
+               line-name = "enable usb2 port";
+       };
+};
+
+/* T2_GPIO_2 low to route GPIO_61 to on-board devices */
+&twl_gpio {
+       en_on_board_gpio_61 {
+               gpio-hog;
+               gpios = <2 GPIO_ACTIVE_HIGH>;
+               output-low;
+               line-name = "en_hsusb2_clk";
+       };
+};
+
+&gpmc {
+       ranges = <0 0 0x30000000 0x1000000>,    /* CS0: 16MB for NAND */
+                <5 0 0x2c000000 0x01000000>;   /* CS5: 16MB for LAN9220 */
+
+       ethernet@gpmc {
+               pinctrl-names = "default";
+               pinctrl-0 = <&smsc911x_pins>;
+       };
+};
index 99b2bfcd1059fdfbf1b4b3a95d7b598f224b199d..21a3b88aef0cc42efa2f857738f740b4fbd821d9 100644 (file)
@@ -9,13 +9,81 @@
 
 #include "omap34xx.dtsi"
 #include "omap3-evm-common.dtsi"
+#include "omap3-evm-processor-common.dtsi"
 
 / {
        model = "TI OMAP35XX EVM (TMDSEVM3530)";
-       compatible = "ti,omap3-evm", "ti,omap3";
+       compatible = "ti,omap3-evm", "ti,omap3430", "ti,omap3";
+};
+
+&omap3_pmx_core2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&hsusb2_2_pins>;
+
+       ehci_phy_pins: pinmux_ehci_phy_pins {
+               pinctrl-single,pins = <
+
+               /* EHCI PHY reset GPIO etk_d7.gpio_21 */
+               OMAP3430_CORE2_IOPAD(0x25ea, PIN_OUTPUT | MUX_MODE4)
+
+               /* EHCI VBUS etk_d8.gpio_22 */
+               OMAP3430_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4)
+               >;
+       };
+
+       /* Used by OHCI and EHCI. OHCI won't work without external phy */
+       hsusb2_2_pins: pinmux_hsusb2_2_pins {
+               pinctrl-single,pins = <
+
+               /* etk_d10.hsusb2_clk */
+               OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)
+
+               /* etk_d11.hsusb2_stp */
+               OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)
+
+               /* etk_d12.hsusb2_dir */
+               OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* etk_d13.hsusb2_nxt */
+               OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* etk_d14.hsusb2_data0 */
+               OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)
+
+               /* etk_d15.hsusb2_data1 */
+               OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)
+               >;
+       };
+};
+
+&gpmc {
+       nand@0,0 {
+               compatible = "ti,omap2-nand";
+               reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
+               interrupt-parent = <&gpmc>;
+               interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
+                            <1 IRQ_TYPE_NONE>; /* termcount */
+               linux,mtd-name= "micron,mt29f2g16abdhc";
+               nand-bus-width = <16>;
+               gpmc,device-width = <2>;
+               ti,nand-ecc-opt = "bch8";
+
+               gpmc,sync-clk-ps = <0>;
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <44>;
+               gpmc,cs-wr-off-ns = <44>;
+               gpmc,adv-on-ns = <6>;
+               gpmc,adv-rd-off-ns = <34>;
+               gpmc,adv-wr-off-ns = <44>;
+               gpmc,we-off-ns = <40>;
+               gpmc,oe-off-ns = <54>;
+               gpmc,access-ns = <64>;
+               gpmc,rd-cycle-ns = <82>;
+               gpmc,wr-cycle-ns = <82>;
+               gpmc,wr-access-ns = <40>;
+               gpmc,wr-data-mux-bus-ns = <0>;
 
-       memory@80000000 {
-               device_type = "memory";
-               reg = <0x80000000 0x10000000>; /* 256 MB */
+               #address-cells = <1>;
+               #size-cells = <1>;
        };
 };
index fa611a5e48506c688c9406424e6454fb8d724449..343a36d8031d8a2207d9b411ae71000b50232fa0 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&i2c3_pins>;
                gpiom1: gpio@20 {
-                       compatible = "mcp,mcp23017";
+                       compatible = "microchip,mcp23017";
                        gpio-controller;
                        #gpio-cells = <2>;
                        reg = <0x20>;
index 4acd32a1c4ef7c8801bbd516f2f317d50db21218..669c51c00c000ecb40afb036428be5e273381457 100644 (file)
        };
 
        /* D/A converter for auto-focus */
-       ad5820: dac@0c {
+       ad5820: dac@c {
                compatible = "adi,ad5820";
                reg = <0x0c>;
 
index 25e100db7b1ac8ebf3de7449838196e9e91f7327..b8b9fcc41ef1f3d955a2ff3bc8f6ff622cd17976 100644 (file)
@@ -30,6 +30,7 @@
                compatible = "sharp,ls037v7dw01";
                label = "lcd";
                power-supply = <&lcd_3v3>;
+               envdd-supply = <&lcd_3v3>;
 
                port {
                        lcd_in: endpoint {
index 2b48e51c372ab70122e13ee13d4f4a11722cd632..22c1eee9b07a28e27cd1a2d66e89100065a3ce7b 100644 (file)
                reg = <0x80000000 0x40000000>; /* 1 GB */
        };
 
+       chosen {
+               stdout-path = &uart3;
+       };
+
        aliases {
                display0 = &dvi0;
                display1 = &hdmi0;
index f69de916b06a31f978a65e7743cfafaf4b592167..1dc5a76b3c7106c9532f47c71c8052813b2492f9 100644 (file)
 
                        /*
                         * Child device unsupported by davinci-mcasp. At least
-                        * TX path is disabled for omap4, and only DIT mode
+                        * RX path is disabled for omap4, and only DIT mode
                         * works with no I2S. See also old Android kernel
                         * omap-mcasp driver for more information.
                         */
index 7824b2631cb6b3f93ffaedbaff5ebc65d6064292..575ecffb0e9e47cfda8373c22071de12e8789302 100644 (file)
                display0 = &hdmi0;
        };
 
+       chosen {
+               stdout-path = &uart3;
+       };
+
        vmain: fixedregulator-vmain {
                compatible = "regulator-fixed";
                regulator-name = "vmain";
index b86ac7df620d519746f2eac97020c4a95388c74a..4cd0005e462f7a0b88577a578d0baff8f2b13714 100644 (file)
                                                pbias_mmc_reg: pbias_mmc_omap5 {
                                                        regulator-name = "pbias_mmc_omap5";
                                                        regulator-min-microvolt = <1800000>;
-                                                       regulator-max-microvolt = <3000000>;
+                                                       regulator-max-microvolt = <3300000>;
                                                };
                                        };
                                };
diff --git a/arch/arm/boot/dts/owl-s500-cubieboard6.dts b/arch/arm/boot/dts/owl-s500-cubieboard6.dts
new file mode 100644 (file)
index 0000000..ea4e01b
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Cubietech CubieBoard6
+ *
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include "owl-s500.dtsi"
+
+/ {
+       compatible = "cubietech,cubieboard6", "actions,s500";
+       model = "CubieBoard6";
+
+       aliases {
+               serial3 = &uart3;
+       };
+
+       chosen {
+               stdout-path = "serial3:115200n8";
+       };
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x80000000>;
+       };
+
+       uart3_clk: uart3-clk {
+               compatible = "fixed-clock";
+               clock-frequency = <921600>;
+               #clock-cells = <0>;
+       };
+};
+
+&timer {
+       clocks = <&hosc>;
+};
+
+&uart3 {
+       status = "okay";
+       clocks = <&uart3_clk>;
+};
index 521463d4cac6a22f966a81df75a38e9491237a50..7be1d2eaf3f06904bbbc33a1b65d1063853a339a 100644 (file)
        chosen {
                stdout-path = "serial3:115200n8";
        };
+
+       uart3_clk: uart3-clk {
+               compatible = "fixed-clock";
+               clock-frequency = <921600>;
+               #clock-cells = <0>;
+       };
 };
 
 &uart3 {
        status = "okay";
+       clocks = <&uart3_clk>;
 };
index 51a48741d4c015aff87904b26471d887bd271831..43c9980a4260cf1c5b5fa1b23c3dfe84ac4a9252 100644 (file)
@@ -7,6 +7,7 @@
  */
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/power/owl-s500-powergate.h>
 
 / {
        compatible = "actions,s500";
@@ -43,6 +44,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <0x2>;
                        enable-method = "actions,s500-smp";
+                       power-domains = <&sps S500_PD_CPU2>;
                };
 
                cpu3: cpu@3 {
@@ -50,6 +52,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <0x3>;
                        enable-method = "actions,s500-smp";
+                       power-domains = <&sps S500_PD_CPU3>;
                };
        };
 
index 46aa6db8353ac3bc1dfa9f2af943d0fee15551c7..c2b48a1838eb2fafbe0c492017be28d757607fc7 100644 (file)
                                };
                        };
 
-                       gpio0: gpio@000000 {
+                       gpio0: gpio@0 {
                                compatible = "oxsemi,ox810se-gpio";
                                reg = <0x000000 0x100000>;
                                interrupts = <21>;
                        compatible = "simple-bus";
                        ranges = <0 0x45000000 0x1000000>;
 
-                       sys: sys-ctrl@000000 {
+                       sys: sys-ctrl@0 {
                                compatible = "oxsemi,ox810se-sys-ctrl", "syscon", "simple-mfd";
                                reg = <0x000000 0x100000>;
 
index 459207536a46654246517adfdd62cd6a38629202..085bbd33eadc25a4dc1d3fe6d635794c978b716f 100644 (file)
                                };
                        };
 
-                       gpio0: gpio@000000 {
+                       gpio0: gpio@0 {
                                compatible = "oxsemi,ox820-gpio";
                                reg = <0x000000 0x100000>;
                                interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
index 533919e96eaee8f70054a42e5e66db433143d6a4..a1266cf8776ce9aea1e13ef62bad3474161cbba0 100644 (file)
                        #size-cells = <1>;
                        ranges = <0 0x200000 0x80000>;
 
-                       rtc0: rtc@00000 {
+                       rtc0: rtc@0 {
                                compatible = "picochip,pc3x2-rtc";
                                clock-freq = <200000000>;
                                reg = <0x00000 0xf>;
index ab3e80085511fef0a3911e4d9fc67d2f2d7c0d70..d78cd207eca1ac319841248a59629984e898e002 100644 (file)
                        #size-cells = <1>;
                        ranges = <0 0x200000 0x80000>;
 
-                       rtc0: rtc@00000 {
+                       rtc0: rtc@0 {
                                compatible = "picochip,pc3x2-rtc";
                                clock-freq = <200000000>;
                                reg = <0x00000 0xf>;
index 3139221737eeba04f3926b544225680a425ccb04..be5177221cbbc3fc12d23d51271498ac26846bd4 100644 (file)
                        };
                };
 
-               usb0: ohci@00700000 {
+               usb0: ohci@700000 {
                        status = "okay";
                        num-ports = <2>;
                };
 
-               usb1: ehci@00800000 {
+               usb1: ehci@800000 {
                        status = "okay";
                };
        };
index 9d725f983282511f7dae7961b6d5748a48761f97..497bb065eb9d3ca886ed2db2dce00dc3d9411848 100644 (file)
                                        xoadc-ref-supply = <&pm8058_l18>;
 
                                        /* Board-specific channels */
-                                       mpp5@05 {
+                                       mpp5@5 {
                                                /* Connected to AOUT of ALS sensor */
                                                reg = <0x00 0x05>;
                                        };
-                                       mpp6@06 {
+                                       mpp6@6 {
                                                /* Connected to test point TP43 */
                                                reg = <0x00 0x06>;
                                        };
-                                       mpp7@07 {
+                                       mpp7@7 {
                                                /* Connected to battery thermistor */
                                                reg = <0x00 0x07>;
                                        };
-                                       mpp8@08 {
+                                       mpp8@8 {
                                                /* Connected to battery ID detector */
                                                reg = <0x00 0x08>;
                                        };
-                                       mpp9@09 {
+                                       mpp9@9 {
                                                /* Connected to XO thermistor */
                                                reg = <0x00 0x09>;
                                        };
                                pinctrl-names = "default";
                                pinctrl-0 = <&dragon_gsbi12_i2c_pins>;
 
-                               ak8975@0c {
+                               ak8975@c {
                                        compatible = "asahi-kasei,ak8975";
                                        reg = <0x0c>;
                                        /* FIXME: GPIO33 has interrupt 224 on the PM8058 */
index 6089c8d56cd549c6476a519bb5efe82f29258315..3ca96e3618787be4931ed1c22b3192547ac0ac13 100644 (file)
                                clocks = <&gcc GSBI6_QUP_CLK>,
                                         <&gcc GSBI6_H_CLK>;
                                clock-names = "core", "iface";
+                               status = "disabled";
                        };
                };
 
                                usb_hs1_phy: phy {
                                        compatible = "qcom,usb-hs-phy-apq8064",
                                                     "qcom,usb-hs-phy";
-                                       #phy-cells = <0>;
                                        clocks = <&sleep_clk>, <&cxo_board>;
                                        clock-names = "sleep", "ref";
                                        resets = <&usb1 0>;
                                        reset-names = "por";
+                                       #phy-cells = <0>;
                                };
                        };
                };
                dsi0_phy: dsi-phy@4700200 {
                        compatible = "qcom,dsi-phy-28nm-8960";
                        #clock-cells = <1>;
+                       #phy-cells = <0>;
 
                        reg = <0x04700200 0x100>,
                                <0x04700300 0x200>,
 
                        clocks = <&mmcc HDMI_S_AHB_CLK>;
                        clock-names = "slave_iface_clk";
+                       #phy-cells = <0>;
                };
 
                mdp: mdp@5100000 {
index 221c4584552f9df40ababa4dc3cc22c2216d0811..33030f9419fefdbf267e4e7ce1e0947def1c77e0 100644 (file)
                        reg = <0x900000 0x4000>;
                };
 
+               gsbi6: gsbi@16500000 {
+                       compatible = "qcom,gsbi-v1.0.0";
+                       cell-index = <12>;
+                       reg = <0x16500000 0x100>;
+                       clocks = <&gcc GSBI6_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       syscon-tcsr = <&tcsr>;
+
+                       gsbi6_serial: serial@16540000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x16540000 0x1000>,
+                                     <0x16500000 0x1000>;
+                               interrupts = <GIC_SPI 156 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+
+                       gsbi6_i2c: i2c@16580000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x16580000 0x1000>;
+                               interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI6_QUP_CLK>, <&gcc GSBI6_H_CLK>;
+                               clock-names = "core", "iface";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
+               };
+
+               gsbi7: gsbi@16600000 {
+                       compatible = "qcom,gsbi-v1.0.0";
+                       cell-index = <12>;
+                       reg = <0x16600000 0x100>;
+                       clocks = <&gcc GSBI7_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       syscon-tcsr = <&tcsr>;
+
+                       gsbi7_serial: serial@16640000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x16640000 0x1000>,
+                                     <0x16600000 0x1000>;
+                               interrupts = <GIC_SPI 158 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+
+                       gsbi7_i2c: i2c@16680000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x16680000 0x1000>;
+                               interrupts = <GIC_SPI 159 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI7_QUP_CLK>, <&gcc GSBI7_H_CLK>;
+                               clock-names = "core", "iface";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
+               };
 
                gsbi8: gsbi@19800000 {
                        compatible = "qcom,gsbi-v1.0.0";
                                        #size-cells = <0>;
                                        #io-channel-cells = <2>;
 
-                                       vcoin: adc-channel@00 {
+                                       vcoin: adc-channel@0 {
                                                reg = <0x00 0x00>;
                                        };
-                                       vbat: adc-channel@01 {
+                                       vbat: adc-channel@1 {
                                                reg = <0x00 0x01>;
                                        };
-                                       dcin: adc-channel@02 {
+                                       dcin: adc-channel@2 {
                                                reg = <0x00 0x02>;
                                        };
-                                       ichg: adc-channel@03 {
+                                       ichg: adc-channel@3 {
                                                reg = <0x00 0x03>;
                                        };
-                                       vph_pwr: adc-channel@04 {
+                                       vph_pwr: adc-channel@4 {
                                                reg = <0x00 0x04>;
                                        };
-                                       usb_vbus: adc-channel@0a {
+                                       usb_vbus: adc-channel@a {
                                                reg = <0x00 0x0a>;
                                        };
-                                       die_temp: adc-channel@0b {
+                                       die_temp: adc-channel@b {
                                                reg = <0x00 0x0b>;
                                        };
-                                       ref_625mv: adc-channel@0c {
+                                       ref_625mv: adc-channel@c {
                                                reg = <0x00 0x0c>;
                                        };
-                                       ref_1250mv: adc-channel@0d {
+                                       ref_1250mv: adc-channel@d {
                                                reg = <0x00 0x0d>;
                                        };
-                                       ref_325mv: adc-channel@0e {
+                                       ref_325mv: adc-channel@e {
                                                reg = <0x00 0x0e>;
                                        };
-                                       ref_muxoff: adc-channel@0f {
+                                       ref_muxoff: adc-channel@f {
                                                reg = <0x00 0x0f>;
                                        };
                                };
diff --git a/arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts b/arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts
new file mode 100644 (file)
index 0000000..d0a5df9
--- /dev/null
@@ -0,0 +1,321 @@
+#include "qcom-msm8974.dtsi"
+#include "qcom-pm8841.dtsi"
+#include "qcom-pm8941.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+
+/ {
+       model = "Fairphone 2";
+       compatible = "fairphone,fp2", "qcom,msm8974";
+
+       aliases {
+               serial0 = &blsp1_uart2;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               input-name = "gpio-keys";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&gpio_keys_pin_a>;
+
+               camera-snapshot {
+                       label = "camera_snapshot";
+                       gpios = <&pm8941_gpios 1 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_CAMERA>;
+                       wakeup-source;
+                       debounce-interval = <15>;
+               };
+
+               volume-down {
+                       label = "volume_down";
+                       gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_VOLUMEDOWN>;
+                       wakeup-source;
+                       debounce-interval = <15>;
+               };
+
+               volume-up {
+                       label = "volume_up";
+                       gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_VOLUMEUP>;
+                       wakeup-source;
+                       debounce-interval = <15>;
+               };
+       };
+
+       smd {
+               rpm {
+                       rpm_requests {
+                               pm8841-regulators {
+                                       s1 {
+                                               regulator-min-microvolt = <675000>;
+                                               regulator-max-microvolt = <1050000>;
+                                       };
+
+                                       s2 {
+                                               regulator-min-microvolt = <500000>;
+                                               regulator-max-microvolt = <1050000>;
+                                       };
+
+                                       s3 {
+                                               regulator-min-microvolt = <1050000>;
+                                               regulator-max-microvolt = <1050000>;
+                                       };
+                               };
+
+                               pm8941-regulators {
+                                       vdd_l1_l3-supply = <&pm8941_s1>;
+                                       vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
+                                       vdd_l4_l11-supply = <&pm8941_s1>;
+                                       vdd_l5_l7-supply = <&pm8941_s2>;
+                                       vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
+                                       vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
+                                       vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
+                                       vdd_l21-supply = <&vreg_boost>;
+
+                                       s1 {
+                                               regulator-min-microvolt = <1300000>;
+                                               regulator-max-microvolt = <1300000>;
+
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       s2 {
+                                               regulator-min-microvolt = <2150000>;
+                                               regulator-max-microvolt = <2150000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       s3 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       l1 {
+                                               regulator-min-microvolt = <1225000>;
+                                               regulator-max-microvolt = <1225000>;
+
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       l2 {
+                                               regulator-min-microvolt = <1200000>;
+                                               regulator-max-microvolt = <1200000>;
+                                       };
+
+                                       l3 {
+                                               regulator-min-microvolt = <1225000>;
+                                               regulator-max-microvolt = <1225000>;
+                                       };
+
+                                       l4 {
+                                               regulator-min-microvolt = <1225000>;
+                                               regulator-max-microvolt = <1225000>;
+                                       };
+
+                                       l5 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       l6 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l7 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l8 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       l9 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <2950000>;
+                                       };
+
+                                       l10 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <2950000>;
+                                       };
+
+                                       l11 {
+                                               regulator-min-microvolt = <1225000>;
+                                               regulator-max-microvolt = <1350000>;
+                                       };
+
+                                       l12 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       l13 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <2950000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l14 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       l15 {
+                                               regulator-min-microvolt = <2050000>;
+                                               regulator-max-microvolt = <2050000>;
+                                       };
+
+                                       l16 {
+                                               regulator-min-microvolt = <2700000>;
+                                               regulator-max-microvolt = <2700000>;
+                                       };
+
+                                       l17 {
+                                               regulator-min-microvolt = <2850000>;
+                                               regulator-max-microvolt = <2850000>;
+                                       };
+
+                                       l18 {
+                                               regulator-min-microvolt = <2850000>;
+                                               regulator-max-microvolt = <2850000>;
+                                       };
+
+                                       l19 {
+                                               regulator-min-microvolt = <2900000>;
+                                               regulator-max-microvolt = <3350000>;
+                                       };
+
+                                       l20 {
+                                               regulator-min-microvolt = <2950000>;
+                                               regulator-max-microvolt = <2950000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l21 {
+                                               regulator-min-microvolt = <2950000>;
+                                               regulator-max-microvolt = <2950000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l22 {
+                                               regulator-min-microvolt = <3000000>;
+                                               regulator-max-microvolt = <3300000>;
+                                       };
+
+                                       l23 {
+                                               regulator-min-microvolt = <3000000>;
+                                               regulator-max-microvolt = <3000000>;
+                                       };
+
+                                       l24 {
+                                               regulator-min-microvolt = <3075000>;
+                                               regulator-max-microvolt = <3075000>;
+
+                                               regulator-boot-on;
+                                       };
+                               };
+                       };
+               };
+       };
+};
+
+&soc {
+       serial@f991e000 {
+               status = "ok";
+       };
+
+       pinctrl@fd510000 {
+               sdhc1_pin_a: sdhc1-pin-active {
+                       clk {
+                               pins = "sdc1_clk";
+                               drive-strength = <16>;
+                               bias-disable;
+                       };
+
+                       cmd-data {
+                               pins = "sdc1_cmd", "sdc1_data";
+                               drive-strength = <10>;
+                               bias-pull-up;
+                       };
+               };
+       };
+
+       sdhci@f9824900 {
+               status = "ok";
+
+               vmmc-supply = <&pm8941_l20>;
+               vqmmc-supply = <&pm8941_s3>;
+
+               bus-width = <8>;
+               non-removable;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdhc1_pin_a>;
+       };
+
+       usb@f9a55000 {
+               status = "ok";
+
+               phys = <&usb_hs1_phy>;
+               phy-select = <&tcsr 0xb000 0>;
+               extcon = <&smbb>, <&usb_id>;
+               vbus-supply = <&chg_otg>;
+
+               hnp-disable;
+               srp-disable;
+               adp-disable;
+
+               ulpi {
+                       phy@a {
+                               status = "ok";
+
+                               v1p8-supply = <&pm8941_l6>;
+                               v3p3-supply = <&pm8941_l24>;
+
+                               extcon = <&smbb>;
+                               qcom,init-seq = /bits/ 8 <0x1 0x64>;
+                       };
+               };
+       };
+};
+
+&spmi_bus {
+       pm8941@0 {
+               gpios@c000 {
+                       gpio_keys_pin_a: gpio-keys-active {
+                               pins = "gpio1", "gpio2", "gpio5";
+                               function = "normal";
+
+                               bias-pull-up;
+                               power-source = <PM8941_GPIO_S3>;
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts b/arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
new file mode 100644 (file)
index 0000000..e87f2c9
--- /dev/null
@@ -0,0 +1,641 @@
+#include "qcom-msm8974pro.dtsi"
+#include "qcom-pm8841.dtsi"
+#include "qcom-pm8941.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+/ {
+       model = "Sony Xperia Z2 Tablet";
+       compatible = "sony,xperia-castor", "qcom,msm8974";
+
+       aliases {
+               serial0 = &blsp1_uart2;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               input-name = "gpio-keys";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&gpio_keys_pin_a>;
+
+               volume-down {
+                       label = "volume_down";
+                       gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_VOLUMEDOWN>;
+               };
+
+               camera-snapshot {
+                       label = "camera_snapshot";
+                       gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_CAMERA>;
+               };
+
+               camera-focus {
+                       label = "camera_focus";
+                       gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_CAMERA_FOCUS>;
+               };
+
+               volume-up {
+                       label = "volume_up";
+                       gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <1>;
+                       linux,code = <KEY_VOLUMEUP>;
+               };
+       };
+
+       smd {
+               rpm {
+                       rpm_requests {
+                               pm8941-regulators {
+                                       vdd_l1_l3-supply = <&pm8941_s1>;
+                                       vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
+                                       vdd_l4_l11-supply = <&pm8941_s1>;
+                                       vdd_l5_l7-supply = <&pm8941_s2>;
+                                       vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
+                                       vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
+                                       vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
+                                       vdd_l21-supply = <&vreg_boost>;
+
+                                       s1 {
+                                               regulator-min-microvolt = <1300000>;
+                                               regulator-max-microvolt = <1300000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       s2 {
+                                               regulator-min-microvolt = <2150000>;
+                                               regulator-max-microvolt = <2150000>;
+                                               regulator-boot-on;
+                                       };
+
+                                       s3 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+
+                                               regulator-system-load = <154000>;
+                                       };
+
+                                       s4 {
+                                               regulator-min-microvolt = <5000000>;
+                                               regulator-max-microvolt = <5000000>;
+                                       };
+
+                                       l1 {
+                                               regulator-min-microvolt = <1225000>;
+                                               regulator-max-microvolt = <1225000>;
+
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       l2 {
+                                               regulator-min-microvolt = <1200000>;
+                                               regulator-max-microvolt = <1200000>;
+                                       };
+
+                                       l3 {
+                                               regulator-min-microvolt = <1200000>;
+                                               regulator-max-microvolt = <1200000>;
+                                       };
+
+                                       l4 {
+                                               regulator-min-microvolt = <1225000>;
+                                               regulator-max-microvolt = <1225000>;
+                                       };
+
+                                       l5 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       l6 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l7 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l8 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       l9 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <2950000>;
+                                       };
+
+                                       l11 {
+                                               regulator-min-microvolt = <1300000>;
+                                               regulator-max-microvolt = <1350000>;
+                                       };
+
+                                       l12 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       l13 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <2950000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l14 {
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                       };
+
+                                       l15 {
+                                               regulator-min-microvolt = <2050000>;
+                                               regulator-max-microvolt = <2050000>;
+                                       };
+
+                                       l16 {
+                                               regulator-min-microvolt = <2700000>;
+                                               regulator-max-microvolt = <2700000>;
+                                       };
+
+                                       l17 {
+                                               regulator-min-microvolt = <2700000>;
+                                               regulator-max-microvolt = <2700000>;
+                                       };
+
+                                       l18 {
+                                               regulator-min-microvolt = <2850000>;
+                                               regulator-max-microvolt = <2850000>;
+                                       };
+
+                                       l19 {
+                                               regulator-min-microvolt = <2850000>;
+                                               regulator-max-microvolt = <2850000>;
+                                       };
+
+                                       l20 {
+                                               regulator-min-microvolt = <2950000>;
+                                               regulator-max-microvolt = <2950000>;
+
+                                               regulator-allow-set-load;
+                                               regulator-boot-on;
+                                               regulator-allow-set-load;
+                                               regulator-system-load = <500000>;
+                                       };
+
+                                       l21 {
+                                               regulator-min-microvolt = <2950000>;
+                                               regulator-max-microvolt = <2950000>;
+
+                                               regulator-boot-on;
+                                       };
+
+                                       l22 {
+                                               regulator-min-microvolt = <3000000>;
+                                               regulator-max-microvolt = <3000000>;
+                                       };
+
+                                       l23 {
+                                               regulator-min-microvolt = <2800000>;
+                                               regulator-max-microvolt = <2800000>;
+                                       };
+
+                                       l24 {
+                                               regulator-min-microvolt = <3075000>;
+                                               regulator-max-microvolt = <3075000>;
+
+                                               regulator-boot-on;
+                                       };
+                               };
+                       };
+               };
+       };
+
+       vreg_bl_vddio: lcd-backlight-vddio {
+               compatible = "regulator-fixed";
+               regulator-name = "vreg_bl_vddio";
+               regulator-min-microvolt = <3150000>;
+               regulator-max-microvolt = <3150000>;
+
+               gpio = <&msmgpio 69 0>;
+               enable-active-high;
+
+               vin-supply = <&pm8941_s3>;
+               startup-delay-us = <70000>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&lcd_backlight_en_pin_a>;
+       };
+
+       vreg_vsp: lcd-dcdc-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vreg_vsp";
+               regulator-min-microvolt = <5600000>;
+               regulator-max-microvolt = <5600000>;
+
+               gpio = <&pm8941_gpios 20 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&lcd_dcdc_en_pin_a>;
+       };
+
+       vreg_wlan: wlan-regulator {
+               compatible = "regulator-fixed";
+
+               regulator-name = "wl-reg";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&pm8941_gpios 18 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&wlan_regulator_pin>;
+       };
+};
+
+&soc {
+       sdhci@f9824900 {
+               status = "ok";
+
+               vmmc-supply = <&pm8941_l20>;
+               vqmmc-supply = <&pm8941_s3>;
+
+               bus-width = <8>;
+               non-removable;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdhc1_pin_a>;
+       };
+
+       sdhci@f9864900 {
+               status = "ok";
+
+               max-frequency = <100000000>;
+               non-removable;
+               vmmc-supply = <&vreg_wlan>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdhc3_pin_a>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               bcrmf@1 {
+                       compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
+                       reg = <1>;
+
+                       brcm,drive-strength = <10>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&wlan_sleep_clk_pin>;
+               };
+       };
+
+       sdhci@f98a4900 {
+               status = "ok";
+
+               bus-width = <4>;
+
+               vmmc-supply = <&pm8941_l21>;
+               vqmmc-supply = <&pm8941_l13>;
+
+               cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
+       };
+
+       serial@f991e000 {
+               status = "ok";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&blsp1_uart2_pin_a>;
+       };
+
+       usb@f9a55000 {
+               status = "ok";
+
+               phys = <&usb_hs1_phy>;
+               phy-select = <&tcsr 0xb000 0>;
+               extcon = <&smbb>, <&usb_id>;
+               vbus-supply = <&chg_otg>;
+
+               hnp-disable;
+               srp-disable;
+               adp-disable;
+
+               ulpi {
+                       phy@a {
+                               status = "ok";
+
+                               v1p8-supply = <&pm8941_l6>;
+                               v3p3-supply = <&pm8941_l24>;
+
+                               extcon = <&smbb>;
+                               qcom,init-seq = /bits/ 8 <0x1 0x64>;
+                       };
+               };
+       };
+
+       pinctrl@fd510000 {
+               blsp1_uart2_pin_a: blsp1-uart2-pin-active {
+                       rx {
+                               pins = "gpio5";
+                               function = "blsp_uart2";
+
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+
+                       tx {
+                               pins = "gpio4";
+                               function = "blsp_uart2";
+
+                               drive-strength = <4>;
+                               bias-disable;
+                       };
+               };
+
+               i2c8_pins: i2c8 {
+                       mux {
+                               pins = "gpio47", "gpio48";
+                               function = "blsp_i2c8";
+
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+               };
+
+               i2c11_pins: i2c11 {
+                       mux {
+                               pins = "gpio83", "gpio84";
+                               function = "blsp_i2c11";
+
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+               };
+
+               lcd_backlight_en_pin_a: lcd-backlight-vddio {
+                       pins = "gpio69";
+                       drive-strength = <10>;
+                       output-low;
+                       bias-disable;
+               };
+
+               sdhc1_pin_a: sdhc1-pin-active {
+                       clk {
+                               pins = "sdc1_clk";
+                               drive-strength = <16>;
+                               bias-disable;
+                       };
+
+                       cmd-data {
+                               pins = "sdc1_cmd", "sdc1_data";
+                               drive-strength = <10>;
+                               bias-pull-up;
+                       };
+               };
+
+               sdhc2_cd_pin_a: sdhc2-cd-pin-active {
+                       pins = "gpio62";
+                       function = "gpio";
+
+                       drive-strength = <2>;
+                       bias-disable;
+                };
+
+               sdhc2_pin_a: sdhc2-pin-active {
+                       clk {
+                               pins = "sdc2_clk";
+                               drive-strength = <6>;
+                               bias-disable;
+                       };
+
+                       cmd-data {
+                               pins = "sdc2_cmd", "sdc2_data";
+                               drive-strength = <6>;
+                               bias-pull-up;
+                       };
+               };
+
+               sdhc3_pin_a: sdhc3-pin-active {
+                       clk {
+                               pins = "gpio40";
+                               function = "sdc3";
+
+                               drive-strength = <10>;
+                               bias-disable;
+                       };
+
+                       cmd {
+                               pins = "gpio39";
+                               function = "sdc3";
+
+                               drive-strength = <10>;
+                               bias-pull-up;
+                       };
+
+                       data {
+                               pins = "gpio35", "gpio36", "gpio37", "gpio38";
+                               function = "sdc3";
+
+                               drive-strength = <10>;
+                               bias-pull-up;
+                       };
+               };
+
+               ts_int_pin: synaptics {
+                       pin {
+                               pins = "gpio86";
+                               function = "gpio";
+
+                               drive-strength = <2>;
+                               bias-disable;
+                               input-enable;
+                       };
+               };
+       };
+
+       i2c@f9964000 {
+               status = "ok";
+
+               clock-frequency = <355000>;
+               qcom,src-freq = <50000000>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&i2c8_pins>;
+
+               synaptics@2c {
+                       compatible = "syna,rmi-i2c";
+                       reg = <0x2c>;
+
+                       interrupt-parent = <&msmgpio>;
+                       interrupts = <86 IRQ_TYPE_EDGE_FALLING>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       vdd-supply = <&pm8941_l22>;
+                       vio-supply = <&pm8941_lvs3>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&ts_int_pin>;
+
+                       rmi-f01@1 {
+                               reg = <0x1>;
+                               syna,nosleep = <1>;
+                       };
+
+                       rmi-f11@11 {
+                               reg = <0x11>;
+                               syna,f11-flip-x = <1>;
+                               syna,sensor-type = <1>;
+                       };
+               };
+       };
+
+       i2c@f9967000 {
+               status = "ok";
+               pinctrl-names = "default";
+               pinctrl-0 = <&i2c11_pins>;
+               clock-frequency = <355000>;
+               qcom,src-freq = <50000000>;
+
+               lp8566_wled: backlight@2c {
+                       compatible = "ti,lp8556";
+                       reg = <0x2c>;
+                       power-supply = <&vreg_bl_vddio>;
+
+                       bl-name = "backlight";
+                       dev-ctrl = /bits/ 8 <0x05>;
+                       init-brt = /bits/ 8 <0x3f>;
+                       rom_a0h {
+                               rom-addr = /bits/ 8 <0xa0>;
+                               rom-val = /bits/ 8 <0xff>;
+                       };
+                       rom_a1h {
+                               rom-addr = /bits/ 8 <0xa1>;
+                               rom-val = /bits/ 8 <0x3f>;
+                       };
+                       rom_a2h {
+                               rom-addr = /bits/ 8 <0xa2>;
+                               rom-val = /bits/ 8 <0x20>;
+                       };
+                       rom_a3h {
+                               rom-addr = /bits/ 8 <0xa3>;
+                               rom-val = /bits/ 8 <0x5e>;
+                       };
+                       rom_a4h {
+                               rom-addr = /bits/ 8 <0xa4>;
+                               rom-val = /bits/ 8 <0x02>;
+                       };
+                       rom_a5h {
+                               rom-addr = /bits/ 8 <0xa5>;
+                               rom-val = /bits/ 8 <0x04>;
+                       };
+                       rom_a6h {
+                               rom-addr = /bits/ 8 <0xa6>;
+                               rom-val = /bits/ 8 <0x80>;
+                       };
+                       rom_a7h {
+                               rom-addr = /bits/ 8 <0xa7>;
+                               rom-val = /bits/ 8 <0xf7>;
+                       };
+                       rom_a9h {
+                               rom-addr = /bits/ 8 <0xa9>;
+                               rom-val = /bits/ 8 <0x80>;
+                       };
+                       rom_aah {
+                               rom-addr = /bits/ 8 <0xaa>;
+                               rom-val = /bits/ 8 <0x0f>;
+                       };
+                       rom_aeh {
+                               rom-addr = /bits/ 8 <0xae>;
+                               rom-val = /bits/ 8 <0x0f>;
+                       };
+               };
+       };
+};
+
+&spmi_bus {
+       pm8941@0 {
+               charger@1000 {
+                       qcom,fast-charge-safe-current = <1500000>;
+                       qcom,fast-charge-current-limit = <1500000>;
+                       qcom,dc-current-limit = <1800000>;
+                       qcom,fast-charge-safe-voltage = <4400000>;
+                       qcom,fast-charge-high-threshold-voltage = <4350000>;
+                       qcom,fast-charge-low-threshold-voltage = <3400000>;
+                       qcom,auto-recharge-threshold-voltage = <4200000>;
+                       qcom,minimum-input-voltage = <4300000>;
+               };
+
+               gpios@c000 {
+                       gpio_keys_pin_a: gpio-keys-active {
+                               pins = "gpio2", "gpio5";
+                               function = "normal";
+
+                               bias-pull-up;
+                               power-source = <PM8941_GPIO_S3>;
+                       };
+
+                       wlan_sleep_clk_pin: wl-sleep-clk {
+                               pins = "gpio17";
+                               function = "func2";
+
+                               output-high;
+                               power-source = <PM8941_GPIO_S3>;
+                       };
+
+                       wlan_regulator_pin: wl-reg-active {
+                               pins = "gpio18";
+                               function = "normal";
+
+                               bias-disable;
+                               power-source = <PM8941_GPIO_S3>;
+                       };
+
+                       lcd_dcdc_en_pin_a: lcd-dcdc-en-active {
+                               pins = "gpio20";
+                               function = "normal";
+
+                               bias-disable;
+                               power-source = <PM8941_GPIO_S3>;
+                               input-disable;
+                               output-low;
+                       };
+
+               };
+
+               coincell@2800 {
+                       status = "ok";
+                       qcom,rset-ohms = <2100>;
+                       qcom,vset-millivolts = <3000>;
+               };
+       };
+};
index 33002fed8cc3023d4e08a4f942c9bd0193439be5..d9019a49b292d8301b9e39616cc013871319bfb3 100644 (file)
                #size-cells = <1>;
                ranges;
 
-               mpss@08000000 {
+               mpss@8000000 {
                        reg = <0x08000000 0x5100000>;
                        no-map;
                };
 
-               mba@00d100000 {
+               mba@d100000 {
                        reg = <0x0d100000 0x100000>;
                        no-map;
                };
 
-               reserved@0d200000 {
+               reserved@d200000 {
                        reg = <0x0d200000 0xa00000>;
                        no-map;
                };
 
-               adsp_region: adsp@0dc00000 {
+               adsp_region: adsp@dc00000 {
                        reg = <0x0dc00000 0x1900000>;
                        no-map;
                };
 
-               venus@0f500000 {
+               venus@f500000 {
                        reg = <0x0f500000 0x500000>;
                        no-map;
                };
                        no-map;
                };
 
-               tz@0fc00000 {
+               tz@fc00000 {
                        reg = <0x0fc00000 0x160000>;
                        no-map;
                };
 
-               rfsa@0fd60000 {
+               rfsa@fd60000 {
                        reg = <0x0fd60000 0x20000>;
                        no-map;
                };
 
-               rmtfs@0fd80000 {
+               rmtfs@fd80000 {
                        reg = <0x0fd80000 0x180000>;
                        no-map;
                };
                        status = "disabled";
                };
 
+               sdhci@f9864900 {
+                       compatible = "qcom,sdhci-msm-v4";
+                       reg = <0xf9864900 0x11c>, <0xf9864000 0x800>;
+                       reg-names = "hc_mem", "core_mem";
+                       interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>,
+                                    <GIC_SPI 224 IRQ_TYPE_NONE>;
+                       interrupt-names = "hc_irq", "pwr_irq";
+                       clocks = <&gcc GCC_SDCC3_APPS_CLK>,
+                                <&gcc GCC_SDCC3_AHB_CLK>,
+                                <&xo_board>;
+                       clock-names = "core", "iface", "xo";
+                       status = "disabled";
+               };
+
                sdhci@f98a4900 {
                        compatible = "qcom,sdhci-msm-v4";
                        reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
diff --git a/arch/arm/boot/dts/qcom-msm8974pro.dtsi b/arch/arm/boot/dts/qcom-msm8974pro.dtsi
new file mode 100644 (file)
index 0000000..6740a4c
--- /dev/null
@@ -0,0 +1,18 @@
+#include "qcom-msm8974.dtsi"
+
+/ {
+       soc {
+               sdhci@f9824900 {
+                       clocks = <&gcc GCC_SDCC1_APPS_CLK>,
+                                <&gcc GCC_SDCC1_AHB_CLK>,
+                                <&xo_board>,
+                                <&gcc GCC_SDCC1_CDCCAL_FF_CLK>,
+                                <&gcc GCC_SDCC1_CDCCAL_SLEEP_CLK>;
+                       clock-names = "core", "iface", "xo", "cal", "sleep";
+               };
+
+               clock-controller@fc400000 {
+                               compatible = "qcom,gcc-msm8974pro";
+               };
+       };
+};
index a1b2aef984f635ce31d90061ff3e14c22c156d84..779f724b4531defa1eebf6cf5a179a4b8bb1dcc6 100644 (file)
@@ -11,6 +11,8 @@
 
 /dts-v1/;
 #include "r7s72100.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/r7s72100-pinctrl.h>
 
 / {
        model = "GR-Peach";
@@ -28,7 +30,6 @@
        memory@20000000 {
                device_type = "memory";
                reg = <0x20000000 0x00a00000>;
-
        };
 
        lbsc {
                        reg = <0x00600000 0x00200000>;
                };
        };
+
+       leds {
+               status = "okay";
+               compatible = "gpio-leds";
+
+               led1 {
+                       gpios = <&port6 12 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&pinctrl {
+       scif2_pins: serial2 {
+               /* P6_2 as RxD2; P6_3 as TxD2 */
+               pinmux = <RZA1_PINMUX(6, 2, 7)>, <RZA1_PINMUX(6, 3, 7)>;
+       };
+
+       ether_pins: ether {
+               /* Ethernet on Ports 1,3,5,10 */
+               pinmux = <RZA1_PINMUX(1, 14, 4)>, /* P1_14 = ET_COL   */
+                        <RZA1_PINMUX(3, 0, 2)>,  /* P3_0 = ET_TXCLK  */
+                        <RZA1_PINMUX(3, 3, 2)>,  /* P3_3 = ET_MDIO   */
+                        <RZA1_PINMUX(3, 4, 2)>,  /* P3_4 = ET_RXCLK  */
+                        <RZA1_PINMUX(3, 5, 2)>,  /* P3_5 = ET_RXER   */
+                        <RZA1_PINMUX(3, 6, 2)>,  /* P3_6 = ET_RXDV   */
+                        <RZA1_PINMUX(5, 9, 2)>,  /* P5_9 = ET_MDC    */
+                        <RZA1_PINMUX(10, 1, 4)>, /* P10_1 = ET_TXER  */
+                        <RZA1_PINMUX(10, 2, 4)>, /* P10_2 = ET_TXEN  */
+                        <RZA1_PINMUX(10, 3, 4)>, /* P10_3 = ET_CRS   */
+                        <RZA1_PINMUX(10, 4, 4)>, /* P10_4 = ET_TXD0  */
+                        <RZA1_PINMUX(10, 5, 4)>, /* P10_5 = ET_TXD1  */
+                        <RZA1_PINMUX(10, 6, 4)>, /* P10_6 = ET_TXD2  */
+                        <RZA1_PINMUX(10, 7, 4)>, /* P10_7 = ET_TXD3  */
+                        <RZA1_PINMUX(10, 8, 4)>, /* P10_8 = ET_RXD0  */
+                        <RZA1_PINMUX(10, 9, 4)>, /* P10_9 = ET_RXD1  */
+                        <RZA1_PINMUX(10, 10, 4)>,/* P10_10 = ET_RXD2 */
+                        <RZA1_PINMUX(10, 11, 4)>;/* P10_11 = ET_RXD3 */
+       };
 };
 
 &extal_clk {
        clock-frequency = <48000000>;
 };
 
+&mtu2 {
+       status = "okay";
+};
+
+&ostm0 {
+       status = "okay";
+};
+
+&ostm1 {
+       status = "okay";
+};
+
 &scif2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&scif2_pins>;
+
+       status = "okay";
+};
+
+&ether {
+       pinctrl-names = "default";
+       pinctrl-0 = <&ether_pins>;
+
        status = "okay";
+
+       renesas,no-ether-link;
+       phy-handle = <&phy0>;
+
+       phy0: ethernet-phy@0 {
+               reg = <0>;
+
+               reset-gpios = <&port4 2 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <5>;
+       };
 };
index 4ed12a4d9d51382143357585358f20081e216b35..ab9645a42eca3811084c7b09cfddfdeebd497f81 100644 (file)
                        compatible = "arm,cortex-a9";
                        reg = <0>;
                        clock-frequency = <400000000>;
+                       clocks = <&cpg_clocks R7S72100_CLK_I>;
                        next-level-cache = <&L2>;
                };
        };
index 310222634570d98f19cbad69b3473ba6d0e20798..dd4d09712a2a3a8885bbb99889494742a9cc945d 100644 (file)
@@ -27,6 +27,7 @@
                        device_type = "cpu";
                        compatible = "arm,cortex-a15";
                        reg = <0>;
+                       clocks = <&cpg_clocks R8A73A4_CLK_Z>;
                        clock-frequency = <1500000000>;
                        power-domains = <&pd_a2sl>;
                        next-level-cache = <&L2_CA15>;
diff --git a/arch/arm/boot/dts/r8a7743-iwg20d-q7-dbcm-ca.dts b/arch/arm/boot/dts/r8a7743-iwg20d-q7-dbcm-ca.dts
new file mode 100644 (file)
index 0000000..d90eb84
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the iWave-RZ/G1M Qseven board + camera daughter board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "r8a7743-iwg20m.dtsi"
+#include "iwg20d-q7-common.dtsi"
+#include "iwg20d-q7-dbcm-ca.dtsi"
+
+/ {
+       model = "iW-RainboW-G20D-Q7 RZ/G1M based plus camera daughter board";
+       compatible = "iwave,g20d", "iwave,g20m", "renesas,r8a7743";
+};
index 081af01928519e333deef4ac6ab1e579419aa08a..6aa6b7467704bc30dc72435b23e8611a17548927 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Device Tree Source for the iWave-RZG1M Qseven carrier board
+ * Device Tree Source for the iWave-RZ/G1M Qseven board
  *
  * Copyright (C) 2017 Renesas Electronics Corp.
  *
 
 /dts-v1/;
 #include "r8a7743-iwg20m.dtsi"
+#include "iwg20d-q7-common.dtsi"
 
 / {
        model = "iWave Systems RainboW-G20D-Qseven board based on RZ/G1M";
        compatible = "iwave,g20d", "iwave,g20m", "renesas,r8a7743";
-
-       aliases {
-               serial0 = &scif0;
-               ethernet0 = &avb;
-       };
-};
-
-&pfc {
-       scif0_pins: scif0 {
-               groups = "scif0_data_d";
-               function = "scif0";
-       };
-
-       avb_pins: avb {
-               groups = "avb_mdio", "avb_gmii";
-               function = "avb";
-       };
-};
-
-&scif0 {
-       pinctrl-0 = <&scif0_pins>;
-       pinctrl-names = "default";
-
-       status = "okay";
-};
-
-&avb {
-       pinctrl-0 = <&avb_pins>;
-       pinctrl-names = "default";
-
-       phy-handle = <&phy3>;
-       phy-mode = "gmii";
-       renesas,no-ether-link;
-       status = "okay";
-
-       phy3: ethernet-phy@3 {
-               reg = <3>;
-               micrel,led-mode = <1>;
-       };
 };
index ff799381863763decedb115e645980670d973b5b..75a8ca5718463e67701d072581beb324eed6858c 100644 (file)
@@ -9,6 +9,7 @@
  */
 
 #include "r8a7743.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        compatible = "iwave,g20m", "renesas,r8a7743";
                groups = "mmc_data8_b", "mmc_ctrl";
                function = "mmc";
        };
+
+       qspi_pins: qspi {
+               groups = "qspi_ctrl", "qspi_data2";
+               function = "qspi";
+       };
+
+       sdhi0_pins: sd0 {
+               groups = "sdhi0_data4", "sdhi0_ctrl";
+               function = "sdhi0";
+               power-source = <3300>;
+       };
 };
 
 &mmcif0 {
        non-removable;
        status = "okay";
 };
+
+&qspi {
+       pinctrl-0 = <&qspi_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+
+       /* WARNING - This device contains the bootloader. Handle with care. */
+       flash: flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "sst,sst25vf016b", "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <50000000>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <1>;
+               m25p,fast-read;
+               spi-cpol;
+               spi-cpha;
+       };
+};
+
+&sdhi0 {
+       pinctrl-0 = <&sdhi0_pins>;
+       pinctrl-names = "default";
+
+       vmmc-supply = <&reg_3p3v>;
+       vqmmc-supply = <&reg_3p3v>;
+       cd-gpios = <&gpio7 11 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
index 14222c72f0e0f7d5ad95a46d68b310df76fff6cc..7bbba4a36f31814979e1ff3c8e79a2972be65b73 100644 (file)
                i2c3 = &i2c3;
                i2c4 = &i2c4;
                i2c5 = &i2c5;
+               i2c6 = &iic0;
+               i2c7 = &iic1;
+               i2c8 = &iic3;
+               spi0 = &qspi;
+               spi1 = &msiof0;
+               spi2 = &msiof1;
+               spi3 = &msiof2;
        };
 
        cpus {
@@ -56,6 +63,7 @@
                        compatible = "arm,cortex-a15";
                        reg = <1>;
                        clock-frequency = <1500000000>;
+                       clocks = <&cpg CPG_CORE R8A7743_CLK_Z>;
                        power-domains = <&sysc R8A7743_PD_CA15_CPU1>;
                        next-level-cache = <&L2_CA15>;
                };
 
                gpio0: gpio@e6050000 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6050000 0 0x50>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio1: gpio@e6051000 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6051000 0 0x50>;
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio2: gpio@e6052000 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6052000 0 0x50>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio3: gpio@e6053000 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6053000 0 0x50>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio4: gpio@e6054000 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6054000 0 0x50>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio5: gpio@e6055000 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055000 0 0x50>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio6: gpio@e6055400 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055400 0 0x50>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio7: gpio@e6055800 {
                        compatible = "renesas,gpio-r8a7743",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055800 0 0x50>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        dma-channels = <15>;
                };
 
+               usb_dmac0: dma-controller@e65a0000 {
+                       compatible = "renesas,r8a7743-usb-dmac",
+                                    "renesas,usb-dmac";
+                       reg = <0 0xe65a0000 0 0x100>;
+                       interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "ch0", "ch1";
+                       clocks = <&cpg CPG_MOD 330>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 330>;
+                       #dma-cells = <1>;
+                       dma-channels = <2>;
+               };
+
+               usb_dmac1: dma-controller@e65b0000 {
+                       compatible = "renesas,r8a7743-usb-dmac",
+                                    "renesas,usb-dmac";
+                       reg = <0 0xe65b0000 0 0x100>;
+                       interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "ch0", "ch1";
+                       clocks = <&cpg CPG_MOD 331>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 331>;
+                       #dma-cells = <1>;
+                       dma-channels = <2>;
+               };
+
                /* The memory map in the User's Manual maps the cores to bus
                 *  numbers
                 */
                        status = "disabled";
                };
 
+               iic0: i2c@e6500000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,iic-r8a7743",
+                                    "renesas,rcar-gen2-iic",
+                                    "renesas,rmobile-iic";
+                       reg = <0 0xe6500000 0 0x425>;
+                       interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 318>;
+                       dmas = <&dmac0 0x61>, <&dmac0 0x62>,
+                              <&dmac1 0x61>, <&dmac1 0x62>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 318>;
+                       status = "disabled";
+               };
+
+               iic1: i2c@e6510000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,iic-r8a7743",
+                                    "renesas,rcar-gen2-iic",
+                                    "renesas,rmobile-iic";
+                       reg = <0 0xe6510000 0 0x425>;
+                       interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 323>;
+                       dmas = <&dmac0 0x65>, <&dmac0 0x66>,
+                              <&dmac1 0x65>, <&dmac1 0x66>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 323>;
+                       status = "disabled";
+               };
+
+               iic3: i2c@e60b0000 {
+                       /* doesn't need pinmux */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,iic-r8a7743",
+                                    "renesas,rcar-gen2-iic",
+                                    "renesas,rmobile-iic";
+                       reg = <0 0xe60b0000 0 0x425>;
+                       interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 926>;
+                       dmas = <&dmac0 0x77>, <&dmac0 0x78>,
+                              <&dmac1 0x77>, <&dmac1 0x78>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 926>;
+                       status = "disabled";
+               };
+
                scifa0: serial@e6c40000 {
                        compatible = "renesas,scifa-r8a7743",
                                     "renesas,rcar-gen2-scifa", "renesas,scifa";
                        max-frequency = <97500000>;
                        status = "disabled";
                };
+
+               qspi: spi@e6b10000 {
+                       compatible = "renesas,qspi-r8a7743", "renesas,qspi";
+                       reg = <0 0xe6b10000 0 0x2c>;
+                       interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 917>;
+                       dmas = <&dmac0 0x17>, <&dmac0 0x18>,
+                              <&dmac1 0x17>, <&dmac1 0x18>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       num-cs = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 917>;
+                       status = "disabled";
+               };
+
+               msiof0: spi@e6e20000 {
+                       compatible = "renesas,msiof-r8a7743",
+                                    "renesas,rcar-gen2-msiof";
+                       reg = <0 0xe6e20000 0 0x0064>;
+                       interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 000>;
+                       dmas = <&dmac0 0x51>, <&dmac0 0x52>,
+                              <&dmac1 0x51>, <&dmac1 0x52>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 000>;
+                       status = "disabled";
+               };
+
+               msiof1: spi@e6e10000 {
+                       compatible = "renesas,msiof-r8a7743",
+                                    "renesas,rcar-gen2-msiof";
+                       reg = <0 0xe6e10000 0 0x0064>;
+                       interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 208>;
+                       dmas = <&dmac0 0x55>, <&dmac0 0x56>,
+                              <&dmac1 0x55>, <&dmac1 0x56>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 208>;
+                       status = "disabled";
+               };
+
+               msiof2: spi@e6e00000 {
+                       compatible = "renesas,msiof-r8a7743",
+                                    "renesas,rcar-gen2-msiof";
+                       reg = <0 0xe6e00000 0 0x0064>;
+                       interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 205>;
+                       dmas = <&dmac0 0x41>, <&dmac0 0x42>,
+                              <&dmac1 0x41>, <&dmac1 0x42>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 205>;
+                       status = "disabled";
+               };
+
+               /*
+                * pci1 and xhci share the same phy, therefore only one of them
+                * can be active at any one time. If both of them are enabled,
+                * a race condition will determine who'll control the phy.
+                * A firmware file is needed by the xhci driver in order for
+                * USB 3.0 to work properly.
+                */
+               xhci: usb@ee000000 {
+                       compatible = "renesas,xhci-r8a7743",
+                                    "renesas,rcar-gen2-xhci";
+                       reg = <0 0xee000000 0 0xc00>;
+                       interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 328>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 328>;
+                       phys = <&usb2 1>;
+                       phy-names = "usb";
+                       status = "disabled";
+               };
+
+               sdhi0: sd@ee100000 {
+                       compatible = "renesas,sdhi-r8a7743";
+                       reg = <0 0xee100000 0 0x328>;
+                       interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 314>;
+                       dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
+                              <&dmac1 0xcd>, <&dmac1 0xce>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       max-frequency = <195000000>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 314>;
+                       status = "disabled";
+               };
+
+               sdhi1: sd@ee140000 {
+                       compatible = "renesas,sdhi-r8a7743";
+                       reg = <0 0xee140000 0 0x100>;
+                       interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 312>;
+                       dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
+                              <&dmac1 0xc1>, <&dmac1 0xc2>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       max-frequency = <97500000>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 312>;
+                       status = "disabled";
+               };
+
+               sdhi2: sd@ee160000 {
+                       compatible = "renesas,sdhi-r8a7743";
+                       reg = <0 0xee160000 0 0x100>;
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 311>;
+                       dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
+                              <&dmac1 0xd3>, <&dmac1 0xd4>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       max-frequency = <97500000>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 311>;
+                       status = "disabled";
+               };
+
+               hsusb: usb@e6590000 {
+                       compatible = "renesas,usbhs-r8a7743",
+                                    "renesas,rcar-gen2-usbhs";
+                       reg = <0 0xe6590000 0 0x100>;
+                       interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 704>;
+                       dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
+                              <&usb_dmac1 0>, <&usb_dmac1 1>;
+                       dma-names = "ch0", "ch1", "ch2", "ch3";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 704>;
+                       renesas,buswait = <4>;
+                       phys = <&usb0 1>;
+                       phy-names = "usb";
+                       status = "disabled";
+               };
+
+               usbphy: usb-phy@e6590100 {
+                       compatible = "renesas,usb-phy-r8a7743",
+                                    "renesas,rcar-gen2-usb-phy";
+                       reg = <0 0xe6590100 0 0x100>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&cpg CPG_MOD 704>;
+                       clock-names = "usbhs";
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 704>;
+                       status = "disabled";
+
+                       usb0: usb-channel@0 {
+                               reg = <0>;
+                               #phy-cells = <1>;
+                       };
+                       usb2: usb-channel@2 {
+                               reg = <2>;
+                               #phy-cells = <1>;
+                       };
+               };
+
+               pci0: pci@ee090000 {
+                       compatible = "renesas,pci-r8a7743",
+                                    "renesas,pci-rcar-gen2";
+                       device_type = "pci";
+                       reg = <0 0xee090000 0 0xc00>,
+                             <0 0xee080000 0 0x1100>;
+                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       status = "disabled";
+
+                       bus-range = <0 0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
+                       interrupt-map-mask = <0xff00 0 0 0x7>;
+                       interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
+                                        0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
+                                        0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+
+                       usb@1,0 {
+                               reg = <0x800 0 0 0 0>;
+                               phys = <&usb0 0>;
+                               phy-names = "usb";
+                       };
+
+                       usb@2,0 {
+                               reg = <0x1000 0 0 0 0>;
+                               phys = <&usb0 0>;
+                               phy-names = "usb";
+                       };
+               };
+
+               pci1: pci@ee0d0000 {
+                       compatible = "renesas,pci-r8a7743",
+                                    "renesas,pci-rcar-gen2";
+                       device_type = "pci";
+                       reg = <0 0xee0d0000 0 0xc00>,
+                             <0 0xee0c0000 0 0x1100>;
+                       interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       status = "disabled";
+
+                       bus-range = <1 1>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
+                       interrupt-map-mask = <0xff00 0 0 0x7>;
+                       interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
+                                        0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
+                                        0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+
+                       usb@1,0 {
+                               reg = <0x10800 0 0 0 0>;
+                               phys = <&usb2 0>;
+                               phy-names = "usb";
+                       };
+
+                       usb@2,0 {
+                               reg = <0x11000 0 0 0 0>;
+                               phys = <&usb2 0>;
+                               phy-names = "usb";
+                       };
+               };
        };
 
        /* External root clock */
diff --git a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
new file mode 100644 (file)
index 0000000..52153ec
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Device Tree Source for the iWave-RZG1E SODIMM carrier board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "r8a7745-iwg22m.dtsi"
+
+/ {
+       model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
+       compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
+
+       aliases {
+               serial0 = &scif4;
+               ethernet0 = &avb;
+       };
+
+       chosen {
+               bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
+               stdout-path = "serial0:115200n8";
+       };
+
+       vccq_sdhi0: regulator-vccq-sdhi0 {
+               compatible = "regulator-gpio";
+
+               regulator-name = "SDHI0 VccQ";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
+               gpios-states = <1>;
+               states = <3300000 1
+                         1800000 0>;
+       };
+};
+
+&pfc {
+       scif4_pins: scif4 {
+               groups = "scif4_data_b";
+               function = "scif4";
+       };
+
+       avb_pins: avb {
+               groups = "avb_mdio", "avb_gmii";
+               function = "avb";
+       };
+
+       sdhi0_pins: sd0 {
+               groups = "sdhi0_data4", "sdhi0_ctrl";
+               function = "sdhi0";
+               power-source = <3300>;
+       };
+
+       usb1_pins: usb1 {
+               groups = "usb1";
+               function = "usb1";
+       };
+};
+
+&scif4 {
+       pinctrl-0 = <&scif4_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&avb {
+       pinctrl-0 = <&avb_pins>;
+       pinctrl-names = "default";
+
+       phy-handle = <&phy3>;
+       phy-mode = "gmii";
+       renesas,no-ether-link;
+       status = "okay";
+
+       phy3: ethernet-phy@3 {
+       /*
+        * On some older versions of the platform (before R4.0) the phy address
+        * may be 1 or 3. The address is fixed to 3 for R4.0 onwards.
+        */
+               reg = <3>;
+               micrel,led-mode = <1>;
+       };
+};
+
+&sdhi0 {
+       pinctrl-0 = <&sdhi0_pins>;
+       pinctrl-names = "default";
+
+       vmmc-supply = <&reg_3p3v>;
+       vqmmc-supply = <&vccq_sdhi0>;
+       cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&pci1 {
+       status = "okay";
+       pinctrl-0 = <&usb1_pins>;
+       pinctrl-names = "default";
+};
+
+&usbphy {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/r8a7745-iwg22m.dtsi b/arch/arm/boot/dts/r8a7745-iwg22m.dtsi
new file mode 100644 (file)
index 0000000..ed9a8cf
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Device Tree Source for the iWave-RZG1E-G22M SODIMM SOM
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7745.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       compatible = "iwave,g22m", "renesas,r8a7745";
+
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0 0x40000000 0 0x20000000>;
+       };
+
+       reg_3p3v: 3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "3P3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+};
+
+&extal_clk {
+       clock-frequency = <20000000>;
+};
+
+&pfc {
+       mmcif0_pins: mmc {
+               groups = "mmc_data8", "mmc_ctrl";
+               function = "mmc";
+       };
+
+       qspi_pins: qspi {
+               groups = "qspi_ctrl", "qspi_data2";
+               function = "qspi";
+       };
+
+       sdhi1_pins: sd1 {
+               groups = "sdhi1_data4", "sdhi1_ctrl";
+               function = "sdhi1";
+               power-source = <3300>;
+       };
+
+       i2c3_pins: i2c3 {
+               groups = "i2c3_b";
+               function = "i2c3";
+       };
+};
+
+&mmcif0 {
+       pinctrl-0 = <&mmcif0_pins>;
+       pinctrl-names = "default";
+
+       vmmc-supply = <&reg_3p3v>;
+       bus-width = <8>;
+       non-removable;
+       status = "okay";
+};
+
+&qspi {
+       pinctrl-0 = <&qspi_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+
+       /* WARNING - This device contains the bootloader. Handle with care. */
+       flash: flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "sst,sst25vf016b", "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <50000000>;
+               spi-tx-bus-width = <1>;
+               spi-rx-bus-width = <1>;
+               m25p,fast-read;
+               spi-cpol;
+               spi-cpha;
+       };
+};
+
+&sdhi1 {
+       pinctrl-0 = <&sdhi1_pins>;
+       pinctrl-names = "default";
+
+       vmmc-supply = <&reg_3p3v>;
+       vqmmc-supply = <&reg_3p3v>;
+       cd-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&i2c3 {
+       pinctrl-0 = <&i2c3_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+       clock-frequency = <400000>;
+
+       rtc@68 {
+               compatible = "ti,bq32000";
+               reg = <0x68>;
+       };
+};
index aff90dfb8b32169c1cf0c4cf98adc7a090ce5419..3a50f703601c467032e3adcada00206511b9546d 100644 (file)
        #address-cells = <2>;
        #size-cells = <2>;
 
+       aliases {
+               i2c0 = &i2c0;
+               i2c1 = &i2c1;
+               i2c2 = &i2c2;
+               i2c3 = &i2c3;
+               i2c4 = &i2c4;
+               i2c5 = &i2c5;
+               spi0 = &qspi;
+               spi1 = &msiof0;
+               spi2 = &msiof1;
+               spi3 = &msiof2;
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
                        resets = <&cpg 408>;
                };
 
+               gpio0: gpio@e6050000 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6050000 0 0x50>;
+                       interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 0 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 912>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 912>;
+               };
+
+               gpio1: gpio@e6051000 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6051000 0 0x50>;
+                       interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 32 26>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 911>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 911>;
+               };
+
+               gpio2: gpio@e6052000 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6052000 0 0x50>;
+                       interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 64 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 910>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 910>;
+               };
+
+               gpio3: gpio@e6053000 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6053000 0 0x50>;
+                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 96 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 909>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 909>;
+               };
+
+               gpio4: gpio@e6054000 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6054000 0 0x50>;
+                       interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 128 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 908>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 908>;
+               };
+
+               gpio5: gpio@e6055000 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6055000 0 0x50>;
+                       interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 160 28>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 907>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 907>;
+               };
+
+               gpio6: gpio@e6055400 {
+                       compatible = "renesas,gpio-r8a7745",
+                                    "renesas,rcar-gen2-gpio";
+                       reg = <0 0xe6055400 0 0x50>;
+                       interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 192 26>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 905>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 905>;
+               };
+
                irqc: interrupt-controller@e61c0000 {
                        compatible = "renesas,irqc-r8a7745", "renesas,irqc";
                        #interrupt-cells = <2>;
                        #size-cells = <0>;
                        status = "disabled";
                };
+
+               avb: ethernet@e6800000 {
+                       compatible = "renesas,etheravb-r8a7745",
+                                    "renesas,etheravb-rcar-gen2";
+                       reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
+                       interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 812>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 812>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               i2c0: i2c@e6508000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,i2c-r8a7745",
+                                    "renesas,rcar-gen2-i2c";
+                       reg = <0 0xe6508000 0 0x40>;
+                       interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 931>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 931>;
+                       i2c-scl-internal-delay-ns = <6>;
+                       status = "disabled";
+               };
+
+               i2c1: i2c@e6518000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,i2c-r8a7745",
+                                    "renesas,rcar-gen2-i2c";
+                       reg = <0 0xe6518000 0 0x40>;
+                       interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 930>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 930>;
+                       i2c-scl-internal-delay-ns = <6>;
+                       status = "disabled";
+               };
+
+               i2c2: i2c@e6530000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,i2c-r8a7745",
+                                    "renesas,rcar-gen2-i2c";
+                       reg = <0 0xe6530000 0 0x40>;
+                       interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 929>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 929>;
+                       i2c-scl-internal-delay-ns = <6>;
+                       status = "disabled";
+               };
+
+               i2c3: i2c@e6540000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,i2c-r8a7745",
+                                    "renesas,rcar-gen2-i2c";
+                       reg = <0 0xe6540000 0 0x40>;
+                       interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 928>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 928>;
+                       i2c-scl-internal-delay-ns = <6>;
+                       status = "disabled";
+               };
+
+               i2c4: i2c@e6520000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,i2c-r8a7745",
+                                    "renesas,rcar-gen2-i2c";
+                       reg = <0 0xe6520000 0 0x40>;
+                       interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 927>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 927>;
+                       i2c-scl-internal-delay-ns = <6>;
+                       status = "disabled";
+               };
+
+               i2c5: i2c@e6528000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "renesas,i2c-r8a7745",
+                                    "renesas,rcar-gen2-i2c";
+                       reg = <0 0xe6528000 0 0x40>;
+                       interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 925>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 925>;
+                       i2c-scl-internal-delay-ns = <6>;
+                       status = "disabled";
+               };
+
+               mmcif0: mmc@ee200000 {
+                       compatible = "renesas,mmcif-r8a7745",
+                                    "renesas,sh-mmcif";
+                       reg = <0 0xee200000 0 0x80>;
+                       interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 315>;
+                       dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
+                              <&dmac1 0xd1>, <&dmac1 0xd2>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 315>;
+                       reg-io-width = <4>;
+                       max-frequency = <97500000>;
+                       status = "disabled";
+               };
+
+               qspi: spi@e6b10000 {
+                       compatible = "renesas,qspi-r8a7745", "renesas,qspi";
+                       reg = <0 0xe6b10000 0 0x2c>;
+                       interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 917>;
+                       dmas = <&dmac0 0x17>, <&dmac0 0x18>,
+                              <&dmac1 0x17>, <&dmac1 0x18>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       num-cs = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 917>;
+                       status = "disabled";
+               };
+
+               msiof0: spi@e6e20000 {
+                       compatible = "renesas,msiof-r8a7745",
+                                    "renesas,rcar-gen2-msiof";
+                       reg = <0 0xe6e20000 0 0x0064>;
+                       interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 000>;
+                       dmas = <&dmac0 0x51>, <&dmac0 0x52>,
+                              <&dmac1 0x51>, <&dmac1 0x52>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 000>;
+                       status = "disabled";
+               };
+
+               msiof1: spi@e6e10000 {
+                       compatible = "renesas,msiof-r8a7745",
+                                    "renesas,rcar-gen2-msiof";
+                       reg = <0 0xe6e10000 0 0x0064>;
+                       interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 208>;
+                       dmas = <&dmac0 0x55>, <&dmac0 0x56>,
+                              <&dmac1 0x55>, <&dmac1 0x56>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 208>;
+                       status = "disabled";
+               };
+
+               msiof2: spi@e6e00000 {
+                       compatible = "renesas,msiof-r8a7745",
+                                    "renesas,rcar-gen2-msiof";
+                       reg = <0 0xe6e00000 0 0x0064>;
+                       interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 205>;
+                       dmas = <&dmac0 0x41>, <&dmac0 0x42>,
+                              <&dmac1 0x41>, <&dmac1 0x42>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       resets = <&cpg 205>;
+                       status = "disabled";
+               };
+
+               sdhi0: sd@ee100000 {
+                       compatible = "renesas,sdhi-r8a7745";
+                       reg = <0 0xee100000 0 0x328>;
+                       interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 314>;
+                       dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
+                              <&dmac1 0xcd>, <&dmac1 0xce>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       max-frequency = <195000000>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 314>;
+                       status = "disabled";
+               };
+
+               sdhi1: sd@ee140000 {
+                       compatible = "renesas,sdhi-r8a7745";
+                       reg = <0 0xee140000 0 0x100>;
+                       interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 312>;
+                       dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
+                              <&dmac1 0xc1>, <&dmac1 0xc2>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       max-frequency = <97500000>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 312>;
+                       status = "disabled";
+               };
+
+               sdhi2: sd@ee160000 {
+                       compatible = "renesas,sdhi-r8a7745";
+                       reg = <0 0xee160000 0 0x100>;
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 311>;
+                       dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
+                              <&dmac1 0xd3>, <&dmac1 0xd4>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       max-frequency = <97500000>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 311>;
+                       status = "disabled";
+               };
+
+               pci0: pci@ee090000 {
+                       compatible = "renesas,pci-r8a7745",
+                                    "renesas,pci-rcar-gen2";
+                       device_type = "pci";
+                       reg = <0 0xee090000 0 0xc00>,
+                             <0 0xee080000 0 0x1100>;
+                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       status = "disabled";
+
+                       bus-range = <0 0>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
+                       interrupt-map-mask = <0xff00 0 0 0x7>;
+                       interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
+                                        0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
+                                        0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+
+                       usb@1,0 {
+                               reg = <0x800 0 0 0 0>;
+                               phys = <&usb0 0>;
+                               phy-names = "usb";
+                       };
+
+                       usb@2,0 {
+                               reg = <0x1000 0 0 0 0>;
+                               phys = <&usb0 0>;
+                               phy-names = "usb";
+                       };
+               };
+
+               pci1: pci@ee0d0000 {
+                       compatible = "renesas,pci-r8a7745",
+                                    "renesas,pci-rcar-gen2";
+                       device_type = "pci";
+                       reg = <0 0xee0d0000 0 0xc00>,
+                             <0 0xee0c0000 0 0x1100>;
+                       interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       status = "disabled";
+
+                       bus-range = <1 1>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       #interrupt-cells = <1>;
+                       ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
+                       interrupt-map-mask = <0xff00 0 0 0x7>;
+                       interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
+                                        0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
+                                        0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+
+                       usb@1,0 {
+                               reg = <0x10800 0 0 0 0>;
+                               phys = <&usb2 0>;
+                               phy-names = "usb";
+                       };
+
+                       usb@2,0 {
+                               reg = <0x11000 0 0 0 0>;
+                               phys = <&usb2 0>;
+                               phy-names = "usb";
+                       };
+               };
+
+               usbphy: usb-phy@e6590100 {
+                       compatible = "renesas,usb-phy-r8a7745",
+                                    "renesas,rcar-gen2-usb-phy";
+                       reg = <0 0xe6590100 0 0x100>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       clocks = <&cpg CPG_MOD 704>;
+                       clock-names = "usbhs";
+                       power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
+                       resets = <&cpg 704>;
+                       status = "disabled";
+
+                       usb0: usb-channel@0 {
+                               reg = <0>;
+                               #phy-cells = <1>;
+                       };
+                       usb2: usb-channel@2 {
+                               reg = <2>;
+                               #phy-cells = <1>;
+                       };
+               };
        };
 
        /* External root clock */
index 8f3156c0e5754b090e6d06efe1d47faf95fda57a..a39472aab8672330c3ab0816525efd25333d0db6 100644 (file)
@@ -33,6 +33,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <0>;
                        clock-frequency = <800000000>;
+                       clocks = <&z_clk>;
                };
        };
 
@@ -88,7 +89,7 @@
        };
 
        gpio0: gpio@ffc40000 {
-               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio";
                reg = <0xffc40000 0x2c>;
                interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio1: gpio@ffc41000 {
-               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio";
                reg = <0xffc41000 0x2c>;
                interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio2: gpio@ffc42000 {
-               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio";
                reg = <0xffc42000 0x2c>;
                interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio3: gpio@ffc43000 {
-               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio";
                reg = <0xffc43000 0x2c>;
                interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio4: gpio@ffc44000 {
-               compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio";
                reg = <0xffc44000 0x2c>;
                interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
index 8ee0b2ca5d39a26556b570c6e529c1eeab2f42f3..e8eb94748b27efd2252598768240f2ed6fd1f5b6 100644 (file)
                        compatible = "arm,cortex-a9";
                        reg = <0>;
                        clock-frequency = <1000000000>;
+                       clocks = <&cpg_clocks R8A7779_CLK_Z>;
                };
                cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <1>;
                        clock-frequency = <1000000000>;
+                       clocks = <&cpg_clocks R8A7779_CLK_Z>;
                        power-domains = <&sysc R8A7779_PD_ARM1>;
                };
                cpu@2 {
@@ -42,6 +44,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <2>;
                        clock-frequency = <1000000000>;
+                       clocks = <&cpg_clocks R8A7779_CLK_Z>;
                        power-domains = <&sysc R8A7779_PD_ARM2>;
                };
                cpu@3 {
@@ -49,6 +52,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <3>;
                        clock-frequency = <1000000000>;
+                       clocks = <&cpg_clocks R8A7779_CLK_Z>;
                        power-domains = <&sysc R8A7779_PD_ARM3>;
                };
        };
@@ -76,7 +80,7 @@
        };
 
        gpio0: gpio@ffc40000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc40000 0x2c>;
                interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
@@ -87,7 +91,7 @@
        };
 
        gpio1: gpio@ffc41000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc41000 0x2c>;
                interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio2: gpio@ffc42000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc42000 0x2c>;
                interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio3: gpio@ffc43000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc43000 0x2c>;
                interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio4: gpio@ffc44000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc44000 0x2c>;
                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio5: gpio@ffc45000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc45000 0x2c>;
                interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
        };
 
        gpio6: gpio@ffc46000 {
-               compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
                reg = <0xffc46000 0x2c>;
                interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
index ba100a6f67ca554c1b7068ba60e83090a0338ff4..e3d27783b6b56b42879b86a2eece9fe3ec6e3230 100644 (file)
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&mstp7_clks R8A7790_CLK_DU0>,
-                <&mstp7_clks R8A7790_CLK_DU1>,
-                <&mstp7_clks R8A7790_CLK_DU2>,
-                <&mstp7_clks R8A7790_CLK_LVDS0>,
-                <&mstp7_clks R8A7790_CLK_LVDS1>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
+                <&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
                 <&x13_clk>, <&x2_clk>;
        clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
                      "dclkin.0", "dclkin.1";
index 16358bf8d1dbffdceceeb53124bf45dea8ae31ec..2f017fee4009a2242c3a808c5aa07e29eac36ee9 100644 (file)
@@ -10,7 +10,7 @@
  * kind, whether express or implied.
  */
 
-#include <dt-bindings/clock/r8a7790-clock.h>
+#include <dt-bindings/clock/r8a7790-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/power/r8a7790-sysc.h>
                        reg = <0>;
                        clock-frequency = <1300000000>;
                        voltage-tolerance = <1>; /* 1% */
-                       clocks = <&cpg_clocks R8A7790_CLK_Z>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z>;
                        clock-latency = <300000>; /* 300 us */
                        power-domains = <&sysc R8A7790_PD_CA15_CPU0>;
                        next-level-cache = <&L2_CA15>;
+                       capacity-dmips-mhz = <1024>;
 
                        /* kHz - uV - OPPs unknown yet */
                        operating-points = <1400000 1000000>,
                        compatible = "arm,cortex-a15";
                        reg = <1>;
                        clock-frequency = <1300000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z>;
                        power-domains = <&sysc R8A7790_PD_CA15_CPU1>;
                        next-level-cache = <&L2_CA15>;
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu2: cpu@2 {
                        compatible = "arm,cortex-a15";
                        reg = <2>;
                        clock-frequency = <1300000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z>;
                        power-domains = <&sysc R8A7790_PD_CA15_CPU2>;
                        next-level-cache = <&L2_CA15>;
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu3: cpu@3 {
                        compatible = "arm,cortex-a15";
                        reg = <3>;
                        clock-frequency = <1300000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z>;
                        power-domains = <&sysc R8A7790_PD_CA15_CPU3>;
                        next-level-cache = <&L2_CA15>;
+                       capacity-dmips-mhz = <1024>;
                };
 
                cpu4: cpu@100 {
                        compatible = "arm,cortex-a7";
                        reg = <0x100>;
                        clock-frequency = <780000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z2>;
                        power-domains = <&sysc R8A7790_PD_CA7_CPU0>;
                        next-level-cache = <&L2_CA7>;
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu5: cpu@101 {
                        compatible = "arm,cortex-a7";
                        reg = <0x101>;
                        clock-frequency = <780000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z2>;
                        power-domains = <&sysc R8A7790_PD_CA7_CPU1>;
                        next-level-cache = <&L2_CA7>;
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu6: cpu@102 {
                        compatible = "arm,cortex-a7";
                        reg = <0x102>;
                        clock-frequency = <780000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z2>;
                        power-domains = <&sysc R8A7790_PD_CA7_CPU2>;
                        next-level-cache = <&L2_CA7>;
+                       capacity-dmips-mhz = <539>;
                };
 
                cpu7: cpu@103 {
                        compatible = "arm,cortex-a7";
                        reg = <0x103>;
                        clock-frequency = <780000000>;
+                       clocks = <&cpg CPG_CORE R8A7790_CLK_Z2>;
                        power-domains = <&sysc R8A7790_PD_CA7_CPU3>;
                        next-level-cache = <&L2_CA7>;
+                       capacity-dmips-mhz = <539>;
                };
 
                L2_CA15: cache-controller-0 {
                        <0 0xf1004000 0 0x2000>,
                        <0 0xf1006000 0 0x2000>;
                interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
-               clocks = <&mstp4_clks R8A7790_CLK_INTC_SYS>;
+               clocks = <&cpg CPG_MOD 408>;
                clock-names = "clk";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 408>;
        };
 
        gpio0: gpio@e6050000 {
-               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6050000 0 0x50>;
                interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 0 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7790_CLK_GPIO0>;
+               clocks = <&cpg CPG_MOD 912>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 912>;
        };
 
        gpio1: gpio@e6051000 {
-               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6051000 0 0x50>;
                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 32 30>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7790_CLK_GPIO1>;
+               clocks = <&cpg CPG_MOD 911>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 911>;
        };
 
        gpio2: gpio@e6052000 {
-               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6052000 0 0x50>;
                interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 64 30>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7790_CLK_GPIO2>;
+               clocks = <&cpg CPG_MOD 910>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 910>;
        };
 
        gpio3: gpio@e6053000 {
-               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6053000 0 0x50>;
                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 96 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7790_CLK_GPIO3>;
+               clocks = <&cpg CPG_MOD 909>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 909>;
        };
 
        gpio4: gpio@e6054000 {
-               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6054000 0 0x50>;
                interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 128 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7790_CLK_GPIO4>;
+               clocks = <&cpg CPG_MOD 908>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 908>;
        };
 
        gpio5: gpio@e6055000 {
-               compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055000 0 0x50>;
                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 160 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7790_CLK_GPIO5>;
+               clocks = <&cpg CPG_MOD 907>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 907>;
        };
 
        thermal: thermal@e61f0000 {
                                "renesas,rcar-thermal";
                reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
                interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp5_clks R8A7790_CLK_THERMAL>;
+               clocks = <&cpg CPG_MOD 522>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 522>;
                #thermal-sensor-cells = <0>;
        };
 
                reg = <0 0xffca0000 0 0x1004>;
                interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
+               clocks = <&cpg CPG_MOD 124>;
                clock-names = "fck";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 124>;
 
                renesas,channels-mask = <0x60>;
 
                             <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
+               clocks = <&cpg CPG_MOD 329>;
                clock-names = "fck";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 329>;
 
                renesas,channels-mask = <0xff>;
 
                             <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp4_clks R8A7790_CLK_IRQC>;
+               clocks = <&cpg CPG_MOD 407>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 407>;
        };
 
        dmac0: dma-controller@e6700000 {
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC0>;
+               clocks = <&cpg CPG_MOD 219>;
                clock-names = "fck";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 219>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7790_CLK_SYS_DMAC1>;
+               clocks = <&cpg CPG_MOD 218>;
                clock-names = "fck";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 218>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12";
-               clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC0>;
+               clocks = <&cpg CPG_MOD 502>;
                clock-names = "fck";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 502>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12";
-               clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC1>;
+               clocks = <&cpg CPG_MOD 501>;
                clock-names = "fck";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 501>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
                              GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "ch0", "ch1";
-               clocks = <&mstp3_clks R8A7790_CLK_USBDMAC0>;
+               clocks = <&cpg CPG_MOD 330>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 330>;
                #dma-cells = <1>;
                dma-channels = <2>;
        };
                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
                              GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "ch0", "ch1";
-               clocks = <&mstp3_clks R8A7790_CLK_USBDMAC1>;
+               clocks = <&cpg CPG_MOD 331>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 331>;
                #dma-cells = <1>;
                dma-channels = <2>;
        };
                compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6508000 0 0x40>;
                interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_I2C0>;
+               clocks = <&cpg CPG_MOD 931>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 931>;
                i2c-scl-internal-delay-ns = <110>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6518000 0 0x40>;
                interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_I2C1>;
+               clocks = <&cpg CPG_MOD 930>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 930>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6530000 0 0x40>;
                interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_I2C2>;
+               clocks = <&cpg CPG_MOD 929>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 929>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6540000 0 0x40>;
                interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_I2C3>;
+               clocks = <&cpg CPG_MOD 928>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 928>;
                i2c-scl-internal-delay-ns = <110>;
                status = "disabled";
        };
                             "renesas,rmobile-iic";
                reg = <0 0xe6500000 0 0x425>;
                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_IIC0>;
+               clocks = <&cpg CPG_MOD 318>;
                dmas = <&dmac0 0x61>, <&dmac0 0x62>,
                       <&dmac1 0x61>, <&dmac1 0x62>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 318>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe6510000 0 0x425>;
                interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_IIC1>;
+               clocks = <&cpg CPG_MOD 323>;
                dmas = <&dmac0 0x65>, <&dmac0 0x66>,
                       <&dmac1 0x65>, <&dmac1 0x66>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 323>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe6520000 0 0x425>;
                interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_IIC2>;
+               clocks = <&cpg CPG_MOD 300>;
                dmas = <&dmac0 0x69>, <&dmac0 0x6a>,
                       <&dmac1 0x69>, <&dmac1 0x6a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 300>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe60b0000 0 0x425>;
                interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_IICDVFS>;
+               clocks = <&cpg CPG_MOD 926>;
                dmas = <&dmac0 0x77>, <&dmac0 0x78>,
                       <&dmac1 0x77>, <&dmac1 0x78>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 926>;
                status = "disabled";
        };
 
                compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
                reg = <0 0xee200000 0 0x80>;
                interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>;
+               clocks = <&cpg CPG_MOD 315>;
                dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
                       <&dmac1 0xd1>, <&dmac1 0xd2>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 315>;
                reg-io-width = <4>;
                status = "disabled";
                max-frequency = <97500000>;
                compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
                reg = <0 0xee220000 0 0x80>;
                interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>;
+               clocks = <&cpg CPG_MOD 305>;
                dmas = <&dmac0 0xe1>, <&dmac0 0xe2>,
                       <&dmac1 0xe1>, <&dmac1 0xe2>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 305>;
                reg-io-width = <4>;
                status = "disabled";
                max-frequency = <97500000>;
                compatible = "renesas,sdhi-r8a7790";
                reg = <0 0xee100000 0 0x328>;
                interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_SDHI0>;
+               clocks = <&cpg CPG_MOD 314>;
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                       <&dmac1 0xcd>, <&dmac1 0xce>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <195000000>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 314>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7790";
                reg = <0 0xee120000 0 0x328>;
                interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_SDHI1>;
+               clocks = <&cpg CPG_MOD 313>;
                dmas = <&dmac0 0xc9>, <&dmac0 0xca>,
                       <&dmac1 0xc9>, <&dmac1 0xca>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <195000000>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 313>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7790";
                reg = <0 0xee140000 0 0x100>;
                interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_SDHI2>;
+               clocks = <&cpg CPG_MOD 312>;
                dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
                       <&dmac1 0xc1>, <&dmac1 0xc2>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 312>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7790";
                reg = <0 0xee160000 0 0x100>;
                interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_SDHI3>;
+               clocks = <&cpg CPG_MOD 311>;
                dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
                       <&dmac1 0xd3>, <&dmac1 0xd4>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 311>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c40000 0 64>;
                interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_SCIFA0>;
+               clocks = <&cpg CPG_MOD 204>;
                clock-names = "fck";
                dmas = <&dmac0 0x21>, <&dmac0 0x22>,
                       <&dmac1 0x21>, <&dmac1 0x22>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 204>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c50000 0 64>;
                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_SCIFA1>;
+               clocks = <&cpg CPG_MOD 203>;
                clock-names = "fck";
                dmas = <&dmac0 0x25>, <&dmac0 0x26>,
                       <&dmac1 0x25>, <&dmac1 0x26>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 203>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c60000 0 64>;
                interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_SCIFA2>;
+               clocks = <&cpg CPG_MOD 202>;
                clock-names = "fck";
                dmas = <&dmac0 0x27>, <&dmac0 0x28>,
                       <&dmac1 0x27>, <&dmac1 0x28>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 202>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_SCIFB0>;
+               clocks = <&cpg CPG_MOD 206>;
                clock-names = "fck";
                dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
                       <&dmac1 0x3d>, <&dmac1 0x3e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 206>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_SCIFB1>;
+               clocks = <&cpg CPG_MOD 207>;
                clock-names = "fck";
                dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
                       <&dmac1 0x19>, <&dmac1 0x1a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 207>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_SCIFB2>;
+               clocks = <&cpg CPG_MOD 216>;
                clock-names = "fck";
                dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
                       <&dmac1 0x1d>, <&dmac1 0x1e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 216>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e60000 0 64>;
                interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_SCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7790_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
                       <&dmac1 0x29>, <&dmac1 0x2a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 721>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e68000 0 64>;
                interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_SCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7790_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
                       <&dmac1 0x2d>, <&dmac1 0x2e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 720>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e56000 0 64>;
                interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_SCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 310>, <&cpg CPG_CORE R8A7790_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
                       <&dmac1 0x2b>, <&dmac1 0x2c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 310>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c0000 0 96>;
                interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_HSCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7790_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
                       <&dmac1 0x39>, <&dmac1 0x3a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 717>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c8000 0 96>;
                interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_HSCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7790_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
                       <&dmac1 0x4d>, <&dmac1 0x4e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 716>;
                status = "disabled";
        };
 
                compatible = "renesas,ether-r8a7790";
                reg = <0 0xee700000 0 0x400>;
                interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_ETHER>;
+               clocks = <&cpg CPG_MOD 813>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 813>;
                phy-mode = "rmii";
                #address-cells = <1>;
                #size-cells = <0>;
                             "renesas,etheravb-rcar-gen2";
                reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
                interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_ETHERAVB>;
+               clocks = <&cpg CPG_MOD 812>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 812>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                compatible = "renesas,sata-r8a7790", "renesas,rcar-gen2-sata";
                reg = <0 0xee300000 0 0x2000>;
                interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_SATA0>;
+               clocks = <&cpg CPG_MOD 815>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 815>;
                status = "disabled";
        };
 
                compatible = "renesas,sata-r8a7790", "renesas,rcar-gen2-sata";
                reg = <0 0xee500000 0 0x2000>;
                interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_SATA1>;
+               clocks = <&cpg CPG_MOD 814>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 814>;
                status = "disabled";
        };
 
                compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
                reg = <0 0xe6590000 0 0x100>;
                interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
+               clocks = <&cpg CPG_MOD 704>;
                dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
                       <&usb_dmac1 0>, <&usb_dmac1 1>;
                dma-names = "ch0", "ch1", "ch2", "ch3";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 704>;
                renesas,buswait = <4>;
                phys = <&usb0 1>;
                phy-names = "usb";
                reg = <0 0xe6590100 0 0x100>;
                #address-cells = <1>;
                #size-cells = <0>;
-               clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
+               clocks = <&cpg CPG_MOD 704>;
                clock-names = "usbhs";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 704>;
                status = "disabled";
 
                usb0: usb-channel@0 {
                compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef0000 0 0x1000>;
                interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
+               clocks = <&cpg CPG_MOD 811>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 811>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef1000 0 0x1000>;
                interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_VIN1>;
+               clocks = <&cpg CPG_MOD 810>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 810>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef2000 0 0x1000>;
                interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_VIN2>;
+               clocks = <&cpg CPG_MOD 809>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 809>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef3000 0 0x1000>;
                interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7790_CLK_VIN3>;
+               clocks = <&cpg CPG_MOD 808>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 808>;
                status = "disabled";
        };
 
-       vsp1@fe920000 {
+       vsp@fe920000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe920000 0 0x8000>;
                interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7790_CLK_VSP1_R>;
+               clocks = <&cpg CPG_MOD 130>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 130>;
        };
 
-       vsp1@fe928000 {
+       vsp@fe928000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe928000 0 0x8000>;
                interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7790_CLK_VSP1_S>;
+               clocks = <&cpg CPG_MOD 131>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 131>;
        };
 
-       vsp1@fe930000 {
+       vsp@fe930000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe930000 0 0x8000>;
                interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7790_CLK_VSP1_DU0>;
+               clocks = <&cpg CPG_MOD 128>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 128>;
        };
 
-       vsp1@fe938000 {
+       vsp@fe938000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe938000 0 0x8000>;
                interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7790_CLK_VSP1_DU1>;
+               clocks = <&cpg CPG_MOD 127>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 127>;
        };
 
        du: display@feb00000 {
                interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_DU0>,
-                        <&mstp7_clks R8A7790_CLK_DU1>,
-                        <&mstp7_clks R8A7790_CLK_DU2>,
-                        <&mstp7_clks R8A7790_CLK_LVDS0>,
-                        <&mstp7_clks R8A7790_CLK_LVDS1>;
+               clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
+                        <&cpg CPG_MOD 722>, <&cpg CPG_MOD 726>,
+                        <&cpg CPG_MOD 725>;
                clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1";
                status = "disabled";
 
                compatible = "renesas,can-r8a7790", "renesas,rcar-gen2-can";
                reg = <0 0xe6e80000 0 0x1000>;
                interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_RCAN0>,
-                        <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7790_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 916>;
                status = "disabled";
        };
 
                compatible = "renesas,can-r8a7790", "renesas,rcar-gen2-can";
                reg = <0 0xe6e88000 0 0x1000>;
                interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_RCAN1>,
-                        <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7790_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 915>;
                status = "disabled";
        };
 
                compatible = "renesas,jpu-r8a7790", "renesas,rcar-gen2-jpu";
                reg = <0 0xfe980000 0 0x10300>;
                interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7790_CLK_JPU>;
+               clocks = <&cpg CPG_MOD 106>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 106>;
        };
 
-       clocks {
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-
-               /* External root clock */
-               extal_clk: extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overriden by the board. */
-                       clock-frequency = <0>;
-               };
-
-               /* External PCIe clock - can be overridden by the board */
-               pcie_bus_clk: pcie_bus {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-
-               /*
-                * The external audio clocks are configured as 0 Hz fixed frequency clocks by
-                * default. Boards that provide audio clocks should override them.
-                */
-               audio_clk_a: audio_clk_a {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clk_b: audio_clk_b {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clk_c: audio_clk_c {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-
-               /* External SCIF clock */
-               scif_clk: scif {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /* External root clock */
+       extal_clk: extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* External USB clock - can be overridden by the board */
-               usb_extal_clk: usb_extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <48000000>;
-               };
+       /* External PCIe clock - can be overridden by the board */
+       pcie_bus_clk: pcie_bus {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
 
-               /* External CAN clock */
-               can_clk: can {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /*
+        * The external audio clocks are configured as 0 Hz fixed frequency
+        * clocks by default.
+        * Boards that provide audio clocks should override them.
+        */
+       audio_clk_a: audio_clk_a {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clk_b: audio_clk_b {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clk_c: audio_clk_c {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
 
-               /* Special CPG clocks */
-               cpg_clocks: cpg_clocks@e6150000 {
-                       compatible = "renesas,r8a7790-cpg-clocks",
-                                    "renesas,rcar-gen2-cpg-clocks";
-                       reg = <0 0xe6150000 0 0x1000>;
-                       clocks = <&extal_clk &usb_extal_clk>;
-                       #clock-cells = <1>;
-                       clock-output-names = "main", "pll0", "pll1", "pll3",
-                                            "lb", "qspi", "sdh", "sd0", "sd1",
-                                            "z", "rcan", "adsp";
-                       #power-domain-cells = <0>;
-               };
+       /* External SCIF clock */
+       scif_clk: scif {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Variable factor clocks */
-               sd2_clk: sd2@e6150078 {
-                       compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150078 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               sd3_clk: sd3@e615026c {
-                       compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe615026c 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               mmc0_clk: mmc0@e6150240 {
-                       compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150240 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               mmc1_clk: mmc1@e6150244 {
-                       compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150244 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               ssp_clk: ssp@e6150248 {
-                       compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150248 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               ssprs_clk: ssprs@e615024c {
-                       compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe615024c 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
+       /* External USB clock - can be overridden by the board */
+       usb_extal_clk: usb_extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <48000000>;
+       };
 
-               /* Fixed factor clocks */
-               pll1_div2_clk: pll1_div2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               z2_clk: z2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               zg_clk: zg {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zx_clk: zx {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zs_clk: zs {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <6>;
-                       clock-mult = <1>;
-               };
-               hp_clk: hp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               i_clk: i {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               b_clk: b {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               p_clk: p {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <24>;
-                       clock-mult = <1>;
-               };
-               cl_clk: cl {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <48>;
-                       clock-mult = <1>;
-               };
-               m2_clk: m2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               imp_clk: imp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <4>;
-                       clock-mult = <1>;
-               };
-               rclk_clk: rclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(48 * 1024)>;
-                       clock-mult = <1>;
-               };
-               oscclk_clk: oscclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(12 * 1024)>;
-                       clock-mult = <1>;
-               };
-               zb3_clk: zb3 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <4>;
-                       clock-mult = <1>;
-               };
-               zb3d2_clk: zb3d2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               ddr_clk: ddr {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7790_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               mp_clk: mp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <15>;
-                       clock-mult = <1>;
-               };
-               cp_clk: cp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&extal_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
+       /* External CAN clock */
+       can_clk: can {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Gate clocks */
-               mstp0_clks: mstp0_clks@e6150130 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
-                       clocks = <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7790_CLK_MSIOF0>;
-                       clock-output-names = "msiof0";
-               };
-               mstp1_clks: mstp1_clks@e6150134 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&m2_clk>,
-                                <&zs_clk>, <&p_clk>, <&zg_clk>, <&zs_clk>, <&zs_clk>,
-                                <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
-                                <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_VCP1 R8A7790_CLK_VCP0 R8A7790_CLK_VPC1
-                               R8A7790_CLK_VPC0 R8A7790_CLK_JPU R8A7790_CLK_SSP1
-                               R8A7790_CLK_TMU1 R8A7790_CLK_3DG R8A7790_CLK_2DDMAC
-                               R8A7790_CLK_FDP1_2 R8A7790_CLK_FDP1_1 R8A7790_CLK_FDP1_0
-                               R8A7790_CLK_TMU3 R8A7790_CLK_TMU2 R8A7790_CLK_CMT0
-                               R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1 R8A7790_CLK_VSP1_DU0
-                               R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S
-                       >;
-                       clock-output-names =
-                               "vcp1", "vcp0", "vpc1", "vpc0", "jpu", "ssp1",
-                               "tmu1", "3dg", "2ddmac", "fdp1-2", "fdp1-1",
-                               "fdp1-0", "tmu3", "tmu2", "cmt0", "tmu0",
-                               "vsp1-du1", "vsp1-du0", "vsp1-rt", "vsp1-sy";
-               };
-               mstp2_clks: mstp2_clks@e6150138 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&zs_clk>,
-                                <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_SCIFA2 R8A7790_CLK_SCIFA1 R8A7790_CLK_SCIFA0
-                               R8A7790_CLK_MSIOF2 R8A7790_CLK_SCIFB0 R8A7790_CLK_SCIFB1
-                               R8A7790_CLK_MSIOF1 R8A7790_CLK_MSIOF3 R8A7790_CLK_SCIFB2
-                               R8A7790_CLK_SYS_DMAC1 R8A7790_CLK_SYS_DMAC0
-                       >;
-                       clock-output-names =
-                               "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
-                               "scifb1", "msiof1", "msiof3", "scifb2",
-                               "sys-dmac1", "sys-dmac0";
-               };
-               mstp3_clks: mstp3_clks@e615013c {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
-                       clocks = <&hp_clk>, <&cp_clk>, <&mmc1_clk>, <&p_clk>, <&sd3_clk>,
-                                <&sd2_clk>, <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, <&mmc0_clk>,
-                                <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>,
-                                <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_IIC2 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SCIF2 R8A7790_CLK_SDHI3
-                               R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 R8A7790_CLK_MMCIF0
-                               R8A7790_CLK_IIC0 R8A7790_CLK_PCIEC R8A7790_CLK_IIC1 R8A7790_CLK_SSUSB R8A7790_CLK_CMT1
-                               R8A7790_CLK_USBDMAC0 R8A7790_CLK_USBDMAC1
-                       >;
-                       clock-output-names =
-                               "iic2", "tpu0", "mmcif1", "scif2", "sdhi3",
-                               "sdhi2", "sdhi1", "sdhi0", "mmcif0",
-                               "iic0", "pciec", "iic1", "ssusb", "cmt1",
-                               "usbdmac0", "usbdmac1";
-               };
-               mstp4_clks: mstp4_clks@e6150140 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
-                       clocks = <&cp_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7790_CLK_IRQC R8A7790_CLK_INTC_SYS>;
-                       clock-output-names = "irqc", "intc-sys";
-               };
-               mstp5_clks: mstp5_clks@e6150144 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
-                       clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7790_CLK_ADSP>,
-                                <&extal_clk>, <&p_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1
-                               R8A7790_CLK_ADSP_MOD R8A7790_CLK_THERMAL
-                               R8A7790_CLK_PWM
-                       >;
-                       clock-output-names = "audmac0", "audmac1", "adsp_mod",
-                                            "thermal", "pwm";
-               };
-               mstp7_clks: mstp7_clks@e615014c {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
-                       clocks = <&mp_clk>, <&hp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
-                                <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>,
-                                <&zx_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_EHCI R8A7790_CLK_HSUSB R8A7790_CLK_HSCIF1
-                               R8A7790_CLK_HSCIF0 R8A7790_CLK_SCIF1 R8A7790_CLK_SCIF0
-                               R8A7790_CLK_DU2 R8A7790_CLK_DU1 R8A7790_CLK_DU0
-                               R8A7790_CLK_LVDS1 R8A7790_CLK_LVDS0
-                       >;
-                       clock-output-names =
-                               "ehci", "hsusb", "hscif1", "hscif0", "scif1",
-                               "scif0", "du2", "du1", "du0", "lvds1", "lvds0";
-               };
-               mstp8_clks: mstp8_clks@e6150990 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
-                       clocks = <&hp_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>,
-                                <&zg_clk>, <&hp_clk>, <&p_clk>, <&zs_clk>,
-                                <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_MLB R8A7790_CLK_VIN3 R8A7790_CLK_VIN2
-                               R8A7790_CLK_VIN1 R8A7790_CLK_VIN0
-                               R8A7790_CLK_ETHERAVB R8A7790_CLK_ETHER
-                               R8A7790_CLK_SATA1 R8A7790_CLK_SATA0
-                       >;
-                       clock-output-names =
-                               "mlb", "vin3", "vin2", "vin1", "vin0",
-                               "etheravb", "ether", "sata1", "sata0";
-               };
-               mstp9_clks: mstp9_clks@e6150994 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
-                       clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&p_clk>, <&p_clk>, <&cpg_clocks R8A7790_CLK_QSPI>, <&cp_clk>,
-                                <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_GPIO5 R8A7790_CLK_GPIO4 R8A7790_CLK_GPIO3
-                               R8A7790_CLK_GPIO2 R8A7790_CLK_GPIO1 R8A7790_CLK_GPIO0
-                               R8A7790_CLK_RCAN1 R8A7790_CLK_RCAN0 R8A7790_CLK_QSPI_MOD R8A7790_CLK_IICDVFS
-                               R8A7790_CLK_I2C3 R8A7790_CLK_I2C2 R8A7790_CLK_I2C1 R8A7790_CLK_I2C0
-                       >;
-                       clock-output-names =
-                               "gpio5", "gpio4", "gpio3", "gpio2", "gpio1", "gpio0",
-                               "rcan1", "rcan0", "qspi_mod", "iic3",
-                               "i2c3", "i2c2", "i2c1", "i2c0";
-               };
-               mstp10_clks: mstp10_clks@e6150998 {
-                       compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
-                       clocks = <&p_clk>,
-                               <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SSI_ALL>, <&mstp10_clks R8A7790_CLK_SSI_ALL>,
-                               <&p_clk>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7790_CLK_SCU_ALL>, <&mstp10_clks R8A7790_CLK_SCU_ALL>;
-
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7790_CLK_SSI_ALL
-                               R8A7790_CLK_SSI9 R8A7790_CLK_SSI8 R8A7790_CLK_SSI7 R8A7790_CLK_SSI6 R8A7790_CLK_SSI5
-                               R8A7790_CLK_SSI4 R8A7790_CLK_SSI3 R8A7790_CLK_SSI2 R8A7790_CLK_SSI1 R8A7790_CLK_SSI0
-                               R8A7790_CLK_SCU_ALL
-                               R8A7790_CLK_SCU_DVC1 R8A7790_CLK_SCU_DVC0
-                               R8A7790_CLK_SCU_CTU1_MIX1 R8A7790_CLK_SCU_CTU0_MIX0
-                               R8A7790_CLK_SCU_SRC9 R8A7790_CLK_SCU_SRC8 R8A7790_CLK_SCU_SRC7 R8A7790_CLK_SCU_SRC6 R8A7790_CLK_SCU_SRC5
-                               R8A7790_CLK_SCU_SRC4 R8A7790_CLK_SCU_SRC3 R8A7790_CLK_SCU_SRC2 R8A7790_CLK_SCU_SRC1 R8A7790_CLK_SCU_SRC0
-                       >;
-                       clock-output-names =
-                               "ssi-all",
-                               "ssi9", "ssi8", "ssi7", "ssi6", "ssi5",
-                               "ssi4", "ssi3", "ssi2", "ssi1", "ssi0",
-                               "scu-all",
-                               "scu-dvc1", "scu-dvc0",
-                               "scu-ctu1-mix1", "scu-ctu0-mix0",
-                               "scu-src9", "scu-src8", "scu-src7", "scu-src6", "scu-src5",
-                               "scu-src4", "scu-src3", "scu-src2", "scu-src1", "scu-src0";
-               };
+       cpg: clock-controller@e6150000 {
+               compatible = "renesas,r8a7790-cpg-mssr";
+               reg = <0 0xe6150000 0 0x1000>;
+               clocks = <&extal_clk>, <&usb_extal_clk>;
+               clock-names = "extal", "usb_extal";
+               #clock-cells = <2>;
+               #power-domain-cells = <0>;
        };
 
        prr: chipid@ff000044 {
                compatible = "renesas,qspi-r8a7790", "renesas,qspi";
                reg = <0 0xe6b10000 0 0x2c>;
                interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7790_CLK_QSPI_MOD>;
+               clocks = <&cpg CPG_MOD 917>;
                dmas = <&dmac0 0x17>, <&dmac0 0x18>,
                       <&dmac1 0x17>, <&dmac1 0x18>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 917>;
                num-cs = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6e20000 0 0x0064>;
                interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp0_clks R8A7790_CLK_MSIOF0>;
+               clocks = <&cpg CPG_MOD 0>;
                dmas = <&dmac0 0x51>, <&dmac0 0x52>,
                       <&dmac1 0x51>, <&dmac1 0x52>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 0>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6e10000 0 0x0064>;
                interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_MSIOF1>;
+               clocks = <&cpg CPG_MOD 208>;
                dmas = <&dmac0 0x55>, <&dmac0 0x56>,
                       <&dmac1 0x55>, <&dmac1 0x56>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 208>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6e00000 0 0x0064>;
                interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_MSIOF2>;
+               clocks = <&cpg CPG_MOD 205>;
                dmas = <&dmac0 0x41>, <&dmac0 0x42>,
                       <&dmac1 0x41>, <&dmac1 0x42>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 205>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6c90000 0 0x0064>;
                interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7790_CLK_MSIOF3>;
+               clocks = <&cpg CPG_MOD 215>;
                dmas = <&dmac0 0x45>, <&dmac0 0x46>,
                       <&dmac1 0x45>, <&dmac1 0x46>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 215>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                compatible = "renesas,xhci-r8a7790", "renesas,rcar-gen2-xhci";
                reg = <0 0xee000000 0 0xc00>;
                interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_SSUSB>;
+               clocks = <&cpg CPG_MOD 328>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 328>;
                phys = <&usb2 1>;
                phy-names = "usb";
                status = "disabled";
                reg = <0 0xee090000 0 0xc00>,
                      <0 0xee080000 0 0x1100>;
                interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                status = "disabled";
 
                bus-range = <0 0>;
                reg = <0 0xee0b0000 0 0xc00>,
                      <0 0xee0a0000 0 0x1100>;
                interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                status = "disabled";
 
                bus-range = <1 1>;
        pci2: pci@ee0d0000 {
                compatible = "renesas,pci-r8a7790", "renesas,pci-rcar-gen2";
                device_type = "pci";
-               clocks = <&mstp7_clks R8A7790_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                reg = <0 0xee0d0000 0 0xc00>,
                      <0 0xee0c0000 0 0x1100>;
                interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
                #interrupt-cells = <1>;
                interrupt-map-mask = <0 0 0 0>;
                interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7790_CLK_PCIEC>, <&pcie_bus_clk>;
+               clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
                clock-names = "pcie", "pcie_bus";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 319>;
                status = "disabled";
        };
 
                        <0 0xec740000 0 0x200>;  /* Audio DMAC peri peri*/
                reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
 
-               clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>,
-                       <&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>,
-                       <&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>,
-                       <&mstp10_clks R8A7790_CLK_SSI5>, <&mstp10_clks R8A7790_CLK_SSI4>,
-                       <&mstp10_clks R8A7790_CLK_SSI3>, <&mstp10_clks R8A7790_CLK_SSI2>,
-                       <&mstp10_clks R8A7790_CLK_SSI1>, <&mstp10_clks R8A7790_CLK_SSI0>,
-                       <&mstp10_clks R8A7790_CLK_SCU_SRC9>, <&mstp10_clks R8A7790_CLK_SCU_SRC8>,
-                       <&mstp10_clks R8A7790_CLK_SCU_SRC7>, <&mstp10_clks R8A7790_CLK_SCU_SRC6>,
-                       <&mstp10_clks R8A7790_CLK_SCU_SRC5>, <&mstp10_clks R8A7790_CLK_SCU_SRC4>,
-                       <&mstp10_clks R8A7790_CLK_SCU_SRC3>, <&mstp10_clks R8A7790_CLK_SCU_SRC2>,
-                       <&mstp10_clks R8A7790_CLK_SCU_SRC1>, <&mstp10_clks R8A7790_CLK_SCU_SRC0>,
-                       <&mstp10_clks R8A7790_CLK_SCU_CTU0_MIX0>, <&mstp10_clks R8A7790_CLK_SCU_CTU1_MIX1>,
-                       <&mstp10_clks R8A7790_CLK_SCU_CTU0_MIX0>, <&mstp10_clks R8A7790_CLK_SCU_CTU1_MIX1>,
-                       <&mstp10_clks R8A7790_CLK_SCU_DVC0>, <&mstp10_clks R8A7790_CLK_SCU_DVC1>,
-                       <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>;
+               clocks = <&cpg CPG_MOD 1005>,
+                        <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
+                        <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
+                        <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
+                        <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
+                        <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
+                        <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
+                        <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
+                        <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
+                        <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
+                        <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
+                        <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
+                        <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
+                        <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
+                        <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
+                        <&cpg CPG_CORE R8A7790_CLK_M2>;
                clock-names = "ssi-all",
                                "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
                                "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
                                "dvc.0", "dvc.1",
                                "clk_a", "clk_b", "clk_c", "clk_i";
                power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+               resets = <&cpg 1005>,
+                        <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
+                        <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
+                        <&cpg 1014>, <&cpg 1015>;
+               reset-names = "ssi-all",
+                             "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
+                             "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
 
                status = "disabled";
 
index 0ce0b278e1cbe2bf44113586460953edd6ab5f7d..e164eda69baf3fd02a8392cb432b4b9c00ec6f54 100644 (file)
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&mstp7_clks R8A7791_CLK_DU0>,
-                <&mstp7_clks R8A7791_CLK_DU1>,
-                <&mstp7_clks R8A7791_CLK_LVDS0>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
                 <&x13_clk>, <&x2_clk>;
        clock-names = "du.0", "du.1", "lvds.0",
                      "dclkin.0", "dclkin.1";
index 95da5cb9d37ab8e50fab028bca63782dd422bf7c..eb374956294f6983bf0132d8e83da7a3a0a6100b 100644 (file)
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&mstp7_clks R8A7791_CLK_DU0>,
-                <&mstp7_clks R8A7791_CLK_DU1>,
-                <&mstp7_clks R8A7791_CLK_LVDS0>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
                 <&x3_clk>, <&x16_clk>;
        clock-names = "du.0", "du.1", "lvds.0",
                      "dclkin.0", "dclkin.1";
index f1d1a977215308e6cc831a6062780810c150b8a8..67831d0405f34492ed5724ab9a2df2b0e1b95b05 100644 (file)
@@ -10,7 +10,7 @@
  * kind, whether express or implied.
  */
 
-#include <dt-bindings/clock/r8a7791-clock.h>
+#include <dt-bindings/clock/r8a7791-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/power/r8a7791-sysc.h>
@@ -51,7 +51,7 @@
                        reg = <0>;
                        clock-frequency = <1500000000>;
                        voltage-tolerance = <1>; /* 1% */
-                       clocks = <&cpg_clocks R8A7791_CLK_Z>;
+                       clocks = <&cpg CPG_CORE R8A7791_CLK_Z>;
                        clock-latency = <300000>; /* 300 us */
                        power-domains = <&sysc R8A7791_PD_CA15_CPU0>;
                        next-level-cache = <&L2_CA15>;
@@ -70,6 +70,7 @@
                        compatible = "arm,cortex-a15";
                        reg = <1>;
                        clock-frequency = <1500000000>;
+                       clocks = <&cpg CPG_CORE R8A7791_CLK_Z>;
                        power-domains = <&sysc R8A7791_PD_CA15_CPU1>;
                        next-level-cache = <&L2_CA15>;
                };
                        <0 0xf1004000 0 0x2000>,
                        <0 0xf1006000 0 0x2000>;
                interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
-               clocks = <&mstp4_clks R8A7791_CLK_INTC_SYS>;
+               clocks = <&cpg CPG_MOD 408>;
                clock-names = "clk";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 408>;
        };
 
        gpio0: gpio@e6050000 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6050000 0 0x50>;
                interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 0 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO0>;
+               clocks = <&cpg CPG_MOD 912>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 912>;
        };
 
        gpio1: gpio@e6051000 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6051000 0 0x50>;
                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 32 26>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO1>;
+               clocks = <&cpg CPG_MOD 911>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 911>;
        };
 
        gpio2: gpio@e6052000 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6052000 0 0x50>;
                interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 64 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO2>;
+               clocks = <&cpg CPG_MOD 910>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 910>;
        };
 
        gpio3: gpio@e6053000 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6053000 0 0x50>;
                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 96 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO3>;
+               clocks = <&cpg CPG_MOD 909>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 909>;
        };
 
        gpio4: gpio@e6054000 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6054000 0 0x50>;
                interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 128 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO4>;
+               clocks = <&cpg CPG_MOD 908>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 908>;
        };
 
        gpio5: gpio@e6055000 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055000 0 0x50>;
                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 160 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO5>;
+               clocks = <&cpg CPG_MOD 907>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 907>;
        };
 
        gpio6: gpio@e6055400 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055400 0 0x50>;
                interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 192 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO6>;
+               clocks = <&cpg CPG_MOD 905>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 905>;
        };
 
        gpio7: gpio@e6055800 {
-               compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055800 0 0x50>;
                interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 224 26>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7791_CLK_GPIO7>;
+               clocks = <&cpg CPG_MOD 904>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 904>;
        };
 
        thermal: thermal@e61f0000 {
                                "renesas,rcar-thermal";
                reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
                interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp5_clks R8A7791_CLK_THERMAL>;
+               clocks = <&cpg CPG_MOD 522>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 522>;
                #thermal-sensor-cells = <0>;
        };
 
                reg = <0 0xffca0000 0 0x1004>;
                interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7791_CLK_CMT0>;
+               clocks = <&cpg CPG_MOD 124>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 124>;
 
                renesas,channels-mask = <0x60>;
 
                             <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_CMT1>;
+               clocks = <&cpg CPG_MOD 329>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 329>;
 
                renesas,channels-mask = <0xff>;
 
                             <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp4_clks R8A7791_CLK_IRQC>;
+               clocks = <&cpg CPG_MOD 407>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 407>;
        };
 
        dmac0: dma-controller@e6700000 {
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7791_CLK_SYS_DMAC0>;
+               clocks = <&cpg CPG_MOD 219>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 219>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7791_CLK_SYS_DMAC1>;
+               clocks = <&cpg CPG_MOD 218>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 218>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12";
-               clocks = <&mstp5_clks R8A7791_CLK_AUDIO_DMAC0>;
+               clocks = <&cpg CPG_MOD 502>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 502>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12";
-               clocks = <&mstp5_clks R8A7791_CLK_AUDIO_DMAC1>;
+               clocks = <&cpg CPG_MOD 501>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 501>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
                              GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "ch0", "ch1";
-               clocks = <&mstp3_clks R8A7791_CLK_USBDMAC0>;
+               clocks = <&cpg CPG_MOD 330>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 330>;
                #dma-cells = <1>;
                dma-channels = <2>;
        };
                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
                              GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
                interrupt-names = "ch0", "ch1";
-               clocks = <&mstp3_clks R8A7791_CLK_USBDMAC1>;
+               clocks = <&cpg CPG_MOD 331>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 331>;
                #dma-cells = <1>;
                dma-channels = <2>;
        };
                compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6508000 0 0x40>;
                interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_I2C0>;
+               clocks = <&cpg CPG_MOD 931>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 931>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6518000 0 0x40>;
                interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_I2C1>;
+               clocks = <&cpg CPG_MOD 930>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 930>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6530000 0 0x40>;
                interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_I2C2>;
+               clocks = <&cpg CPG_MOD 929>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 929>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6540000 0 0x40>;
                interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_I2C3>;
+               clocks = <&cpg CPG_MOD 928>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 928>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6520000 0 0x40>;
                interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_I2C4>;
+               clocks = <&cpg CPG_MOD 927>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 927>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6528000 0 0x40>;
                interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_I2C5>;
+               clocks = <&cpg CPG_MOD 925>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 925>;
                i2c-scl-internal-delay-ns = <110>;
                status = "disabled";
        };
                             "renesas,rmobile-iic";
                reg = <0 0xe60b0000 0 0x425>;
                interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_IICDVFS>;
+               clocks = <&cpg CPG_MOD 926>;
                dmas = <&dmac0 0x77>, <&dmac0 0x78>,
                       <&dmac1 0x77>, <&dmac1 0x78>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 926>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe6500000 0 0x425>;
                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_IIC0>;
+               clocks = <&cpg CPG_MOD 318>;
                dmas = <&dmac0 0x61>, <&dmac0 0x62>,
                       <&dmac1 0x61>, <&dmac1 0x62>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 318>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe6510000 0 0x425>;
                interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_IIC1>;
+               clocks = <&cpg CPG_MOD 323>;
                dmas = <&dmac0 0x65>, <&dmac0 0x66>,
                       <&dmac1 0x65>, <&dmac1 0x66>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 323>;
                status = "disabled";
        };
 
                compatible = "renesas,mmcif-r8a7791", "renesas,sh-mmcif";
                reg = <0 0xee200000 0 0x80>;
                interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_MMCIF0>;
+               clocks = <&cpg CPG_MOD 315>;
                dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
                       <&dmac1 0xd1>, <&dmac1 0xd2>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 315>;
                reg-io-width = <4>;
                status = "disabled";
                max-frequency = <97500000>;
                compatible = "renesas,sdhi-r8a7791";
                reg = <0 0xee100000 0 0x328>;
                interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_SDHI0>;
+               clocks = <&cpg CPG_MOD 314>;
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                       <&dmac1 0xcd>, <&dmac1 0xce>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <195000000>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 314>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7791";
                reg = <0 0xee140000 0 0x100>;
                interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_SDHI1>;
+               clocks = <&cpg CPG_MOD 312>;
                dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
                       <&dmac1 0xc1>, <&dmac1 0xc2>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 312>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7791";
                reg = <0 0xee160000 0 0x100>;
                interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_SDHI2>;
+               clocks = <&cpg CPG_MOD 311>;
                dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
                       <&dmac1 0xd3>, <&dmac1 0xd4>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 311>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c40000 0 64>;
                interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_SCIFA0>;
+               clocks = <&cpg CPG_MOD 204>;
                clock-names = "fck";
                dmas = <&dmac0 0x21>, <&dmac0 0x22>,
                       <&dmac1 0x21>, <&dmac1 0x22>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 204>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c50000 0 64>;
                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_SCIFA1>;
+               clocks = <&cpg CPG_MOD 203>;
                clock-names = "fck";
                dmas = <&dmac0 0x25>, <&dmac0 0x26>,
                       <&dmac1 0x25>, <&dmac1 0x26>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 203>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c60000 0 64>;
                interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_SCIFA2>;
+               clocks = <&cpg CPG_MOD 202>;
                clock-names = "fck";
                dmas = <&dmac0 0x27>, <&dmac0 0x28>,
                       <&dmac1 0x27>, <&dmac1 0x28>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 202>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c70000 0 64>;
                interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7791_CLK_SCIFA3>;
+               clocks = <&cpg CPG_MOD 1106>;
                clock-names = "fck";
                dmas = <&dmac0 0x1b>, <&dmac0 0x1c>,
                       <&dmac1 0x1b>, <&dmac1 0x1c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 1106>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c78000 0 64>;
                interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7791_CLK_SCIFA4>;
+               clocks = <&cpg CPG_MOD 1107>;
                clock-names = "fck";
                dmas = <&dmac0 0x1f>, <&dmac0 0x20>,
                       <&dmac1 0x1f>, <&dmac1 0x20>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 1107>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c80000 0 64>;
                interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7791_CLK_SCIFA5>;
+               clocks = <&cpg CPG_MOD 1108>;
                clock-names = "fck";
                dmas = <&dmac0 0x23>, <&dmac0 0x24>,
                       <&dmac1 0x23>, <&dmac1 0x24>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 1108>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_SCIFB0>;
+               clocks = <&cpg CPG_MOD 206>;
                clock-names = "fck";
                dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
                       <&dmac1 0x3d>, <&dmac1 0x3e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 206>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_SCIFB1>;
+               clocks = <&cpg CPG_MOD 207>;
                clock-names = "fck";
                dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
                       <&dmac1 0x19>, <&dmac1 0x1a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 207>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_SCIFB2>;
+               clocks = <&cpg CPG_MOD 216>;
                clock-names = "fck";
                dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
                       <&dmac1 0x1d>, <&dmac1 0x1e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 216>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e60000 0 64>;
                interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_SCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
                       <&dmac1 0x29>, <&dmac1 0x2a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 721>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e68000 0 64>;
                interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_SCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
                       <&dmac1 0x2d>, <&dmac1 0x2e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 720>;
                status = "disabled";
        };
 
        adc: adc@e6e54000 {
                compatible = "renesas,r8a7791-gyroadc", "renesas,rcar-gyroadc";
                reg = <0 0xe6e54000 0 64>;
-               clocks = <&mstp9_clks R8A7791_CLK_GYROADC>;
+               clocks = <&cpg CPG_MOD 901>;
                clock-names = "fck";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 901>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e58000 0 64>;
                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_SCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
                       <&dmac1 0x2b>, <&dmac1 0x2c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 719>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ea8000 0 64>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_SCIF3>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
                       <&dmac1 0x2f>, <&dmac1 0x30>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 718>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ee0000 0 64>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_SCIF4>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0xfb>, <&dmac0 0xfc>,
                       <&dmac1 0xfb>, <&dmac1 0xfc>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 715>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ee8000 0 64>;
                interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_SCIF5>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0xfd>, <&dmac0 0xfe>,
                       <&dmac1 0xfd>, <&dmac1 0xfe>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 714>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c0000 0 96>;
                interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_HSCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
                       <&dmac1 0x39>, <&dmac1 0x3a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 717>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c8000 0 96>;
                interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_HSCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
                       <&dmac1 0x4d>, <&dmac1 0x4e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 716>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62d0000 0 96>;
                interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_HSCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x3b>, <&dmac0 0x3c>,
                       <&dmac1 0x3b>, <&dmac1 0x3c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 713>;
                status = "disabled";
        };
 
                compatible = "renesas,ether-r8a7791";
                reg = <0 0xee700000 0 0x400>;
                interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_ETHER>;
+               clocks = <&cpg CPG_MOD 813>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 813>;
                phy-mode = "rmii";
                #address-cells = <1>;
                #size-cells = <0>;
                             "renesas,etheravb-rcar-gen2";
                reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
                interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_ETHERAVB>;
+               clocks = <&cpg CPG_MOD 812>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 812>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                compatible = "renesas,sata-r8a7791", "renesas,rcar-gen2-sata";
                reg = <0 0xee300000 0 0x2000>;
                interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_SATA0>;
+               clocks = <&cpg CPG_MOD 815>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 815>;
                status = "disabled";
        };
 
                compatible = "renesas,sata-r8a7791", "renesas,rcar-gen2-sata";
                reg = <0 0xee500000 0 0x2000>;
                interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_SATA1>;
+               clocks = <&cpg CPG_MOD 814>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 814>;
                status = "disabled";
        };
 
                compatible = "renesas,usbhs-r8a7791", "renesas,rcar-gen2-usbhs";
                reg = <0 0xe6590000 0 0x100>;
                interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_HSUSB>;
+               clocks = <&cpg CPG_MOD 704>;
                dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
                       <&usb_dmac1 0>, <&usb_dmac1 1>;
                dma-names = "ch0", "ch1", "ch2", "ch3";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 704>;
                renesas,buswait = <4>;
                phys = <&usb0 1>;
                phy-names = "usb";
                reg = <0 0xe6590100 0 0x100>;
                #address-cells = <1>;
                #size-cells = <0>;
-               clocks = <&mstp7_clks R8A7791_CLK_HSUSB>;
+               clocks = <&cpg CPG_MOD 704>;
                clock-names = "usbhs";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 704>;
                status = "disabled";
 
                usb0: usb-channel@0 {
                compatible = "renesas,vin-r8a7791", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef0000 0 0x1000>;
                interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_VIN0>;
+               clocks = <&cpg CPG_MOD 811>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 811>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7791", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef1000 0 0x1000>;
                interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_VIN1>;
+               clocks = <&cpg CPG_MOD 810>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 810>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7791", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef2000 0 0x1000>;
                interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7791_CLK_VIN2>;
+               clocks = <&cpg CPG_MOD 809>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 809>;
                status = "disabled";
        };
 
-       vsp1@fe928000 {
+       vsp@fe928000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe928000 0 0x8000>;
                interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7791_CLK_VSP1_S>;
+               clocks = <&cpg CPG_MOD 131>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 131>;
        };
 
-       vsp1@fe930000 {
+       vsp@fe930000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe930000 0 0x8000>;
                interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7791_CLK_VSP1_DU0>;
+               clocks = <&cpg CPG_MOD 128>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 128>;
        };
 
-       vsp1@fe938000 {
+       vsp@fe938000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe938000 0 0x8000>;
                interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7791_CLK_VSP1_DU1>;
+               clocks = <&cpg CPG_MOD 127>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 127>;
        };
 
        du: display@feb00000 {
                reg-names = "du", "lvds.0";
                interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_DU0>,
-                        <&mstp7_clks R8A7791_CLK_DU1>,
-                        <&mstp7_clks R8A7791_CLK_LVDS0>;
+               clocks = <&cpg CPG_MOD 724>,
+                        <&cpg CPG_MOD 723>,
+                        <&cpg CPG_MOD 726>;
                clock-names = "du.0", "du.1", "lvds.0";
                status = "disabled";
 
                compatible = "renesas,can-r8a7791", "renesas,rcar-gen2-can";
                reg = <0 0xe6e80000 0 0x1000>;
                interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
-                        <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7791_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 916>;
                status = "disabled";
        };
 
                compatible = "renesas,can-r8a7791", "renesas,rcar-gen2-can";
                reg = <0 0xe6e88000 0 0x1000>;
                interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_RCAN1>,
-                        <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7791_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 915>;
                status = "disabled";
        };
 
                compatible = "renesas,jpu-r8a7791", "renesas,rcar-gen2-jpu";
                reg = <0 0xfe980000 0 0x10300>;
                interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7791_CLK_JPU>;
+               clocks = <&cpg CPG_MOD 106>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 106>;
        };
 
-       clocks {
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-
-               /* External root clock */
-               extal_clk: extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overriden by the board. */
-                       clock-frequency = <0>;
-               };
-
-               /*
-                * The external audio clocks are configured as 0 Hz fixed frequency clocks by
-                * default. Boards that provide audio clocks should override them.
-                */
-               audio_clk_a: audio_clk_a {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clk_b: audio_clk_b {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clk_c: audio_clk_c {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-
-               /* External PCIe clock - can be overridden by the board */
-               pcie_bus_clk: pcie_bus {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-
-               /* External SCIF clock */
-               scif_clk: scif {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /* External root clock */
+       extal_clk: extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* External USB clock - can be overridden by the board */
-               usb_extal_clk: usb_extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <48000000>;
-               };
+       /*
+        * The external audio clocks are configured as 0 Hz fixed frequency
+        * clocks by default.
+        * Boards that provide audio clocks should override them.
+        */
+       audio_clk_a: audio_clk_a {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clk_b: audio_clk_b {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clk_c: audio_clk_c {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
 
-               /* External CAN clock */
-               can_clk: can {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /* External PCIe clock - can be overridden by the board */
+       pcie_bus_clk: pcie_bus {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
 
-               /* Special CPG clocks */
-               cpg_clocks: cpg_clocks@e6150000 {
-                       compatible = "renesas,r8a7791-cpg-clocks",
-                                    "renesas,rcar-gen2-cpg-clocks";
-                       reg = <0 0xe6150000 0 0x1000>;
-                       clocks = <&extal_clk &usb_extal_clk>;
-                       #clock-cells = <1>;
-                       clock-output-names = "main", "pll0", "pll1", "pll3",
-                                            "lb", "qspi", "sdh", "sd0", "z",
-                                            "rcan", "adsp";
-                       #power-domain-cells = <0>;
-               };
+       /* External SCIF clock */
+       scif_clk: scif {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Variable factor clocks */
-               sd2_clk: sd2@e6150078 {
-                       compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150078 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               sd3_clk: sd3@e615026c {
-                       compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe615026c 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               mmc0_clk: mmc0@e6150240 {
-                       compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150240 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               ssp_clk: ssp@e6150248 {
-                       compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150248 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               ssprs_clk: ssprs@e615024c {
-                       compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe615024c 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
+       /* External USB clock - can be overridden by the board */
+       usb_extal_clk: usb_extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <48000000>;
+       };
 
-               /* Fixed factor clocks */
-               pll1_div2_clk: pll1_div2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               zg_clk: zg {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zx_clk: zx {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zs_clk: zs {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <6>;
-                       clock-mult = <1>;
-               };
-               hp_clk: hp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               i_clk: i {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               b_clk: b {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               p_clk: p {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <24>;
-                       clock-mult = <1>;
-               };
-               cl_clk: cl {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <48>;
-                       clock-mult = <1>;
-               };
-               m2_clk: m2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               rclk_clk: rclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(48 * 1024)>;
-                       clock-mult = <1>;
-               };
-               oscclk_clk: oscclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(12 * 1024)>;
-                       clock-mult = <1>;
-               };
-               zb3_clk: zb3 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <4>;
-                       clock-mult = <1>;
-               };
-               zb3d2_clk: zb3d2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               ddr_clk: ddr {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7791_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               mp_clk: mp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <15>;
-                       clock-mult = <1>;
-               };
-               cp_clk: cp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&extal_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
+       /* External CAN clock */
+       can_clk: can {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Gate clocks */
-               mstp0_clks: mstp0_clks@e6150130 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
-                       clocks = <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7791_CLK_MSIOF0>;
-                       clock-output-names = "msiof0";
-               };
-               mstp1_clks: mstp1_clks@e6150134 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&zs_clk>, <&zs_clk>, <&m2_clk>, <&zs_clk>, <&p_clk>,
-                                <&zg_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
-                                <&p_clk>, <&rclk_clk>, <&cp_clk>, <&zs_clk>, <&zs_clk>,
-                                <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_VCP0 R8A7791_CLK_VPC0 R8A7791_CLK_JPU
-                               R8A7791_CLK_SSP1 R8A7791_CLK_TMU1 R8A7791_CLK_3DG
-                               R8A7791_CLK_2DDMAC R8A7791_CLK_FDP1_1 R8A7791_CLK_FDP1_0
-                               R8A7791_CLK_TMU3 R8A7791_CLK_TMU2 R8A7791_CLK_CMT0
-                               R8A7791_CLK_TMU0 R8A7791_CLK_VSP1_DU1 R8A7791_CLK_VSP1_DU0
-                               R8A7791_CLK_VSP1_S
-                       >;
-                       clock-output-names =
-                               "vcp0", "vpc0", "jpu", "ssp1", "tmu1", "3dg",
-                               "2ddmac", "fdp1-1", "fdp1-0", "tmu3", "tmu2", "cmt0",
-                               "tmu0", "vsp1-du1", "vsp1-du0", "vsp1-sy";
-               };
-               mstp2_clks: mstp2_clks@e6150138 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_SCIFA2 R8A7791_CLK_SCIFA1 R8A7791_CLK_SCIFA0
-                               R8A7791_CLK_MSIOF2 R8A7791_CLK_SCIFB0 R8A7791_CLK_SCIFB1
-                               R8A7791_CLK_MSIOF1 R8A7791_CLK_SCIFB2
-                               R8A7791_CLK_SYS_DMAC1 R8A7791_CLK_SYS_DMAC0
-                       >;
-                       clock-output-names =
-                               "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
-                               "scifb1", "msiof1", "scifb2",
-                               "sys-dmac1", "sys-dmac0";
-               };
-               mstp3_clks: mstp3_clks@e615013c {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
-                       clocks = <&cp_clk>, <&sd3_clk>, <&sd2_clk>, <&cpg_clocks R8A7791_CLK_SD0>,
-                                <&mmc0_clk>, <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>,
-                                <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_TPU0 R8A7791_CLK_SDHI2 R8A7791_CLK_SDHI1 R8A7791_CLK_SDHI0
-                               R8A7791_CLK_MMCIF0 R8A7791_CLK_IIC0 R8A7791_CLK_PCIEC R8A7791_CLK_IIC1
-                               R8A7791_CLK_SSUSB R8A7791_CLK_CMT1
-                               R8A7791_CLK_USBDMAC0 R8A7791_CLK_USBDMAC1
-                       >;
-                       clock-output-names =
-                               "tpu0", "sdhi2", "sdhi1", "sdhi0",
-                               "mmcif0", "i2c7", "pciec", "i2c8", "ssusb", "cmt1",
-                               "usbdmac0", "usbdmac1";
-               };
-               mstp4_clks: mstp4_clks@e6150140 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
-                       clocks = <&cp_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7791_CLK_IRQC R8A7791_CLK_INTC_SYS>;
-                       clock-output-names = "irqc", "intc-sys";
-               };
-               mstp5_clks: mstp5_clks@e6150144 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
-                       clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7791_CLK_ADSP>,
-                                <&extal_clk>, <&p_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_AUDIO_DMAC0 R8A7791_CLK_AUDIO_DMAC1
-                               R8A7791_CLK_ADSP_MOD R8A7791_CLK_THERMAL
-                               R8A7791_CLK_PWM
-                       >;
-                       clock-output-names = "audmac0", "audmac1", "adsp_mod",
-                                            "thermal", "pwm";
-               };
-               mstp7_clks: mstp7_clks@e615014c {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
-                       clocks = <&mp_clk>,  <&hp_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>,
-                                <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
-                                <&zx_clk>, <&zx_clk>, <&zx_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_EHCI R8A7791_CLK_HSUSB R8A7791_CLK_HSCIF2 R8A7791_CLK_SCIF5
-                               R8A7791_CLK_SCIF4 R8A7791_CLK_HSCIF1 R8A7791_CLK_HSCIF0
-                               R8A7791_CLK_SCIF3 R8A7791_CLK_SCIF2 R8A7791_CLK_SCIF1
-                               R8A7791_CLK_SCIF0 R8A7791_CLK_DU1 R8A7791_CLK_DU0
-                               R8A7791_CLK_LVDS0
-                       >;
-                       clock-output-names =
-                               "ehci", "hsusb", "hscif2", "scif5", "scif4", "hscif1", "hscif0",
-                               "scif3", "scif2", "scif1", "scif0", "du1", "du0", "lvds0";
-               };
-               mstp8_clks: mstp8_clks@e6150990 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
-                       clocks = <&zx_clk>, <&hp_clk>, <&zg_clk>, <&zg_clk>,
-                                <&zg_clk>, <&hp_clk>, <&p_clk>, <&zs_clk>,
-                                <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_IPMMU_SGX R8A7791_CLK_MLB
-                               R8A7791_CLK_VIN2 R8A7791_CLK_VIN1 R8A7791_CLK_VIN0
-                               R8A7791_CLK_ETHERAVB R8A7791_CLK_ETHER
-                               R8A7791_CLK_SATA1 R8A7791_CLK_SATA0
-                       >;
-                       clock-output-names =
-                               "ipmmu_sgx", "mlb", "vin2", "vin1", "vin0",
-                               "etheravb", "ether", "sata1", "sata0";
-               };
-               mstp9_clks: mstp9_clks@e6150994 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
-                       clocks = <&p_clk>,
-                                <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&p_clk>, <&p_clk>, <&cpg_clocks R8A7791_CLK_QSPI>, <&hp_clk>,
-                                <&cp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>,
-                                <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_GYROADC
-                               R8A7791_CLK_GPIO7 R8A7791_CLK_GPIO6 R8A7791_CLK_GPIO5 R8A7791_CLK_GPIO4
-                               R8A7791_CLK_GPIO3 R8A7791_CLK_GPIO2 R8A7791_CLK_GPIO1 R8A7791_CLK_GPIO0
-                               R8A7791_CLK_RCAN1 R8A7791_CLK_RCAN0 R8A7791_CLK_QSPI_MOD R8A7791_CLK_I2C5
-                               R8A7791_CLK_IICDVFS R8A7791_CLK_I2C4 R8A7791_CLK_I2C3 R8A7791_CLK_I2C2
-                               R8A7791_CLK_I2C1 R8A7791_CLK_I2C0
-                       >;
-                       clock-output-names =
-                               "gyroadc",
-                               "gpio7", "gpio6", "gpio5", "gpio4", "gpio3", "gpio2", "gpio1", "gpio0",
-                               "rcan1", "rcan0", "qspi_mod", "i2c5", "i2c6", "i2c4", "i2c3", "i2c2",
-                               "i2c1", "i2c0";
-               };
-               mstp10_clks: mstp10_clks@e6150998 {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
-                       clocks = <&p_clk>,
-                               <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SSI_ALL>, <&mstp10_clks R8A7791_CLK_SSI_ALL>,
-                               <&p_clk>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7791_CLK_SCU_ALL>, <&mstp10_clks R8A7791_CLK_SCU_ALL>;
-
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_SSI_ALL
-                               R8A7791_CLK_SSI9 R8A7791_CLK_SSI8 R8A7791_CLK_SSI7 R8A7791_CLK_SSI6 R8A7791_CLK_SSI5
-                               R8A7791_CLK_SSI4 R8A7791_CLK_SSI3 R8A7791_CLK_SSI2 R8A7791_CLK_SSI1 R8A7791_CLK_SSI0
-                               R8A7791_CLK_SCU_ALL
-                               R8A7791_CLK_SCU_DVC1 R8A7791_CLK_SCU_DVC0
-                               R8A7791_CLK_SCU_CTU1_MIX1 R8A7791_CLK_SCU_CTU0_MIX0
-                               R8A7791_CLK_SCU_SRC9 R8A7791_CLK_SCU_SRC8 R8A7791_CLK_SCU_SRC7 R8A7791_CLK_SCU_SRC6 R8A7791_CLK_SCU_SRC5
-                               R8A7791_CLK_SCU_SRC4 R8A7791_CLK_SCU_SRC3 R8A7791_CLK_SCU_SRC2 R8A7791_CLK_SCU_SRC1 R8A7791_CLK_SCU_SRC0
-                       >;
-                       clock-output-names =
-                               "ssi-all",
-                               "ssi9", "ssi8", "ssi7", "ssi6", "ssi5",
-                               "ssi4", "ssi3", "ssi2", "ssi1", "ssi0",
-                               "scu-all",
-                               "scu-dvc1", "scu-dvc0",
-                               "scu-ctu1-mix1", "scu-ctu0-mix0",
-                               "scu-src9", "scu-src8", "scu-src7", "scu-src6", "scu-src5",
-                               "scu-src4", "scu-src3", "scu-src2", "scu-src1", "scu-src0";
-               };
-               mstp11_clks: mstp11_clks@e615099c {
-                       compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615099c 0 4>, <0 0xe61509ac 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7791_CLK_SCIFA3 R8A7791_CLK_SCIFA4 R8A7791_CLK_SCIFA5
-                       >;
-                       clock-output-names = "scifa3", "scifa4", "scifa5";
-               };
+       cpg: clock-controller@e6150000 {
+               compatible = "renesas,r8a7791-cpg-mssr";
+               reg = <0 0xe6150000 0 0x1000>;
+               clocks = <&extal_clk>, <&usb_extal_clk>;
+               clock-names = "extal", "usb_extal";
+               #clock-cells = <2>;
+               #power-domain-cells = <0>;
+               #reset-cells = <1>;
        };
 
        rst: reset-controller@e6160000 {
                compatible = "renesas,qspi-r8a7791", "renesas,qspi";
                reg = <0 0xe6b10000 0 0x2c>;
                interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>;
+               clocks = <&cpg CPG_MOD 917>;
                dmas = <&dmac0 0x17>, <&dmac0 0x18>,
                       <&dmac1 0x17>, <&dmac1 0x18>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 917>;
                num-cs = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6e20000 0 0x0064>;
                interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>;
+               clocks = <&cpg CPG_MOD 000>;
                dmas = <&dmac0 0x51>, <&dmac0 0x52>,
                       <&dmac1 0x51>, <&dmac1 0x52>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 0>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6e10000 0 0x0064>;
                interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_MSIOF1>;
+               clocks = <&cpg CPG_MOD 208>;
                dmas = <&dmac0 0x55>, <&dmac0 0x56>,
                       <&dmac1 0x55>, <&dmac1 0x56>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 208>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                             "renesas,rcar-gen2-msiof";
                reg = <0 0xe6e00000 0 0x0064>;
                interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7791_CLK_MSIOF2>;
+               clocks = <&cpg CPG_MOD 205>;
                dmas = <&dmac0 0x41>, <&dmac0 0x42>,
                       <&dmac1 0x41>, <&dmac1 0x42>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 205>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                compatible = "renesas,xhci-r8a7791", "renesas,rcar-gen2-xhci";
                reg = <0 0xee000000 0 0xc00>;
                interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_SSUSB>;
+               clocks = <&cpg CPG_MOD 328>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 328>;
                phys = <&usb2 1>;
                phy-names = "usb";
                status = "disabled";
                reg = <0 0xee090000 0 0xc00>,
                      <0 0xee080000 0 0x1100>;
                interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                status = "disabled";
 
                bus-range = <0 0>;
                reg = <0 0xee0d0000 0 0xc00>,
                      <0 0xee0c0000 0 0x1100>;
                interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7791_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                status = "disabled";
 
                bus-range = <1 1>;
                #interrupt-cells = <1>;
                interrupt-map-mask = <0 0 0 0>;
                interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7791_CLK_PCIEC>, <&pcie_bus_clk>;
+               clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
                clock-names = "pcie", "pcie_bus";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 319>;
                status = "disabled";
        };
 
                        <0 0xec740000 0 0x200>;  /* Audio DMAC peri peri*/
                reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
 
-               clocks = <&mstp10_clks R8A7791_CLK_SSI_ALL>,
-                       <&mstp10_clks R8A7791_CLK_SSI9>, <&mstp10_clks R8A7791_CLK_SSI8>,
-                       <&mstp10_clks R8A7791_CLK_SSI7>, <&mstp10_clks R8A7791_CLK_SSI6>,
-                       <&mstp10_clks R8A7791_CLK_SSI5>, <&mstp10_clks R8A7791_CLK_SSI4>,
-                       <&mstp10_clks R8A7791_CLK_SSI3>, <&mstp10_clks R8A7791_CLK_SSI2>,
-                       <&mstp10_clks R8A7791_CLK_SSI1>, <&mstp10_clks R8A7791_CLK_SSI0>,
-                       <&mstp10_clks R8A7791_CLK_SCU_SRC9>, <&mstp10_clks R8A7791_CLK_SCU_SRC8>,
-                       <&mstp10_clks R8A7791_CLK_SCU_SRC7>, <&mstp10_clks R8A7791_CLK_SCU_SRC6>,
-                       <&mstp10_clks R8A7791_CLK_SCU_SRC5>, <&mstp10_clks R8A7791_CLK_SCU_SRC4>,
-                       <&mstp10_clks R8A7791_CLK_SCU_SRC3>, <&mstp10_clks R8A7791_CLK_SCU_SRC2>,
-                       <&mstp10_clks R8A7791_CLK_SCU_SRC1>, <&mstp10_clks R8A7791_CLK_SCU_SRC0>,
-                       <&mstp10_clks R8A7791_CLK_SCU_CTU0_MIX0>, <&mstp10_clks R8A7791_CLK_SCU_CTU1_MIX1>,
-                       <&mstp10_clks R8A7791_CLK_SCU_CTU0_MIX0>, <&mstp10_clks R8A7791_CLK_SCU_CTU1_MIX1>,
-                       <&mstp10_clks R8A7791_CLK_SCU_DVC0>, <&mstp10_clks R8A7791_CLK_SCU_DVC1>,
-                       <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>;
+               clocks = <&cpg CPG_MOD 1005>,
+                        <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
+                        <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
+                        <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
+                        <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
+                        <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
+                        <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
+                        <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
+                        <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
+                        <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
+                        <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
+                        <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
+                        <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
+                        <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
+                        <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
+                        <&cpg CPG_CORE R8A7791_CLK_M2>;
                clock-names = "ssi-all",
                                "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
                                "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
                                "dvc.0", "dvc.1",
                                "clk_a", "clk_b", "clk_c", "clk_i";
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
+               resets = <&cpg 1005>,
+                        <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
+                        <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
+                        <&cpg 1014>, <&cpg 1015>;
+               reset-names = "ssi-all",
+                             "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
+                             "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
 
                status = "disabled";
 
index f3ea43b7b7243127b36cb783eb2ad082598fb5e2..9b67dca6c9ef550d49e2224c880c61eb5925f568 100644 (file)
        pinctrl-0 = <&du0_pins &du1_pins>;
        pinctrl-names = "default";
 
-       clocks = <&mstp7_clks R8A7792_CLK_DU0>, <&mstp7_clks R8A7792_CLK_DU1>,
-                <&x1_clk>, <&x2_clk>;
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
        clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
        status = "okay";
 
index c24f26fdab1f8c1e67a186acb373b0cce3f52ada..b9471b67b72829de871def622002bcaf6ddbed8e 100644 (file)
        pinctrl-0 = <&du0_pins &du1_pins>;
        pinctrl-names = "default";
 
-       clocks = <&mstp7_clks R8A7792_CLK_DU0>, <&mstp7_clks R8A7792_CLK_DU1>,
-                <&osc2_clk>;
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>;
        clock-names = "du.0", "du.1", "dclkin.0";
        status = "okay";
 
index 2623f39bed2b73bb6f180a72e89586702a90f2cc..131f65b0426ea317ccfa4fa8fed0b015611bd48c 100644 (file)
@@ -8,7 +8,7 @@
  * kind, whether express or implied.
  */
 
-#include <dt-bindings/clock/r8a7792-clock.h>
+#include <dt-bindings/clock/r8a7792-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/power/r8a7792-sysc.h>
@@ -46,7 +46,7 @@
                        compatible = "arm,cortex-a15";
                        reg = <0>;
                        clock-frequency = <1000000000>;
-                       clocks = <&z_clk>;
+                       clocks = <&cpg CPG_CORE R8A7792_CLK_Z>;
                        power-domains = <&sysc R8A7792_PD_CA15_CPU0>;
                        next-level-cache = <&L2_CA15>;
                };
@@ -56,6 +56,7 @@
                        compatible = "arm,cortex-a15";
                        reg = <1>;
                        clock-frequency = <1000000000>;
+                       clocks = <&cpg CPG_CORE R8A7792_CLK_Z>;
                        power-domains = <&sysc R8A7792_PD_CA15_CPU1>;
                        next-level-cache = <&L2_CA15>;
                };
                              <0 0xf1006000 0 0x2000>;
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
                                      IRQ_TYPE_LEVEL_HIGH)>;
-                       clocks = <&mstp4_clks R8A7792_CLK_INTC_SYS>;
+                       clocks = <&cpg CPG_MOD 408>;
                        clock-names = "clk";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 408>;
                };
 
                irqc: interrupt-controller@e61c0000 {
                                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp4_clks R8A7792_CLK_IRQC>;
+                       clocks = <&cpg CPG_MOD 407>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 407>;
                };
 
                timer {
 
                gpio0: gpio@e6050000 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6050000 0 0x50>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 0 29>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO0>;
+                       clocks = <&cpg CPG_MOD 912>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 912>;
                };
 
                gpio1: gpio@e6051000 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6051000 0 0x50>;
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 32 23>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO1>;
+                       clocks = <&cpg CPG_MOD 911>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 911>;
                };
 
                gpio2: gpio@e6052000 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6052000 0 0x50>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 64 32>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO2>;
+                       clocks = <&cpg CPG_MOD 910>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 910>;
                };
 
                gpio3: gpio@e6053000 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6053000 0 0x50>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 96 28>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO3>;
+                       clocks = <&cpg CPG_MOD 909>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 909>;
                };
 
                gpio4: gpio@e6054000 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6054000 0 0x50>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 128 17>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO4>;
+                       clocks = <&cpg CPG_MOD 908>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 908>;
                };
 
                gpio5: gpio@e6055000 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055000 0 0x50>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 160 17>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO5>;
+                       clocks = <&cpg CPG_MOD 907>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 907>;
                };
 
                gpio6: gpio@e6055100 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055100 0 0x50>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 192 17>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO6>;
+                       clocks = <&cpg CPG_MOD 905>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 905>;
                };
 
                gpio7: gpio@e6055200 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055200 0 0x50>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 224 17>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO7>;
+                       clocks = <&cpg CPG_MOD 904>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 904>;
                };
 
                gpio8: gpio@e6055300 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055300 0 0x50>;
                        interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 256 17>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO8>;
+                       clocks = <&cpg CPG_MOD 921>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 921>;
                };
 
                gpio9: gpio@e6055400 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055400 0 0x50>;
                        interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 288 17>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO9>;
+                       clocks = <&cpg CPG_MOD 919>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 919>;
                };
 
                gpio10: gpio@e6055500 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055500 0 0x50>;
                        interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 320 32>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO10>;
+                       clocks = <&cpg CPG_MOD 914>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 914>;
                };
 
                gpio11: gpio@e6055600 {
                        compatible = "renesas,gpio-r8a7792",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen2-gpio";
                        reg = <0 0xe6055600 0 0x50>;
                        interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        gpio-ranges = <&pfc 0 352 30>;
                        #interrupt-cells = <2>;
                        interrupt-controller;
-                       clocks = <&mstp9_clks R8A7792_CLK_GPIO11>;
+                       clocks = <&cpg CPG_MOD 913>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 913>;
                };
 
                dmac0: dma-controller@e6700000 {
                                          "ch4", "ch5", "ch6", "ch7",
                                          "ch8", "ch9", "ch10", "ch11",
                                          "ch12", "ch13", "ch14";
-                       clocks = <&mstp2_clks R8A7792_CLK_SYS_DMAC0>;
+                       clocks = <&cpg CPG_MOD 219>;
                        clock-names = "fck";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 219>;
                        #dma-cells = <1>;
                        dma-channels = <15>;
                };
                                          "ch4", "ch5", "ch6", "ch7",
                                          "ch8", "ch9", "ch10", "ch11",
                                          "ch12", "ch13", "ch14";
-                       clocks = <&mstp2_clks R8A7792_CLK_SYS_DMAC1>;
+                       clocks = <&cpg CPG_MOD 218>;
                        clock-names = "fck";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 218>;
                        #dma-cells = <1>;
                        dma-channels = <15>;
                };
                                     "renesas,rcar-gen2-scif", "renesas,scif";
                        reg = <0 0xe6e60000 0 64>;
                        interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_SCIF0>, <&zs_clk>,
-                                <&scif_clk>;
+                       clocks = <&cpg CPG_MOD 721>,
+                                <&cpg CPG_CORE R8A7792_CLK_ZS>, <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
                        dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
                               <&dmac1 0x29>, <&dmac1 0x2a>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 721>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-scif", "renesas,scif";
                        reg = <0 0xe6e68000 0 64>;
                        interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_SCIF1>, <&zs_clk>,
-                                <&scif_clk>;
+                       clocks = <&cpg CPG_MOD 720>,
+                                <&cpg CPG_CORE R8A7792_CLK_ZS>, <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
                        dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
                               <&dmac1 0x2d>, <&dmac1 0x2e>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 720>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-scif", "renesas,scif";
                        reg = <0 0xe6e58000 0 64>;
                        interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_SCIF2>, <&zs_clk>,
-                                <&scif_clk>;
+                       clocks = <&cpg CPG_MOD 719>,
+                                <&cpg CPG_CORE R8A7792_CLK_ZS>, <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
                        dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
                               <&dmac1 0x2b>, <&dmac1 0x2c>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 719>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-scif", "renesas,scif";
                        reg = <0 0xe6ea8000 0 64>;
                        interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_SCIF3>, <&zs_clk>,
-                                <&scif_clk>;
+                       clocks = <&cpg CPG_MOD 718>,
+                                <&cpg CPG_CORE R8A7792_CLK_ZS>, <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
                        dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
                               <&dmac1 0x2f>, <&dmac1 0x30>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 718>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-hscif", "renesas,hscif";
                        reg = <0 0xe62c0000 0 96>;
                        interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_HSCIF0>, <&zs_clk>,
-                                <&scif_clk>;
+                       clocks = <&cpg CPG_MOD 717>,
+                                <&cpg CPG_CORE R8A7792_CLK_ZS>, <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
                        dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
                               <&dmac1 0x39>, <&dmac1 0x3a>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 717>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-hscif", "renesas,hscif";
                        reg = <0 0xe62c8000 0 96>;
                        interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_HSCIF1>, <&zs_clk>,
-                                <&scif_clk>;
+                       clocks = <&cpg CPG_MOD 716>,
+                                <&cpg CPG_CORE R8A7792_CLK_ZS>, <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
                        dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
                               <&dmac1 0x4d>, <&dmac1 0x4e>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 716>;
                        status = "disabled";
                };
 
                        dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                               <&dmac1 0xcd>, <&dmac1 0xce>;
                        dma-names = "tx", "rx", "tx", "rx";
-                       clocks = <&mstp3_clks R8A7792_CLK_SDHI0>;
+                       clocks = <&cpg CPG_MOD 314>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 314>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-jpu";
                        reg = <0 0xfe980000 0 0x10300>;
                        interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp1_clks R8A7792_CLK_JPU>;
+                       clocks = <&cpg CPG_MOD 106>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 106>;
                };
 
                avb: ethernet@e6800000 {
                                     "renesas,etheravb-rcar-gen2";
                        reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
                        interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_ETHERAVB>;
+                       clocks = <&cpg CPG_MOD 812>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 812>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                                     "renesas,rcar-gen2-i2c";
                        reg = <0 0xe6508000 0 0x40>;
                        interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_I2C0>;
+                       clocks = <&cpg CPG_MOD 931>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 931>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                                     "renesas,rcar-gen2-i2c";
                        reg = <0 0xe6518000 0 0x40>;
                        interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_I2C1>;
+                       clocks = <&cpg CPG_MOD 930>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 930>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                                     "renesas,rcar-gen2-i2c";
                        reg = <0 0xe6530000 0 0x40>;
                        interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_I2C2>;
+                       clocks = <&cpg CPG_MOD 929>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 929>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                                     "renesas,rcar-gen2-i2c";
                        reg = <0 0xe6540000 0 0x40>;
                        interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_I2C3>;
+                       clocks = <&cpg CPG_MOD 928>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 928>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                                     "renesas,rcar-gen2-i2c";
                        reg = <0 0xe6520000 0 0x40>;
                        interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_I2C4>;
+                       clocks = <&cpg CPG_MOD 927>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 927>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                                     "renesas,rcar-gen2-i2c";
                        reg = <0 0xe6528000 0 0x40>;
                        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_I2C5>;
+                       clocks = <&cpg CPG_MOD 925>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 925>;
                        i2c-scl-internal-delay-ns = <110>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "renesas,qspi-r8a7792", "renesas,qspi";
                        reg = <0 0xe6b10000 0 0x2c>;
                        interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_QSPI_MOD>;
+                       clocks = <&cpg CPG_MOD 917>;
                        dmas = <&dmac0 0x17>, <&dmac0 0x18>,
                               <&dmac1 0x17>, <&dmac1 0x18>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 917>;
                        num-cs = <1>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                                     "renesas,rcar-gen2-msiof";
                        reg = <0 0xe6e20000 0 0x0064>;
                        interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp0_clks R8A7792_CLK_MSIOF0>;
+                       clocks = <&cpg CPG_MOD 000>;
                        dmas = <&dmac0 0x51>, <&dmac0 0x52>,
                               <&dmac1 0x51>, <&dmac1 0x52>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 000>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                                     "renesas,rcar-gen2-msiof";
                        reg = <0 0xe6e10000 0 0x0064>;
                        interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp2_clks R8A7792_CLK_MSIOF1>;
+                       clocks = <&cpg CPG_MOD 208>;
                        dmas = <&dmac0 0x55>, <&dmac0 0x56>,
                               <&dmac1 0x55>, <&dmac1 0x56>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 208>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                        reg-names = "du";
                        interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp7_clks R8A7792_CLK_DU0>,
-                                <&mstp7_clks R8A7792_CLK_DU1>;
+                       clocks = <&cpg CPG_MOD 724>,
+                                <&cpg CPG_MOD 723>;
                        clock-names = "du.0", "du.1";
                        status = "disabled";
 
                                     "renesas,rcar-gen2-can";
                        reg = <0 0xe6e80000 0 0x1000>;
                        interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_CAN0>,
-                                <&rcan_clk>, <&can_clk>;
+                       clocks = <&cpg CPG_MOD 916>,
+                                <&cpg CPG_CORE R8A7792_CLK_RCAN>, <&can_clk>;
                        clock-names = "clkp1", "clkp2", "can_clk";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 916>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-can";
                        reg = <0 0xe6e88000 0 0x1000>;
                        interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp9_clks R8A7792_CLK_CAN1>,
-                                <&rcan_clk>, <&can_clk>;
+                       clocks = <&cpg CPG_MOD 915>,
+                                <&cpg CPG_CORE R8A7792_CLK_RCAN>, <&can_clk>;
                        clock-names = "clkp1", "clkp2", "can_clk";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 915>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-vin";
                        reg = <0 0xe6ef0000 0 0x1000>;
                        interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_VIN0>;
+                       clocks = <&cpg CPG_MOD 811>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 811>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-vin";
                        reg = <0 0xe6ef1000 0 0x1000>;
                        interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_VIN1>;
+                       clocks = <&cpg CPG_MOD 810>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 810>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-vin";
                        reg = <0 0xe6ef2000 0 0x1000>;
                        interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_VIN2>;
+                       clocks = <&cpg CPG_MOD 809>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 809>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-vin";
                        reg = <0 0xe6ef3000 0 0x1000>;
                        interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_VIN3>;
+                       clocks = <&cpg CPG_MOD 808>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 808>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-vin";
                        reg = <0 0xe6ef4000 0 0x1000>;
                        interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_VIN4>;
+                       clocks = <&cpg CPG_MOD 805>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 805>;
                        status = "disabled";
                };
 
                                     "renesas,rcar-gen2-vin";
                        reg = <0 0xe6ef5000 0 0x1000>;
                        interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp8_clks R8A7792_CLK_VIN5>;
+                       clocks = <&cpg CPG_MOD 804>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 804>;
                        status = "disabled";
                };
 
-               vsp1@fe928000 {
+               vsp@fe928000 {
                        compatible = "renesas,vsp1";
                        reg = <0 0xfe928000 0 0x8000>;
                        interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp1_clks R8A7792_CLK_VSP1_SY>;
+                       clocks = <&cpg CPG_MOD 131>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 131>;
                };
 
-               vsp1@fe930000 {
+               vsp@fe930000 {
                        compatible = "renesas,vsp1";
                        reg = <0 0xfe930000 0 0x8000>;
                        interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp1_clks R8A7792_CLK_VSP1DU0>;
+                       clocks = <&cpg CPG_MOD 128>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 128>;
                };
 
-               vsp1@fe938000 {
+               vsp@fe938000 {
                        compatible = "renesas,vsp1";
                        reg = <0 0xfe938000 0 0x8000>;
                        interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&mstp1_clks R8A7792_CLK_VSP1DU1>;
+                       clocks = <&cpg CPG_MOD 127>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 127>;
                };
 
-               /* Special CPG clocks */
-               cpg_clocks: cpg_clocks@e6150000 {
-                       compatible = "renesas,r8a7792-cpg-clocks",
-                                    "renesas,rcar-gen2-cpg-clocks";
+               cpg: clock-controller@e6150000 {
+                       compatible = "renesas,r8a7792-cpg-mssr";
                        reg = <0 0xe6150000 0 0x1000>;
                        clocks = <&extal_clk>;
-                       #clock-cells = <1>;
-                       clock-output-names = "main", "pll0", "pll1", "pll3",
-                                            "lb", "qspi";
+                       clock-names = "extal";
+                       #clock-cells = <2>;
                        #power-domain-cells = <0>;
                };
-
-               /* Fixed factor clocks */
-               pll1_div2_clk: pll1_div2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               z_clk: z {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL0>;
-                       #clock-cells = <0>;
-                       clock-div = <1>;
-                       clock-mult = <1>;
-               };
-               zx_clk: zx {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zs_clk: zs {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <6>;
-                       clock-mult = <1>;
-               };
-               hp_clk: hp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               p_clk: p {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <24>;
-                       clock-mult = <1>;
-               };
-               cp_clk: cp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <48>;
-                       clock-mult = <1>;
-               };
-               mp_clk: mp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <15>;
-                       clock-mult = <1>;
-               };
-               m2_clk: m2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               sd_clk: sd {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               rcan_clk: rcan {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <49>;
-                       clock-mult = <1>;
-               };
-               zg_clk: zg {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <5>;
-                       clock-mult = <1>;
-               };
-
-               /* Gate clocks */
-               mstp0_clks: mstp0_clks@e6150130 {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
-                       clocks = <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7792_CLK_MSIOF0>;
-                       clock-output-names = "msiof0";
-               };
-               mstp1_clks: mstp1_clks@e6150134 {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&m2_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7792_CLK_JPU
-                               R8A7792_CLK_VSP1DU1 R8A7792_CLK_VSP1DU0
-                               R8A7792_CLK_VSP1_SY
-                       >;
-                       clock-output-names = "jpu", "vsp1du1", "vsp1du0",
-                                            "vsp1-sy";
-               };
-               mstp2_clks: mstp2_clks@e6150138 {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
-                       clocks = <&mp_clk>, <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7792_CLK_MSIOF1
-                               R8A7792_CLK_SYS_DMAC1 R8A7792_CLK_SYS_DMAC0
-                       >;
-                       clock-output-names = "msiof1", "sys-dmac1", "sys-dmac0";
-               };
-               mstp3_clks: mstp3_clks@e615013c {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
-                       clocks = <&sd_clk>;
-                       #clock-cells = <1>;
-                       renesas,clock-indices = <R8A7792_CLK_SDHI0>;
-                       clock-output-names = "sdhi0";
-               };
-               mstp4_clks: mstp4_clks@e6150140 {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
-                       clocks = <&cp_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7792_CLK_IRQC R8A7792_CLK_INTC_SYS
-                       >;
-                       clock-output-names = "irqc", "intc-sys";
-               };
-               mstp7_clks: mstp7_clks@e615014c {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
-                       clocks = <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>,
-                                <&p_clk>, <&p_clk>, <&zx_clk>, <&zx_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7792_CLK_HSCIF1 R8A7792_CLK_HSCIF0
-                               R8A7792_CLK_SCIF3 R8A7792_CLK_SCIF2
-                               R8A7792_CLK_SCIF1 R8A7792_CLK_SCIF0
-                               R8A7792_CLK_DU1 R8A7792_CLK_DU0
-                       >;
-                       clock-output-names = "hscif1", "hscif0", "scif3",
-                                            "scif2", "scif1", "scif0",
-                                            "du1", "du0";
-               };
-               mstp8_clks: mstp8_clks@e6150990 {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
-                       clocks = <&zg_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>,
-                                <&zg_clk>, <&zg_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7792_CLK_VIN5 R8A7792_CLK_VIN4
-                               R8A7792_CLK_VIN3 R8A7792_CLK_VIN2
-                               R8A7792_CLK_VIN1 R8A7792_CLK_VIN0
-                               R8A7792_CLK_ETHERAVB
-                       >;
-                       clock-output-names = "vin5", "vin4", "vin3", "vin2",
-                                            "vin1", "vin0", "etheravb";
-               };
-               mstp9_clks: mstp9_clks@e6150994 {
-                       compatible = "renesas,r8a7792-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
-                       clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&cp_clk>, <&cp_clk>, <&p_clk>, <&p_clk>,
-                                <&cpg_clocks R8A7792_CLK_QSPI>,
-                                <&cp_clk>, <&cp_clk>, <&hp_clk>, <&hp_clk>,
-                                <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7792_CLK_GPIO7 R8A7792_CLK_GPIO6
-                               R8A7792_CLK_GPIO5 R8A7792_CLK_GPIO4
-                               R8A7792_CLK_GPIO3 R8A7792_CLK_GPIO2
-                               R8A7792_CLK_GPIO1 R8A7792_CLK_GPIO0
-                               R8A7792_CLK_GPIO11 R8A7792_CLK_GPIO10
-                               R8A7792_CLK_CAN1 R8A7792_CLK_CAN0
-                               R8A7792_CLK_QSPI_MOD
-                               R8A7792_CLK_GPIO9 R8A7792_CLK_GPIO8
-                               R8A7792_CLK_I2C5 R8A7792_CLK_I2C4
-                               R8A7792_CLK_I2C3 R8A7792_CLK_I2C2
-                               R8A7792_CLK_I2C1 R8A7792_CLK_I2C0
-                       >;
-                       clock-output-names =
-                               "gpio7", "gpio6", "gpio5", "gpio4",
-                               "gpio3", "gpio2", "gpio1", "gpio0",
-                               "gpio11", "gpio10", "can1", "can0",
-                               "qspi_mod", "gpio9", "gpio8",
-                               "i2c5", "i2c4", "i2c3", "i2c2",
-                               "i2c1", "i2c0";
-               };
        };
 
        /* External root clock */
index 76e3aca2029e5f66de3263a1bf5273a0e5b119b0..51b3ffac8efaad1dbdc53ebe220f59c194f8585e 100644 (file)
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&mstp7_clks R8A7793_CLK_DU0>,
-                <&mstp7_clks R8A7793_CLK_DU1>,
-                <&mstp7_clks R8A7793_CLK_LVDS0>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
                 <&x13_clk>, <&x2_clk>;
        clock-names = "du.0", "du.1", "lvds.0",
                      "dclkin.0", "dclkin.1";
index 497716b6fbe2416423b53b2fd3be3303bc60c92c..58eae569b4e0e3f0920f0e8d0cb4a19cd752d1fd 100644 (file)
@@ -8,7 +8,7 @@
  * kind, whether express or implied.
  */
 
-#include <dt-bindings/clock/r8a7793-clock.h>
+#include <dt-bindings/clock/r8a7793-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/power/r8a7793-sysc.h>
@@ -43,7 +43,7 @@
                        reg = <0>;
                        clock-frequency = <1500000000>;
                        voltage-tolerance = <1>; /* 1% */
-                       clocks = <&cpg_clocks R8A7793_CLK_Z>;
+                       clocks = <&cpg CPG_CORE R8A7793_CLK_Z>;
                        clock-latency = <300000>; /* 300 us */
                        power-domains = <&sysc R8A7793_PD_CA15_CPU0>;
 
@@ -62,6 +62,7 @@
                        compatible = "arm,cortex-a15";
                        reg = <1>;
                        clock-frequency = <1500000000>;
+                       clocks = <&cpg CPG_CORE R8A7793_CLK_Z>;
                        power-domains = <&sysc R8A7793_PD_CA15_CPU1>;
                };
 
                        <0 0xf1004000 0 0x2000>,
                        <0 0xf1006000 0 0x2000>;
                interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
-               clocks = <&mstp4_clks R8A7793_CLK_INTC_SYS>;
+               clocks = <&cpg CPG_MOD 408>;
                clock-names = "clk";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 408>;
        };
 
        gpio0: gpio@e6050000 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6050000 0 0x50>;
                interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 0 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO0>;
+               clocks = <&cpg CPG_MOD 912>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 912>;
        };
 
        gpio1: gpio@e6051000 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6051000 0 0x50>;
                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 32 26>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO1>;
+               clocks = <&cpg CPG_MOD 911>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 911>;
        };
 
        gpio2: gpio@e6052000 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6052000 0 0x50>;
                interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 64 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO2>;
+               clocks = <&cpg CPG_MOD 910>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 910>;
        };
 
        gpio3: gpio@e6053000 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6053000 0 0x50>;
                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 96 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO3>;
+               clocks = <&cpg CPG_MOD 909>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 909>;
        };
 
        gpio4: gpio@e6054000 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6054000 0 0x50>;
                interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 128 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO4>;
+               clocks = <&cpg CPG_MOD 908>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 908>;
        };
 
        gpio5: gpio@e6055000 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055000 0 0x50>;
                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 160 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO5>;
+               clocks = <&cpg CPG_MOD 907>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 907>;
        };
 
        gpio6: gpio@e6055400 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055400 0 0x50>;
                interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 192 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO6>;
+               clocks = <&cpg CPG_MOD 905>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 905>;
        };
 
        gpio7: gpio@e6055800 {
-               compatible = "renesas,gpio-r8a7793", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055800 0 0x50>;
                interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 224 26>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7793_CLK_GPIO7>;
+               clocks = <&cpg CPG_MOD 904>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 904>;
        };
 
        thermal: thermal@e61f0000 {
                                "renesas,rcar-thermal";
                reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
                interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp5_clks R8A7793_CLK_THERMAL>;
+               clocks = <&cpg CPG_MOD 522>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 522>;
                #thermal-sensor-cells = <0>;
        };
 
                reg = <0 0xffca0000 0 0x1004>;
                interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7793_CLK_CMT0>;
+               clocks = <&cpg CPG_MOD 124>;
                clock-names = "fck";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 124>;
 
                renesas,channels-mask = <0x60>;
 
                             <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_CMT1>;
+               clocks = <&cpg CPG_MOD 329>;
                clock-names = "fck";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 329>;
 
                renesas,channels-mask = <0xff>;
 
                             <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp4_clks R8A7793_CLK_IRQC>;
+               clocks = <&cpg CPG_MOD 407>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 407>;
        };
 
        dmac0: dma-controller@e6700000 {
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7793_CLK_SYS_DMAC0>;
+               clocks = <&cpg CPG_MOD 219>;
                clock-names = "fck";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 219>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7793_CLK_SYS_DMAC1>;
+               clocks = <&cpg CPG_MOD 218>;
                clock-names = "fck";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 218>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12";
-               clocks = <&mstp5_clks R8A7793_CLK_AUDIO_DMAC0>;
+               clocks = <&cpg CPG_MOD 502>;
                clock-names = "fck";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 502>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12";
-               clocks = <&mstp5_clks R8A7793_CLK_AUDIO_DMAC1>;
+               clocks = <&cpg CPG_MOD 501>;
                clock-names = "fck";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 501>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6508000 0 0x40>;
                interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_I2C0>;
+               clocks = <&cpg CPG_MOD 931>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 931>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6518000 0 0x40>;
                interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_I2C1>;
+               clocks = <&cpg CPG_MOD 930>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 930>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6530000 0 0x40>;
                interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_I2C2>;
+               clocks = <&cpg CPG_MOD 929>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 929>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6540000 0 0x40>;
                interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_I2C3>;
+               clocks = <&cpg CPG_MOD 928>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 928>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6520000 0 0x40>;
                interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_I2C4>;
+               clocks = <&cpg CPG_MOD 927>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 927>;
                i2c-scl-internal-delay-ns = <6>;
                status = "disabled";
        };
                compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6528000 0 0x40>;
                interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_I2C5>;
+               clocks = <&cpg CPG_MOD 925>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 925>;
                i2c-scl-internal-delay-ns = <110>;
                status = "disabled";
        };
                             "renesas,rmobile-iic";
                reg = <0 0xe60b0000 0 0x425>;
                interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_IICDVFS>;
+               clocks = <&cpg CPG_MOD 926>;
                dmas = <&dmac0 0x77>, <&dmac0 0x78>,
                       <&dmac1 0x77>, <&dmac1 0x78>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 926>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe6500000 0 0x425>;
                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_IIC0>;
+               clocks = <&cpg CPG_MOD 318>;
                dmas = <&dmac0 0x61>, <&dmac0 0x62>,
                       <&dmac1 0x61>, <&dmac1 0x62>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 318>;
                status = "disabled";
        };
 
                             "renesas,rmobile-iic";
                reg = <0 0xe6510000 0 0x425>;
                interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_IIC1>;
+               clocks = <&cpg CPG_MOD 323>;
                dmas = <&dmac0 0x65>, <&dmac0 0x66>,
                       <&dmac1 0x65>, <&dmac1 0x66>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 323>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7793";
                reg = <0 0xee100000 0 0x328>;
                interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_SDHI0>;
+               clocks = <&cpg CPG_MOD 314>;
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                       <&dmac1 0xcd>, <&dmac1 0xce>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <195000000>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 314>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7793";
                reg = <0 0xee140000 0 0x100>;
                interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_SDHI1>;
+               clocks = <&cpg CPG_MOD 312>;
                dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
                       <&dmac1 0xc1>, <&dmac1 0xc2>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 312>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7793";
                reg = <0 0xee160000 0 0x100>;
                interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_SDHI2>;
+               clocks = <&cpg CPG_MOD 311>;
                dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
                       <&dmac1 0xd3>, <&dmac1 0xd4>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 311>;
                status = "disabled";
        };
 
                compatible = "renesas,mmcif-r8a7793", "renesas,sh-mmcif";
                reg = <0 0xee200000 0 0x80>;
                interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7793_CLK_MMCIF0>;
+               clocks = <&cpg CPG_MOD 315>;
                dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
                       <&dmac1 0xd1>, <&dmac1 0xd2>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 315>;
                reg-io-width = <4>;
                status = "disabled";
                max-frequency = <97500000>;
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c40000 0 64>;
                interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7793_CLK_SCIFA0>;
+               clocks = <&cpg CPG_MOD 204>;
                clock-names = "fck";
                dmas = <&dmac0 0x21>, <&dmac0 0x22>,
                       <&dmac1 0x21>, <&dmac1 0x22>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 204>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c50000 0 64>;
                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7793_CLK_SCIFA1>;
+               clocks = <&cpg CPG_MOD 203>;
                clock-names = "fck";
                dmas = <&dmac0 0x25>, <&dmac0 0x26>,
                       <&dmac1 0x25>, <&dmac1 0x26>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 203>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c60000 0 64>;
                interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7793_CLK_SCIFA2>;
+               clocks = <&cpg CPG_MOD 202>;
                clock-names = "fck";
                dmas = <&dmac0 0x27>, <&dmac0 0x28>,
                       <&dmac1 0x27>, <&dmac1 0x28>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 202>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c70000 0 64>;
                interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7793_CLK_SCIFA3>;
+               clocks = <&cpg CPG_MOD 1106>;
                clock-names = "fck";
                dmas = <&dmac0 0x1b>, <&dmac0 0x1c>,
                       <&dmac1 0x1b>, <&dmac1 0x1c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 1106>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c78000 0 64>;
                interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7793_CLK_SCIFA4>;
+               clocks = <&cpg CPG_MOD 1107>;
                clock-names = "fck";
                dmas = <&dmac0 0x1f>, <&dmac0 0x20>,
                       <&dmac1 0x1f>, <&dmac1 0x20>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 1107>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c80000 0 64>;
                interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7793_CLK_SCIFA5>;
+               clocks = <&cpg CPG_MOD 1108>;
                clock-names = "fck";
                dmas = <&dmac0 0x23>, <&dmac0 0x24>,
                       <&dmac1 0x23>, <&dmac1 0x24>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 1108>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7793_CLK_SCIFB0>;
+               clocks = <&cpg CPG_MOD 206>;
                clock-names = "fck";
                dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
                       <&dmac1 0x3d>, <&dmac1 0x3e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 206>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7793_CLK_SCIFB1>;
+               clocks = <&cpg CPG_MOD 207>;
                clock-names = "fck";
                dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
                       <&dmac1 0x19>, <&dmac1 0x1a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 207>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7793_CLK_SCIFB2>;
+               clocks = <&cpg CPG_MOD 216>;
                clock-names = "fck";
                dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
                       <&dmac1 0x1d>, <&dmac1 0x1e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 216>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e60000 0 64>;
                interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_SCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
                       <&dmac1 0x29>, <&dmac1 0x2a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 721>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e68000 0 64>;
                interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_SCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
                       <&dmac1 0x2d>, <&dmac1 0x2e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 720>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e58000 0 64>;
                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_SCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
                       <&dmac1 0x2b>, <&dmac1 0x2c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 719>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ea8000 0 64>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_SCIF3>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
                       <&dmac1 0x2f>, <&dmac1 0x30>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 718>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ee0000 0 64>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_SCIF4>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0xfb>, <&dmac0 0xfc>,
                       <&dmac1 0xfb>, <&dmac1 0xfc>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 715>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ee8000 0 64>;
                interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_SCIF5>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0xfd>, <&dmac0 0xfe>,
                       <&dmac1 0xfd>, <&dmac1 0xfe>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 714>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c0000 0 96>;
                interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_HSCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
                       <&dmac1 0x39>, <&dmac1 0x3a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 717>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c8000 0 96>;
                interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_HSCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
                       <&dmac1 0x4d>, <&dmac1 0x4e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 716>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62d0000 0 96>;
                interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_HSCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x3b>, <&dmac0 0x3c>,
                       <&dmac1 0x3b>, <&dmac1 0x3c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 713>;
                status = "disabled";
        };
 
                compatible = "renesas,ether-r8a7793";
                reg = <0 0xee700000 0 0x400>;
                interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7793_CLK_ETHER>;
+               clocks = <&cpg CPG_MOD 813>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 813>;
                phy-mode = "rmii";
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef0000 0 0x1000>;
                interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7793_CLK_VIN0>;
+               clocks = <&cpg CPG_MOD 811>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 811>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef1000 0 0x1000>;
                interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7793_CLK_VIN1>;
+               clocks = <&cpg CPG_MOD 810>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 810>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef2000 0 0x1000>;
                interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7793_CLK_VIN2>;
+               clocks = <&cpg CPG_MOD 809>;
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 809>;
                status = "disabled";
        };
 
                compatible = "renesas,qspi-r8a7793", "renesas,qspi";
                reg = <0 0xe6b10000 0 0x2c>;
                interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_QSPI_MOD>;
+               clocks = <&cpg CPG_MOD 917>;
                dmas = <&dmac0 0x17>, <&dmac0 0x18>,
                       <&dmac1 0x17>, <&dmac1 0x18>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 917>;
                num-cs = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
                reg-names = "du", "lvds.0";
                interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7793_CLK_DU0>,
-                        <&mstp7_clks R8A7793_CLK_DU1>,
-                        <&mstp7_clks R8A7793_CLK_LVDS0>;
+               clocks = <&cpg CPG_MOD 724>,
+                        <&cpg CPG_MOD 723>,
+                        <&cpg CPG_MOD 726>;
                clock-names = "du.0", "du.1", "lvds.0";
                status = "disabled";
 
                compatible = "renesas,can-r8a7793", "renesas,rcar-gen2-can";
                reg = <0 0xe6e80000 0 0x1000>;
                interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_RCAN0>,
-                        <&cpg_clocks R8A7793_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7793_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 916>;
                status = "disabled";
        };
 
                compatible = "renesas,can-r8a7793", "renesas,rcar-gen2-can";
                reg = <0 0xe6e88000 0 0x1000>;
                interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7793_CLK_RCAN1>,
-                        <&cpg_clocks R8A7793_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7793_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 915>;
                status = "disabled";
        };
 
-       clocks {
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-
-               /* External root clock */
-               extal_clk: extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
-
-               /*
-                * The external audio clocks are configured as 0 Hz fixed frequency clocks by
-                * default. Boards that provide audio clocks should override them.
-                */
-               audio_clk_a: audio_clk_a {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clk_b: audio_clk_b {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clk_c: audio_clk_c {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-
-               /* External USB clock - can be overridden by the board */
-               usb_extal_clk: usb_extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <48000000>;
-               };
-
-               /* External CAN clock */
-               can_clk: can {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /* External root clock */
+       extal_clk: extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* External SCIF clock */
-               scif_clk: scif {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /*
+        * The external audio clocks are configured as 0 Hz fixed frequency
+        * clocks by default.
+        * Boards that provide audio clocks should override them.
+        */
+       audio_clk_a: audio_clk_a {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clk_b: audio_clk_b {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clk_c: audio_clk_c {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
 
-               /* Special CPG clocks */
-               cpg_clocks: cpg_clocks@e6150000 {
-                       compatible = "renesas,r8a7793-cpg-clocks",
-                                    "renesas,rcar-gen2-cpg-clocks";
-                       reg = <0 0xe6150000 0 0x1000>;
-                       clocks = <&extal_clk &usb_extal_clk>;
-                       #clock-cells = <1>;
-                       clock-output-names = "main", "pll0", "pll1", "pll3",
-                                            "lb", "qspi", "sdh", "sd0", "z",
-                                            "rcan", "adsp";
-                       #power-domain-cells = <0>;
-               };
+       /* External USB clock - can be overridden by the board */
+       usb_extal_clk: usb_extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <48000000>;
+       };
 
-               /* Variable factor clocks */
-               sd2_clk: sd2@e6150078 {
-                       compatible = "renesas,r8a7793-div6-clock",
-                                    "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150078 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               sd3_clk: sd3@e615026c {
-                       compatible = "renesas,r8a7793-div6-clock",
-                                    "renesas,cpg-div6-clock";
-                       reg = <0 0xe615026c 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               mmc0_clk: mmc0@e6150240 {
-                       compatible = "renesas,r8a7793-div6-clock",
-                                    "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150240 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
+       /* External CAN clock */
+       can_clk: can {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Fixed factor clocks */
-               pll1_div2_clk: pll1_div2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               zg_clk: zg {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <5>;
-                       clock-mult = <1>;
-               };
-               zx_clk: zx {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zs_clk: zs {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <6>;
-                       clock-mult = <1>;
-               };
-               hp_clk: hp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               p_clk: p {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <24>;
-                       clock-mult = <1>;
-               };
-               m2_clk: m2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               rclk_clk: rclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7793_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(48 * 1024)>;
-                       clock-mult = <1>;
-               };
-               mp_clk: mp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <15>;
-                       clock-mult = <1>;
-               };
-               cp_clk: cp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&extal_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
+       /* External SCIF clock */
+       scif_clk: scif {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Gate clocks */
-               mstp1_clks: mstp1_clks@e6150134 {
-                       compatible = "renesas,r8a7793-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&zs_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
-                                <&zg_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>,
-                                <&p_clk>, <&p_clk>, <&rclk_clk>, <&cp_clk>,
-                                <&zs_clk>, <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_VCP0 R8A7793_CLK_VPC0
-                               R8A7793_CLK_SSP1 R8A7793_CLK_TMU1
-                               R8A7793_CLK_3DG R8A7793_CLK_2DDMAC
-                               R8A7793_CLK_FDP1_1 R8A7793_CLK_FDP1_0
-                               R8A7793_CLK_TMU3 R8A7793_CLK_TMU2
-                               R8A7793_CLK_CMT0 R8A7793_CLK_TMU0
-                               R8A7793_CLK_VSP1_DU1 R8A7793_CLK_VSP1_DU0
-                               R8A7793_CLK_VSP1_S
-                       >;
-                       clock-output-names =
-                               "vcp0", "vpc0", "ssp_dev", "tmu1",
-                               "pvrsrvkm", "tddmac", "fdp1", "fdp0",
-                               "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
-                               "vsp1-du0", "vsps";
-               };
-               mstp2_clks: mstp2_clks@e6150138 {
-                       compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&mp_clk>, <&mp_clk>, <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_SCIFA2 R8A7793_CLK_SCIFA1 R8A7793_CLK_SCIFA0
-                               R8A7793_CLK_SCIFB0 R8A7793_CLK_SCIFB1 R8A7793_CLK_SCIFB2
-                               R8A7793_CLK_SYS_DMAC1 R8A7793_CLK_SYS_DMAC0
-                       >;
-                       clock-output-names =
-                               "scifa2", "scifa1", "scifa0", "scifb0",
-                               "scifb1", "scifb2", "sys-dmac1", "sys-dmac0";
-               };
-               mstp3_clks: mstp3_clks@e615013c {
-                       compatible = "renesas,r8a7793-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
-                       clocks = <&cp_clk>, <&sd3_clk>, <&sd2_clk>,
-                                <&cpg_clocks R8A7793_CLK_SD0>, <&mmc0_clk>,
-                                <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>,
-                                <&rclk_clk>, <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_TPU0 R8A7793_CLK_SDHI2
-                               R8A7793_CLK_SDHI1 R8A7793_CLK_SDHI0
-                               R8A7793_CLK_MMCIF0 R8A7793_CLK_IIC0
-                               R8A7793_CLK_PCIEC R8A7793_CLK_IIC1
-                               R8A7793_CLK_SSUSB R8A7793_CLK_CMT1
-                               R8A7793_CLK_USBDMAC0 R8A7793_CLK_USBDMAC1
-                       >;
-                       clock-output-names =
-                               "tpu0", "sdhi2", "sdhi1", "sdhi0", "mmcif0",
-                               "i2c7", "pciec", "i2c8", "ssusb", "cmt1",
-                               "usbdmac0", "usbdmac1";
-               };
-               mstp4_clks: mstp4_clks@e6150140 {
-                       compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
-                       clocks = <&cp_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_IRQC R8A7793_CLK_INTC_SYS
-                       >;
-                       clock-output-names = "irqc", "intc-sys";
-               };
-               mstp5_clks: mstp5_clks@e6150144 {
-                       compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
-                       clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7793_CLK_AUDIO_DMAC0 R8A7793_CLK_AUDIO_DMAC1
-                                        R8A7793_CLK_THERMAL>;
-                       clock-output-names = "audmac0", "audmac1", "thermal";
-               };
-               mstp7_clks: mstp7_clks@e615014c {
-                       compatible = "renesas,r8a7793-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
-                       clocks = <&mp_clk>,  <&hp_clk>, <&zs_clk>, <&p_clk>,
-                                <&p_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
-                                <&p_clk>, <&p_clk>, <&p_clk>, <&zx_clk>,
-                                <&zx_clk>, <&zx_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_EHCI R8A7793_CLK_HSUSB
-                               R8A7793_CLK_HSCIF2 R8A7793_CLK_SCIF5
-                               R8A7793_CLK_SCIF4 R8A7793_CLK_HSCIF1
-                               R8A7793_CLK_HSCIF0 R8A7793_CLK_SCIF3
-                               R8A7793_CLK_SCIF2 R8A7793_CLK_SCIF1
-                               R8A7793_CLK_SCIF0 R8A7793_CLK_DU1
-                               R8A7793_CLK_DU0 R8A7793_CLK_LVDS0
-                       >;
-                       clock-output-names =
-                               "ehci", "hsusb", "hscif2", "scif5", "scif4",
-                               "hscif1", "hscif0", "scif3", "scif2",
-                               "scif1", "scif0", "du1", "du0", "lvds0";
-               };
-               mstp8_clks: mstp8_clks@e6150990 {
-                       compatible = "renesas,r8a7793-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
-                       clocks = <&zx_clk>, <&zg_clk>, <&zg_clk>, <&zg_clk>,
-                                <&p_clk>, <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_IPMMU_SGX R8A7793_CLK_VIN2
-                               R8A7793_CLK_VIN1 R8A7793_CLK_VIN0
-                               R8A7793_CLK_ETHER R8A7793_CLK_SATA1
-                               R8A7793_CLK_SATA0
-                       >;
-                       clock-output-names =
-                               "ipmmu_sgx", "vin2", "vin1", "vin0", "ether",
-                               "sata1", "sata0";
-               };
-               mstp9_clks: mstp9_clks@e6150994 {
-                       compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
-                       clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&p_clk>, <&p_clk>,
-                                <&cpg_clocks R8A7793_CLK_QSPI>, <&hp_clk>,
-                                <&cp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>,
-                                <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_GPIO7 R8A7793_CLK_GPIO6
-                               R8A7793_CLK_GPIO5 R8A7793_CLK_GPIO4
-                               R8A7793_CLK_GPIO3 R8A7793_CLK_GPIO2
-                               R8A7793_CLK_GPIO1 R8A7793_CLK_GPIO0
-                               R8A7793_CLK_QSPI_MOD R8A7793_CLK_RCAN1
-                               R8A7793_CLK_RCAN0 R8A7793_CLK_I2C5
-                               R8A7793_CLK_IICDVFS R8A7793_CLK_I2C4
-                               R8A7793_CLK_I2C3 R8A7793_CLK_I2C2
-                               R8A7793_CLK_I2C1 R8A7793_CLK_I2C0
-                       >;
-                       clock-output-names =
-                               "gpio7", "gpio6", "gpio5", "gpio4",
-                               "gpio3", "gpio2", "gpio1", "gpio0",
-                               "rcan1", "rcan0", "qspi_mod", "i2c5",
-                               "i2c6", "i2c4", "i2c3", "i2c2", "i2c1",
-                               "i2c0";
-               };
-               mstp10_clks: mstp10_clks@e6150998 {
-                       compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
-                       clocks = <&p_clk>,
-                               <&mstp10_clks R8A7793_CLK_SSI_ALL>, <&mstp10_clks R8A7793_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SSI_ALL>, <&mstp10_clks R8A7793_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SSI_ALL>, <&mstp10_clks R8A7793_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SSI_ALL>, <&mstp10_clks R8A7793_CLK_SSI_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SSI_ALL>, <&mstp10_clks R8A7793_CLK_SSI_ALL>,
-                               <&p_clk>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>,
-                               <&mstp10_clks R8A7793_CLK_SCU_ALL>, <&mstp10_clks R8A7793_CLK_SCU_ALL>;
-
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_SSI_ALL
-                               R8A7793_CLK_SSI9 R8A7793_CLK_SSI8 R8A7793_CLK_SSI7 R8A7793_CLK_SSI6 R8A7793_CLK_SSI5
-                               R8A7793_CLK_SSI4 R8A7793_CLK_SSI3 R8A7793_CLK_SSI2 R8A7793_CLK_SSI1 R8A7793_CLK_SSI0
-                               R8A7793_CLK_SCU_ALL
-                               R8A7793_CLK_SCU_DVC1 R8A7793_CLK_SCU_DVC0
-                               R8A7793_CLK_SCU_CTU1_MIX1 R8A7793_CLK_SCU_CTU0_MIX0
-                               R8A7793_CLK_SCU_SRC9 R8A7793_CLK_SCU_SRC8 R8A7793_CLK_SCU_SRC7 R8A7793_CLK_SCU_SRC6 R8A7793_CLK_SCU_SRC5
-                               R8A7793_CLK_SCU_SRC4 R8A7793_CLK_SCU_SRC3 R8A7793_CLK_SCU_SRC2 R8A7793_CLK_SCU_SRC1 R8A7793_CLK_SCU_SRC0
-                       >;
-                       clock-output-names =
-                               "ssi-all",
-                               "ssi9", "ssi8", "ssi7", "ssi6", "ssi5",
-                               "ssi4", "ssi3", "ssi2", "ssi1", "ssi0",
-                               "scu-all",
-                               "scu-dvc1", "scu-dvc0",
-                               "scu-ctu1-mix1", "scu-ctu0-mix0",
-                               "scu-src9", "scu-src8", "scu-src7", "scu-src6", "scu-src5",
-                               "scu-src4", "scu-src3", "scu-src2", "scu-src1", "scu-src0";
-               };
-               mstp11_clks: mstp11_clks@e615099c {
-                       compatible = "renesas,r8a7793-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615099c 0 4>, <0 0xe61509ac 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7793_CLK_SCIFA3 R8A7793_CLK_SCIFA4 R8A7793_CLK_SCIFA5
-                       >;
-                       clock-output-names = "scifa3", "scifa4", "scifa5";
-               };
+       /* Special CPG clocks */
+       cpg: clock-controller@e6150000 {
+               compatible = "renesas,r8a7793-cpg-mssr";
+               reg = <0 0xe6150000 0 0x1000>;
+               clocks = <&extal_clk>, <&usb_extal_clk>;
+               clock-names = "extal", "usb_extal";
+               #clock-cells = <2>;
+               #power-domain-cells = <0>;
        };
 
        rst: reset-controller@e6160000 {
                        <0 0xec740000 0 0x200>;  /* Audio DMAC peri peri*/
                reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
 
-               clocks = <&mstp10_clks R8A7793_CLK_SSI_ALL>,
-                       <&mstp10_clks R8A7793_CLK_SSI9>, <&mstp10_clks R8A7793_CLK_SSI8>,
-                       <&mstp10_clks R8A7793_CLK_SSI7>, <&mstp10_clks R8A7793_CLK_SSI6>,
-                       <&mstp10_clks R8A7793_CLK_SSI5>, <&mstp10_clks R8A7793_CLK_SSI4>,
-                       <&mstp10_clks R8A7793_CLK_SSI3>, <&mstp10_clks R8A7793_CLK_SSI2>,
-                       <&mstp10_clks R8A7793_CLK_SSI1>, <&mstp10_clks R8A7793_CLK_SSI0>,
-                       <&mstp10_clks R8A7793_CLK_SCU_SRC9>, <&mstp10_clks R8A7793_CLK_SCU_SRC8>,
-                       <&mstp10_clks R8A7793_CLK_SCU_SRC7>, <&mstp10_clks R8A7793_CLK_SCU_SRC6>,
-                       <&mstp10_clks R8A7793_CLK_SCU_SRC5>, <&mstp10_clks R8A7793_CLK_SCU_SRC4>,
-                       <&mstp10_clks R8A7793_CLK_SCU_SRC3>, <&mstp10_clks R8A7793_CLK_SCU_SRC2>,
-                       <&mstp10_clks R8A7793_CLK_SCU_SRC1>, <&mstp10_clks R8A7793_CLK_SCU_SRC0>,
-                       <&mstp10_clks R8A7793_CLK_SCU_DVC0>, <&mstp10_clks R8A7793_CLK_SCU_DVC1>,
-                       <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>;
+               clocks = <&cpg CPG_MOD 1005>,
+                        <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
+                        <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
+                        <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
+                        <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
+                        <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
+                        <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
+                        <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
+                        <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
+                        <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
+                        <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
+                        <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
+                        <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
+                        <&cpg CPG_CORE R8A7793_CLK_M2>;
                clock-names = "ssi-all",
                                "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
                                "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
                                "dvc.0", "dvc.1",
                                "clk_a", "clk_b", "clk_c", "clk_i";
                power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               resets = <&cpg 1005>,
+                        <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
+                        <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
+                        <&cpg 1014>, <&cpg 1015>;
+               reset-names = "ssi-all",
+                             "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
+                             "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
 
                status = "disabled";
 
index f1eea13cdf44371d84f63695aaf5ff812fc9a45c..bd98790d964e13a7afbf50c67ef9ce6a8e3490f6 100644 (file)
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&mstp7_clks R8A7794_CLK_DU0>,
-                <&mstp7_clks R8A7794_CLK_DU1>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
                 <&x13_clk>, <&x2_clk>;
        clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
 
        vmmc-supply = <&vcc_sdhi0>;
        vqmmc-supply = <&vccq_sdhi0>;
        cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
-       wp-gpios = <&gpio6 7 GPIO_ACTIVE_LOW>;
+       wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
        sd-uhs-sdr50;
        sd-uhs-sdr104;
        status = "okay";
        vmmc-supply = <&vcc_sdhi1>;
        vqmmc-supply = <&vccq_sdhi1>;
        cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
-       wp-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>;
+       wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
        sd-uhs-sdr50;
        status = "okay";
 };
index 4cb5278d104dfcb3324c923cdd4346908f8d7586..edfad0e5ac53a0c124c07b66018cbd0ba8a4ea8a 100644 (file)
        pinctrl-names = "default";
        status = "okay";
 
-       clocks = <&mstp7_clks R8A7794_CLK_DU0>,
-                <&mstp7_clks R8A7794_CLK_DU1>,
+       clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
                 <&x2_clk>, <&x3_clk>;
        clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
 
index 26535414203a0b1e43bab73a12ec16238c8b3b1b..905e50c9b524d2c4ac40e516f8238e15f48a2a50 100644 (file)
@@ -9,7 +9,7 @@
  * kind, whether express or implied.
  */
 
-#include <dt-bindings/clock/r8a7794-clock.h>
+#include <dt-bindings/clock/r8a7794-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/power/r8a7794-sysc.h>
@@ -43,7 +43,7 @@
                        compatible = "arm,cortex-a7";
                        reg = <0>;
                        clock-frequency = <1000000000>;
-                       clocks = <&z2_clk>;
+                       clocks = <&cpg CPG_CORE R8A7794_CLK_Z2>;
                        power-domains = <&sysc R8A7794_PD_CA7_CPU0>;
                        next-level-cache = <&L2_CA7>;
                };
@@ -53,6 +53,7 @@
                        compatible = "arm,cortex-a7";
                        reg = <1>;
                        clock-frequency = <1000000000>;
+                       clocks = <&cpg CPG_CORE R8A7794_CLK_Z2>;
                        power-domains = <&sysc R8A7794_PD_CA7_CPU1>;
                        next-level-cache = <&L2_CA7>;
                };
                        <0 0xf1004000 0 0x2000>,
                        <0 0xf1006000 0 0x2000>;
                interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
-               clocks = <&mstp4_clks R8A7794_CLK_INTC_SYS>;
+               clocks = <&cpg CPG_MOD 408>;
                clock-names = "clk";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 408>;
        };
 
        gpio0: gpio@e6050000 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6050000 0 0x50>;
                interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 0 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO0>;
+               clocks = <&cpg CPG_MOD 912>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 912>;
        };
 
        gpio1: gpio@e6051000 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6051000 0 0x50>;
                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 32 26>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO1>;
+               clocks = <&cpg CPG_MOD 911>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 911>;
        };
 
        gpio2: gpio@e6052000 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6052000 0 0x50>;
                interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 64 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO2>;
+               clocks = <&cpg CPG_MOD 910>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 910>;
        };
 
        gpio3: gpio@e6053000 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6053000 0 0x50>;
                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 96 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO3>;
+               clocks = <&cpg CPG_MOD 909>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 909>;
        };
 
        gpio4: gpio@e6054000 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6054000 0 0x50>;
                interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 128 32>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO4>;
+               clocks = <&cpg CPG_MOD 908>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 908>;
        };
 
        gpio5: gpio@e6055000 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055000 0 0x50>;
                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 160 28>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO5>;
+               clocks = <&cpg CPG_MOD 907>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 907>;
        };
 
        gpio6: gpio@e6055400 {
-               compatible = "renesas,gpio-r8a7794", "renesas,gpio-rcar";
+               compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio";
                reg = <0 0xe6055400 0 0x50>;
                interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                #gpio-cells = <2>;
                gpio-ranges = <&pfc 0 192 26>;
                #interrupt-cells = <2>;
                interrupt-controller;
-               clocks = <&mstp9_clks R8A7794_CLK_GPIO6>;
+               clocks = <&cpg CPG_MOD 905>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 905>;
        };
 
        cmt0: timer@ffca0000 {
                reg = <0 0xffca0000 0 0x1004>;
                interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7794_CLK_CMT0>;
+               clocks = <&cpg CPG_MOD 124>;
                clock-names = "fck";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 124>;
 
                renesas,channels-mask = <0x60>;
 
                             <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_CMT1>;
+               clocks = <&cpg CPG_MOD 329>;
                clock-names = "fck";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 329>;
 
                renesas,channels-mask = <0xff>;
 
                             <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp4_clks R8A7794_CLK_IRQC>;
+               clocks = <&cpg CPG_MOD 407>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 407>;
        };
 
        pfc: pin-controller@e6060000 {
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7794_CLK_SYS_DMAC0>;
+               clocks = <&cpg CPG_MOD 219>;
                clock-names = "fck";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 219>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                "ch4", "ch5", "ch6", "ch7",
                                "ch8", "ch9", "ch10", "ch11",
                                "ch12", "ch13", "ch14";
-               clocks = <&mstp2_clks R8A7794_CLK_SYS_DMAC1>;
+               clocks = <&cpg CPG_MOD 218>;
                clock-names = "fck";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 218>;
                #dma-cells = <1>;
                dma-channels = <15>;
        };
                                  "ch0", "ch1", "ch2", "ch3", "ch4", "ch5",
                                  "ch6", "ch7", "ch8", "ch9", "ch10", "ch11",
                                  "ch12";
-               clocks = <&mstp5_clks R8A7794_CLK_AUDIO_DMAC0>;
+               clocks = <&cpg CPG_MOD 502>;
                clock-names = "fck";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 502>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c40000 0 64>;
                interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7794_CLK_SCIFA0>;
+               clocks = <&cpg CPG_MOD 204>;
                clock-names = "fck";
                dmas = <&dmac0 0x21>, <&dmac0 0x22>,
                       <&dmac1 0x21>, <&dmac1 0x22>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 204>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c50000 0 64>;
                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7794_CLK_SCIFA1>;
+               clocks = <&cpg CPG_MOD 203>;
                clock-names = "fck";
                dmas = <&dmac0 0x25>, <&dmac0 0x26>,
                       <&dmac1 0x25>, <&dmac1 0x26>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 203>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c60000 0 64>;
                interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7794_CLK_SCIFA2>;
+               clocks = <&cpg CPG_MOD 202>;
                clock-names = "fck";
                dmas = <&dmac0 0x27>, <&dmac0 0x28>,
                       <&dmac1 0x27>, <&dmac1 0x28>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 202>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c70000 0 64>;
                interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7794_CLK_SCIFA3>;
+               clocks = <&cpg CPG_MOD 1106>;
                clock-names = "fck";
                dmas = <&dmac0 0x1b>, <&dmac0 0x1c>,
                       <&dmac1 0x1b>, <&dmac1 0x1c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 1106>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c78000 0 64>;
                interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7794_CLK_SCIFA4>;
+               clocks = <&cpg CPG_MOD 1107>;
                clock-names = "fck";
                dmas = <&dmac0 0x1f>, <&dmac0 0x20>,
                       <&dmac1 0x1f>, <&dmac1 0x20>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 1107>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifa", "renesas,scifa";
                reg = <0 0xe6c80000 0 64>;
                interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp11_clks R8A7794_CLK_SCIFA5>;
+               clocks = <&cpg CPG_MOD 1108>;
                clock-names = "fck";
                dmas = <&dmac0 0x23>, <&dmac0 0x24>,
                       <&dmac1 0x23>, <&dmac1 0x24>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 1108>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7794_CLK_SCIFB0>;
+               clocks = <&cpg CPG_MOD 206>;
                clock-names = "fck";
                dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
                       <&dmac1 0x3d>, <&dmac1 0x3e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 206>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7794_CLK_SCIFB1>;
+               clocks = <&cpg CPG_MOD 207>;
                clock-names = "fck";
                dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
                       <&dmac1 0x19>, <&dmac1 0x1a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 207>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
                reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7794_CLK_SCIFB2>;
+               clocks = <&cpg CPG_MOD 216>;
                clock-names = "fck";
                dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
                       <&dmac1 0x1d>, <&dmac1 0x1e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 216>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e60000 0 64>;
                interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_SCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
                       <&dmac1 0x29>, <&dmac1 0x2a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 721>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e68000 0 64>;
                interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_SCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
                       <&dmac1 0x2d>, <&dmac1 0x2e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 720>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6e58000 0 64>;
                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_SCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
                       <&dmac1 0x2b>, <&dmac1 0x2c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 719>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ea8000 0 64>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_SCIF3>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
                       <&dmac1 0x2f>, <&dmac1 0x30>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 718>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ee0000 0 64>;
                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_SCIF4>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0xfb>, <&dmac0 0xfc>,
                       <&dmac1 0xfb>, <&dmac1 0xfc>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 715>;
                status = "disabled";
        };
 
                             "renesas,scif";
                reg = <0 0xe6ee8000 0 64>;
                interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_SCIF5>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0xfd>, <&dmac0 0xfe>,
                       <&dmac1 0xfd>, <&dmac1 0xfe>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 714>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c0000 0 96>;
                interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_HSCIF0>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
                       <&dmac1 0x39>, <&dmac1 0x3a>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 717>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62c8000 0 96>;
                interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_HSCIF1>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
                       <&dmac1 0x4d>, <&dmac1 0x4e>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 716>;
                status = "disabled";
        };
 
                             "renesas,rcar-gen2-hscif", "renesas,hscif";
                reg = <0 0xe62d0000 0 96>;
                interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_HSCIF2>, <&zs_clk>,
+               clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
                         <&scif_clk>;
                clock-names = "fck", "brg_int", "scif_clk";
                dmas = <&dmac0 0x3b>, <&dmac0 0x3c>,
                       <&dmac1 0x3b>, <&dmac1 0x3c>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 713>;
                status = "disabled";
        };
 
                compatible = "renesas,ether-r8a7794";
                reg = <0 0xee700000 0 0x400>;
                interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7794_CLK_ETHER>;
+               clocks = <&cpg CPG_MOD 813>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 813>;
                phy-mode = "rmii";
                #address-cells = <1>;
                #size-cells = <0>;
                             "renesas,etheravb-rcar-gen2";
                reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
                interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7794_CLK_ETHERAVB>;
+               clocks = <&cpg CPG_MOD 812>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 812>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6508000 0 0x40>;
                interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_I2C0>;
+               clocks = <&cpg CPG_MOD 931>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 931>;
                #address-cells = <1>;
                #size-cells = <0>;
                i2c-scl-internal-delay-ns = <6>;
                compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6518000 0 0x40>;
                interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_I2C1>;
+               clocks = <&cpg CPG_MOD 930>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 930>;
                #address-cells = <1>;
                #size-cells = <0>;
                i2c-scl-internal-delay-ns = <6>;
                compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6530000 0 0x40>;
                interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_I2C2>;
+               clocks = <&cpg CPG_MOD 929>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 929>;
                #address-cells = <1>;
                #size-cells = <0>;
                i2c-scl-internal-delay-ns = <6>;
                compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6540000 0 0x40>;
                interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_I2C3>;
+               clocks = <&cpg CPG_MOD 928>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 928>;
                #address-cells = <1>;
                #size-cells = <0>;
                i2c-scl-internal-delay-ns = <6>;
                compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6520000 0 0x40>;
                interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_I2C4>;
+               clocks = <&cpg CPG_MOD 927>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 927>;
                #address-cells = <1>;
                #size-cells = <0>;
                i2c-scl-internal-delay-ns = <6>;
                compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c";
                reg = <0 0xe6528000 0 0x40>;
                interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_I2C5>;
+               clocks = <&cpg CPG_MOD 925>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 925>;
                #address-cells = <1>;
                #size-cells = <0>;
                i2c-scl-internal-delay-ns = <6>;
                             "renesas,rmobile-iic";
                reg = <0 0xe6500000 0 0x425>;
                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_IIC0>;
+               clocks = <&cpg CPG_MOD 318>;
                dmas = <&dmac0 0x61>, <&dmac0 0x62>,
                       <&dmac1 0x61>, <&dmac1 0x62>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 318>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                             "renesas,rmobile-iic";
                reg = <0 0xe6510000 0 0x425>;
                interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_IIC1>;
+               clocks = <&cpg CPG_MOD 323>;
                dmas = <&dmac0 0x65>, <&dmac0 0x66>,
                       <&dmac1 0x65>, <&dmac1 0x66>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 323>;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
                compatible = "renesas,mmcif-r8a7794", "renesas,sh-mmcif";
                reg = <0 0xee200000 0 0x80>;
                interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_MMCIF0>;
+               clocks = <&cpg CPG_MOD 315>;
                dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
                       <&dmac1 0xd1>, <&dmac1 0xd2>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 315>;
                reg-io-width = <4>;
                status = "disabled";
        };
                compatible = "renesas,sdhi-r8a7794";
                reg = <0 0xee100000 0 0x328>;
                interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_SDHI0>;
+               clocks = <&cpg CPG_MOD 314>;
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                       <&dmac1 0xcd>, <&dmac1 0xce>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <195000000>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 314>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7794";
                reg = <0 0xee140000 0 0x100>;
                interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_SDHI1>;
+               clocks = <&cpg CPG_MOD 312>;
                dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
                       <&dmac1 0xc1>, <&dmac1 0xc2>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 312>;
                status = "disabled";
        };
 
                compatible = "renesas,sdhi-r8a7794";
                reg = <0 0xee160000 0 0x100>;
                interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp3_clks R8A7794_CLK_SDHI2>;
+               clocks = <&cpg CPG_MOD 311>;
                dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
                       <&dmac1 0xd3>, <&dmac1 0xd4>;
                dma-names = "tx", "rx", "tx", "rx";
                max-frequency = <97500000>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 311>;
                status = "disabled";
        };
 
                compatible = "renesas,qspi-r8a7794", "renesas,qspi";
                reg = <0 0xe6b10000 0 0x2c>;
                interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_QSPI_MOD>;
+               clocks = <&cpg CPG_MOD 917>;
                dmas = <&dmac0 0x17>, <&dmac0 0x18>,
                       <&dmac1 0x17>, <&dmac1 0x18>;
                dma-names = "tx", "rx", "tx", "rx";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 917>;
                num-cs = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "renesas,vin-r8a7794", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef0000 0 0x1000>;
                interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7794_CLK_VIN0>;
+               clocks = <&cpg CPG_MOD 811>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 811>;
                status = "disabled";
        };
 
                compatible = "renesas,vin-r8a7794", "renesas,rcar-gen2-vin";
                reg = <0 0xe6ef1000 0 0x1000>;
                interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp8_clks R8A7794_CLK_VIN1>;
+               clocks = <&cpg CPG_MOD 810>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 810>;
                status = "disabled";
        };
 
                reg = <0 0xee090000 0 0xc00>,
                      <0 0xee080000 0 0x1100>;
                interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                status = "disabled";
 
                bus-range = <0 0>;
                reg = <0 0xee0d0000 0 0xc00>,
                      <0 0xee0c0000 0 0x1100>;
                interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_EHCI>;
+               clocks = <&cpg CPG_MOD 703>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 703>;
                status = "disabled";
 
                bus-range = <1 1>;
                compatible = "renesas,usbhs-r8a7794", "renesas,rcar-gen2-usbhs";
                reg = <0 0xe6590000 0 0x100>;
                interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_HSUSB>;
+               clocks = <&cpg CPG_MOD 704>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 704>;
                renesas,buswait = <4>;
                phys = <&usb0 1>;
                phy-names = "usb";
                reg = <0 0xe6590100 0 0x100>;
                #address-cells = <1>;
                #size-cells = <0>;
-               clocks = <&mstp7_clks R8A7794_CLK_HSUSB>;
+               clocks = <&cpg CPG_MOD 704>;
                clock-names = "usbhs";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 704>;
                status = "disabled";
 
                usb0: usb-channel@0 {
                };
        };
 
-       vsp1@fe928000 {
+       vsp@fe928000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe928000 0 0x8000>;
                interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7794_CLK_VSP1_S>;
+               clocks = <&cpg CPG_MOD 131>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 131>;
        };
 
-       vsp1@fe930000 {
+       vsp@fe930000 {
                compatible = "renesas,vsp1";
                reg = <0 0xfe930000 0 0x8000>;
                interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp1_clks R8A7794_CLK_VSP1_DU0>;
+               clocks = <&cpg CPG_MOD 128>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 128>;
        };
 
        du: display@feb00000 {
                reg-names = "du";
                interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp7_clks R8A7794_CLK_DU0>,
-                        <&mstp7_clks R8A7794_CLK_DU1>;
+               clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>;
                clock-names = "du.0", "du.1";
                status = "disabled";
 
                compatible = "renesas,can-r8a7794", "renesas,rcar-gen2-can";
                reg = <0 0xe6e80000 0 0x1000>;
                interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_RCAN0>,
-                        <&cpg_clocks R8A7794_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7794_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 916>;
                status = "disabled";
        };
 
                compatible = "renesas,can-r8a7794", "renesas,rcar-gen2-can";
                reg = <0 0xe6e88000 0 0x1000>;
                interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp9_clks R8A7794_CLK_RCAN1>,
-                        <&cpg_clocks R8A7794_CLK_RCAN>, <&can_clk>;
+               clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7794_CLK_RCAN>,
+                        <&can_clk>;
                clock-names = "clkp1", "clkp2", "can_clk";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 915>;
                status = "disabled";
        };
 
-       clocks {
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-
-               /* External root clock */
-               extal_clk: extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overriden by the board. */
-                       clock-frequency = <0>;
-               };
-
-               /* External USB clock - can be overridden by the board */
-               usb_extal_clk: usb_extal {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <48000000>;
-               };
-
-               /* External CAN clock */
-               can_clk: can {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
-
-               /* External SCIF clock */
-               scif_clk: scif {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       /* This value must be overridden by the board. */
-                       clock-frequency = <0>;
-               };
+       /* External root clock */
+       extal_clk: extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /*
-                * The external audio clocks are configured  as 0 Hz fixed
-                * frequency clocks by default.  Boards that provide audio
-                * clocks should override them.
-                */
-               audio_clka: audio_clka {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clkb: audio_clkb {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
-               audio_clkc: audio_clkc {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <0>;
-               };
+       /* External USB clock - can be overridden by the board */
+       usb_extal_clk: usb_extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <48000000>;
+       };
 
-               /* Special CPG clocks */
-               cpg_clocks: cpg_clocks@e6150000 {
-                       compatible = "renesas,r8a7794-cpg-clocks",
-                                    "renesas,rcar-gen2-cpg-clocks";
-                       reg = <0 0xe6150000 0 0x1000>;
-                       clocks = <&extal_clk &usb_extal_clk>;
-                       #clock-cells = <1>;
-                       clock-output-names = "main", "pll0", "pll1", "pll3",
-                                            "lb", "qspi", "sdh", "sd0", "rcan";
-                       #power-domain-cells = <0>;
-               };
-               /* Variable factor clocks */
-               sd2_clk: sd2@e6150078 {
-                       compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150078 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               sd3_clk: sd3@e615026c {
-                       compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe615026c 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
-               mmc0_clk: mmc0@e6150240 {
-                       compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
-                       reg = <0 0xe6150240 0 4>;
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-               };
+       /* External CAN clock */
+       can_clk: can {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               /* Fixed factor clocks */
-               pll1_div2_clk: pll1_div2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               z2_clk: z2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL0>;
-                       #clock-cells = <0>;
-                       clock-div = <1>;
-                       clock-mult = <1>;
-               };
-               zg_clk: zg {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <6>;
-                       clock-mult = <1>;
-               };
-               zx_clk: zx {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <3>;
-                       clock-mult = <1>;
-               };
-               zs_clk: zs {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <6>;
-                       clock-mult = <1>;
-               };
-               hp_clk: hp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               i_clk: i {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
-               b_clk: b {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <12>;
-                       clock-mult = <1>;
-               };
-               p_clk: p {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <24>;
-                       clock-mult = <1>;
-               };
-               cl_clk: cl {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <48>;
-                       clock-mult = <1>;
-               };
-               m2_clk: m2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               rclk_clk: rclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(48 * 1024)>;
-                       clock-mult = <1>;
-               };
-               oscclk_clk: oscclk {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <(12 * 1024)>;
-                       clock-mult = <1>;
-               };
-               zb3_clk: zb3 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <4>;
-                       clock-mult = <1>;
-               };
-               zb3d2_clk: zb3d2 {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               ddr_clk: ddr {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL3>;
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-               };
-               mp_clk: mp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll1_div2_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <15>;
-                       clock-mult = <1>;
-               };
-               cp_clk: cp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&cpg_clocks R8A7794_CLK_PLL1>;
-                       #clock-cells = <0>;
-                       clock-div = <48>;
-                       clock-mult = <1>;
-               };
+       /* External SCIF clock */
+       scif_clk: scif {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board. */
+               clock-frequency = <0>;
+       };
 
-               acp_clk: acp {
-                       compatible = "fixed-factor-clock";
-                       clocks = <&extal_clk>;
-                       #clock-cells = <0>;
-                       clock-div = <2>;
-                       clock-mult = <1>;
-               };
+       /*
+        * The external audio clocks are configured  as 0 Hz fixed
+        * frequency clocks by default.  Boards that provide audio
+        * clocks should override them.
+        */
+       audio_clka: audio_clka {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clkb: audio_clkb {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+       audio_clkc: audio_clkc {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
 
-               /* Gate clocks */
-               mstp0_clks: mstp0_clks@e6150130 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
-                       clocks = <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7794_CLK_MSIOF0>;
-                       clock-output-names = "msiof0";
-               };
-               mstp1_clks: mstp1_clks@e6150134 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&zs_clk>, <&zs_clk>, <&p_clk>, <&zg_clk>, <&zs_clk>,
-                                <&zs_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>, <&cp_clk>,
-                                <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7794_CLK_VCP0 R8A7794_CLK_VPC0 R8A7794_CLK_TMU1
-                               R8A7794_CLK_3DG R8A7794_CLK_2DDMAC R8A7794_CLK_FDP1_0
-                               R8A7794_CLK_TMU3 R8A7794_CLK_TMU2 R8A7794_CLK_CMT0
-                               R8A7794_CLK_TMU0 R8A7794_CLK_VSP1_DU0 R8A7794_CLK_VSP1_S
-                       >;
-                       clock-output-names =
-                               "vcp0", "vpc0", "tmu1", "3dg", "2ddmac", "fdp1-0",
-                               "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du0", "vsps";
-               };
-               mstp2_clks: mstp2_clks@e6150138 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&mp_clk>, <&mp_clk>, <&mp_clk>,
-                                <&zs_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7794_CLK_SCIFA2 R8A7794_CLK_SCIFA1 R8A7794_CLK_SCIFA0
-                               R8A7794_CLK_MSIOF2 R8A7794_CLK_SCIFB0 R8A7794_CLK_SCIFB1
-                               R8A7794_CLK_MSIOF1 R8A7794_CLK_SCIFB2
-                               R8A7794_CLK_SYS_DMAC1 R8A7794_CLK_SYS_DMAC0
-                       >;
-                       clock-output-names =
-                               "scifa2", "scifa1", "scifa0", "msiof2", "scifb0",
-                               "scifb1", "msiof1", "scifb2",
-                               "sys-dmac1", "sys-dmac0";
-               };
-               mstp3_clks: mstp3_clks@e615013c {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
-                       clocks = <&sd3_clk>, <&sd2_clk>, <&cpg_clocks R8A7794_CLK_SD0>,
-                                <&mmc0_clk>, <&hp_clk>, <&hp_clk>, <&rclk_clk>,
-                                <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7794_CLK_SDHI2 R8A7794_CLK_SDHI1 R8A7794_CLK_SDHI0
-                               R8A7794_CLK_MMCIF0 R8A7794_CLK_IIC0
-                               R8A7794_CLK_IIC1 R8A7794_CLK_CMT1
-                               R8A7794_CLK_USBDMAC0 R8A7794_CLK_USBDMAC1
-                       >;
-                       clock-output-names =
-                               "sdhi2", "sdhi1", "sdhi0",
-                               "mmcif0", "i2c6", "i2c7",
-                               "cmt1", "usbdmac0", "usbdmac1";
-               };
-               mstp4_clks: mstp4_clks@e6150140 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
-                       clocks = <&cp_clk>, <&zs_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7794_CLK_IRQC R8A7794_CLK_INTC_SYS>;
-                       clock-output-names = "irqc", "intc-sys";
-               };
-               mstp5_clks: mstp5_clks@e6150144 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
-                       clocks = <&hp_clk>, <&p_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7794_CLK_AUDIO_DMAC0
-                                        R8A7794_CLK_PWM>;
-                       clock-output-names = "audmac0", "pwm";
-               };
-               mstp7_clks: mstp7_clks@e615014c {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
-                       clocks = <&mp_clk>, <&hp_clk>,
-                                <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>,
-                                <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
-                                <&zx_clk>, <&zx_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7794_CLK_EHCI R8A7794_CLK_HSUSB
-                               R8A7794_CLK_HSCIF2 R8A7794_CLK_SCIF5
-                               R8A7794_CLK_SCIF4 R8A7794_CLK_HSCIF1 R8A7794_CLK_HSCIF0
-                               R8A7794_CLK_SCIF3 R8A7794_CLK_SCIF2 R8A7794_CLK_SCIF1
-                               R8A7794_CLK_SCIF0
-                               R8A7794_CLK_DU1 R8A7794_CLK_DU0
-                       >;
-                       clock-output-names =
-                               "ehci", "hsusb",
-                               "hscif2", "scif5", "scif4", "hscif1", "hscif0",
-                               "scif3", "scif2", "scif1", "scif0",
-                               "du1", "du0";
-               };
-               mstp8_clks: mstp8_clks@e6150990 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
-                       clocks = <&zg_clk>, <&zg_clk>, <&hp_clk>, <&p_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7794_CLK_VIN1 R8A7794_CLK_VIN0
-                               R8A7794_CLK_ETHERAVB R8A7794_CLK_ETHER
-                       >;
-                       clock-output-names =
-                               "vin1", "vin0", "etheravb", "ether";
-               };
-               mstp9_clks: mstp9_clks@e6150994 {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150994 0 4>, <0 0xe61509a4 0 4>;
-                       clocks = <&cp_clk>, <&cp_clk>, <&cp_clk>, <&cp_clk>,
-                                <&cp_clk>, <&cp_clk>, <&cp_clk>, <&p_clk>,
-                                <&p_clk>, <&cpg_clocks R8A7794_CLK_QSPI>,
-                                <&hp_clk>, <&hp_clk>, <&hp_clk>, <&hp_clk>,
-                                <&hp_clk>, <&hp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7794_CLK_GPIO6 R8A7794_CLK_GPIO5
-                                        R8A7794_CLK_GPIO4 R8A7794_CLK_GPIO3
-                                        R8A7794_CLK_GPIO2 R8A7794_CLK_GPIO1
-                                        R8A7794_CLK_GPIO0 R8A7794_CLK_RCAN1
-                                        R8A7794_CLK_RCAN0 R8A7794_CLK_QSPI_MOD
-                                        R8A7794_CLK_I2C5 R8A7794_CLK_I2C4
-                                        R8A7794_CLK_I2C3 R8A7794_CLK_I2C2
-                                        R8A7794_CLK_I2C1 R8A7794_CLK_I2C0>;
-                       clock-output-names =
-                               "gpio6", "gpio5", "gpio4", "gpio3", "gpio2",
-                               "gpio1", "gpio0", "rcan1", "rcan0", "qspi_mod",
-                               "i2c5", "i2c4", "i2c3", "i2c2", "i2c1", "i2c0";
-               };
-               mstp10_clks: mstp10_clks@e6150998 {
-                       compatible = "renesas,r8a7794-mstp-clocks",
-                                    "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe6150998 0 4>, <0 0xe61509a8 0 4>;
-                       clocks = <&p_clk>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                                <&p_clk>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>,
-                                <&mstp10_clks R8A7794_CLK_SCU_ALL>;
-                       #clock-cells = <1>;
-                       clock-indices = <R8A7794_CLK_SSI_ALL
-                                        R8A7794_CLK_SSI9 R8A7794_CLK_SSI8
-                                        R8A7794_CLK_SSI7 R8A7794_CLK_SSI6
-                                        R8A7794_CLK_SSI5 R8A7794_CLK_SSI4
-                                        R8A7794_CLK_SSI3 R8A7794_CLK_SSI2
-                                        R8A7794_CLK_SSI1 R8A7794_CLK_SSI0
-                                        R8A7794_CLK_SCU_ALL
-                                        R8A7794_CLK_SCU_DVC1
-                                        R8A7794_CLK_SCU_DVC0
-                                        R8A7794_CLK_SCU_CTU1_MIX1
-                                        R8A7794_CLK_SCU_CTU0_MIX0
-                                        R8A7794_CLK_SCU_SRC6
-                                        R8A7794_CLK_SCU_SRC5
-                                        R8A7794_CLK_SCU_SRC4
-                                        R8A7794_CLK_SCU_SRC3
-                                        R8A7794_CLK_SCU_SRC2
-                                        R8A7794_CLK_SCU_SRC1>;
-                       clock-output-names = "ssi-all", "ssi9", "ssi8", "ssi7",
-                                            "ssi6", "ssi5", "ssi4", "ssi3",
-                                            "ssi2", "ssi1", "ssi0",
-                                            "scu-all", "scu-dvc1", "scu-dvc0",
-                                            "scu-ctu1-mix1", "scu-ctu0-mix0",
-                                            "scu-src6", "scu-src5", "scu-src4",
-                                            "scu-src3", "scu-src2", "scu-src1";
-               };
-               mstp11_clks: mstp11_clks@e615099c {
-                       compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
-                       reg = <0 0xe615099c 0 4>, <0 0xe61509ac 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>;
-                       #clock-cells = <1>;
-                       clock-indices = <
-                               R8A7794_CLK_SCIFA3 R8A7794_CLK_SCIFA4 R8A7794_CLK_SCIFA5
-                       >;
-                       clock-output-names = "scifa3", "scifa4", "scifa5";
-               };
+       cpg: clock-controller@e6150000 {
+               compatible = "renesas,r8a7794-cpg-mssr";
+               reg = <0 0xe6150000 0 0x1000>;
+               clocks = <&extal_clk>, <&usb_extal_clk>;
+               clock-names = "extal", "usb_extal";
+               #clock-cells = <2>;
+               #power-domain-cells = <0>;
        };
 
        rst: reset-controller@e6160000 {
                        <0 0xec740000 0 0x200>;  /* Audio DMAC peri peri */
                reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
 
-               clocks = <&mstp10_clks R8A7794_CLK_SSI_ALL>,
-                        <&mstp10_clks R8A7794_CLK_SSI9>,
-                        <&mstp10_clks R8A7794_CLK_SSI8>,
-                        <&mstp10_clks R8A7794_CLK_SSI7>,
-                        <&mstp10_clks R8A7794_CLK_SSI6>,
-                        <&mstp10_clks R8A7794_CLK_SSI5>,
-                        <&mstp10_clks R8A7794_CLK_SSI4>,
-                        <&mstp10_clks R8A7794_CLK_SSI3>,
-                        <&mstp10_clks R8A7794_CLK_SSI2>,
-                        <&mstp10_clks R8A7794_CLK_SSI1>,
-                        <&mstp10_clks R8A7794_CLK_SSI0>,
-                        <&mstp10_clks R8A7794_CLK_SCU_SRC6>,
-                        <&mstp10_clks R8A7794_CLK_SCU_SRC5>,
-                        <&mstp10_clks R8A7794_CLK_SCU_SRC4>,
-                        <&mstp10_clks R8A7794_CLK_SCU_SRC3>,
-                        <&mstp10_clks R8A7794_CLK_SCU_SRC2>,
-                        <&mstp10_clks R8A7794_CLK_SCU_SRC1>,
-                        <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>,
-                        <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>,
-                        <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>,
-                        <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>,
-                        <&mstp10_clks R8A7794_CLK_SCU_DVC0>,
-                        <&mstp10_clks R8A7794_CLK_SCU_DVC1>,
+               clocks = <&cpg CPG_MOD 1005>,
+                        <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
+                        <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
+                        <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
+                        <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
+                        <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
+                        <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>,
+                        <&cpg CPG_MOD 1027>, <&cpg CPG_MOD 1028>,
+                        <&cpg CPG_MOD 1029>, <&cpg CPG_MOD 1030>,
+                        <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
+                        <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
+                        <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
                         <&audio_clka>, <&audio_clkb>, <&audio_clkc>,
-                        <&m2_clk>;
+                        <&cpg CPG_CORE R8A7794_CLK_M2>;
                clock-names = "ssi-all",
                              "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
                              "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
                              "dvc.0", "dvc.1",
                              "clk_a", "clk_b", "clk_c", "clk_i";
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
+               resets = <&cpg 1005>,
+                        <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
+                        <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
+                        <&cpg 1014>, <&cpg 1015>;
+               reset-names = "ssi-all",
+                             "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
+                             "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
 
                status = "disabled";
 
index fdb1570bc7d3137fcfed7acf2fb970ca4ff1a75a..e2a0f576946f0884bb091d8a2ff6bc71e7b47949 100644 (file)
        status = "okay";
 };
 
+&gpu {
+       mali-supply = <&vdd_gpu>;
+       status = "okay";
+};
+
 &hdmi {
        status = "okay";
 };
index 4916c65e0ace7ca0b9ec68cddaca34b55c39d932..3b704cfed69ac1f7b39343925fb2037c9e78e10b 100644 (file)
                };
        };
 
+       gpu: gpu@10090000 {
+               compatible = "rockchip,rk3036-mali", "arm,mali-400";
+               reg = <0x10090000 0x10000>;
+               interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "gp",
+                                 "gpmmu",
+                                 "pp0",
+                                 "ppmmu0";
+               assigned-clocks = <&cru SCLK_GPU>;
+               assigned-clock-rates = <100000000>;
+               clocks = <&cru SCLK_GPU>, <&cru SCLK_GPU>;
+               clock-names = "core", "bus";
+               resets = <&cru SRST_GPU>;
+               status = "disabled";
+       };
+
        vop: vop@10118000 {
                compatible = "rockchip,rk3036-vop";
                reg = <0x10118000 0x19c>;
index 400cbf9609e3707b7792139bba326c947df81fe8..cdf301f5778b129f0d2007c8cfa5cd0f13b93d61 100644 (file)
        clock-frequency = <400000>;
        status = "okay";
 
-       ak8963: ak8963@0d {
+       ak8963: ak8963@d {
                compatible = "asahi-kasei,ak8975";
                reg = <0x0d>;
                interrupt-parent = <&gpio4>;
index f50481fd8e5cdc5de9e05a035fb75d2b2bd8bbaf..06523caca27d6d09058fbe3b6983266fbae3858c 100644 (file)
        };
 };
 
+&gpu {
+       compatible = "rockchip,rk3066-mali", "arm,mali-400";
+       interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+       interrupt-names = "gp",
+                         "gpmmu",
+                         "pp0",
+                         "ppmmu0",
+                         "pp1",
+                         "ppmmu1",
+                         "pp2",
+                         "ppmmu2",
+                         "pp3",
+                         "ppmmu3";
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_xfer>;
index 53d6fc2fdbce89fb2118c30e2115c05bc29eebcd..00e05a6662acd5bb19c42540fd0d22c857fdf4af 100644 (file)
        cpu0-supply = <&vdd_arm>;
 };
 
+&gpu {
+       status = "okay";
+};
+
 &i2c1 {
        status = "okay";
        clock-frequency = <400000>;
index 1399bc04ea77fe17fd10472c0ba37ba7d80c8a1a..aa10caae51c3021f4cef19ade6bd3ca517e3c24f 100644 (file)
        interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
 };
 
+&gpu {
+       compatible = "rockchip,rk3188-mali", "arm,mali-400";
+       interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+       interrupt-names = "gp",
+                         "gpmmu",
+                         "pp0",
+                         "ppmmu0",
+                         "pp1",
+                         "ppmmu1",
+                         "pp2",
+                         "ppmmu2",
+                         "pp3",
+                         "ppmmu3";
+};
+
 &i2c0 {
        compatible = "rockchip,rk3188-i2c";
        pinctrl-names = "default";
index 06814421eed2ef9c41fd5db803bc60f91ee85bed..780ec3a99b21f857b414d4d47b8e773cd28c7788 100644 (file)
                status = "disabled";
        };
 
+       gpu: gpu@20000000 {
+               compatible = "rockchip,rk3228-mali", "arm,mali-400";
+               reg = <0x20000000 0x10000>;
+               interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "gp",
+                                 "gpmmu",
+                                 "pp0",
+                                 "ppmmu0",
+                                 "pp1",
+                                 "ppmmu1";
+               clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
+               clock-names = "core", "bus";
+               resets = <&cru SRST_GPU_A>;
+               status = "disabled";
+       };
+
        vpu_mmu: iommu@20020800 {
                compatible = "rockchip,iommu";
                reg = <0x20020800 0x100>;
index 5f05815f47e09278bdc9eb7870d25ab0c504e549..5f1e336dbaac7a85c300c1a5f395a7d4cd127953 100644 (file)
                                regulator-name = "vdd10_lcd";
                                regulator-min-microvolt = <1000000>;
                                regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
                        };
 
                        vcca_18: REG7  {
                                regulator-name = "vcc18_lcd";
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
                        };
                };
        };
index 7da0947ababbc4a1cda11e6f5b4190ee9f803a88..eab176e3dfc3011149ecefc91745a4ee3a20e89f 100644 (file)
        };
 };
 
+&hdmi {
+       ddc-i2c-bus = <&i2c5>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_cec_c0>;
+       status = "okay";
+};
+
 &i2c0 {
        hym8563: hym8563@51 {
                compatible = "haoyu,hym8563";
        };
 };
 
+&i2c5 {
+       status = "okay";
+};
+
 &i2s {
        status = "okay";
 };
index f084e0c8dcb350726949d698cd8021c0168d8a9e..c06d0f4ceb8153811752a2d31e0e85779288ec5d 100644 (file)
        status = "okay";
        clock-frequency = <400000>;
 
-       ak8963: ak8963@0d {
+       ak8963: ak8963@d {
                compatible = "asahi-kasei,ak8975";
                reg = <0x0d>;
                interrupt-parent = <&gpio8>;
diff --git a/arch/arm/boot/dts/rk3288-vyasa.dts b/arch/arm/boot/dts/rk3288-vyasa.dts
new file mode 100644 (file)
index 0000000..9842a00
--- /dev/null
@@ -0,0 +1,498 @@
+/*
+ * Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "rk3288.dtsi"
+
+/ {
+       model = "Amarula Vyasa-RK3288";
+       compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
+
+       chosen {
+               stdout-path = &uart2;
+       };
+
+       memory {
+               reg = <0x0 0x0 0x0 0x80000000>;
+               device_type = "memory";
+       };
+
+       dc12_vbat: dc12-vbat {
+               compatible = "regulator-fixed";
+               regulator-name = "dc12_vbat";
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vboot_3v3: vboot-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vboot_3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&dc12_vbat>;
+       };
+
+       vcc_sys: vsys-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_sys";
+               regulator-min-microvolt = <3700000>;
+               regulator-max-microvolt = <3700000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&dc12_vbat>;
+       };
+
+       vboot_5v: vboot-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vboot_sv";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&dc12_vbat>;
+       };
+
+       v3g_3v3: v3g-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "v3g_3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&dc12_vbat>;
+       };
+
+       vsus_5v: vsus-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vsus_5v";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vcc_io>;
+       };
+
+       vusb1_5v: vusb1-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vusb1_5v";
+               enable-active-high;
+               gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; /* OTG_VBUS_DRV */
+               pinctrl-names = "default";
+               pinctrl-0 = <&otg_vbus_drv>;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vsus_5v>;
+       };
+
+       vusb2_5v: vusb2-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vusb2_5v";
+               enable-active-high;
+               gpio = <&gpio8 RK_PB1 GPIO_ACTIVE_HIGH>; /* USB2_PWR_EN */
+               pinctrl-names = "default";
+               pinctrl-0 = <&usb2_pwr_en>;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vsus_5v>;
+       };
+
+       ext_gmac: external-gmac-clock {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <125000000>;
+               clock-output-names = "ext_gmac";
+       };
+};
+
+&cpu0 {
+       cpu0-supply = <&vdd_cpu>;
+};
+
+&gmac {
+       assigned-clocks = <&cru SCLK_MAC>;
+       assigned-clock-parents = <&ext_gmac>;
+       clock_in_out = "input";
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
+       phy-supply = <&vcc_lan>;
+       phy-mode = "rgmii";
+       snps,reset-active-low;
+       snps,reset-delays-us = <0 10000 1000000>;
+       snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
+       tx_delay = <0x30>;
+       rx_delay = <0x10>;
+       status = "okay";
+};
+
+&gpu {
+       mali-supply = <&vdd_gpu>;
+       status = "okay";
+};
+
+&hdmi {
+       ddc-i2c-bus = <&i2c2>;
+       status = "okay";
+};
+
+&i2c0 {
+       clock-frequency = <400000>;
+       status = "okay";
+
+       rk808: pmic@1b {
+               compatible = "rockchip,rk808";
+               reg = <0x1b>;
+               interrupt-parent = <&gpio0>;
+               interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
+               #clock-cells = <1>;
+               clock-output-names = "xin32k", "rk808-clkout2";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pmic_int &global_pwroff>;
+               rockchip,system-power-controller;
+               wakeup-source;
+
+               vcc1-supply = <&vcc_sys>;
+               vcc2-supply = <&vcc_sys>;
+               vcc3-supply = <&vcc_sys>;
+               vcc4-supply = <&vcc_sys>;
+               vcc6-supply = <&vcc_sys>;
+               vcc7-supply = <&vcc_sys>;
+               vcc8-supply = <&vcc_io>;
+               vcc9-supply = <&vcc_sys>;
+               vcc10-supply = <&vcc_sys>;
+               vcc11-supply = <&vcc_sys>;
+               vcc12-supply = <&vcc_io>;
+
+               regulators {
+                       vdd_cpu: DCDC_REG1 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <1350000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                               };
+                       };
+
+                       vdd_gpu: DCDC_REG2 {
+                               regulator-name = "vdd_gpu";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <1250000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+
+                       vcc_ddr: DCDC_REG3 {
+                               regulator-name = "vcc_ddr";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
+                       };
+
+                       vcc_io: DCDC_REG4 {
+                               regulator-name = "vcc_io";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
+                       };
+
+                       vcca_tp: LDO_REG1 {
+                               regulator-name = "vcc_tp";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
+                       };
+
+                       vcc_codec: LDO_REG2 {
+                               regulator-name = "vcc_codec";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                               };
+                       };
+
+                       vdd_10: LDO_REG3 {
+                               regulator-name = "vdd_10";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+
+                       vcc_gps: LDO_REG4 {
+                               regulator-name = "vcc_gps";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
+                       };
+
+                       vccio_sd: LDO_REG5 {
+                               regulator-name = "vccio_sd";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
+                       };
+
+                       vcc10_lcd: LDO_REG6 {
+                               regulator-name = "vcc10_lcd";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
+                       };
+
+                       vcc_18: LDO_REG7 {
+                               regulator-name = "vcc_18";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
+                       };
+
+                       vcc18_lcd: LDO_REG8 {
+                               regulator-name = "vcc18_lcd";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
+                       };
+
+                       vcc_sd: SWITCH_REG1 {
+                               regulator-name = "vcc_sd";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
+                       };
+
+                       vcc_lan: SWITCH_REG2 {
+                               regulator-name = "vcc_lan";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
+                       };
+               };
+       };
+};
+
+&i2c2 {
+       status = "okay";
+};
+
+&io_domains {
+       status = "okay";
+
+       audio-supply = <&vcc_18>;
+       bb-supply = <&vcc_io>;
+       dvp-supply = <&vcc_io>;
+       flash0-suuply = <&vcc_18>;
+       flash1-supply = <&vcc_lan>;
+       gpio30-supply = <&vcc_io>;
+       gpio1830 = <&vcc_io>;
+       lcdc-supply = <&vcc_io>;
+       sdcard-supply = <&vccio_sd>;
+       wifi-supply = <&vcc_18>;
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       card-detect-delay = <200>;
+       disable-wp;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
+       vmmc-supply = <&vcc_sd>;
+       vqmmc-supply = <&vccio_sd>;
+       status = "okay";
+};
+
+&tsadc {
+       rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
+       rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&usbphy {
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&phy_pwr_en>;
+       status = "okay";
+};
+
+&usb_otg {
+       status = "okay";
+};
+
+&vopb {
+       status = "okay";
+};
+
+&vopb_mmu {
+       status = "okay";
+};
+
+&vopl {
+       status = "okay";
+};
+
+&vopl_mmu {
+       status = "okay";
+};
+
+&wdt {
+       status = "okay";
+};
+
+&pinctrl {
+       pcfg_output_high: pcfg-output-high {
+               output-high;
+       };
+
+       gmac {
+               phy_int: phy-int {
+                       rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+
+               phy_pmeb: phy-pmeb {
+                       rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+
+               phy_rst: phy-rst {
+                       rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
+               };
+       };
+
+       pmic {
+               pmic_int: pmic-int {
+                       rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
+       usb_host {
+               phy_pwr_en: phy-pwr-en {
+                       rockchip,pins = <RK_GPIO2 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>;
+               };
+
+               usb2_pwr_en: usb2-pwr-en {
+                       rockchip,pins = <8 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       usb_otg {
+               otg_vbus_drv: otg-vbus-drv {
+                       rockchip,pins = <RK_GPIO0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
+
+               };
+       };
+};
index 356ed1e624525224c8e797da0990f83a75823008..cd24894ee5c6b14deab21c543bad7c62ec34c93d 100644 (file)
                status = "disabled";
        };
 
+       rga: rga@ff920000 {
+               compatible = "rockchip,rk3288-rga";
+               reg = <0x0 0xff920000 0x0 0x180>;
+               interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
+               clock-names = "aclk", "hclk", "sclk";
+               power-domains = <&power RK3288_PD_VIO>;
+               resets = <&cru SRST_RGA_CORE>, <&cru SRST_RGA_AXI>, <&cru SRST_RGA_AHB>;
+               reset-names = "core", "axi", "ahb";
+       };
+
        vopb: vop@ff930000 {
                compatible = "rockchip,rk3288-vop";
                reg = <0x0 0xff930000 0x0 0x19c>;
                                reg = <2>;
                                remote-endpoint = <&mipi_in_vopb>;
                        };
+
+                       vopb_out_lvds: endpoint@3 {
+                               reg = <3>;
+                               remote-endpoint = <&lvds_in_vopb>;
+                       };
                };
        };
 
                                reg = <2>;
                                remote-endpoint = <&mipi_in_vopl>;
                        };
+
+                       vopl_out_lvds: endpoint@3 {
+                               reg = <3>;
+                               remote-endpoint = <&lvds_in_vopl>;
+                       };
                };
        };
 
                };
        };
 
+       lvds: lvds@ff96c000 {
+               compatible = "rockchip,rk3288-lvds";
+               reg = <0x0 0xff96c000 0x0 0x4000>;
+               clocks = <&cru PCLK_LVDS_PHY>;
+               clock-names = "pclk_lvds";
+               pinctrl-names = "lcdc";
+               pinctrl-0 = <&lcdc_ctl>;
+               power-domains = <&power RK3288_PD_VIO>;
+               rockchip,grf = <&grf>;
+               status = "disabled";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       lvds_in: port@0 {
+                               reg = <0>;
+
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               lvds_in_vopb: endpoint@0 {
+                                       reg = <0>;
+                                       remote-endpoint = <&vopb_out_lvds>;
+                               };
+                               lvds_in_vopl: endpoint@1 {
+                                       reg = <1>;
+                                       remote-endpoint = <&vopl_out_lvds>;
+                               };
+                       };
+               };
+       };
+
        edp: dp@ff970000 {
                compatible = "rockchip,rk3288-dp";
                reg = <0x0 0xff970000 0x0 0x4000>;
                reg-io-width = <4>;
                rockchip,grf = <&grf>;
                interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
-               clock-names = "iahb", "isfr";
+               clocks = <&cru  PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>;
+               clock-names = "iahb", "isfr", "cec";
                power-domains = <&power RK3288_PD_VIO>;
                status = "disabled";
 
                };
 
                hdmi {
+                       hdmi_cec_c0: hdmi-cec-c0 {
+                               rockchip,pins = <7 RK_PC0 RK_FUNC_2 &pcfg_pull_none>;
+                       };
+
+                       hdmi_cec_c7: hdmi-cec-c7 {
+                               rockchip,pins = <7 RK_PC7 RK_FUNC_4 &pcfg_pull_none>;
+                       };
+
                        hdmi_ddc: hdmi-ddc {
                                rockchip,pins = <7 19 RK_FUNC_2 &pcfg_pull_none>,
                                                <7 20 RK_FUNC_2 &pcfg_pull_none>;
                        };
                };
 
+               lcdc {
+                       lcdc_ctl: lcdc-ctl {
+                               rockchip,pins = <1 24 RK_FUNC_1 &pcfg_pull_none>,
+                                               <1 25 RK_FUNC_1 &pcfg_pull_none>,
+                                               <1 26 RK_FUNC_1 &pcfg_pull_none>,
+                                               <1 27 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+               };
+
                sdmmc {
                        sdmmc_clk: sdmmc-clk {
                                rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none>;
index 4aa6f60d6a22eddf372c34cc18769347e65fa48c..49584b6a4195281916d1bec1b02bfa15fa91d012 100644 (file)
                clock-output-names = "xin24m";
        };
 
+       gpu: gpu@10090000 {
+               compatible = "arm,mali-400";
+               reg = <0x10090000 0x10000>;
+               clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
+               clock-names = "core", "bus";
+               assigned-clocks = <&cru ACLK_GPU>;
+               assigned-clock-rates = <100000000>;
+               resets = <&cru SRST_GPU>;
+               status = "disabled";
+       };
+
        L2: l2-cache-controller@10138000 {
                compatible = "arm,pl310-cache";
                reg = <0x10138000 0x1000>;
index 86a57f823616185a14ede94aebdcf853e6edfa16..70f0106d1252b26b7062d354758c9e2468ee16e3 100644 (file)
        status = "okay";
 };
 
+&tsadc {
+       status = "okay";
+};
+
 &u2phy {
        status = "okay";
 
index e7cd1315db1b7bc08c688867dd77c4687396fe92..76ea24636feb12026e0708c6c256cf0465722787 100644 (file)
@@ -43,6 +43,7 @@
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/rv1108-cru.h>
 #include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/thermal/thermal.h>
 / {
        #address-cells = <1>;
        #size-cells = <1>;
@@ -70,6 +71,8 @@
                        compatible = "arm,cortex-a7";
                        reg = <0xf00>;
                        clocks = <&cru ARMCLK>;
+                       #cooling-cells = <2>; /* min followed by max */
+                       dynamic-power-coefficient = <75>;
                        operating-points-v2 = <&cpu_opp_table>;
                };
        };
                status = "disabled";
        };
 
+       thermal-zones {
+               soc_thermal: soc-thermal {
+                       polling-delay-passive = <20>;
+                       polling-delay = <1000>;
+                       sustainable-power = <50>;
+                       thermal-sensors = <&tsadc 0>;
+
+                       trips {
+                               threshold: trip-point0 {
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               target: trip-point1 {
+                                       temperature = <85000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               soc_crit: soc-crit {
+                                       temperature = <95000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&target>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                                       contribution = <4096>;
+                               };
+                       };
+               };
+       };
+
+       tsadc: tsadc@10370000 {
+               compatible = "rockchip,rv1108-tsadc";
+               reg = <0x10370000 0x100>;
+               interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+               assigned-clocks = <&cru SCLK_TSADC>;
+               assigned-clock-rates = <750000>;
+               clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
+               clock-names = "tsadc", "apb_pclk";
+               pinctrl-names = "init", "default", "sleep";
+               pinctrl-0 = <&otp_gpio>;
+               pinctrl-1 = <&otp_out>;
+               pinctrl-2 = <&otp_gpio>;
+               resets = <&cru SRST_TSADC>;
+               reset-names = "tsadc-apb";
+               rockchip,hw-tshut-temp = <120000>;
+               #thermal-sensor-cells = <1>;
+               status = "disabled";
+       };
+
        adc: adc@1038c000 {
                compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc";
                reg = <0x1038c000 0x100>;
                        };
                };
 
+               tsadc {
+                       otp_out: otp-out {
+                               rockchip,pins = <0 RK_PB7 RK_FUNC_1 &pcfg_pull_none>;
+                       };
+
+                       otp_gpio: otp-gpio {
+                               rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
+                       };
+               };
+
                uart0 {
                        uart0_xfer: uart0-xfer {
                                rockchip,pins = <3 RK_PA6 RK_FUNC_1 &pcfg_pull_up>,
index b1a26b42d1904a82817e1986da79fd963b934d2f..b44e63995583dfaa56a223c359f32aab2ad9c329 100644 (file)
                };
        };
 
-       ns_sram: sram@00200000 {
+       ns_sram: sram@200000 {
                compatible = "mmio-sram";
                reg = <0x00200000 0x20000>;
        };
                #size-cells = <1>;
                ranges;
 
-               nfc_sram: sram@00100000 {
+               nfc_sram: sram@100000 {
                        compatible = "mmio-sram";
                        no-memory-wc;
                        reg = <0x00100000 0x2400>;
                };
 
-               usb0: gadget@00300000 {
+               usb0: gadget@300000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "atmel,sama5d3-udc";
                        };
                };
 
-               usb1: ohci@00400000 {
+               usb1: ohci@400000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00400000 0x100000>;
                        interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               usb2: ehci@00500000 {
+               usb2: ehci@500000 {
                        compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
                        reg = <0x00500000 0x100000>;
                        interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               L2: cache-controller@00a00000 {
+               L2: cache-controller@a00000 {
                        compatible = "arm,pl310-cache";
                        reg = <0x00a00000 0x1000>;
                        interrupts = <63 IRQ_TYPE_LEVEL_HIGH 4>;
index 554d0bdedc7a172c9bad3b8e84ac068cb388a412..1889b4dea066886ae83b0d97cf98981dd6544510 100644 (file)
@@ -79,7 +79,7 @@
                };
        };
 
-       sram: sram@00300000 {
+       sram: sram@300000 {
                compatible = "mmio-sram";
                reg = <0x00300000 0x20000>;
        };
                        reg = <0x200000 0x2400>;
                };
 
-               usb0: gadget@00500000 {
+               usb0: gadget@500000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "atmel,sama5d3-udc";
                        };
                };
 
-               usb1: ohci@00600000 {
+               usb1: ohci@600000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00600000 0x100000>;
                        interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               usb2: ehci@00700000 {
+               usb2: ehci@700000 {
                        compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
                        reg = <0x00700000 0x100000>;
                        interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
index 6d252ad050f671809c1e313bbb0771e7f5836a57..7f55050dd4057b6de1da1cc1053534d392c2cf47 100644 (file)
                        };
                };
 
-               usb0: gadget@00500000 {
+               usb0: gadget@500000 {
                        atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
                        status = "okay";
                };
 
-               usb1: ohci@00600000 {
+               usb1: ohci@600000 {
                        num-ports = <3>;
                        atmel,vbus-gpio = <&pioD 25 GPIO_ACTIVE_HIGH
                                           &pioD 26 GPIO_ACTIVE_LOW
                        status = "okay";
                };
 
-               usb2: ehci@00700000 {
+               usb2: ehci@700000 {
                        status = "okay";
                };
        };
index 252e0d35f8466929618dcd28227f00075684600d..83e3d3e08fd44ae11d212feb091dd51701567c9a 100644 (file)
                        };
                };
 
-               usb0: gadget@00500000 {
+               usb0: gadget@500000 {
                        atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usba_vbus>;
index 2fa36c525957cc193000f2db84ef50d07aa1ca85..b069644ed23886889f9a0430f2fc6a3cae88af49 100644 (file)
                };
        };
 
-       ns_sram: sram@00210000 {
+       ns_sram: sram@210000 {
                compatible = "mmio-sram";
                reg = <0x00210000 0x10000>;
        };
                        reg = <0x100000 0x2400>;
                };
 
-               usb0: gadget@00400000 {
+               usb0: gadget@400000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "atmel,sama5d3-udc";
                        };
                };
 
-               usb1: ohci@00500000 {
+               usb1: ohci@500000 {
                        compatible = "atmel,at91rm9200-ohci", "usb-ohci";
                        reg = <0x00500000 0x100000>;
                        interrupts = <46 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               usb2: ehci@00600000 {
+               usb2: ehci@600000 {
                        compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
                        reg = <0x00600000 0x100000>;
                        interrupts = <46 IRQ_TYPE_LEVEL_HIGH 2>;
                        status = "disabled";
                };
 
-               L2: cache-controller@00a00000 {
+               L2: cache-controller@a00000 {
                        compatible = "arm,pl310-cache";
                        reg = <0x00a00000 0x1000>;
                        interrupts = <67 IRQ_TYPE_LEVEL_HIGH 4>;
index 4ea5c5a16c57eed5235fc0f7365ce1a9d5e005f5..88d7e5631d340740d2642b5b0e8770ea89cc895b 100644 (file)
@@ -27,6 +27,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <0>;
                        clock-frequency = <1196000000>;
+                       clocks = <&cpg_clocks SH73A0_CLK_Z>;
                        power-domains = <&pd_a2sl>;
                        next-level-cache = <&L2>;
                };
@@ -35,6 +36,7 @@
                        compatible = "arm,cortex-a9";
                        reg = <1>;
                        clock-frequency = <1196000000>;
+                       clocks = <&cpg_clocks SH73A0_CLK_Z>;
                        power-domains = <&pd_a2sl>;
                        next-level-cache = <&L2>;
                };
index 6f720756057d62eec2e24dc7fc453aafa9edfc59..35e944d8b5c42307c8dbb9f98d34b35a7457cc46 100644 (file)
@@ -92,7 +92,7 @@
                                interrupts = <18 IRQ_TYPE_EDGE_RISING>,
                                             <19 IRQ_TYPE_EDGE_RISING>;
                        };
-                       ak8974@0f {
+                       ak8974@f {
                                /* Magnetometer */
                                compatible = "asahi-kasei,ak8974";
                                reg = <0x0f>;
index 3c9f2f068c2f2387ea4b8927782f87eb72f9ba67..0e7d77d719d759955a3de5a5231d3fab16c19c0f 100644 (file)
                                interrupts = <18 IRQ_TYPE_EDGE_RISING>,
                                             <19 IRQ_TYPE_EDGE_RISING>;
                        };
-                       ak8974@0f {
+                       ak8974@f {
                                /* Magnetometer */
                                compatible = "asahi-kasei,ak8974";
                                reg = <0x0f>;
index 34c119a66f14b44a2878bbbb9eb21fba7ea87fb6..d0a24d9e517a5e8ba5403b1fd2fbd39bff622813 100644 (file)
@@ -90,7 +90,7 @@
                        clock-output-names = "clk-s-icn-reg-0";
                };
 
-               clockgen-a@090ff000 {
+               clockgen-a@90ff000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x90ff000 0x1000>;
 
                        clock-critical = <0>; /* clk-s-c0-fs0-ch0 */
                };
 
-               clk_s_c0: clockgen-c@09103000 {
+               clk_s_c0: clockgen-c@9103000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x9103000 0x1000>;
 
                                             "clk-s-d0-fs0-ch3";
                };
 
-               clockgen-d0@09104000 {
+               clockgen-d0@9104000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x9104000 0x1000>;
 
index 12c0757594d7fc305a1aea564419e69bf508c0da..cf3756976c396b74079ebcb2c3fdda8769793cdf 100644 (file)
                };
        };
 
-       intc: interrupt-controller@08761000 {
+       intc: interrupt-controller@8761000 {
                compatible = "arm,cortex-a9-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
                reg = <0x08761000 0x1000>, <0x08760100 0x100>;
        };
 
-       scu@08760000 {
+       scu@8760000 {
                compatible = "arm,cortex-a9-scu";
                reg = <0x08760000 0x1000>;
        };
 
-       timer@08760200 {
+       timer@8760200 {
                interrupt-parent = <&intc>;
                compatible = "arm,cortex-a9-global-timer";
                reg = <0x08760200 0x100>;
                        status = "disabled";
                };
 
-               mmc0: sdhci@09060000 {
+               mmc0: sdhci@9060000 {
                        compatible = "st,sdhci-stih407", "st,sdhci";
                        status = "disabled";
                        reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
                        bus-width = <8>;
                };
 
-               mmc1: sdhci@09080000 {
+               mmc1: sdhci@9080000 {
                        compatible = "st,sdhci-stih407", "st,sdhci";
                        status = "disabled";
                        reg = <0x09080000 0x7ff>;
                        status          = "disabled";
                };
 
-               rng10: rng@08a89000 {
+               rng10: rng@8a89000 {
                        compatible      = "st,rng";
                        reg             = <0x08a89000 0x1000>;
                        clocks          = <&clk_sysin>;
                        status          = "okay";
                };
 
-               rng11: rng@08a8a000 {
+               rng11: rng@8a8a000 {
                        compatible      = "st,rng";
                        reg             = <0x08a8a000 0x1000>;
                        clocks          = <&clk_sysin>;
                                 <&clk_s_c0_flexgen CLK_ETH_PHY>;
                };
 
-               rng10: rng@08a89000 {
+               rng10: rng@8a89000 {
                        compatible      = "st,rng";
                        reg             = <0x08a89000 0x1000>;
                        clocks          = <&clk_sysin>;
                        status          = "okay";
                };
 
-               rng11: rng@08a8a000 {
+               rng11: rng@8a8a000 {
                        compatible      = "st,rng";
                        reg             = <0x08a8a000 0x1000>;
                        clocks          = <&clk_sysin>;
index bd1a82e8fffee706d8f8030bb01c209fe23b8521..a29090077fdf5637e7a173c70288e6fbbfc02228 100644 (file)
@@ -56,7 +56,7 @@
                        interrupt-names = "irqmux";
                        ranges = <0 0x09610000 0x6000>;
 
-                       pio0: gpio@09610000 {
+                       pio0: gpio@9610000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
@@ -64,7 +64,7 @@
                                reg = <0x0 0x100>;
                                st,bank-name = "PIO0";
                        };
-                       pio1: gpio@09611000 {
+                       pio1: gpio@9611000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
@@ -72,7 +72,7 @@
                                reg = <0x1000 0x100>;
                                st,bank-name = "PIO1";
                        };
-                       pio2: gpio@09612000 {
+                       pio2: gpio@9612000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
@@ -80,7 +80,7 @@
                                reg = <0x2000 0x100>;
                                st,bank-name = "PIO2";
                        };
-                       pio3: gpio@09613000 {
+                       pio3: gpio@9613000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
@@ -88,7 +88,7 @@
                                reg = <0x3000 0x100>;
                                st,bank-name = "PIO3";
                        };
-                       pio4: gpio@09614000 {
+                       pio4: gpio@9614000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
@@ -97,7 +97,7 @@
                                st,bank-name = "PIO4";
                        };
 
-                       pio5: gpio@09615000 {
+                       pio5: gpio@9615000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                        interrupt-names = "irqmux";
                        ranges = <0 0x09200000 0x10000>;
 
-                       pio10: pio@09200000 {
+                       pio10: pio@9200000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x0 0x100>;
                                st,bank-name = "PIO10";
                        };
-                       pio11: pio@09201000 {
+                       pio11: pio@9201000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x1000 0x100>;
                                st,bank-name = "PIO11";
                        };
-                       pio12: pio@09202000 {
+                       pio12: pio@9202000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x2000 0x100>;
                                st,bank-name = "PIO12";
                        };
-                       pio13: pio@09203000 {
+                       pio13: pio@9203000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x3000 0x100>;
                                st,bank-name = "PIO13";
                        };
-                       pio14: pio@09204000 {
+                       pio14: pio@9204000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x4000 0x100>;
                                st,bank-name = "PIO14";
                        };
-                       pio15: pio@09205000 {
+                       pio15: pio@9205000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x5000 0x100>;
                                st,bank-name = "PIO15";
                        };
-                       pio16: pio@09206000 {
+                       pio16: pio@9206000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x6000 0x100>;
                                st,bank-name = "PIO16";
                        };
-                       pio17: pio@09207000 {
+                       pio17: pio@9207000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x7000 0x100>;
                                st,bank-name = "PIO17";
                        };
-                       pio18: pio@09208000 {
+                       pio18: pio@9208000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x8000 0x100>;
                                st,bank-name = "PIO18";
                        };
-                       pio19: pio@09209000 {
+                       pio19: pio@9209000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                        interrupt-names = "irqmux";
                        ranges = <0 0x09210000 0x10000>;
 
-                       pio20: pio@09210000 {
+                       pio20: pio@9210000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                        interrupt-names = "irqmux";
                        ranges = <0 0x09220000 0x6000>;
 
-                       pio30: gpio@09220000 {
+                       pio30: gpio@9220000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x0 0x100>;
                                st,bank-name = "PIO30";
                        };
-                       pio31: gpio@09221000 {
+                       pio31: gpio@9221000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x1000 0x100>;
                                st,bank-name = "PIO31";
                        };
-                       pio32: gpio@09222000 {
+                       pio32: gpio@9222000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x2000 0x100>;
                                st,bank-name = "PIO32";
                        };
-                       pio33: gpio@09223000 {
+                       pio33: gpio@9223000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x3000 0x100>;
                                st,bank-name = "PIO33";
                        };
-                       pio34: gpio@09224000 {
+                       pio34: gpio@9224000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x4000 0x100>;
                                st,bank-name = "PIO34";
                        };
-                       pio35: gpio@09225000 {
+                       pio35: gpio@9225000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                        interrupt-names = "irqmux";
                        ranges = <0 0x09230000 0x3000>;
 
-                       pio40: gpio@09230000 {
+                       pio40: gpio@9230000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0 0x100>;
                                st,bank-name = "PIO40";
                        };
-                       pio41: gpio@09231000 {
+                       pio41: gpio@9231000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
                                reg = <0x1000 0x100>;
                                st,bank-name = "PIO41";
                        };
-                       pio42: gpio@09232000 {
+                       pio42: gpio@9232000 {
                                gpio-controller;
                                #gpio-cells = <2>;
                                interrupt-controller;
index 83313b51915dd45c4a136f7ba1590387ace7e78b..9830be57743368b651a5b1d18f8c66dbfe6dcce1 100644 (file)
@@ -30,7 +30,7 @@
 
        soc {
 
-               mmc0: sdhci@09060000 {
+               mmc0: sdhci@9060000 {
                        max-frequency = <200000000>;
                        sd-uhs-sdr50;
                        sd-uhs-sdr104;
index 93c14d183e291b14cb0b094dd2a0b57762a2d08f..c663b70c43a7426ffa09667c4fbb30e657ca5a13 100644 (file)
                        status = "okay";
                };
 
-               mmc0: sdhci@09060000 {
+               mmc0: sdhci@9060000 {
                        pinctrl-0 = <&pinctrl_sd0>;
                        bus-width = <4>;
                        status = "okay";
                };
 
                /* high speed expansion connector */
-               mmc1: sdhci@09080000 {
+               mmc1: sdhci@9080000 {
                        status = "okay";
                };
 
index 07c8ef9d77f6e790a82e37cbde7ebf1dcd8ef5dc..fde5df17f57590e1a9c6f8dc4a8ab200ea7cba91 100644 (file)
@@ -92,7 +92,7 @@
                        clock-output-names = "clk-s-icn-reg-0";
                };
 
-               clockgen-a@090ff000 {
+               clockgen-a@90ff000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x90ff000 0x1000>;
 
                        clock-critical = <0>; /* clk-s-c0-fs0-ch0 */
                };
 
-               clk_s_c0: clockgen-c@09103000 {
+               clk_s_c0: clockgen-c@9103000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x9103000 0x1000>;
 
                                             "clk-s-d0-fs0-ch3";
                };
 
-               clockgen-d0@09104000 {
+               clockgen-d0@9104000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x9104000 0x1000>;
 
index 21fe72b183d87c6f470b0ebce2aedcb1881c9a1a..cffa50db5d7240e358e52df23c2a929af428ecf3 100644 (file)
                                 <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
                };
 
-               sti-cec@094a087c {
+               sti-cec@94a087c {
                        compatible = "st,stih-cec";
                        reg = <0x94a087c 0x64>;
                        clocks = <&clk_sysin>;
index 438e54c585b1c1291a6cfc362362b06d1460dc66..4e6d915c85ff0aef06739e910f0fa9d0ba040497 100644 (file)
                        st,i2c-min-sda-pulse-width-us = <5>;
                };
 
-               mmc1: sdhci@09080000 {
+               mmc1: sdhci@9080000 {
                        status = "okay";
                };
 
-               mmc0: sdhci@09060000 {
+               mmc0: sdhci@9060000 {
                        status = "okay";
                        max-frequency = <200000000>;
                        sd-uhs-sdr50;
index ee6614b79f7dbed88566e64f6458e0ff534949b2..9a157c1a99b1d12ad2e326a2cac01566cd124940 100644 (file)
@@ -92,7 +92,7 @@
                        clock-output-names = "clk-s-icn-reg-0";
                };
 
-               clockgen-a@090ff000 {
+               clockgen-a@90ff000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x90ff000 0x1000>;
 
                                             "clk-s-c0-fs0-ch3";
                };
 
-               clk_s_c0: clockgen-c@09103000 {
+               clk_s_c0: clockgen-c@9103000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x9103000 0x1000>;
 
                                             "clk-s-d0-fs0-ch3";
                };
 
-               clockgen-d0@09104000 {
+               clockgen-d0@9104000 {
                        compatible = "st,clkgen-c32";
                        reg = <0x9104000 0x1000>;
 
index 965f88160718ebe5b224f48acaf55175151a7e91..e6525ab4d9bb6d9c6ae87513e861b3846b3109eb 100644 (file)
                        phy-names = "usb";
                };
 
-               mmc0: sdhci@09060000 {
+               mmc0: sdhci@9060000 {
                        assigned-clocks = <&clk_s_c0_flexgen CLK_MMC_0>;
                        assigned-clock-parents = <&clk_s_c0_pll1 0>;
                        assigned-clock-rates = <200000000>;
index 4b8f62f89664034420275e729e0a2f5471ea510f..7f80c2c414c89da5f9f16fb5c6b0b0a0f8c0280d 100644 (file)
                        status = "okay";
                };
 
-               mmc0: sdhci@09060000 {
+               mmc0: sdhci@9060000 {
                        non-removable;
                        status = "okay";
                };
 
-               mmc1: sdhci@09080000 {
+               mmc1: sdhci@9080000 {
                        status = "okay";
                };
 
                        fixed-link = <0 1 1000 0 0>;
                };
 
-               demux@08a20000 {
+               demux@8a20000 {
                        compatible      = "st,stih407-c8sectpfe";
                        status          = "okay";
                        reg             = <0x08a20000 0x10000>,
index 69a957963fa8c96d1586bdd2a8d7df2732d42904..2d4e7171769454f4405774aad212ce1fe6c6f160 100644 (file)
                        gpios = <&gpioc 13 0>;
                };
        };
+
+       usbotg_hs_phy: usb-phy {
+               #phy-cells = <0>;
+               compatible = "usb-nop-xceiv";
+               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>;
+               clock-names = "main_clk";
+       };
 };
 
 &clk_hse {
        status = "okay";
 };
 
+&i2c1 {
+       pinctrl-0 = <&i2c1_pins_b>;
+       pinctrl-names = "default";
+       i2c-scl-rising-time-ns = <185>;
+       i2c-scl-falling-time-ns = <20>;
+       status = "okay";
+};
+
 &rtc {
        status = "okay";
 };
        pinctrl-names = "default";
        status = "okay";
 };
+
+&usbotg_hs {
+       dr_mode = "host";
+       phys = <&usbotg_hs_phy>;
+       phy-names = "usb2-phy";
+       pinctrl-0 = <&usbotg_hs_pins_a>;
+       pinctrl-names = "default";
+       status = "okay";
+};
index 7f3560c0211dd8972f06a89e34d54c5c00d9fbfa..ae94d86c53c490d41267936cd36b3ef7f3fdd140 100644 (file)
@@ -40,7 +40,7 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include <dt-bindings/pinctrl/stm32f429-pinfunc.h>
+#include <dt-bindings/pinctrl/stm32-pinfunc.h>
 #include <dt-bindings/mfd/stm32f4-rcc.h>
 
 / {
 
                        usart1_pins_a: usart1@0 {
                                pins1 {
-                                       pinmux = <STM32F429_PA9_FUNC_USART1_TX>;
+                                       pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <0>;
                                };
                                pins2 {
-                                       pinmux = <STM32F429_PA10_FUNC_USART1_RX>;
+                                       pinmux = <STM32_PINMUX('A', 10, AF7)>; /* USART1_RX */
                                        bias-disable;
                                };
                        };
 
                        usart3_pins_a: usart3@0 {
                                pins1 {
-                                       pinmux = <STM32F429_PB10_FUNC_USART3_TX>;
+                                       pinmux = <STM32_PINMUX('B', 10, AF7)>; /* USART3_TX */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <0>;
                                };
                                pins2 {
-                                       pinmux = <STM32F429_PB11_FUNC_USART3_RX>;
+                                       pinmux = <STM32_PINMUX('B', 11, AF7)>; /* USART3_RX */
                                        bias-disable;
                                };
                        };
 
                        usbotg_fs_pins_a: usbotg_fs@0 {
                                pins {
-                                       pinmux = <STM32F429_PA10_FUNC_OTG_FS_ID>,
-                                                <STM32F429_PA11_FUNC_OTG_FS_DM>,
-                                                <STM32F429_PA12_FUNC_OTG_FS_DP>;
+                                       pinmux = <STM32_PINMUX('A', 10, AF10)>, /* OTG_FS_ID */
+                                                <STM32_PINMUX('A', 11, AF10)>, /* OTG_FS_DM */
+                                                <STM32_PINMUX('A', 12, AF10)>; /* OTG_FS_DP */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <2>;
 
                        usbotg_fs_pins_b: usbotg_fs@1 {
                                pins {
-                                       pinmux = <STM32F429_PB12_FUNC_OTG_HS_ID>,
-                                                <STM32F429_PB14_FUNC_OTG_HS_DM>,
-                                                <STM32F429_PB15_FUNC_OTG_HS_DP>;
+                                       pinmux = <STM32_PINMUX('B', 12, AF12)>, /* OTG_HS_ID */
+                                                <STM32_PINMUX('B', 14, AF12)>, /* OTG_HS_DM */
+                                                <STM32_PINMUX('B', 15, AF12)>; /* OTG_HS_DP */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <2>;
 
                        usbotg_hs_pins_a: usbotg_hs@0 {
                                pins {
-                                       pinmux = <STM32F429_PH4_FUNC_OTG_HS_ULPI_NXT>,
-                                                <STM32F429_PI11_FUNC_OTG_HS_ULPI_DIR>,
-                                                <STM32F429_PC0_FUNC_OTG_HS_ULPI_STP>,
-                                                <STM32F429_PA5_FUNC_OTG_HS_ULPI_CK>,
-                                                <STM32F429_PA3_FUNC_OTG_HS_ULPI_D0>,
-                                                <STM32F429_PB0_FUNC_OTG_HS_ULPI_D1>,
-                                                <STM32F429_PB1_FUNC_OTG_HS_ULPI_D2>,
-                                                <STM32F429_PB10_FUNC_OTG_HS_ULPI_D3>,
-                                                <STM32F429_PB11_FUNC_OTG_HS_ULPI_D4>,
-                                                <STM32F429_PB12_FUNC_OTG_HS_ULPI_D5>,
-                                                <STM32F429_PB13_FUNC_OTG_HS_ULPI_D6>,
-                                                <STM32F429_PB5_FUNC_OTG_HS_ULPI_D7>;
+                                       pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT*/
+                                                <STM32_PINMUX('I', 11, AF10)>, /* OTG_HS_ULPI_DIR */
+                                                <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
+                                                <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
+                                                <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
+                                                <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
+                                                <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
+                                                <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
+                                                <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
+                                                <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
+                                                <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
+                                                <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <2>;
 
                        ethernet_mii: mii@0 {
                                pins {
-                                       pinmux = <STM32F429_PG13_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0>,
-                                                <STM32F429_PG14_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1>,
-                                                <STM32F429_PC2_FUNC_ETH_MII_TXD2>,
-                                                <STM32F429_PB8_FUNC_ETH_MII_TXD3>,
-                                                <STM32F429_PC3_FUNC_ETH_MII_TX_CLK>,
-                                                <STM32F429_PG11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN>,
-                                                <STM32F429_PA2_FUNC_ETH_MDIO>,
-                                                <STM32F429_PC1_FUNC_ETH_MDC>,
-                                                <STM32F429_PA1_FUNC_ETH_MII_RX_CLK_ETH_RMII_REF_CLK>,
-                                                <STM32F429_PA7_FUNC_ETH_MII_RX_DV_ETH_RMII_CRS_DV>,
-                                                <STM32F429_PC4_FUNC_ETH_MII_RXD0_ETH_RMII_RXD0>,
-                                                <STM32F429_PC5_FUNC_ETH_MII_RXD1_ETH_RMII_RXD1>,
-                                                <STM32F429_PH6_FUNC_ETH_MII_RXD2>,
-                                                <STM32F429_PH7_FUNC_ETH_MII_RXD3>;
+                                       pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH_MII_TXD0_ETH_RMII_TXD0 */
+                                                <STM32_PINMUX('G', 14, AF11)>, /* ETH_MII_TXD1_ETH_RMII_TXD1 */
+                                                <STM32_PINMUX('C', 2, AF11)>, /* ETH_MII_TXD2 */
+                                                <STM32_PINMUX('B', 8, AF11)>, /* ETH_MII_TXD3 */
+                                                <STM32_PINMUX('C', 3, AF11)>, /* ETH_MII_TX_CLK */
+                                                <STM32_PINMUX('G', 11,AF11)>, /* ETH_MII_TX_EN_ETH_RMII_TX_EN */
+                                                <STM32_PINMUX('A', 2, AF11)>, /* ETH_MDIO */
+                                                <STM32_PINMUX('C', 1, AF11)>, /* ETH_MDC */
+                                                <STM32_PINMUX('A', 1, AF11)>, /* ETH_MII_RX_CLK_ETH_RMII_REF_CLK */
+                                                <STM32_PINMUX('A', 7, AF11)>, /* ETH_MII_RX_DV_ETH_RMII_CRS_DV */
+                                                <STM32_PINMUX('C', 4, AF11)>, /* ETH_MII_RXD0_ETH_RMII_RXD0 */
+                                                <STM32_PINMUX('C', 5, AF11)>, /* ETH_MII_RXD1_ETH_RMII_RXD1 */
+                                                <STM32_PINMUX('H', 6, AF11)>, /* ETH_MII_RXD2 */
+                                                <STM32_PINMUX('H', 7, AF11)>; /* ETH_MII_RXD3 */
                                        slew-rate = <2>;
                                };
                        };
 
                        adc3_in8_pin: adc@200 {
                                pins {
-                                       pinmux = <STM32F429_PF10_FUNC_ANALOG>;
+                                       pinmux = <STM32_PINMUX('F', 10, ANALOG)>;
                                };
                        };
 
                        pwm1_pins: pwm@1 {
                                pins {
-                                       pinmux = <STM32F429_PA8_FUNC_TIM1_CH1>,
-                                                <STM32F429_PB13_FUNC_TIM1_CH1N>,
-                                                <STM32F429_PB12_FUNC_TIM1_BKIN>;
+                                       pinmux = <STM32_PINMUX('A', 8, AF1)>, /* TIM1_CH1 */
+                                                <STM32_PINMUX('B', 13, AF1)>, /* TIM1_CH1N */
+                                                <STM32_PINMUX('B', 12, AF1)>; /* TIM1_BKIN */
                                };
                        };
 
                        pwm3_pins: pwm@3 {
                                pins {
-                                       pinmux = <STM32F429_PB4_FUNC_TIM3_CH1>,
-                                                <STM32F429_PB5_FUNC_TIM3_CH2>;
+                                       pinmux = <STM32_PINMUX('B', 4, AF2)>, /* TIM3_CH1 */
+                                                <STM32_PINMUX('B', 5, AF2)>; /* TIM3_CH2 */
                                };
                        };
 
                        i2c1_pins: i2c1@0 {
                                pins {
-                                       pinmux = <STM32F429_PB9_FUNC_I2C1_SDA>,
-                                                <STM32F429_PB6_FUNC_I2C1_SCL>;
+                                       pinmux = <STM32_PINMUX('B', 9, AF4)>, /* I2C1_SDA */
+                                                <STM32_PINMUX('B', 6, AF4)>; /* I2C1_SCL */
                                        bias-disable;
                                        drive-open-drain;
                                        slew-rate = <3>;
 
                        ltdc_pins: ltdc@0 {
                                pins {
-                                       pinmux = <STM32F429_PI12_FUNC_LCD_HSYNC>,
-                                                <STM32F429_PI13_FUNC_LCD_VSYNC>,
-                                                <STM32F429_PI14_FUNC_LCD_CLK>,
-                                                <STM32F429_PI15_FUNC_LCD_R0>,
-                                                <STM32F429_PJ0_FUNC_LCD_R1>,
-                                                <STM32F429_PJ1_FUNC_LCD_R2>,
-                                                <STM32F429_PJ2_FUNC_LCD_R3>,
-                                                <STM32F429_PJ3_FUNC_LCD_R4>,
-                                                <STM32F429_PJ4_FUNC_LCD_R5>,
-                                                <STM32F429_PJ5_FUNC_LCD_R6>,
-                                                <STM32F429_PJ6_FUNC_LCD_R7>,
-                                                <STM32F429_PJ7_FUNC_LCD_G0>,
-                                                <STM32F429_PJ8_FUNC_LCD_G1>,
-                                                <STM32F429_PJ9_FUNC_LCD_G2>,
-                                                <STM32F429_PJ10_FUNC_LCD_G3>,
-                                                <STM32F429_PJ11_FUNC_LCD_G4>,
-                                                <STM32F429_PJ12_FUNC_LCD_B0>,
-                                                <STM32F429_PJ13_FUNC_LCD_B1>,
-                                                <STM32F429_PJ14_FUNC_LCD_B2>,
-                                                <STM32F429_PJ15_FUNC_LCD_B3>,
-                                                <STM32F429_PK0_FUNC_LCD_G5>,
-                                                <STM32F429_PK1_FUNC_LCD_G6>,
-                                                <STM32F429_PK2_FUNC_LCD_G7>,
-                                                <STM32F429_PK3_FUNC_LCD_B4>,
-                                                <STM32F429_PK4_FUNC_LCD_B5>,
-                                                <STM32F429_PK5_FUNC_LCD_B6>,
-                                                <STM32F429_PK6_FUNC_LCD_B7>,
-                                                <STM32F429_PK7_FUNC_LCD_DE>;
+                                       pinmux = <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */
+                                                <STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */
+                                                <STM32_PINMUX('I', 14, AF14)>, /* LCD_CLK */
+                                                <STM32_PINMUX('I', 15, AF14)>, /* LCD_R0 */
+                                                <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */
+                                                <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */
+                                                <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */
+                                                <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */
+                                                <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */
+                                                <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6*/
+                                                <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */
+                                                <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */
+                                                <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */
+                                                <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */
+                                                <STM32_PINMUX('J', 10, AF14)>, /* LCD_G3 */
+                                                <STM32_PINMUX('J', 11, AF14)>, /* LCD_G4 */
+                                                <STM32_PINMUX('J', 12, AF14)>, /* LCD_B0 */
+                                                <STM32_PINMUX('J', 13, AF14)>, /* LCD_B1 */
+                                                <STM32_PINMUX('J', 14, AF14)>, /* LCD_B2 */
+                                                <STM32_PINMUX('J', 15, AF14)>, /* LCD_B3*/
+                                                <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */
+                                                <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */
+                                                <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */
+                                                <STM32_PINMUX('K', 3, AF14)>, /* LCD_B4 */
+                                                <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */
+                                                <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */
+                                                <STM32_PINMUX('K', 6, AF14)>, /* LCD_B7 */
+                                                <STM32_PINMUX('K', 7, AF14)>; /* LCD_DE */
                                        slew-rate = <2>;
                                };
                        };
 
                        dcmi_pins: dcmi@0 {
                                pins {
-                                       pinmux = <STM32F429_PA4_FUNC_DCMI_HSYNC>,
-                                                <STM32F429_PB7_FUNC_DCMI_VSYNC>,
-                                                <STM32F429_PA6_FUNC_DCMI_PIXCLK>,
-                                                <STM32F429_PC6_FUNC_DCMI_D0>,
-                                                <STM32F429_PC7_FUNC_DCMI_D1>,
-                                                <STM32F429_PC8_FUNC_DCMI_D2>,
-                                                <STM32F429_PC9_FUNC_DCMI_D3>,
-                                                <STM32F429_PC11_FUNC_DCMI_D4>,
-                                                <STM32F429_PD3_FUNC_DCMI_D5>,
-                                                <STM32F429_PB8_FUNC_DCMI_D6>,
-                                                <STM32F429_PE6_FUNC_DCMI_D7>,
-                                                <STM32F429_PC10_FUNC_DCMI_D8>,
-                                                <STM32F429_PC12_FUNC_DCMI_D9>,
-                                                <STM32F429_PD6_FUNC_DCMI_D10>,
-                                                <STM32F429_PD2_FUNC_DCMI_D11>;
+                                       pinmux = <STM32_PINMUX('A', 4, AF13)>, /* DCMI_HSYNC */
+                                                <STM32_PINMUX('B', 7, AF13)>, /* DCMI_VSYNC */
+                                                <STM32_PINMUX('A', 6, AF13)>, /* DCMI_PIXCLK */
+                                                <STM32_PINMUX('C', 6, AF13)>, /* DCMI_D0 */
+                                                <STM32_PINMUX('C', 7, AF13)>, /* DCMI_D1 */
+                                                <STM32_PINMUX('C', 8, AF13)>, /* DCMI_D2 */
+                                                <STM32_PINMUX('C', 9, AF13)>, /* DCMI_D3 */
+                                                <STM32_PINMUX('C', 11, AF13)>, /*DCMI_D4 */
+                                                <STM32_PINMUX('D', 3, AF13)>, /* DCMI_D5 */
+                                                <STM32_PINMUX('B', 8, AF13)>, /* DCMI_D6 */
+                                                <STM32_PINMUX('E', 6, AF13)>, /* DCMI_D7 */
+                                                <STM32_PINMUX('C', 10, AF13)>, /* DCMI_D8 */
+                                                <STM32_PINMUX('C', 12, AF13)>, /* DCMI_D9 */
+                                                <STM32_PINMUX('D', 6, AF13)>, /* DCMI_D10 */
+                                                <STM32_PINMUX('D', 2, AF13)>; /* DCMI_D11 */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <3>;
index 18f6560744379123f770a5f4a6a5733e4f10f87c..4d85dba59e1deadea023c5af85cd23b5e1823f34 100644 (file)
                serial0 = &usart1;
        };
 
+       usbotg_hs_phy: usb-phy {
+               #phy-cells = <0>;
+               compatible = "usb-nop-xceiv";
+               clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>;
+               clock-names = "main_clk";
+       };
+
+       /* This turns on vbus for otg fs for host mode (dwc2) */
+       vcc5v_otg_fs: vcc5v-otg-fs-regulator {
+               compatible = "regulator-fixed";
+               gpio = <&gpiod 5 0>;
+               regulator-name = "vcc5_host1";
+               regulator-always-on;
+       };
 };
 
 &clk_hse {
        pinctrl-names = "default";
        status = "okay";
 };
+
+&usbotg_fs {
+       dr_mode = "host";
+       pinctrl-0 = <&usbotg_fs_pins_a>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&usbotg_hs {
+       dr_mode = "host";
+       phys = <&usbotg_hs_phy>;
+       phy-names = "usb2-phy";
+       pinctrl-0 = <&usbotg_hs_pins_b>;
+       pinctrl-names = "default";
+       status = "okay";
+};
index 5f941789405903f08db94c632c84279e0944ad39..5f66d151eedb15fa5481323a17bae4f23c1d404c 100644 (file)
@@ -42,7 +42,7 @@
 
 #include "skeleton.dtsi"
 #include "armv7-m.dtsi"
-#include <dt-bindings/pinctrl/stm32f746-pinfunc.h>
+#include <dt-bindings/pinctrl/stm32-pinfunc.h>
 #include <dt-bindings/clock/stm32fx-clock.h>
 #include <dt-bindings/mfd/stm32f7-rcc.h>
 
                        status = "disabled";
                };
 
+               timers2: timers@40000000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40000000 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@1 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <1>;
+                               status = "disabled";
+                       };
+               };
+
                timer3: timer@40000400 {
                        compatible = "st,stm32-timer";
                        reg = <0x40000400 0x400>;
                        status = "disabled";
                };
 
+               timers3: timers@40000400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40000400 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@2 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <2>;
+                               status = "disabled";
+                       };
+               };
+
                timer4: timer@40000800 {
                        compatible = "st,stm32-timer";
                        reg = <0x40000800 0x400>;
                        status = "disabled";
                };
 
+               timers4: timers@40000800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40000800 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@3 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <3>;
+                               status = "disabled";
+                       };
+               };
+
                timer5: timer@40000c00 {
                        compatible = "st,stm32-timer";
                        reg = <0x40000c00 0x400>;
                        clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>;
                };
 
+               timers5: timers@40000c00 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40000C00 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@4 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <4>;
+                               status = "disabled";
+                       };
+               };
+
                timer6: timer@40001000 {
                        compatible = "st,stm32-timer";
                        reg = <0x40001000 0x400>;
                        status = "disabled";
                };
 
+               timers6: timers@40001000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40001000 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       timer@5 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <5>;
+                               status = "disabled";
+                       };
+               };
+
                timer7: timer@40001400 {
                        compatible = "st,stm32-timer";
                        reg = <0x40001400 0x400>;
                        status = "disabled";
                };
 
+               timers7: timers@40001400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40001400 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       timer@6 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <6>;
+                               status = "disabled";
+                       };
+               };
+
+               timers12: timers@40001800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40001800 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM12)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@11 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <11>;
+                               status = "disabled";
+                       };
+               };
+
+               timers13: timers@40001c00 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40001C00 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM13)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+               };
+
+               timers14: timers@40002000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40002000 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM14)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+               };
+
                rtc: rtc@40002800 {
                        compatible = "st,stm32-rtc";
                        reg = <0x40002800 0x400>;
                        status = "disabled";
                };
 
+               i2c1: i2c@40005400 {
+                       compatible = "st,stm32f7-i2c";
+                       reg = <0x40005400 0x400>;
+                       interrupts = <31>,
+                                    <32>;
+                       resets = <&rcc STM32F7_APB1_RESET(I2C1)>;
+                       clocks = <&rcc 1 CLK_I2C1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
                cec: cec@40006c00 {
                        compatible = "st,stm32-cec";
                        reg = <0x40006C00 0x400>;
                        status = "disabled";
                };
 
+               timers1: timers@40010000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40010000 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM1)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@0 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <0>;
+                               status = "disabled";
+                       };
+               };
+
+               timers8: timers@40010400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40010400 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM8)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@7 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <7>;
+                               status = "disabled";
+                       };
+               };
+
                usart1: serial@40011000 {
                        compatible = "st,stm32f7-uart";
                        reg = <0x40011000 0x400>;
                        interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
                };
 
+               timers9: timers@40014000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40014000 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM9)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+
+                       timer@8 {
+                               compatible = "st,stm32-timer-trigger";
+                               reg = <8>;
+                               status = "disabled";
+                       };
+               };
+
+               timers10: timers@40014400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40014400 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM10)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+               };
+
+               timers11: timers@40014800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-timers";
+                       reg = <0x40014800 0x400>;
+                       clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM11)>;
+                       clock-names = "int";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm";
+                               status = "disabled";
+                       };
+               };
+
                pwrcfg: power-config@40007000 {
                        compatible = "syscon";
                        reg = <0x40007000 0x400>;
 
                        cec_pins_a: cec@0 {
                                pins {
-                                       pinmux = <STM32F746_PA15_FUNC_HDMI_CEC>;
+                                       pinmux = <STM32_PINMUX('A', 15, AF4)>; /* HDMI CEC */
                                        slew-rate = <0>;
                                        drive-open-drain;
                                        bias-disable;
 
                        usart1_pins_a: usart1@0 {
                                pins1 {
-                                       pinmux = <STM32F746_PA9_FUNC_USART1_TX>;
+                                       pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <0>;
                                };
                                pins2 {
-                                       pinmux = <STM32F746_PA10_FUNC_USART1_RX>;
+                                       pinmux = <STM32_PINMUX('A', 10, AF7)>; /* USART1_RX */
                                        bias-disable;
                                };
                        };
 
                        usart1_pins_b: usart1@1 {
                                pins1 {
-                                       pinmux = <STM32F746_PA9_FUNC_USART1_TX>;
+                                       pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <0>;
                                };
                                pins2 {
-                                       pinmux = <STM32F746_PB7_FUNC_USART1_RX>;
+                                       pinmux = <STM32_PINMUX('B', 7, AF7)>; /* USART1_RX */
+                                       bias-disable;
+                               };
+                       };
+
+                       i2c1_pins_b: i2c1@0 {
+                               pins {
+                                       pinmux = <STM32_PINMUX('B', 9, AF4)>, /* I2C1 SDA */
+                                                <STM32_PINMUX('B', 8, AF4)>; /* I2C1 SCL */
+                                       bias-disable;
+                                       drive-open-drain;
+                                       slew-rate = <0>;
+                               };
+                       };
+
+                       usbotg_hs_pins_a: usbotg-hs@0 {
+                               pins {
+                                       pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
+                                                <STM32_PINMUX('I', 11, AF10)>, /* OTG_HS_ULPI_DIR */
+                                                <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
+                                                <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
+                                                <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
+                                                <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
+                                                <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
+                                                <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
+                                                <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
+                                                <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
+                                                <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
+                                                <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
+                                       bias-disable;
+                                       drive-push-pull;
+                                       slew-rate = <2>;
+                               };
+                       };
+
+                       usbotg_hs_pins_b: usbotg-hs@1 {
+                               pins {
+                                       pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
+                                                <STM32_PINMUX('C', 2, AF10)>, /* OTG_HS_ULPI_DIR */
+                                                <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
+                                                <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
+                                                <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
+                                                <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
+                                                <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
+                                                <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
+                                                <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
+                                                <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
+                                                <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
+                                                <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
+                                       bias-disable;
+                                       drive-push-pull;
+                                       slew-rate = <2>;
+                               };
+                       };
+
+                       usbotg_fs_pins_a: usbotg-fs@0 {
+                               pins {
+                                       pinmux = <STM32_PINMUX('A', 10, AF10)>, /* OTG_FS_ID */
+                                                <STM32_PINMUX('A', 11, AF10)>, /* OTG_FS_DM */
+                                                <STM32_PINMUX('A', 12, AF10)>; /* OTG_FS_DP */
                                        bias-disable;
+                                       drive-push-pull;
+                                       slew-rate = <2>;
                                };
                        };
                };
                        st,mem2mem;
                        status = "disabled";
                };
+
+               usbotg_hs: usb@40040000 {
+                       compatible = "st,stm32f7-hsotg";
+                       reg = <0x40040000 0x40000>;
+                       interrupts = <77>;
+                       clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>;
+                       clock-names = "otg";
+                       status = "disabled";
+               };
+
+               usbotg_fs: usb@50000000 {
+                       compatible = "st,stm32f4x9-fsotg";
+                       reg = <0x50000000 0x40000>;
+                       interrupts = <67>;
+                       clocks = <&rcc 0 STM32F7_AHB2_CLOCK(OTGFS)>;
+                       clock-names = "otg";
+                       status = "disabled";
+               };
        };
 };
 
index 76bbd6575fae6fdabdf1806ee91601486218376d..65c1cd0439872a612fad7a7af7017dc3064a54da 100644 (file)
@@ -40,7 +40,7 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include <dt-bindings/pinctrl/stm32h7-pinfunc.h>
+#include <dt-bindings/pinctrl/stm32-pinfunc.h>
 
 / {
        soc {
@@ -55,7 +55,7 @@
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x0 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOA_CK>;
                                st,bank-name = "GPIOA";
                        };
 
@@ -63,7 +63,7 @@
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x400 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOB_CK>;
                                st,bank-name = "GPIOB";
                        };
 
@@ -71,7 +71,7 @@
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x800 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOC_CK>;
                                st,bank-name = "GPIOC";
                        };
 
@@ -79,7 +79,7 @@
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0xc00 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOD_CK>;
                                st,bank-name = "GPIOD";
                        };
 
@@ -87,7 +87,7 @@
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1000 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOE_CK>;
                                st,bank-name = "GPIOE";
                        };
 
@@ -95,7 +95,7 @@
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1400 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOF_CK>;
                                st,bank-name = "GPIOF";
                        };
 
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1800 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOG_CK>;
                                st,bank-name = "GPIOG";
                        };
 
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x1c00 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOH_CK>;
                                st,bank-name = "GPIOH";
                        };
 
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x2000 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOI_CK>;
                                st,bank-name = "GPIOI";
                        };
 
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x2400 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOJ_CK>;
                                st,bank-name = "GPIOJ";
                        };
 
                                gpio-controller;
                                #gpio-cells = <2>;
                                reg = <0x2800 0x400>;
-                               clocks = <&timer_clk>;
+                               clocks = <&rcc GPIOK_CK>;
                                st,bank-name = "GPIOK";
                        };
 
                        usart1_pins: usart1@0 {
                                pins1 {
-                                       pinmux = <STM32H7_PB14_FUNC_USART1_TX>;
+                                       pinmux = <STM32_PINMUX('B', 14, AF4)>; /* USART1_TX */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <0>;
                                };
                                pins2 {
-                                       pinmux = <STM32H7_PB15_FUNC_USART1_RX>;
+                                       pinmux = <STM32_PINMUX('B', 15, AF4)>; /* USART1_RX */
                                        bias-disable;
                                };
                        };
 
                        usart2_pins: usart2@0 {
                                pins1 {
-                                       pinmux = <STM32H7_PD5_FUNC_USART2_TX>;
+                                       pinmux = <STM32_PINMUX('D', 5, AF7)>; /* USART2_TX */
                                        bias-disable;
                                        drive-push-pull;
                                        slew-rate = <0>;
                                };
                                pins2 {
-                                       pinmux = <STM32H7_PD6_FUNC_USART2_RX>;
+                                       pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
                                        bias-disable;
                                };
                        };
index 26de3157870110d22aa6c2508df4ba6ad7fbd871..bbfcbaca0b36bc30e44b63dd5bc9c7b9ef872f91 100644 (file)
@@ -42,6 +42,8 @@
 
 #include "skeleton.dtsi"
 #include "armv7-m.dtsi"
+#include <dt-bindings/clock/stm32h7-clks.h>
+#include <dt-bindings/mfd/stm32h7-rcc.h>
 
 / {
        clocks {
                        clock-frequency = <0>;
                };
 
-               timer_clk: timer-clk {
+               clk_lse: clk-lse {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
-                       clock-frequency = <125000000>;
+                       clock-frequency = <32768>;
+               };
+
+               clk_i2s: i2s_ckin {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <0>;
                };
        };
 
                        compatible = "st,stm32-timer";
                        reg = <0x40000c00 0x400>;
                        interrupts = <50>;
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc TIM5_CK>;
+               };
+
+               lptimer1: timer@40002400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-lptimer";
+                       reg = <0x40002400 0x400>;
+                       clocks = <&rcc LPTIM1_CK>;
+                       clock-names = "mux";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm-lp";
+                               status = "disabled";
+                       };
+
+                       trigger@0 {
+                               compatible = "st,stm32-lptimer-trigger";
+                               reg = <0>;
+                               status = "disabled";
+                       };
+
+                       counter {
+                               compatible = "st,stm32-lptimer-counter";
+                               status = "disabled";
+                       };
                };
 
                usart2: serial@40004400 {
                        reg = <0x40004400 0x400>;
                        interrupts = <38>;
                        status = "disabled";
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc USART2_CK>;
                };
 
                dac: dac@40007400 {
                        compatible = "st,stm32h7-dac-core";
                        reg = <0x40007400 0x400>;
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc DAC12_CK>;
                        clock-names = "pclk";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0x40011000 0x400>;
                        interrupts = <37>;
                        status = "disabled";
-                       clocks = <&timer_clk>;
-
+                       clocks = <&rcc USART1_CK>;
                };
 
                dma1: dma@40020000 {
                                     <16>,
                                     <17>,
                                     <47>;
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc DMA1_CK>;
                        #dma-cells = <4>;
                        st,mem2mem;
+                       dma-requests = <8>;
                        status = "disabled";
                };
 
                                     <68>,
                                     <69>,
                                     <70>;
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc DMA2_CK>;
                        #dma-cells = <4>;
                        st,mem2mem;
+                       dma-requests = <8>;
                        status = "disabled";
                };
 
+               dmamux1: dma-router@40020800 {
+                       compatible = "st,stm32h7-dmamux";
+                       reg = <0x40020800 0x1c>;
+                       #dma-cells = <3>;
+                       dma-channels = <16>;
+                       dma-requests = <128>;
+                       dma-masters = <&dma1 &dma2>;
+                       clocks = <&rcc DMA1_CK>;
+               };
+
                adc_12: adc@40022000 {
                        compatible = "st,stm32h7-adc-core";
                        reg = <0x40022000 0x400>;
                        interrupts = <18>;
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc ADC12_CK>;
                        clock-names = "bus";
                        interrupt-controller;
                        #interrupt-cells = <1>;
                        };
                };
 
+               mdma1: dma@52000000 {
+                       compatible = "st,stm32h7-mdma";
+                       reg = <0x52000000 0x1000>;
+                       interrupts = <122>;
+                       clocks = <&rcc MDMA_CK>;
+                       #dma-cells = <5>;
+                       dma-channels = <16>;
+                       dma-requests = <32>;
+               };
+
+               lptimer2: timer@58002400 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-lptimer";
+                       reg = <0x58002400 0x400>;
+                       clocks = <&rcc LPTIM2_CK>;
+                       clock-names = "mux";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm-lp";
+                               status = "disabled";
+                       };
+
+                       trigger@1 {
+                               compatible = "st,stm32-lptimer-trigger";
+                               reg = <1>;
+                               status = "disabled";
+                       };
+
+                       counter {
+                               compatible = "st,stm32-lptimer-counter";
+                               status = "disabled";
+                       };
+               };
+
+               lptimer3: timer@58002800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-lptimer";
+                       reg = <0x58002800 0x400>;
+                       clocks = <&rcc LPTIM3_CK>;
+                       clock-names = "mux";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm-lp";
+                               status = "disabled";
+                       };
+
+                       trigger@2 {
+                               compatible = "st,stm32-lptimer-trigger";
+                               reg = <2>;
+                               status = "disabled";
+                       };
+               };
+
+               lptimer4: timer@58002c00 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-lptimer";
+                       reg = <0x58002c00 0x400>;
+                       clocks = <&rcc LPTIM4_CK>;
+                       clock-names = "mux";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm-lp";
+                               status = "disabled";
+                       };
+               };
+
+               lptimer5: timer@58003000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "st,stm32-lptimer";
+                       reg = <0x58003000 0x400>;
+                       clocks = <&rcc LPTIM5_CK>;
+                       clock-names = "mux";
+                       status = "disabled";
+
+                       pwm {
+                               compatible = "st,stm32-pwm-lp";
+                               status = "disabled";
+                       };
+               };
+
+               vrefbuf: regulator@58003C00 {
+                       compatible = "st,stm32-vrefbuf";
+                       reg = <0x58003C00 0x8>;
+                       clocks = <&rcc VREF_CK>;
+                       regulator-min-microvolt = <1500000>;
+                       regulator-max-microvolt = <2500000>;
+                       status = "disabled";
+               };
+
+               rcc: reset-clock-controller@58024400 {
+                       compatible = "st,stm32h743-rcc", "st,stm32-rcc";
+                       reg = <0x58024400 0x400>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+                       clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s>;
+                       st,syscfg = <&pwrcfg>;
+               };
+
+               pwrcfg: power-config@58024800 {
+                       compatible = "syscon";
+                       reg = <0x58024800 0x400>;
+               };
+
                adc_3: adc@58026000 {
                        compatible = "st,stm32h7-adc-core";
                        reg = <0x58026000 0x400>;
                        interrupts = <127>;
-                       clocks = <&timer_clk>;
+                       clocks = <&rcc ADC3_CK>;
                        clock-names = "bus";
                        interrupt-controller;
                        #interrupt-cells = <1>;
index 6c07786e7ddb9195fc88108d5d1906deb13f6c12..9f0e72c67219adba7a2f9d47ed69d596539420ac 100644 (file)
@@ -81,7 +81,7 @@
 };
 
 &clk_hse {
-       clock-frequency = <125000000>;
+       clock-frequency = <25000000>;
 };
 
 &usart1 {
index f80d37ddc4c6638e2d0f94da05af1ac9afa91ddc..09e909576c61f726aad93e3f4ddc9923b87b628f 100644 (file)
@@ -62,8 +62,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_a1000>;
 
                red {
                        label = "a1000:red:usr";
@@ -79,8 +77,6 @@
 
        reg_emac_3v3: emac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&emac_power_pin_a1000>;
                regulator-name = "emac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        status = "okay";
 };
 
-&pio {
-       emac_power_pin_a1000: emac_power_pin@0 {
-               pins = "PH15";
-               function = "gpio_out";
-       };
-
-       led_pins_a1000: led_pins@0 {
-               pins = "PH10", "PH20";
-               function = "gpio_out";
-       };
-};
-
 #include "axp209.dtsi"
 
 &reg_dcdc2 {
 
 &spdif {
        pinctrl-names = "default";
-       pinctrl-0 = <&spdif_tx_pins_a>;
+       pinctrl-0 = <&spdif_tx_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 6b02de592a0267dd3433483dcf5995de2a6813ad..39ba4ccb9e2e5af505c3134238382d1935f10a9a 100644 (file)
@@ -68,8 +68,6 @@
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
@@ -79,8 +77,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -95,7 +91,7 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        status = "okay";
 };
 
-&pio {
-       usb2_vbus_pin_a: usb2_vbus_pin@0 {
-               pins = "PH12";
-       };
-};
-
 &reg_usb0_vbus {
        regulator-boot-on;
        status = "okay";
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index a7d61994b8fd272d2d4531fe15d1e4e8653622d3..dfc88aee4fe35f04209e585661288cf0dc8f3de9 100644 (file)
@@ -65,8 +65,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
        ft5306de4: touchscreen@38 {
        vref-supply = <&reg_vcc3v0>;
        status = "okay";
 
-       button@800 {
+       button-800 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <800000>;
        };
 
-       button@1000 {
+       button-1000 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <1000000>;
        };
 
-       button@1200 {
+       button-1200 {
                label = "Back";
                linux,code = <KEY_BACK>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 404ce769489968214107adca9a6d2d4592e33e3e..1982c8c238c54b3b9d484db4206f6d53a4a2b980 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cpu-supply = <&reg_dcdc2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
        status = "okay";
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       led_pins_cubieboard: led_pins@0 {
+       led_pins_cubieboard: led-pins {
                pins = "PH20", "PH21";
                function = "gpio_out";
                drive-strength = <20>;
        };
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
 
 &spi0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins_a>,
-                   <&spi0_cs0_pins_a>;
+       pinctrl-0 = <&spi0_pi_pins>,
+                   <&spi0_cs0_pi_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index e0777ae808c749bd2e1a81ee2ce1740267971de6..147cbc5e08ac560cbd703da412f47628aca10f3e 100644 (file)
@@ -58,8 +58,6 @@
 
        backlight: backlight {
                compatible = "pwm-backlight";
-               pinctrl-names = "default";
-               pinctrl-0 = <&bl_en_pin_dsrv9703c>;
                pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
                brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
                default-brightness-level = <8>;
                max-microvolt = <3000000>;
        };
 
-       reg_motor: reg_motor {
+       reg_motor: reg-motor {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&motor_pins>;
                regulator-name = "vcc-motor";
                regulator-min-microvolt = <3000000>;
                regulator-max-microvolt = <3000000>;
@@ -90,8 +86,6 @@
 };
 
 &codec {
-       pinctrl-names = "default";
-       pinctrl-0 = <&codec_pa_pin>;
        allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
        status = "okay";
 };
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        /* pull-ups and devices require AXP209 LDO3 */
        status = "failed";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
        ft5406ee8: touchscreen@38 {
                reg = <0x38>;
                interrupt-parent = <&pio>;
                interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&touchscreen_pins>;
                reset-gpios = <&pio 1 13 GPIO_ACTIVE_LOW>;
                touchscreen-size-x = <1024>;
                touchscreen-size-y = <768>;
        vref-supply = <&reg_ldo2>;
        status = "okay";
 
-       button@400 {
+       button-400 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <400000>;
        };
 
-       button@800 {
+       button-800 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       bl_en_pin_dsrv9703c: bl_en_pin@0 {
-               pins = "PH7";
-               function = "gpio_out";
-       };
-
-       codec_pa_pin: codec_pa_pin@0 {
-               pins = "PH15";
-               function = "gpio_out";
-       };
-
-       motor_pins: motor_pins@0 {
-               pins = "PB3";
-               function = "gpio_out";
-       };
-
-       touchscreen_pins: touchscreen_pins@0 {
-               pins = "PB13";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &pwm {
        pinctrl-names = "default";
-       pinctrl-0 = <&pwm0_pins_a>;
+       pinctrl-0 = <&pwm0_pin>;
        status = "okay";
 };
 
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index d8bfd7b74916262dcfeebe7e11cef06d1ca35149..41ca8bded89f020883aa6297dc4453f8a71bbc44 100644 (file)
@@ -72,8 +72,6 @@
  */
 &codec {
        /* PH15 controls power to external amplifier (ft2012q) */
-       pinctrl-names = "default";
-       pinctrl-0 = <&codec_pa_pin>;
        allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -91,8 +89,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        /* Accelerometer */
 
        status = "okay";
 
-       button@158 {
+       button-158 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <158730>;
        };
 
-       button@349 {
+       button-349 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <349206>;
        };
 
-       button@1142 {
+       button-1142 {
                label = "Esc";
                linux,code = <KEY_ESC>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH01 */
        status = "okay";
 };
 
-&pio {
-       codec_pa_pin: codec_pa_pin@0 {
-               pins = "PH15";
-               function = "gpio_out";
-       };
-};
-
 &reg_dcdc2 {
        regulator-always-on;
        regulator-min-microvolt = <1000000>;
 
 &uart0  {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 856cfc9128e6c5baaff8f71bd76245522e882074..f33e42d6ce8bad174c9778a8f5ccb6a4b66ce751 100644 (file)
@@ -80,8 +80,6 @@
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy0>;
        status = "okay";
 };
@@ -92,7 +90,7 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        status = "okay";
 };
 
-&pio {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hackberry_hogs>;
-
-       hackberry_hogs: hogs@0 {
-               pins = "PH19";
-               function = "gpio_out";
-       };
-
-       usb2_vbus_pin_hackberry: usb2_vbus_pin@0 {
-               pins = "PH12";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb1_vbus {
        status = "okay";
 };
 
 &reg_usb2_vbus {
-       pinctrl-0 = <&usb2_vbus_pin_hackberry>;
        gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
index 6506595268b2a5c0f8ef12ae798a47515b8fe070..35c57d065dd8f2d306da46fb98f09e9f8416e375 100644 (file)
@@ -63,8 +63,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -78,8 +76,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index d51d8c302dafac2fa01e08fe2e57b110b3b04b58..9482e831a9a169e7e9ce7f63108b9a5666d9d66b 100644 (file)
@@ -58,8 +58,6 @@
 
        backlight: backlight {
                compatible = "pwm-backlight";
-               pinctrl-names = "default";
-               pinctrl-0 = <&bl_en_pin_inet>;
                pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
                brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
                default-brightness-level = <8>;
@@ -88,8 +86,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        /* Accelerometer */
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
        ft5x: touchscreen@38 {
                reg = <0x38>;
                interrupt-parent = <&pio>;
                interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&touchscreen_wake_pin>;
                wake-gpios = <&pio 1 13 GPIO_ACTIVE_HIGH>; /* PB13 */
                touchscreen-size-x = <600>;
                touchscreen-size-y = <1024>;
        vref-supply = <&reg_ldo2>;
        status = "okay";
 
-       button@200 {
+       button-200 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <200000>;
        };
 
-       button@1000 {
+       button-1000 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <1000000>;
        };
 
-       button@1200 {
+       button-1200 {
                label = "Home";
                linux,code = <KEY_HOMEPAGE>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       bl_en_pin_inet: bl_en_pin@0 {
-               pins = "PH7";
-               function = "gpio_out";
-       };
-
-       touchscreen_wake_pin: touchscreen_wake_pin@0 {
-               pins = "PB13";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &pwm {
        pinctrl-names = "default";
-       pinctrl-0 = <&pwm0_pins_a>;
+       pinctrl-0 = <&pwm0_pin>;
        status = "okay";
 };
 
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index a8e479fe43ca83acf8df79a637b0db864ddb74dc..4b5c91c8e85bff25c135e2d1e1dd2bdf1d19f55d 100644 (file)
@@ -72,8 +72,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
        ft5406ee8: touchscreen@38 {
        vref-supply = <&reg_ldo2>;
        status = "okay";
 
-       button@200 {
+       button-200 {
                label = "Menu";
                linux,code = <KEY_MENU>;
                channel = <0>;
                voltage = <200000>;
        };
 
-       button@600 {
+       button-600 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <600000>;
        };
 
-       button@800 {
+       button-800 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <800000>;
        };
 
-       button@1000 {
+       button-1000 {
                label = "Home";
                linux,code = <KEY_HOMEPAGE>;
                channel = <0>;
                voltage = <1000000>;
        };
 
-       button@1200 {
+       button-1200 {
                label = "Esc";
                linux,code = <KEY_ESC>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 2acb89a87d41f2c07a426c56f67396ddff8d4211..13224f5ac166620efc8c5081cab2972f87de0ec2 100644 (file)
@@ -59,7 +59,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       gpio_keys {
+       gpio-keys {
                compatible = "gpio-keys-polled";
                pinctrl-names = "default";
                pinctrl-0 = <&key_pins_inet9f>;
@@ -67,7 +67,7 @@
                #size-cells = <0>;
                poll-interval = <20>;
 
-               button@0 {
+               left-joystick-left {
                        label = "Left Joystick Left";
                        linux,code = <ABS_X>;
                        linux,input-type = <EV_ABS>;
@@ -75,7 +75,7 @@
                        gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */
                };
 
-               button@1 {
+               left-joystick-right {
                        label = "Left Joystick Right";
                        linux,code = <ABS_X>;
                        linux,input-type = <EV_ABS>;
@@ -83,7 +83,7 @@
                        gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */
                };
 
-               button@2 {
+               left-joystick-up {
                        label = "Left Joystick Up";
                        linux,code = <ABS_Y>;
                        linux,input-type = <EV_ABS>;
@@ -91,7 +91,7 @@
                        gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
                };
 
-               button@3 {
+               left-joystick-down {
                        label = "Left Joystick Down";
                        linux,code = <ABS_Y>;
                        linux,input-type = <EV_ABS>;
@@ -99,7 +99,7 @@
                        gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
                };
 
-               button@4 {
+               right-joystick-left {
                        label = "Right Joystick Left";
                        linux,code = <ABS_Z>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */
                };
 
-               button@5 {
+               right-joystick-right {
                        label = "Right Joystick Right";
                        linux,code = <ABS_Z>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */
                };
 
-               button@6 {
+               right-joystick-up {
                        label = "Right Joystick Up";
                        linux,code = <ABS_RZ>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */
                };
 
-               button@7 {
+               right-joystick-down {
                        label = "Right Joystick Down";
                        linux,code = <ABS_RZ>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
                };
 
-               button@8 {
+               dpad-left {
                        label = "DPad Left";
                        linux,code = <ABS_HAT0X>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 7 23 GPIO_ACTIVE_LOW>; /* PH23 */
                };
 
-               button@9 {
+               dpad-right {
                        label = "DPad Right";
                        linux,code = <ABS_HAT0X>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */
                };
 
-               button@10 {
+               dpad-up {
                        label = "DPad Up";
                        linux,code = <ABS_HAT0Y>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */
                };
 
-               button@11 {
+               dpad-down {
                        label = "DPad Down";
                        linux,code = <ABS_HAT0Y>;
                        linux,input-type = <EV_ABS>;
                        gpios = <&pio 7 26 GPIO_ACTIVE_LOW>; /* PH26 */
                };
 
-               button@12 {
+               x {
                        label = "Button X";
                        linux,code = <BTN_X>;
                        gpios = <&pio 0 16 GPIO_ACTIVE_LOW>; /* PA16 */
                };
 
-               button@13 {
+               y {
                        label = "Button Y";
                        linux,code = <BTN_Y>;
                        gpios = <&pio 0 14 GPIO_ACTIVE_LOW>; /* PA14 */
                };
 
-               button@14 {
+               a {
                        label = "Button A";
                        linux,code = <BTN_A>;
                        gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */
                };
 
-               button@15 {
+               b {
                        label = "Button B";
                        linux,code = <BTN_B>;
                        gpios = <&pio 0 15 GPIO_ACTIVE_LOW>; /* PA15 */
                };
 
-               button@16 {
+               select {
                        label = "Select Button";
                        linux,code = <BTN_SELECT>;
                        gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */
                };
 
-               button@17 {
+               start {
                        label = "Start Button";
                        linux,code = <BTN_START>;
                        gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */
                };
 
-               button@18 {
+               top-left {
                        label = "Top Left Button";
                        linux,code = <BTN_TL>;
                        gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
                };
 
-               button@19 {
+               top-right {
                        label = "Top Right Button";
                        linux,code = <BTN_TR>;
                        gpios = <&pio 0 13 GPIO_ACTIVE_LOW>; /* PA13 */
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        /* Accelerometer */
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
        ft5406ee8: touchscreen@38 {
        vref-supply = <&reg_ldo2>;
        status = "okay";
 
-       button@200 {
+       button-200 {
                label = "Menu";
                linux,code = <KEY_MENU>;
                channel = <0>;
                voltage = <200000>;
        };
 
-       button@600 {
+       button-600 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <600000>;
        };
 
-       button@800 {
+       button-800 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <800000>;
        };
 
-       button@1000 {
+       button-1000 {
                label = "Home";
                linux,code = <KEY_HOMEPAGE>;
                channel = <0>;
                voltage = <1000000>;
        };
 
-       button@1200 {
+       button-1200 {
                label = "Esc";
                linux,code = <KEY_ESC>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       key_pins_inet9f: key_pins@0 {
+       key_pins_inet9f: key-pins {
                pins = "PA0", "PA1", "PA3", "PA4",
                       "PA5", "PA6", "PA8", "PA9",
                       "PA11", "PA12", "PA13",
                bias-pull-up;
        };
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 92e3e030ced350baa5698956325b8eb1158e2e97..d22bd79562d87e0ca559060de2745397caaabad0 100644 (file)
@@ -57,7 +57,7 @@
 
 &emac {
        pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
+       pinctrl-0 = <&emac_pins>;
        phy = <&phy1>;
        status = "okay";
 };
@@ -67,6 +67,9 @@
 };
 
 &i2c0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c0_pins>;
+
        axp209: pmic@34 {
                interrupts = <0>;
        };
 
 &i2c1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
+       pinctrl-0 = <&i2c1_pins>;
        status = "okay";
 };
 
 &i2c2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
+       pinctrl-0 = <&i2c2_pins>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
 
 &mmc0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
+       pinctrl-0 = <&mmc0_pins>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 
 &spi0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins_a>,
-                   <&spi0_cs0_pins_a>;
+       pinctrl-0 = <&spi0_pi_pins>,
+                   <&spi0_cs0_pi_pin>;
        status = "okay";
 };
+
+&uart0 {
+       pinctrl-0 = <&uart0_pb_pins>;
+};
index 92b2d4af3d21c667b1b3e32f07131c2171c7f91e..879141ca6027038f81b3975008bf82e9cbdf7e45 100644 (file)
@@ -62,8 +62,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_q5>;
 
                green {
                        label = "q5:green:usr";
@@ -74,8 +72,6 @@
 
        reg_emac_3v3: emac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&emac_power_pin_q5>;
                regulator-name = "emac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -98,8 +94,6 @@
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        status = "okay";
 };
 
-&pio {
-       emac_power_pin_q5: emac_power_pin@0 {
-               pins = "PH19";
-               function = "gpio_out";
-       };
-
-       led_pins_q5: led_pins@0 {
-               pins = "PH20";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb0_vbus {
        regulator-boot-on;
        status = "okay";
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 0f927da28ee167961294c7ca21cd58bfc4e07f98..435c551aef0f398375ee42462f4ab590c70f931f 100644 (file)
@@ -61,8 +61,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_marsboard>;
 
                red1 {
                        label = "marsboard:red1:usr";
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       led_pins_marsboard: led_pins@0 {
-               pins = "PB5", "PB6", "PB7", "PB8";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
 
 &spi0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins_a>,
-                   <&spi0_cs0_pins_a>;
+       pinctrl-0 = <&spi0_pi_pins>,
+                   <&spi0_cs0_pi_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index a5ed9e4e22c611bffa1842a6140665ada70b1db3..1b639e5f91720a73c0c921e37c72f6fbac19db05 100644 (file)
@@ -70,8 +70,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pins>;
        status = "okay";
 };
 
-&ir0_rx_pins_a {
+&ir0_rx_pins {
        /* The ir receiver is not always populated */
        bias-pull-up;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 81db6824a2c79c7441f1aa335abde6f84b45e341..7198b34e2e5082cf41679f9bd3f3483539b947a0 100644 (file)
@@ -71,8 +71,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        status = "okay";
 };
 
-&pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
-               pins = "PH4";
-               function = "gpio_in";
-       };
-
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
-               pins = "PH5";
-               function = "gpio_in";
-       };
-
-       usb2_vbus_pin_mk802: usb2_vbus_pin@0 {
-               pins = "PH12";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb0_vbus {
        status = "okay";
 };
 };
 
 &reg_usb2_vbus {
-       pinctrl-0 = <&usb2_vbus_pin_mk802>;
        gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 };
 
 &usbphy {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
        usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
        usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
        usb0_vbus-supply = <&reg_usb0_vbus>;
index e74a881fd9a7a56d399742e8116245163810d21e..e460da2eb13961cc14398519c6c91cb2a8a50263 100644 (file)
@@ -67,8 +67,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -82,8 +80,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 462412ee903c54a0bb0c758d85ae2daad96069e9..49247fbe6acd5d73a19d07ceec73be50c1d973a4 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cooling-max-level = <2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
        status = "okay";
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        eeprom: eeprom@50 {
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
-               pins = "PC3";
-               function = "gpio_out";
-       };
-
-       led_pins_olinuxinolime: led_pins@0 {
+       led_pins_olinuxinolime: led-pin {
                pins = "PH2";
                function = "gpio_out";
                drive-strength = <20>;
        };
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
        gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 84f55e76df0c211568c5c0975428235dc7f08a4a..6e140547b638f9a45bf63fbe1b8ee5c8387b962a 100644 (file)
@@ -62,8 +62,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_pcduino>;
 
                tx {
                        label = "pcduino:green:tx";
                };
        };
 
-       gpio_keys {
+       gpio-keys {
                compatible = "gpio-keys";
-               pinctrl-names = "default";
-               pinctrl-0 = <&key_pins_pcduino>;
                #address-cells = <1>;
                #size-cells = <0>;
 
-               button@0 {
+               back {
                        label = "Key Back";
                        linux,code = <KEY_BACK>;
                        gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
                };
 
-               button@1 {
+               home {
                        label = "Key Home";
                        linux,code = <KEY_HOME>;
                        gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
                };
 
-               button@2 {
+               menu {
                        label = "Key Menu";
                        linux,code = <KEY_MENU>;
                        gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
 };
 
 &emac {
-       pinctrl-names = "default";
-       pinctrl-0 = <&emac_pins_a>;
        phy = <&phy1>;
        status = "okay";
 };
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       led_pins_pcduino: led_pins@0 {
-               pins = "PH15", "PH16";
-               function = "gpio_out";
-       };
-
-       key_pins_pcduino: key_pins@0 {
-               pins = "PH17", "PH18", "PH19";
-               function = "gpio_in";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 811d00ee2aded649d4aa92674f7da34b0d61e022..bc4f128965ed52e06aa95967ec094b4f2bcd6212 100644 (file)
        compatible = "linksprite,a10-pcduino2", "allwinner,sun4i-a10";
 };
 
-&pio {
-       usb2_vbus_pin_pcduino2: usb2_vbus_pin@0 {
-               pins = "PD2";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb2_vbus {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb2_vbus_pin_pcduino2>;
        gpio = <&pio 3 2 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
index c0f8c88b5a7d8ac064a02fa4097f225532bf1966..5081303f79e739e7bb3f865771ca36fabda8b07f 100644 (file)
@@ -58,8 +58,6 @@
 
        backlight: backlight {
                compatible = "pwm-backlight";
-               pinctrl-names = "default";
-               pinctrl-0 = <&bl_en_pin_protab>;
                pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
                brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
                default-brightness-level = <8>;
@@ -72,8 +70,6 @@
 };
 
 &codec {
-       pinctrl-names = "default";
-       pinctrl-0 = <&codec_pa_pin>;
        allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
        status = "okay";
 };
@@ -87,8 +83,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        /* pull-ups and devices require AXP209 LDO3 */
        status = "failed";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
-       pixcir_ts@5c {
-               pinctrl-names = "default";
-               pinctrl-0 = <&touchscreen_pins>;
+       touchscreen@5c {
                compatible = "pixcir,pixcir_tangoc";
                reg = <0x5c>;
                interrupt-parent = <&pio>;
        vref-supply = <&reg_ldo2>;
        status = "okay";
 
-       button@400 {
+       button-400 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <400000>;
        };
 
-       button@800 {
+       button-800 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
 };
 
 &pio {
-       bl_en_pin_protab: bl_en_pin@0 {
-               pins = "PH7";
-               function = "gpio_out";
-       };
-
-       codec_pa_pin: codec_pa_pin@0 {
-               pins = "PH15";
-               function = "gpio_out";
-       };
-
-       touchscreen_pins: touchscreen_pins@0 {
-               pins = "PA5", "PB13";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
 
 &pwm {
        pinctrl-names = "default";
-       pinctrl-0 = <&pwm0_pins_a>;
+       pinctrl-0 = <&pwm0_pin>;
        status = "okay";
 };
 
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
index 41c2579143fd6b7beb9f9e665e21dd0fd48b4409..b91300d49a31081269789a6e7437e6d707a8a6f4 100644 (file)
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include "skeleton.dtsi"
-
 #include <dt-bindings/thermal/thermal.h>
-
-#include <dt-bindings/clock/sun4i-a10-pll2.h>
 #include <dt-bindings/dma/sun4i-a10.h>
+#include <dt-bindings/clock/sun4i-a10-ccu.h>
+#include <dt-bindings/reset/sun4i-a10-ccu.h>
 
 / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        interrupt-parent = <&intc>;
 
        aliases {
                #size-cells = <1>;
                ranges;
 
-               framebuffer@0 {
+               framebuffer-lcd0-hdmi {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0-hdmi";
-                       clocks = <&ahb_gates 36>, <&ahb_gates 43>,
-                                <&ahb_gates 44>, <&de_be0_clk>,
-                                <&tcon0_ch1_clk>, <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
+                                <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
+                                <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>;
                        status = "disabled";
                };
 
-               framebuffer@1 {
+               framebuffer-fe0-lcd0-hdmi {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi";
-                       clocks = <&ahb_gates 36>, <&ahb_gates 43>,
-                                <&ahb_gates 44>, <&ahb_gates 46>,
-                                <&de_be0_clk>, <&de_fe0_clk>, <&tcon0_ch1_clk>,
-                                <&dram_gates 25>, <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
+                                <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
+                                <&ccu CLK_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
+                                <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>,
+                                <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
                        status = "disabled";
                };
 
-               framebuffer@2 {
+               framebuffer-fe0-lcd0 {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_fe0-de_be0-lcd0";
-                       clocks = <&ahb_gates 36>, <&ahb_gates 44>, <&ahb_gates 46>,
-                                <&de_be0_clk>, <&de_fe0_clk>, <&tcon0_ch0_clk>,
-                                <&dram_gates 25>, <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
+                                <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>,
+                                <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_TCON0_CH0>,
+                                <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
                        status = "disabled";
                };
 
-               framebuffer@3 {
+               framebuffer-fe0-lcd0-tve0 {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0";
-                       clocks = <&ahb_gates 34>, <&ahb_gates 36>,
-                                <&ahb_gates 44>, <&ahb_gates 46>,
-                                <&de_be0_clk>, <&de_fe0_clk>,
-                                <&tcon0_ch1_clk>, <&dram_gates 5>,
-                                <&dram_gates 25>, <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
+                                <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
+                                <&ccu CLK_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
+                                <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>,
+                                <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
                        status = "disabled";
                };
        };
                        device_type = "cpu";
                        compatible = "arm,cortex-a8";
                        reg = <0x0>;
-                       clocks = <&cpu>;
+                       clocks = <&ccu CLK_CPU>;
                        clock-latency = <244144>; /* 8 32k periods */
                        operating-points = <
                                /* kHz    uV */
        };
 
        thermal-zones {
-               cpu_thermal {
+               cpu-thermal {
                        /* milliseconds */
                        polling-delay-passive = <250>;
                        polling-delay = <1000>;
                        };
 
                        trips {
-                               cpu_alert0: cpu_alert0 {
+                               cpu_alert0: cpu-alert0 {
                                        /* milliCelsius */
                                        temperature = <850000>;
                                        hysteresis = <2000>;
                                        type = "passive";
                                };
 
-                               cpu_crit: cpu_crit {
+                               cpu_crit: cpu-crit {
                                        /* milliCelsius */
                                        temperature = <100000>;
                                        hysteresis = <2000>;
                };
        };
 
-       memory {
-               reg = <0x40000000 0x80000000>;
-       };
-
        clocks {
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               /*
-                * This is a dummy clock, to be used as placeholder on
-                * other mux clocks when a specific parent clock is not
-                * yet implemented. It should be dropped when the driver
-                * is complete.
-                */
-               dummy: dummy {
+               osc24M: clk-24M {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
-                       clock-frequency = <0>;
-               };
-
-               osc24M: clk@01c20050 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-osc-clk";
-                       reg = <0x01c20050 0x4>;
                        clock-frequency = <24000000>;
                        clock-output-names = "osc24M";
                };
 
-               osc3M: osc3M_clk {
-                       compatible = "fixed-factor-clock";
-                       #clock-cells = <0>;
-                       clock-div = <8>;
-                       clock-mult = <1>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "osc3M";
-               };
-
-               osc32k: clk@0 {
+               osc32k: clk-32k {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <32768>;
                        clock-output-names = "osc32k";
                };
+       };
 
-               pll1: clk@01c20000 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll1-clk";
-                       reg = <0x01c20000 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll1";
-               };
-
-               pll2: clk@01c20008 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-pll2-clk";
-                       reg = <0x01c20008 0x8>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll2-1x", "pll2-2x",
-                                            "pll2-4x", "pll2-8x";
-               };
-
-               pll3: clk@01c20010 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll3-clk";
-                       reg = <0x01c20010 0x4>;
-                       clocks = <&osc3M>;
-                       clock-output-names = "pll3";
-               };
-
-               pll3x2: pll3x2_clk {
-                       compatible = "fixed-factor-clock";
-                       #clock-cells = <0>;
-                       clock-div = <1>;
-                       clock-mult = <2>;
-                       clocks = <&pll3>;
-                       clock-output-names = "pll3-2x";
-               };
-
-               pll4: clk@01c20018 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll1-clk";
-                       reg = <0x01c20018 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll4";
-               };
-
-               pll5: clk@01c20020 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-pll5-clk";
-                       reg = <0x01c20020 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll5_ddr", "pll5_other";
-               };
-
-               pll6: clk@01c20028 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-pll6-clk";
-                       reg = <0x01c20028 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll6_sata", "pll6_other", "pll6";
-               };
-
-               pll7: clk@01c20030 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll3-clk";
-                       reg = <0x01c20030 0x4>;
-                       clocks = <&osc3M>;
-                       clock-output-names = "pll7";
-               };
-
-               pll7x2: pll7x2_clk {
-                       compatible = "fixed-factor-clock";
-                       #clock-cells = <0>;
-                       clock-div = <1>;
-                       clock-mult = <2>;
-                       clocks = <&pll7>;
-                       clock-output-names = "pll7-2x";
-               };
-
-               /* dummy is 200M */
-               cpu: cpu@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-cpu-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
-                       clock-output-names = "cpu";
-               };
-
-               axi: axi@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-axi-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&cpu>;
-                       clock-output-names = "axi";
-               };
-
-               axi_gates: clk@01c2005c {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-axi-gates-clk";
-                       reg = <0x01c2005c 0x4>;
-                       clocks = <&axi>;
-                       clock-indices = <0>;
-                       clock-output-names = "axi_dram";
-               };
-
-               ahb: ahb@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-ahb-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&axi>;
-                       clock-output-names = "ahb";
-               };
-
-               ahb_gates: clk@01c20060 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-ahb-gates-clk";
-                       reg = <0x01c20060 0x8>;
-                       clocks = <&ahb>;
-                       clock-indices = <0>, <1>,
-                                       <2>, <3>,
-                                       <4>, <5>, <6>,
-                                       <7>, <8>, <9>,
-                                       <10>, <11>, <12>,
-                                       <13>, <14>, <16>,
-                                       <17>, <18>, <20>,
-                                       <21>, <22>, <23>,
-                                       <24>, <25>, <26>,
-                                       <32>, <33>, <34>,
-                                       <35>, <36>, <37>,
-                                       <40>, <41>, <43>,
-                                       <44>, <45>,
-                                       <46>, <47>,
-                                       <50>, <52>;
-                       clock-output-names = "ahb_usb0", "ahb_ehci0",
-                                            "ahb_ohci0", "ahb_ehci1",
-                                            "ahb_ohci1", "ahb_ss", "ahb_dma",
-                                            "ahb_bist", "ahb_mmc0", "ahb_mmc1",
-                                            "ahb_mmc2", "ahb_mmc3", "ahb_ms",
-                                            "ahb_nand", "ahb_sdram", "ahb_ace",
-                                            "ahb_emac", "ahb_ts", "ahb_spi0",
-                                            "ahb_spi1", "ahb_spi2", "ahb_spi3",
-                                            "ahb_pata", "ahb_sata", "ahb_gps",
-                                            "ahb_ve", "ahb_tvd", "ahb_tve0",
-                                            "ahb_tve1", "ahb_lcd0", "ahb_lcd1",
-                                            "ahb_csi0", "ahb_csi1", "ahb_hdmi",
-                                            "ahb_de_be0", "ahb_de_be1",
-                                            "ahb_de_fe0", "ahb_de_fe1",
-                                            "ahb_mp", "ahb_mali400";
-               };
-
-               apb0: apb0@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-apb0-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&ahb>;
-                       clock-output-names = "apb0";
-               };
-
-               apb0_gates: clk@01c20068 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-apb0-gates-clk";
-                       reg = <0x01c20068 0x4>;
-                       clocks = <&apb0>;
-                       clock-indices = <0>, <1>,
-                                       <2>, <3>,
-                                       <5>, <6>,
-                                       <7>, <10>;
-                       clock-output-names = "apb0_codec", "apb0_spdif",
-                                            "apb0_ac97", "apb0_iis",
-                                            "apb0_pio", "apb0_ir0",
-                                            "apb0_ir1", "apb0_keypad";
-               };
-
-               apb1: clk@01c20058 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-apb1-clk";
-                       reg = <0x01c20058 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
-                       clock-output-names = "apb1";
-               };
-
-               apb1_gates: clk@01c2006c {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-apb1-gates-clk";
-                       reg = <0x01c2006c 0x4>;
-                       clocks = <&apb1>;
-                       clock-indices = <0>, <1>,
-                                       <2>, <4>,
-                                       <5>, <6>,
-                                       <7>, <16>,
-                                       <17>, <18>,
-                                       <19>, <20>,
-                                       <21>, <22>,
-                                       <23>;
-                       clock-output-names = "apb1_i2c0", "apb1_i2c1",
-                                            "apb1_i2c2", "apb1_can",
-                                            "apb1_scr", "apb1_ps20",
-                                            "apb1_ps21", "apb1_uart0",
-                                            "apb1_uart1", "apb1_uart2",
-                                            "apb1_uart3", "apb1_uart4",
-                                            "apb1_uart5", "apb1_uart6",
-                                            "apb1_uart7";
-               };
-
-               nand_clk: clk@01c20080 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c20080 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "nand";
-               };
-
-               ms_clk: clk@01c20084 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c20084 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ms";
-               };
-
-               mmc0_clk: clk@01c20088 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c20088 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc0",
-                                            "mmc0_output",
-                                            "mmc0_sample";
-               };
-
-               mmc1_clk: clk@01c2008c {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c2008c 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc1",
-                                            "mmc1_output",
-                                            "mmc1_sample";
-               };
-
-               mmc2_clk: clk@01c20090 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c20090 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc2",
-                                            "mmc2_output",
-                                            "mmc2_sample";
-               };
-
-               mmc3_clk: clk@01c20094 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c20094 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc3",
-                                            "mmc3_output",
-                                            "mmc3_sample";
-               };
-
-               ts_clk: clk@01c20098 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c20098 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ts";
-               };
-
-               ss_clk: clk@01c2009c {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c2009c 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ss";
-               };
-
-               spi0_clk: clk@01c200a0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200a0 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi0";
-               };
-
-               spi1_clk: clk@01c200a4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200a4 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi1";
-               };
-
-               spi2_clk: clk@01c200a8 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200a8 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi2";
-               };
-
-               pata_clk: clk@01c200ac {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200ac 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "pata";
-               };
-
-               ir0_clk: clk@01c200b0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200b0 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ir0";
-               };
-
-               ir1_clk: clk@01c200b4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200b4 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ir1";
-               };
-
-               spdif_clk: clk@01c200c0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod1-clk";
-                       reg = <0x01c200c0 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_8X>,
-                                <&pll2 SUN4I_A10_PLL2_4X>,
-                                <&pll2 SUN4I_A10_PLL2_2X>,
-                                <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "spdif";
-               };
-
-               usb_clk: clk@01c200cc {
-                       #clock-cells = <1>;
-                       #reset-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-usb-clk";
-                       reg = <0x01c200cc 0x4>;
-                       clocks = <&pll6 1>;
-                       clock-output-names = "usb_ohci0", "usb_ohci1",
-                                            "usb_phy";
-               };
-
-               spi3_clk: clk@01c200d4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200d4 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi3";
-               };
-
-               dram_gates: clk@01c20100 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-dram-gates-clk";
-                       reg = <0x01c20100 0x4>;
-                       clocks = <&pll5 0>;
-                       clock-indices = <0>,
-                                       <1>, <2>,
-                                       <3>,
-                                       <4>,
-                                       <5>, <6>,
-                                       <15>,
-                                       <24>, <25>,
-                                       <26>, <27>,
-                                       <28>, <29>;
-                       clock-output-names = "dram_ve",
-                                            "dram_csi0", "dram_csi1",
-                                            "dram_ts",
-                                            "dram_tvd",
-                                            "dram_tve0", "dram_tve1",
-                                            "dram_output",
-                                            "dram_de_fe1", "dram_de_fe0",
-                                            "dram_de_be0", "dram_de_be1",
-                                            "dram_de_mp", "dram_ace";
-               };
-
-               de_be0_clk: clk@01c20104 {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c20104 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-be0";
-               };
-
-               de_be1_clk: clk@01c20108 {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c20108 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-be1";
-               };
-
-               de_fe0_clk: clk@01c2010c {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c2010c 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-fe0";
-               };
-
-               de_fe1_clk: clk@01c20110 {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c20110 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-fe1";
-               };
-
-
-               tcon0_ch0_clk: clk@01c20118 {
-                       #clock-cells = <0>;
-                       #reset-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
-                       reg = <0x01c20118 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon0-ch0-sclk";
-
-               };
-
-               tcon1_ch0_clk: clk@01c2011c {
-                       #clock-cells = <0>;
-                       #reset-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
-                       reg = <0x01c2011c 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon1-ch0-sclk";
-
-               };
-
-               tcon0_ch1_clk: clk@01c2012c {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
-                       reg = <0x01c2012c 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon0-ch1-sclk";
-
-               };
-
-               tcon1_ch1_clk: clk@01c20130 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
-                       reg = <0x01c20130 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon1-ch1-sclk";
-
-               };
-
-               ve_clk: clk@01c2013c {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-ve-clk";
-                       reg = <0x01c2013c 0x4>;
-                       clocks = <&pll4>;
-                       clock-output-names = "ve";
-               };
-
-               codec_clk: clk@01c20140 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-codec-clk";
-                       reg = <0x01c20140 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "codec";
-               };
+       de: display-engine {
+               compatible = "allwinner,sun4i-a10-display-engine";
+               allwinner,pipelines = <&fe0>, <&fe1>;
+               status = "disabled";
        };
 
-       soc@01c00000 {
+       soc {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               sram-controller@01c00000 {
+               sram-controller@1c00000 {
                        compatible = "allwinner,sun4i-a10-sram-controller";
                        reg = <0x01c00000 0x30>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
 
-                       sram_a: sram@00000000 {
+                       sram_a: sram@0 {
                                compatible = "mmio-sram";
                                reg = <0x00000000 0xc000>;
                                #address-cells = <1>;
                                };
                        };
 
-                       sram_d: sram@00010000 {
+                       sram_d: sram@10000 {
                                compatible = "mmio-sram";
                                reg = <0x00010000 0x1000>;
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges = <0 0x00010000 0x1000>;
 
-                               otg_sram: sram-section@0000 {
+                               otg_sram: sram-section@0 {
                                        compatible = "allwinner,sun4i-a10-sram-d";
                                        reg = <0x0000 0x1000>;
                                        status = "disabled";
                        };
                };
 
-               dma: dma-controller@01c02000 {
+               dma: dma-controller@1c02000 {
                        compatible = "allwinner,sun4i-a10-dma";
                        reg = <0x01c02000 0x1000>;
                        interrupts = <27>;
-                       clocks = <&ahb_gates 6>;
+                       clocks = <&ccu CLK_AHB_DMA>;
                        #dma-cells = <2>;
                };
 
-               nfc: nand@01c03000 {
+               nfc: nand@1c03000 {
                        compatible = "allwinner,sun4i-a10-nand";
                        reg = <0x01c03000 0x1000>;
                        interrupts = <37>;
-                       clocks = <&ahb_gates 13>, <&nand_clk>;
+                       clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 3>;
                        dma-names = "rxtx";
                        #size-cells = <0>;
                };
 
-               spi0: spi@01c05000 {
+               spi0: spi@1c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <10>;
-                       clocks = <&ahb_gates 20>, <&spi0_clk>;
+                       clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 27>,
                               <&dma SUN4I_DMA_DEDICATED 26>;
                        #size-cells = <0>;
                };
 
-               spi1: spi@01c06000 {
+               spi1: spi@1c06000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c06000 0x1000>;
                        interrupts = <11>;
-                       clocks = <&ahb_gates 21>, <&spi1_clk>;
+                       clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 9>,
                               <&dma SUN4I_DMA_DEDICATED 8>;
                        dma-names = "rx", "tx";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               emac: ethernet@01c0b000 {
+               emac: ethernet@1c0b000 {
                        compatible = "allwinner,sun4i-a10-emac";
                        reg = <0x01c0b000 0x1000>;
                        interrupts = <55>;
-                       clocks = <&ahb_gates 17>;
+                       clocks = <&ccu CLK_AHB_EMAC>;
                        allwinner,sram = <&emac_sram 1>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&emac_pins>;
                        status = "disabled";
                };
 
-               mdio: mdio@01c0b080 {
+               mdio: mdio@1c0b080 {
                        compatible = "allwinner,sun4i-a10-mdio";
                        reg = <0x01c0b080 0x14>;
                        status = "disabled";
                        #size-cells = <0>;
                };
 
-               mmc0: mmc@01c0f000 {
+               tcon0: lcd-controller@1c0c000 {
+                       compatible = "allwinner,sun4i-a10-tcon";
+                       reg = <0x01c0c000 0x1000>;
+                       interrupts = <44>;
+                       resets = <&ccu RST_TCON0>;
+                       reset-names = "lcd";
+                       clocks = <&ccu CLK_AHB_LCD0>,
+                                <&ccu CLK_TCON0_CH0>,
+                                <&ccu CLK_TCON0_CH1>;
+                       clock-names = "ahb",
+                                     "tcon-ch0",
+                                     "tcon-ch1";
+                       clock-output-names = "tcon0-pixel-clock";
+                       dmas = <&dma SUN4I_DMA_DEDICATED 14>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               tcon0_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       tcon0_in_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_out_tcon0>;
+                                       };
+
+                                       tcon0_in_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_out_tcon0>;
+                                       };
+                               };
+
+                               tcon0_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       tcon0_out_hdmi: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&hdmi_in_tcon0>;
+                                               allwinner,tcon-channel = <1>;
+                                       };
+                               };
+                       };
+               };
+
+               tcon1: lcd-controller@1c0d000 {
+                       compatible = "allwinner,sun4i-a10-tcon";
+                       reg = <0x01c0d000 0x1000>;
+                       interrupts = <45>;
+                       resets = <&ccu RST_TCON1>;
+                       reset-names = "lcd";
+                       clocks = <&ccu CLK_AHB_LCD1>,
+                                <&ccu CLK_TCON1_CH0>,
+                                <&ccu CLK_TCON1_CH1>;
+                       clock-names = "ahb",
+                                     "tcon-ch0",
+                                     "tcon-ch1";
+                       clock-output-names = "tcon1-pixel-clock";
+                       dmas = <&dma SUN4I_DMA_DEDICATED 15>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               tcon1_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       tcon1_in_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_out_tcon1>;
+                                       };
+
+                                       tcon1_in_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_out_tcon1>;
+                                       };
+                               };
+
+                               tcon1_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       tcon1_out_hdmi: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&hdmi_in_tcon1>;
+                                               allwinner,tcon-channel = <1>;
+                                       };
+                               };
+                       };
+               };
+
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun4i-a10-mmc";
                        reg = <0x01c0f000 0x1000>;
-                       clocks = <&ahb_gates 8>,
-                                <&mmc0_clk 0>,
-                                <&mmc0_clk 1>,
-                                <&mmc0_clk 2>;
-                       clock-names = "ahb",
-                                     "mmc",
-                                     "output",
-                                     "sample";
+                       clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>;
+                       clock-names = "ahb", "mmc";
                        interrupts = <32>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun4i-a10-mmc";
                        reg = <0x01c10000 0x1000>;
-                       clocks = <&ahb_gates 9>,
-                                <&mmc1_clk 0>,
-                                <&mmc1_clk 1>,
-                                <&mmc1_clk 2>;
-                       clock-names = "ahb",
-                                     "mmc",
-                                     "output",
-                                     "sample";
+                       clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>;
+                       clock-names = "ahb", "mmc";
                        interrupts = <33>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun4i-a10-mmc";
                        reg = <0x01c11000 0x1000>;
-                       clocks = <&ahb_gates 10>,
-                                <&mmc2_clk 0>,
-                                <&mmc2_clk 1>,
-                                <&mmc2_clk 2>;
-                       clock-names = "ahb",
-                                     "mmc",
-                                     "output",
-                                     "sample";
+                       clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>;
+                       clock-names = "ahb", "mmc";
                        interrupts = <34>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               mmc3: mmc@01c12000 {
+               mmc3: mmc@1c12000 {
                        compatible = "allwinner,sun4i-a10-mmc";
                        reg = <0x01c12000 0x1000>;
-                       clocks = <&ahb_gates 11>,
-                                <&mmc3_clk 0>,
-                                <&mmc3_clk 1>,
-                                <&mmc3_clk 2>;
-                       clock-names = "ahb",
-                                     "mmc",
-                                     "output",
-                                     "sample";
+                       clocks = <&ccu CLK_AHB_MMC3>, <&ccu CLK_MMC3>;
+                       clock-names = "ahb", "mmc";
                        interrupts = <35>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c13000 {
+               usb_otg: usb@1c13000 {
                        compatible = "allwinner,sun4i-a10-musb";
                        reg = <0x01c13000 0x0400>;
-                       clocks = <&ahb_gates 0>;
+                       clocks = <&ccu CLK_AHB_OTG>;
                        interrupts = <38>;
                        interrupt-names = "mc";
                        phys = <&usbphy 0>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c13400 {
+               usbphy: phy@1c13400 {
                        #phy-cells = <1>;
                        compatible = "allwinner,sun4i-a10-usb-phy";
                        reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
                        reg-names = "phy_ctrl", "pmu1", "pmu2";
-                       clocks = <&usb_clk 8>;
+                       clocks = <&ccu CLK_USB_PHY>;
                        clock-names = "usb_phy";
-                       resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
+                       resets = <&ccu RST_USB_PHY0>,
+                                <&ccu RST_USB_PHY1>,
+                                <&ccu RST_USB_PHY2>;
                        reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
                        status = "disabled";
                };
 
-               ehci0: usb@01c14000 {
+               ehci0: usb@1c14000 {
                        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
                        reg = <0x01c14000 0x100>;
                        interrupts = <39>;
-                       clocks = <&ahb_gates 1>;
+                       clocks = <&ccu CLK_AHB_EHCI0>;
                        phys = <&usbphy 1>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               ohci0: usb@01c14400 {
+               ohci0: usb@1c14400 {
                        compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
                        reg = <0x01c14400 0x100>;
                        interrupts = <64>;
-                       clocks = <&usb_clk 6>, <&ahb_gates 2>;
+                       clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
                        phys = <&usbphy 1>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               crypto: crypto-engine@01c15000 {
+               crypto: crypto-engine@1c15000 {
                        compatible = "allwinner,sun4i-a10-crypto";
                        reg = <0x01c15000 0x1000>;
                        interrupts = <86>;
-                       clocks = <&ahb_gates 5>, <&ss_clk>;
+                       clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>;
                        clock-names = "ahb", "mod";
                };
 
-               spi2: spi@01c17000 {
+               hdmi: hdmi@1c16000 {
+                       compatible = "allwinner,sun4i-a10-hdmi";
+                       reg = <0x01c16000 0x1000>;
+                       interrupts = <58>;
+                       clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
+                                <&ccu 9>,
+                                <&ccu 18>;
+                       clock-names = "ahb", "mod", "pll-0", "pll-1";
+                       dmas = <&dma SUN4I_DMA_NORMAL 16>,
+                              <&dma SUN4I_DMA_NORMAL 16>,
+                              <&dma SUN4I_DMA_DEDICATED 24>;
+                       dma-names = "ddc-tx", "ddc-rx", "audio-tx";
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               hdmi_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       hdmi_in_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon0_out_hdmi>;
+                                       };
+
+                                       hdmi_in_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_out_hdmi>;
+                                       };
+                               };
+
+                               hdmi_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+                               };
+                       };
+               };
+
+               spi2: spi@1c17000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c17000 0x1000>;
                        interrupts = <12>;
-                       clocks = <&ahb_gates 22>, <&spi2_clk>;
+                       clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 29>,
                               <&dma SUN4I_DMA_DEDICATED 28>;
                        #size-cells = <0>;
                };
 
-               ahci: sata@01c18000 {
+               ahci: sata@1c18000 {
                        compatible = "allwinner,sun4i-a10-ahci";
                        reg = <0x01c18000 0x1000>;
                        interrupts = <56>;
-                       clocks = <&pll6 0>, <&ahb_gates 25>;
+                       clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>;
                        status = "disabled";
                };
 
-               ehci1: usb@01c1c000 {
+               ehci1: usb@1c1c000 {
                        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
                        reg = <0x01c1c000 0x100>;
                        interrupts = <40>;
-                       clocks = <&ahb_gates 3>;
+                       clocks = <&ccu CLK_AHB_EHCI1>;
                        phys = <&usbphy 2>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               ohci1: usb@01c1c400 {
+               ohci1: usb@1c1c400 {
                        compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
                        reg = <0x01c1c400 0x100>;
                        interrupts = <65>;
-                       clocks = <&usb_clk 7>, <&ahb_gates 4>;
+                       clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
                        phys = <&usbphy 2>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               spi3: spi@01c1f000 {
+               spi3: spi@1c1f000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c1f000 0x1000>;
                        interrupts = <50>;
-                       clocks = <&ahb_gates 23>, <&spi3_clk>;
+                       clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 31>,
                               <&dma SUN4I_DMA_DEDICATED 30>;
                        #size-cells = <0>;
                };
 
-               intc: interrupt-controller@01c20400 {
+               ccu: clock@1c20000 {
+                       compatible = "allwinner,sun4i-a10-ccu";
+                       reg = <0x01c20000 0x400>;
+                       clocks = <&osc24M>, <&osc32k>;
+                       clock-names = "hosc", "losc";
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+
+               intc: interrupt-controller@1c20400 {
                        compatible = "allwinner,sun4i-a10-ic";
                        reg = <0x01c20400 0x400>;
                        interrupt-controller;
                        #interrupt-cells = <1>;
                };
 
-               pio: pinctrl@01c20800 {
+               pio: pinctrl@1c20800 {
                        compatible = "allwinner,sun4i-a10-pinctrl";
                        reg = <0x01c20800 0x400>;
                        interrupts = <28>;
-                       clocks = <&apb0_gates 5>, <&osc24M>, <&osc32k>;
+                       clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
                        clock-names = "apb", "hosc", "losc";
                        gpio-controller;
                        interrupt-controller;
                        #interrupt-cells = <3>;
                        #gpio-cells = <3>;
 
-                       can0_pins_a: can0@0 {
+                       can0_ph_pins: can0-ph-pins {
                                pins = "PH20", "PH21";
                                function = "can";
                        };
 
-                       emac_pins_a: emac0@0 {
+                       emac_pins: emac0-pins {
                                pins = "PA0", "PA1", "PA2",
                                       "PA3", "PA4", "PA5", "PA6",
                                       "PA7", "PA8", "PA9", "PA10",
                                function = "emac";
                        };
 
-                       i2c0_pins_a: i2c0@0 {
+                       i2c0_pins: i2c0-pins {
                                pins = "PB0", "PB1";
                                function = "i2c0";
                        };
 
-                       i2c1_pins_a: i2c1@0 {
+                       i2c1_pins: i2c1-pins {
                                pins = "PB18", "PB19";
                                function = "i2c1";
                        };
 
-                       i2c2_pins_a: i2c2@0 {
+                       i2c2_pins: i2c2-pins {
                                pins = "PB20", "PB21";
                                function = "i2c2";
                        };
 
-                       ir0_rx_pins_a: ir0@0 {
+                       ir0_rx_pins: ir0-rx-pin {
                                pins = "PB4";
                                function = "ir0";
                        };
 
-                       ir0_tx_pins_a: ir0@1 {
+                       ir0_tx_pins: ir0-tx-pin {
                                pins = "PB3";
                                function = "ir0";
                        };
 
-                       ir1_rx_pins_a: ir1@0 {
+                       ir1_rx_pins: ir1-rx-pin {
                                pins = "PB23";
                                function = "ir1";
                        };
 
-                       ir1_tx_pins_a: ir1@1 {
+                       ir1_tx_pins: ir1-tx-pin {
                                pins = "PB22";
                                function = "ir1";
                        };
 
-                       mmc0_pins_a: mmc0@0 {
+                       mmc0_pins: mmc0-pins {
                                pins = "PF0", "PF1", "PF2",
                                       "PF3", "PF4", "PF5";
                                function = "mmc0";
                                bias-pull-up;
                        };
 
-                       ps20_pins_a: ps20@0 {
+                       ps2_ch0_pins: ps2-ch0-pins {
                                pins = "PI20", "PI21";
                                function = "ps2";
                        };
 
-                       ps21_pins_a: ps21@0 {
+                       ps2_ch1_ph_pins: ps2-ch1-ph-pins {
                                pins = "PH12", "PH13";
                                function = "ps2";
                        };
 
-                       pwm0_pins_a: pwm0@0 {
+                       pwm0_pin: pwm0-pin {
                                pins = "PB2";
                                function = "pwm";
                        };
 
-                       pwm1_pins_a: pwm1@0 {
+                       pwm1_pin: pwm1-pin {
                                pins = "PI3";
                                function = "pwm";
                        };
 
-                       spdif_tx_pins_a: spdif@0 {
+                       spdif_tx_pin: spdif-tx-pin {
                                pins = "PB13";
                                function = "spdif";
                                bias-pull-up;
                        };
 
-                       spi0_pins_a: spi0@0 {
+                       spi0_pi_pins: spi0-pi-pins {
                                pins = "PI11", "PI12", "PI13";
                                function = "spi0";
                        };
 
-                       spi0_cs0_pins_a: spi0_cs0@0 {
+                       spi0_cs0_pi_pin: spi0-cs0-pi-pin {
                                pins = "PI10";
                                function = "spi0";
                        };
 
-                       spi1_pins_a: spi1@0 {
+                       spi1_pins: spi1-pins {
                                pins = "PI17", "PI18", "PI19";
                                function = "spi1";
                        };
 
-                       spi1_cs0_pins_a: spi1_cs0@0 {
+                       spi1_cs0_pin: spi1-cs0-pin {
                                pins = "PI16";
                                function = "spi1";
                        };
 
-                       spi2_pins_a: spi2@0 {
-                               pins = "PC20", "PC21", "PC22";
+                       spi2_pb_pins: spi2-pb-pins {
+                               pins = "PB15", "PB16", "PB17";
                                function = "spi2";
                        };
 
-                       spi2_pins_b: spi2@1 {
-                               pins = "PB15", "PB16", "PB17";
+                       spi2_pc_pins: spi2-pc-pins {
+                               pins = "PC20", "PC21", "PC22";
                                function = "spi2";
                        };
 
-                       spi2_cs0_pins_a: spi2_cs0@0 {
-                               pins = "PC19";
+                       spi2_cs0_pb_pin: spi2-cs0-pb-pin {
+                               pins = "PB14";
                                function = "spi2";
                        };
 
-                       spi2_cs0_pins_b: spi2_cs0@1 {
-                               pins = "PB14";
+                       spi2_cs0_pc_pins: spi2-cs0-pc-pin {
+                               pins = "PC19";
                                function = "spi2";
                        };
 
-                       uart0_pins_a: uart0@0 {
+                       uart0_pb_pins: uart0-pb-pins {
                                pins = "PB22", "PB23";
                                function = "uart0";
                        };
 
-                       uart0_pins_b: uart0@1 {
+                       uart0_pf_pins: uart0-pf-pins {
                                pins = "PF2", "PF4";
                                function = "uart0";
                        };
 
-                       uart1_pins_a: uart1@0 {
+                       uart1_pins: uart1-pins {
                                pins = "PA10", "PA11";
                                function = "uart1";
                        };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0x90>;
                        interrupts = <22>;
                        clocks = <&osc24M>;
                };
 
-               wdt: watchdog@01c20c90 {
+               wdt: watchdog@1c20c90 {
                        compatible = "allwinner,sun4i-a10-wdt";
                        reg = <0x01c20c90 0x10>;
                };
 
-               rtc: rtc@01c20d00 {
+               rtc: rtc@1c20d00 {
                        compatible = "allwinner,sun4i-a10-rtc";
                        reg = <0x01c20d00 0x20>;
                        interrupts = <24>;
                };
 
-               pwm: pwm@01c20e00 {
+               pwm: pwm@1c20e00 {
                        compatible = "allwinner,sun4i-a10-pwm";
                        reg = <0x01c20e00 0xc>;
                        clocks = <&osc24M>;
                        status = "disabled";
                };
 
-               spdif: spdif@01c21000 {
+               spdif: spdif@1c21000 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-spdif";
                        reg = <0x01c21000 0x400>;
                        interrupts = <13>;
-                       clocks = <&apb0_gates 1>, <&spdif_clk>;
+                       clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
                        clock-names = "apb", "spdif";
                        dmas = <&dma SUN4I_DMA_NORMAL 2>,
                               <&dma SUN4I_DMA_NORMAL 2>;
                        status = "disabled";
                };
 
-               ir0: ir@01c21800 {
+               ir0: ir@1c21800 {
                        compatible = "allwinner,sun4i-a10-ir";
-                       clocks = <&apb0_gates 6>, <&ir0_clk>;
+                       clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>;
                        clock-names = "apb", "ir";
                        interrupts = <5>;
                        reg = <0x01c21800 0x40>;
                        status = "disabled";
                };
 
-               ir1: ir@01c21c00 {
+               ir1: ir@1c21c00 {
                        compatible = "allwinner,sun4i-a10-ir";
-                       clocks = <&apb0_gates 7>, <&ir1_clk>;
+                       clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>;
                        clock-names = "apb", "ir";
                        interrupts = <6>;
                        reg = <0x01c21c00 0x40>;
                        status = "disabled";
                };
 
-               lradc: lradc@01c22800 {
+               i2s0: i2s@1c22400 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun4i-a10-i2s";
+                       reg = <0x01c22400 0x400>;
+                       interrupts = <16>;
+                       clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>;
+                       clock-names = "apb", "mod";
+                       dmas = <&dma SUN4I_DMA_NORMAL 3>,
+                              <&dma SUN4I_DMA_NORMAL 3>;
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
+               lradc: lradc@1c22800 {
                        compatible = "allwinner,sun4i-a10-lradc-keys";
                        reg = <0x01c22800 0x100>;
                        interrupts = <31>;
                        status = "disabled";
                };
 
-               codec: codec@01c22c00 {
+               codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-codec";
                        reg = <0x01c22c00 0x40>;
                        interrupts = <30>;
-                       clocks = <&apb0_gates 0>, <&codec_clk>;
+                       clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>;
                        clock-names = "apb", "codec";
                        dmas = <&dma SUN4I_DMA_NORMAL 19>,
                               <&dma SUN4I_DMA_NORMAL 19>;
                        status = "disabled";
                };
 
-               sid: eeprom@01c23800 {
+               sid: eeprom@1c23800 {
                        compatible = "allwinner,sun4i-a10-sid";
                        reg = <0x01c23800 0x10>;
                };
 
-               rtp: rtp@01c25000 {
+               rtp: rtp@1c25000 {
                        compatible = "allwinner,sun4i-a10-ts";
                        reg = <0x01c25000 0x100>;
                        interrupts = <29>;
                        #thermal-sensor-cells = <0>;
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <1>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 16>;
+                       clocks = <&ccu CLK_APB1_UART0>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <2>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 17>;
+                       clocks = <&ccu CLK_APB1_UART1>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <3>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 18>;
+                       clocks = <&ccu CLK_APB1_UART2>;
                        status = "disabled";
                };
 
-               uart3: serial@01c28c00 {
+               uart3: serial@1c28c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28c00 0x400>;
                        interrupts = <4>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 19>;
+                       clocks = <&ccu CLK_APB1_UART3>;
                        status = "disabled";
                };
 
-               uart4: serial@01c29000 {
+               uart4: serial@1c29000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29000 0x400>;
                        interrupts = <17>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 20>;
+                       clocks = <&ccu CLK_APB1_UART4>;
                        status = "disabled";
                };
 
-               uart5: serial@01c29400 {
+               uart5: serial@1c29400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29400 0x400>;
                        interrupts = <18>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 21>;
+                       clocks = <&ccu CLK_APB1_UART5>;
                        status = "disabled";
                };
 
-               uart6: serial@01c29800 {
+               uart6: serial@1c29800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29800 0x400>;
                        interrupts = <19>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 22>;
+                       clocks = <&ccu CLK_APB1_UART6>;
                        status = "disabled";
                };
 
-               uart7: serial@01c29c00 {
+               uart7: serial@1c29c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29c00 0x400>;
                        interrupts = <20>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 23>;
+                       clocks = <&ccu CLK_APB1_UART7>;
                        status = "disabled";
                };
 
-               ps20: ps2@01c2a000 {
+               ps20: ps2@1c2a000 {
                        compatible = "allwinner,sun4i-a10-ps2";
                        reg = <0x01c2a000 0x400>;
                        interrupts = <62>;
-                       clocks = <&apb1_gates 6>;
+                       clocks = <&ccu CLK_APB1_PS20>;
                        status = "disabled";
                };
 
-               ps21: ps2@01c2a400 {
+               ps21: ps2@1c2a400 {
                        compatible = "allwinner,sun4i-a10-ps2";
                        reg = <0x01c2a400 0x400>;
                        interrupts = <63>;
-                       clocks = <&apb1_gates 7>;
+                       clocks = <&ccu CLK_APB1_PS21>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <7>;
-                       clocks = <&apb1_gates 0>;
+                       clocks = <&ccu CLK_APB1_I2C0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <8>;
-                       clocks = <&apb1_gates 1>;
+                       clocks = <&ccu CLK_APB1_I2C1>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@01c2b400 {
+               i2c2: i2c@1c2b400 {
                        compatible = "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b400 0x400>;
                        interrupts = <9>;
-                       clocks = <&apb1_gates 2>;
+                       clocks = <&ccu CLK_APB1_I2C2>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               can0: can@01c2bc00 {
+               can0: can@1c2bc00 {
                        compatible = "allwinner,sun4i-a10-can";
                        reg = <0x01c2bc00 0x400>;
                        interrupts = <26>;
-                       clocks = <&apb1_gates 4>;
+                       clocks = <&ccu CLK_APB1_CAN>;
                        status = "disabled";
                };
+
+               fe0: display-frontend@1e00000 {
+                       compatible = "allwinner,sun4i-a10-display-frontend";
+                       reg = <0x01e00000 0x20000>;
+                       interrupts = <47>;
+                       clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
+                                <&ccu CLK_DRAM_DE_FE0>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_FE0>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               fe0_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       fe0_out_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_in_fe0>;
+                                       };
+
+                                       fe0_out_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_in_fe0>;
+                                       };
+                               };
+                       };
+               };
+
+               fe1: display-frontend@1e20000 {
+                       compatible = "allwinner,sun4i-a10-display-frontend";
+                       reg = <0x01e20000 0x20000>;
+                       interrupts = <48>;
+                       clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>,
+                                <&ccu CLK_DRAM_DE_FE1>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_FE1>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               fe1_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       fe1_out_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_in_fe1>;
+                                       };
+
+                                       fe1_out_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_in_fe1>;
+                                       };
+                               };
+                       };
+               };
+
+               be1: display-backend@1e40000 {
+                       compatible = "allwinner,sun4i-a10-display-backend";
+                       reg = <0x01e40000 0x10000>;
+                       interrupts = <48>;
+                       clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>,
+                                <&ccu CLK_DRAM_DE_BE1>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_BE1>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               be1_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       be1_in_fe0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&fe0_out_be1>;
+                                       };
+
+                                       be1_in_fe1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&fe1_out_be1>;
+                                       };
+                               };
+
+                               be1_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       be1_out_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon1_in_be0>;
+                                       };
+
+                                       be1_out_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_in_be1>;
+                                       };
+                               };
+                       };
+               };
+
+               be0: display-backend@1e60000 {
+                       compatible = "allwinner,sun4i-a10-display-backend";
+                       reg = <0x01e60000 0x10000>;
+                       interrupts = <47>;
+                       clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
+                                <&ccu CLK_DRAM_DE_BE0>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_BE0>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               be0_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       be0_in_fe0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&fe0_out_be0>;
+                                       };
+
+                                       be0_in_fe1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&fe1_out_be0>;
+                                       };
+                               };
+
+                               be0_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       be0_out_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon0_in_be0>;
+                                       };
+
+                                       be0_out_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_in_be0>;
+                                       };
+                               };
+                       };
+               };
        };
 };
index 18f25c5e75aebc3584699ec661b07fde5610f17c..6ae4d95e230e58a468c908d85c2cfaf8d87894a0 100644 (file)
@@ -76,8 +76,8 @@
                allwinner,pipelines = <&fe0>;
        };
 
-       soc@01c00000 {
-               hdmi: hdmi@01c16000 {
+       soc@1c00000 {
+               hdmi: hdmi@1c16000 {
                        compatible = "allwinner,sun5i-a10s-hdmi";
                        reg = <0x01c16000 0x1000>;
                        interrupts = <58>;
                        };
                };
 
-               pwm: pwm@01c20e00 {
+               pwm: pwm@1c20e00 {
                        compatible = "allwinner,sun5i-a10s-pwm";
                        reg = <0x01c20e00 0xc>;
                        clocks = <&ccu CLK_HOSC>;
index 6436bad94404d21e1edd012992d2983053ae7428..4e830f5cb7f1ddb085710e56f659ffc74926bdc7 100644 (file)
@@ -88,8 +88,8 @@
                allwinner,pipelines = <&fe0>;
        };
 
-       soc@01c00000 {
-               pwm: pwm@01c20e00 {
+       soc@1c00000 {
+               pwm: pwm@1c20e00 {
                        compatible = "allwinner,sun5i-a13-pwm";
                        reg = <0x01c20e00 0xc>;
                        clocks = <&ccu CLK_HOSC>;
index 3eb56cad0ceaa2b44fc218c66103502b25766615..ef0b7446a99d1113e9baa797d689c4950177743d 100644 (file)
@@ -54,8 +54,8 @@
                allwinner,pipelines = <&fe0>;
        };
 
-       soc@01c00000 {
-               pwm: pwm@01c20e00 {
+       soc@1c00000 {
+               pwm: pwm@1c20e00 {
                        compatible = "allwinner,sun5i-a10s-pwm";
                        reg = <0x01c20e00 0xc>;
                        clocks = <&ccu CLK_HOSC>;
@@ -63,7 +63,7 @@
                        status = "disabled";
                };
 
-               spdif: spdif@01c21000 {
+               spdif: spdif@1c21000 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-spdif";
                        reg = <0x01c21000 0x400>;
@@ -76,7 +76,7 @@
                        status = "disabled";
                };
 
-               i2s0: i2s@01c22400 {
+               i2s0: i2s@1c22400 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-i2s";
                        reg = <0x01c22400 0x400>;
index 8a4d2277826f03fccdb52b4e1cf4ecbd5f511fa0..49229b3d5492534c3938d77631ac2bff27de9d39 100644 (file)
 
 #include "axp209.dtsi"
 
+&ac_power_supply {
+       status = "okay";
+};
+
+&battery_power_supply {
+       status = "okay";
+};
+
 &lradc {
        vref-supply = <&reg_ldo2>;
 };
index 98cc00341b005486a800394797696ea4675a060a..07f2248ed5f8b5931978bd5c3fee53c58cc6ec38 100644 (file)
@@ -93,7 +93,7 @@
                #size-cells = <1>;
                ranges;
 
-               osc24M: clk@01c20050 {
+               osc24M: clk@1c20050 {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                };
        };
 
-       soc@01c00000 {
+       soc@1c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               sram-controller@01c00000 {
+               sram-controller@1c00000 {
                        compatible = "allwinner,sun4i-a10-sram-controller";
                        reg = <0x01c00000 0x30>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
 
-                       sram_a: sram@00000000 {
+                       sram_a: sram@0 {
                                compatible = "mmio-sram";
                                reg = <0x00000000 0xc000>;
                                #address-cells = <1>;
                                status = "disabled";
                        };
 
-                       sram_d: sram@00010000 {
+                       sram_d: sram@10000 {
                                compatible = "mmio-sram";
                                reg = <0x00010000 0x1000>;
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges = <0 0x00010000 0x1000>;
 
-                               otg_sram: sram-section@0000 {
+                               otg_sram: sram-section@0 {
                                        compatible = "allwinner,sun4i-a10-sram-d";
                                        reg = <0x0000 0x1000>;
                                        status = "disabled";
                        };
                };
 
-               dma: dma-controller@01c02000 {
+               dma: dma-controller@1c02000 {
                        compatible = "allwinner,sun4i-a10-dma";
                        reg = <0x01c02000 0x1000>;
                        interrupts = <27>;
                        #dma-cells = <2>;
                };
 
-               nfc: nand@01c03000 {
+               nfc: nand@1c03000 {
                        compatible = "allwinner,sun4i-a10-nand";
                        reg = <0x01c03000 0x1000>;
                        interrupts = <37>;
                        #size-cells = <0>;
                };
 
-               spi0: spi@01c05000 {
+               spi0: spi@1c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <10>;
                        #size-cells = <0>;
                };
 
-               spi1: spi@01c06000 {
+               spi1: spi@1c06000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c06000 0x1000>;
                        interrupts = <11>;
                        #size-cells = <0>;
                };
 
-               tve0: tv-encoder@01c0a000 {
+               tve0: tv-encoder@1c0a000 {
                        compatible = "allwinner,sun4i-a10-tv-encoder";
                        reg = <0x01c0a000 0x1000>;
                        clocks = <&ccu CLK_AHB_TVE>;
                        };
                };
 
-               emac: ethernet@01c0b000 {
+               emac: ethernet@1c0b000 {
                        compatible = "allwinner,sun4i-a10-emac";
                        reg = <0x01c0b000 0x1000>;
                        interrupts = <55>;
                        status = "disabled";
                };
 
-               mdio: mdio@01c0b080 {
+               mdio: mdio@1c0b080 {
                        compatible = "allwinner,sun4i-a10-mdio";
                        reg = <0x01c0b080 0x14>;
                        status = "disabled";
                        #size-cells = <0>;
                };
 
-               tcon0: lcd-controller@01c0c000 {
+               tcon0: lcd-controller@1c0c000 {
                        compatible = "allwinner,sun5i-a13-tcon";
                        reg = <0x01c0c000 0x1000>;
                        interrupts = <44>;
                        };
                };
 
-               mmc0: mmc@01c0f000 {
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun5i-a13-mmc";
                        reg = <0x01c0f000 0x1000>;
                        clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>;
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun5i-a13-mmc";
                        reg = <0x01c10000 0x1000>;
                        clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>;
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun5i-a13-mmc";
                        reg = <0x01c11000 0x1000>;
                        clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>;
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c13000 {
+               usb_otg: usb@1c13000 {
                        compatible = "allwinner,sun4i-a10-musb";
                        reg = <0x01c13000 0x0400>;
                        clocks = <&ccu CLK_AHB_OTG>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c13400 {
+               usbphy: phy@1c13400 {
                        #phy-cells = <1>;
                        compatible = "allwinner,sun5i-a13-usb-phy";
                        reg = <0x01c13400 0x10 0x01c14800 0x4>;
                        status = "disabled";
                };
 
-               ehci0: usb@01c14000 {
+               ehci0: usb@1c14000 {
                        compatible = "allwinner,sun5i-a13-ehci", "generic-ehci";
                        reg = <0x01c14000 0x100>;
                        interrupts = <39>;
                        status = "disabled";
                };
 
-               ohci0: usb@01c14400 {
+               ohci0: usb@1c14400 {
                        compatible = "allwinner,sun5i-a13-ohci", "generic-ohci";
                        reg = <0x01c14400 0x100>;
                        interrupts = <40>;
                        status = "disabled";
                };
 
-               crypto: crypto-engine@01c15000 {
+               crypto: crypto-engine@1c15000 {
                        compatible = "allwinner,sun5i-a13-crypto",
                                     "allwinner,sun4i-a10-crypto";
                        reg = <0x01c15000 0x1000>;
                        clock-names = "ahb", "mod";
                };
 
-               spi2: spi@01c17000 {
+               spi2: spi@1c17000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c17000 0x1000>;
                        interrupts = <12>;
                        #size-cells = <0>;
                };
 
-               ccu: clock@01c20000 {
+               ccu: clock@1c20000 {
                        reg = <0x01c20000 0x400>;
                        clocks = <&osc24M>, <&osc32k>;
                        clock-names = "hosc", "losc";
                        #reset-cells = <1>;
                };
 
-               intc: interrupt-controller@01c20400 {
+               intc: interrupt-controller@1c20400 {
                        compatible = "allwinner,sun4i-a10-ic";
                        reg = <0x01c20400 0x400>;
                        interrupt-controller;
                        #interrupt-cells = <1>;
                };
 
-               pio: pinctrl@01c20800 {
+               pio: pinctrl@1c20800 {
                        reg = <0x01c20800 0x400>;
                        interrupts = <28>;
                        clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
                        };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0x90>;
                        interrupts = <22>;
                        clocks = <&ccu CLK_HOSC>;
                };
 
-               wdt: watchdog@01c20c90 {
+               wdt: watchdog@1c20c90 {
                        compatible = "allwinner,sun4i-a10-wdt";
                        reg = <0x01c20c90 0x10>;
                };
 
-               ir0: ir@01c21800 {
+               ir0: ir@1c21800 {
                        compatible = "allwinner,sun4i-a10-ir";
                        clocks = <&ccu CLK_APB0_IR>, <&ccu CLK_IR>;
                        clock-names = "apb", "ir";
                        status = "disabled";
                };
 
-               lradc: lradc@01c22800 {
+               lradc: lradc@1c22800 {
                        compatible = "allwinner,sun4i-a10-lradc-keys";
                        reg = <0x01c22800 0x100>;
                        interrupts = <31>;
                        status = "disabled";
                };
 
-               codec: codec@01c22c00 {
+               codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-codec";
                        reg = <0x01c22c00 0x40>;
                        status = "disabled";
                };
 
-               sid: eeprom@01c23800 {
+               sid: eeprom@1c23800 {
                        compatible = "allwinner,sun4i-a10-sid";
                        reg = <0x01c23800 0x10>;
                };
 
-               rtp: rtp@01c25000 {
+               rtp: rtp@1c25000 {
                        compatible = "allwinner,sun5i-a13-ts";
                        reg = <0x01c25000 0x100>;
                        interrupts = <29>;
                        #thermal-sensor-cells = <0>;
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <1>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <2>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <3>;
                        status = "disabled";
                };
 
-               uart3: serial@01c28c00 {
+               uart3: serial@1c28c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28c00 0x400>;
                        interrupts = <4>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <7>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <8>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@01c2b400 {
+               i2c2: i2c@1c2b400 {
                        compatible = "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b400 0x400>;
                        interrupts = <9>;
                        #size-cells = <0>;
                };
 
-               timer@01c60000 {
+               timer@1c60000 {
                        compatible = "allwinner,sun5i-a13-hstimer";
                        reg = <0x01c60000 0x1000>;
                        interrupts = <82>, <83>;
                        clocks = <&ccu CLK_AHB_HSTIMER>;
                };
 
-               fe0: display-frontend@01e00000 {
+               fe0: display-frontend@1e00000 {
                        compatible = "allwinner,sun5i-a13-display-frontend";
                        reg = <0x01e00000 0x20000>;
                        interrupts = <47>;
                        };
                };
 
-               be0: display-backend@01e60000 {
+               be0: display-backend@1e60000 {
                        compatible = "allwinner,sun5i-a13-display-backend";
                        reg = <0x01e60000 0x10000>;
                        interrupts = <47>;
index 9ecb5f0b3f83e889b2536dd7531a7c45e1fbc4d7..19e382a11297e1f753c250c20e35de3784e0aaea 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        vga-connector {
                compatible = "vga-connector";
 
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
index eef072a21accaed0c29d6407d076331ad579a987..8bfa12b548e0a2acf8f285505cd3699e27519e86 100644 (file)
                        clock-output-names = "gmac_int_tx";
                };
 
-               gmac_tx_clk: clk@01c200d0 {
+               gmac_tx_clk: clk@1c200d0 {
                        #clock-cells = <0>;
                        compatible = "allwinner,sun7i-a20-gmac-clk";
                        reg = <0x01c200d0 0x4>;
                status = "disabled";
        };
 
-       soc@01c00000 {
+       soc@1c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               dma: dma-controller@01c02000 {
+               dma: dma-controller@1c02000 {
                        compatible = "allwinner,sun6i-a31-dma";
                        reg = <0x01c02000 0x1000>;
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                        #dma-cells = <1>;
                };
 
-               tcon0: lcd-controller@01c0c000 {
+               tcon0: lcd-controller@1c0c000 {
                        compatible = "allwinner,sun6i-a31-tcon";
                        reg = <0x01c0c000 0x1000>;
                        interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                                                reg = <0>;
                                                remote-endpoint = <&drc0_out_tcon0>;
                                        };
+
+                                       tcon0_in_drc1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&drc1_out_tcon0>;
+                                       };
                                };
 
                                tcon0_out: port@1 {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        reg = <1>;
+
+                                       tcon0_out_hdmi: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&hdmi_in_tcon0>;
+                                               allwinner,tcon-channel = <1>;
+                                       };
                                };
                        };
                };
 
-               tcon1: lcd-controller@01c0d000 {
+               tcon1: lcd-controller@1c0d000 {
                        compatible = "allwinner,sun6i-a31-tcon";
                        reg = <0x01c0d000 0x1000>;
                        interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
                                        #size-cells = <0>;
                                        reg = <0>;
 
+                                       tcon1_in_drc0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&drc0_out_tcon1>;
+                                       };
+
                                        tcon1_in_drc1: endpoint@1 {
                                                reg = <1>;
                                                remote-endpoint = <&drc1_out_tcon1>;
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        reg = <1>;
+
+                                       tcon1_out_hdmi: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&hdmi_in_tcon1>;
+                                               allwinner,tcon-channel = <1>;
+                                       };
                                };
                        };
                };
 
-               mmc0: mmc@01c0f000 {
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c0f000 0x1000>;
                        clocks = <&ccu CLK_AHB1_MMC0>,
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c10000 0x1000>;
                        clocks = <&ccu CLK_AHB1_MMC1>,
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c11000 0x1000>;
                        clocks = <&ccu CLK_AHB1_MMC2>,
                        #size-cells = <0>;
                };
 
-               mmc3: mmc@01c12000 {
+               mmc3: mmc@1c12000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c12000 0x1000>;
                        clocks = <&ccu CLK_AHB1_MMC3>,
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c19000 {
+               hdmi: hdmi@1c16000 {
+                       compatible = "allwinner,sun6i-a31-hdmi";
+                       reg = <0x01c16000 0x1000>;
+                       interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_AHB1_HDMI>, <&ccu CLK_HDMI>,
+                                <&ccu CLK_HDMI_DDC>,
+                                <&ccu 7>,
+                                <&ccu 13>;
+                       clock-names = "ahb", "mod", "ddc", "pll-0", "pll-1";
+                       resets = <&ccu RST_AHB1_HDMI>;
+                       reset-names = "ahb";
+                       dma-names = "ddc-tx", "ddc-rx", "audio-tx";
+                       dmas = <&dma 13>, <&dma 13>, <&dma 14>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               hdmi_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       hdmi_in_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon0_out_hdmi>;
+                                       };
+
+                                       hdmi_in_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_out_hdmi>;
+                                       };
+                               };
+
+                               hdmi_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+                               };
+                       };
+               };
+
+               usb_otg: usb@1c19000 {
                        compatible = "allwinner,sun6i-a31-musb";
                        reg = <0x01c19000 0x0400>;
                        clocks = <&ccu CLK_AHB1_OTG>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c19400 {
+               usbphy: phy@1c19400 {
                        compatible = "allwinner,sun6i-a31-usb-phy";
                        reg = <0x01c19400 0x10>,
                              <0x01c1a800 0x4>,
                        #phy-cells = <1>;
                };
 
-               ehci0: usb@01c1a000 {
+               ehci0: usb@1c1a000 {
                        compatible = "allwinner,sun6i-a31-ehci", "generic-ehci";
                        reg = <0x01c1a000 0x100>;
                        interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci0: usb@01c1a400 {
+               ohci0: usb@1c1a400 {
                        compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
                        reg = <0x01c1a400 0x100>;
                        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ehci1: usb@01c1b000 {
+               ehci1: usb@1c1b000 {
                        compatible = "allwinner,sun6i-a31-ehci", "generic-ehci";
                        reg = <0x01c1b000 0x100>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci1: usb@01c1b400 {
+               ohci1: usb@1c1b400 {
                        compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
                        reg = <0x01c1b400 0x100>;
                        interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci2: usb@01c1c400 {
+               ohci2: usb@1c1c400 {
                        compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
                        reg = <0x01c1c400 0x100>;
                        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ccu: clock@01c20000 {
+               ccu: clock@1c20000 {
                        compatible = "allwinner,sun6i-a31-ccu";
                        reg = <0x01c20000 0x400>;
                        clocks = <&osc24M>, <&osc32k>;
                        #reset-cells = <1>;
                };
 
-               pio: pinctrl@01c20800 {
+               pio: pinctrl@1c20800 {
                        compatible = "allwinner,sun6i-a31-pinctrl";
                        reg = <0x01c20800 0x400>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
                        };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0xa0>;
                        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&osc24M>;
                };
 
-               wdt1: watchdog@01c20ca0 {
+               wdt1: watchdog@1c20ca0 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x01c20ca0 0x20>;
                };
 
-               spdif: spdif@01c21000 {
+               spdif: spdif@1c21000 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun6i-a31-spdif";
                        reg = <0x01c21000 0x400>;
                        status = "disabled";
                };
 
-               lradc: lradc@01c22800 {
+               i2s0: i2s@1c22000 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun6i-a31-i2s";
+                       reg = <0x01c22000 0x400>;
+                       interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_APB1_DAUDIO0>, <&ccu CLK_DAUDIO0>;
+                       resets = <&ccu RST_APB1_DAUDIO0>;
+                       clock-names = "apb", "mod";
+                       dmas = <&dma 3>, <&dma 3>;
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
+               i2s1: i2s@1c22400 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun6i-a31-i2s";
+                       reg = <0x01c22400 0x400>;
+                       interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_APB1_DAUDIO1>, <&ccu CLK_DAUDIO1>;
+                       resets = <&ccu RST_APB1_DAUDIO1>;
+                       clock-names = "apb", "mod";
+                       dmas = <&dma 4>, <&dma 4>;
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
+               lradc: lradc@1c22800 {
                        compatible = "allwinner,sun4i-a10-lradc-keys";
                        reg = <0x01c22800 0x100>;
                        interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               rtp: rtp@01c25000 {
+               rtp: rtp@1c25000 {
                        compatible = "allwinner,sun6i-a31-ts";
                        reg = <0x01c25000 0x100>;
                        interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
                        #thermal-sensor-cells = <0>;
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart3: serial@01c28c00 {
+               uart3: serial@1c28c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28c00 0x400>;
                        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart4: serial@01c29000 {
+               uart4: serial@1c29000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29000 0x400>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart5: serial@01c29400 {
+               uart5: serial@1c29400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29400 0x400>;
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@01c2b400 {
+               i2c2: i2c@1c2b400 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b400 0x400>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c3: i2c@01c2b800 {
+               i2c3: i2c@1c2b800 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b800 0x400>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               gmac: ethernet@01c30000 {
+               gmac: ethernet@1c30000 {
                        compatible = "allwinner,sun7i-a20-gmac";
                        reg = <0x01c30000 0x1054>;
                        interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               crypto: crypto-engine@01c15000 {
+               crypto: crypto-engine@1c15000 {
                        compatible = "allwinner,sun6i-a31-crypto",
                                     "allwinner,sun4i-a10-crypto";
                        reg = <0x01c15000 0x1000>;
                        reset-names = "ahb";
                };
 
-               codec: codec@01c22c00 {
+               codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun6i-a31-codec";
                        reg = <0x01c22c00 0x400>;
                        status = "disabled";
                };
 
-               timer@01c60000 {
+               timer@1c60000 {
                        compatible = "allwinner,sun6i-a31-hstimer",
                                     "allwinner,sun7i-a20-hstimer";
                        reg = <0x01c60000 0x1000>;
                        resets = <&ccu RST_AHB1_HSTIMER>;
                };
 
-               spi0: spi@01c68000 {
+               spi0: spi@1c68000 {
                        compatible = "allwinner,sun6i-a31-spi";
                        reg = <0x01c68000 0x1000>;
                        interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               spi1: spi@01c69000 {
+               spi1: spi@1c69000 {
                        compatible = "allwinner,sun6i-a31-spi";
                        reg = <0x01c69000 0x1000>;
                        interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               spi2: spi@01c6a000 {
+               spi2: spi@1c6a000 {
                        compatible = "allwinner,sun6i-a31-spi";
                        reg = <0x01c6a000 0x1000>;
                        interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               spi3: spi@01c6b000 {
+               spi3: spi@1c6b000 {
                        compatible = "allwinner,sun6i-a31-spi";
                        reg = <0x01c6b000 0x1000>;
                        interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               gic: interrupt-controller@01c81000 {
+               gic: interrupt-controller@1c81000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
                              <0x01c82000 0x2000>,
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
                };
 
-               fe0: display-frontend@01e00000 {
+               fe0: display-frontend@1e00000 {
                        compatible = "allwinner,sun6i-a31-display-frontend";
                        reg = <0x01e00000 0x20000>;
                        interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               fe1: display-frontend@01e20000 {
+               fe1: display-frontend@1e20000 {
                        compatible = "allwinner,sun6i-a31-display-frontend";
                        reg = <0x01e20000 0x20000>;
                        interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               be1: display-backend@01e40000 {
+               be1: display-backend@1e40000 {
                        compatible = "allwinner,sun6i-a31-display-backend";
                        reg = <0x01e40000 0x10000>;
                        interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               drc1: drc@01e50000 {
+               drc1: drc@1e50000 {
                        compatible = "allwinner,sun6i-a31-drc";
                        reg = <0x01e50000 0x10000>;
                        interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                                        #size-cells = <0>;
                                        reg = <1>;
 
+                                       drc1_out_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon0_in_drc1>;
+                                       };
+
                                        drc1_out_tcon1: endpoint@1 {
                                                reg = <1>;
                                                remote-endpoint = <&tcon1_in_drc1>;
                        };
                };
 
-               be0: display-backend@01e60000 {
+               be0: display-backend@1e60000 {
                        compatible = "allwinner,sun6i-a31-display-backend";
                        reg = <0x01e60000 0x10000>;
                        interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               drc0: drc@01e70000 {
+               drc0: drc@1e70000 {
                        compatible = "allwinner,sun6i-a31-drc";
                        reg = <0x01e70000 0x10000>;
                        interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
                                                reg = <0>;
                                                remote-endpoint = <&tcon0_in_drc0>;
                                        };
+
+                                       drc0_out_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_in_drc0>;
+                                       };
                                };
                        };
                };
 
-               rtc: rtc@01f00000 {
+               rtc: rtc@1f00000 {
                        compatible = "allwinner,sun6i-a31-rtc";
                        reg = <0x01f00000 0x54>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
                        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               prcm@01f01400 {
+               prcm@1f01400 {
                        compatible = "allwinner,sun6i-a31-prcm";
                        reg = <0x01f01400 0x200>;
 
                        };
                };
 
-               cpucfg@01f01c00 {
+               cpucfg@1f01c00 {
                        compatible = "allwinner,sun6i-a31-cpuconfig";
                        reg = <0x01f01c00 0x300>;
                };
 
-               ir: ir@01f02000 {
+               ir: ir@1f02000 {
                        compatible = "allwinner,sun5i-a13-ir";
                        clocks = <&apb0_gates 1>, <&ir_clk>;
                        clock-names = "apb", "ir";
                        status = "disabled";
                };
 
-               r_pio: pinctrl@01f02c00 {
+               r_pio: pinctrl@1f02c00 {
                        compatible = "allwinner,sun6i-a31-r-pinctrl";
                        reg = <0x01f02c00 0x400>;
                        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
                        };
                };
 
-               p2wi: i2c@01f03400 {
+               p2wi: i2c@1f03400 {
                        compatible = "allwinner,sun6i-a31-p2wi";
                        reg = <0x01f03400 0x400>;
                        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
index 4c10123509c40402f4fb5658a8421de940eccf1a..0cdb38ab33779809e96433f04b1b18616a7746cb 100644 (file)
 / {
        model = "MSI Primo81 tablet";
        compatible = "msi,primo81", "allwinner,sun6i-a31s";
+
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "c";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
 };
 
 &cpu0 {
        cpu-supply = <&reg_dcdc3>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        /* rtl8188etv wifi is connected here */
        status = "okay";
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        /* pull-ups and device VDDIO use AXP221 DLDO3 */
        pinctrl-names = "default";
index b3d98222bd8134700addbef18b22b57464999e07..298476485bb47830a03751cf28f3c246dca2d2e9 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        status = "okay";
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        /* USB 2.0 4 port hub IC */
        status = "okay";
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &ir {
        pinctrl-names = "default";
        pinctrl-0 = <&ir_pins_a>;
index eb55e74232c9928a18b76c8768c3b224b5031644..4ed3162e3e5a009240c4771f140818b21c4b4879 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cpu-supply = <&reg_dcdc2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
index 2a50207618cb366409df6122a3b1649fe62cf7a9..39f43e4eb7423ea2faa2052eb8e74b5d08c9b934 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cpu-supply = <&reg_dcdc2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
index 852a0aa24dcee6c577b167c9d36d9c01b9a59403..8c9bedc602ecdfc7b5823c6c6e1b3f0725a7720e 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cpu-supply = <&reg_dcdc2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
index 004b6ddac8131c26d381aa046060a3876c6729e8..442f3c755f365b091ab18c25996936847551e510 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cpu-supply = <&reg_dcdc2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
 
 #include "axp209.dtsi"
 
+&ac_power_supply {
+       status = "okay";
+};
+
+&battery_power_supply {
+       status = "okay";
+};
+
 &reg_ahci_5v {
        gpio = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
        status = "okay";
index 2ce1a9f13a178fa1315f5aac061ee6e0fcb80fcb..edf9c3c6c0d7f4636e0e52392e4642667e549e46 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        status = "okay";
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
index 097bd755764cfbff148ade65c15561ec33dd3325..ba250189d07f66be0c8939cbbe1a43c0ede4f27f 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        status = "okay";
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
new file mode 100644 (file)
index 0000000..d99e7b1
--- /dev/null
@@ -0,0 +1,70 @@
+ /*
+ * Copyright 2017 Olimex Ltd.
+ * Stefan Mavrodiev <stefan@olimex.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "sun7i-a20-olinuxino-micro.dts"
+
+/ {
+       model = "Olimex A20-OLinuXino-MICRO-eMMC";
+       compatible = "olimex,a20-olinuxino-micro-emmc", "allwinner,sun7i-a20";
+
+       mmc2_pwrseq: pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_pins_a>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <4>;
+       non-removable;
+       mmc-pwrseq = <&mmc2_pwrseq>;
+       status = "okay";
+
+       emmc: emmc@0 {
+               reg = <0>;
+               compatible = "mmc-card";
+               broken-hpi;
+       };
+};
index 0b7403e4d687ea341c8f053dcc1da179f0acf162..dffbaa24b3ee7d125f824e239063a43e1e8aacef 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
        cpu-supply = <&reg_dcdc2>;
 };
 
+&de {
+       status = "okay";
+};
+
 &ehci0 {
        status = "okay";
 };
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_pins_mii_a>, <&gmac_txerr>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
        };
 };
 
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
 &i2c0 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c0_pins_a>;
 };
 
 &pio {
+       gmac_txerr: gmac_txerr@0 {
+               pins = "PA17";
+               function = "gmac";
+       };
+
        mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
                pins = "PH11";
                function = "gpio_in";
 
 #include "axp209.dtsi"
 
+&ac_power_supply {
+       status = "okay";
+};
+
+&battery_power_supply {
+       status = "okay";
+};
+
 &reg_dcdc2 {
        regulator-always-on;
        regulator-min-microvolt = <1000000>;
        status = "okay";
 };
 
+&usb_power_supply {
+       status = "okay";
+};
+
 &usbphy {
        pinctrl-names = "default";
        pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
index 96bee776e1456b2e8787390bbcadbaecfb8563cd..68dfa82544fc4c574916c3d60c17a60097ddb2b1 100644 (file)
@@ -46,9 +46,9 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/thermal/thermal.h>
-
-#include <dt-bindings/clock/sun4i-a10-pll2.h>
 #include <dt-bindings/dma/sun4i-a10.h>
+#include <dt-bindings/clock/sun4i-a10-ccu.h>
+#include <dt-bindings/reset/sun4i-a10-ccu.h>
 
 / {
        interrupt-parent = <&gic>;
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0-hdmi";
-                       clocks = <&ahb_gates 36>, <&ahb_gates 43>,
-                                <&ahb_gates 44>, <&de_be0_clk>,
-                                <&tcon0_ch1_clk>, <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
+                                <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
+                                <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>,
+                                <&ccu CLK_HDMI>;
                        status = "disabled";
                };
 
@@ -76,9 +77,9 @@
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0";
-                       clocks = <&ahb_gates 36>, <&ahb_gates 44>,
-                                <&de_be0_clk>, <&tcon0_ch0_clk>,
-                                <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
+                                <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH0>,
+                                <&ccu CLK_DRAM_DE_BE0>;
                        status = "disabled";
                };
 
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0-tve0";
-                       clocks = <&ahb_gates 34>, <&ahb_gates 36>,
-                                <&ahb_gates 44>,
-                                <&de_be0_clk>, <&tcon0_ch1_clk>,
-                                <&dram_gates 5>, <&dram_gates 26>;
+                       clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
+                                <&ccu CLK_AHB_DE_BE0>,
+                                <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH1>,
+                                <&ccu CLK_DRAM_TVE0>, <&ccu CLK_DRAM_DE_BE0>;
                        status = "disabled";
                };
        };
                        compatible = "arm,cortex-a7";
                        device_type = "cpu";
                        reg = <0>;
-                       clocks = <&cpu>;
+                       clocks = <&ccu CLK_CPU>;
                        clock-latency = <244144>; /* 8 32k periods */
                        operating-points = <
                                /* kHz    uV */
                #size-cells = <1>;
                ranges;
 
-               osc24M: clk@01c20050 {
+               osc24M: clk@1c20050 {
                        #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-osc-clk";
-                       reg = <0x01c20050 0x4>;
+                       compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                        clock-output-names = "osc24M";
                };
 
-               osc3M: osc3M_clk {
-                       #clock-cells = <0>;
-                       compatible = "fixed-factor-clock";
-                       clock-div = <8>;
-                       clock-mult = <1>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "osc3M";
-               };
-
                osc32k: clk@0 {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-output-names = "osc32k";
                };
 
-               pll1: clk@01c20000 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll1-clk";
-                       reg = <0x01c20000 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll1";
-               };
-
-               pll2: clk@01c20008 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-pll2-clk";
-                       reg = <0x01c20008 0x8>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll2-1x", "pll2-2x",
-                                            "pll2-4x", "pll2-8x";
-               };
-
-               pll3: clk@01c20010 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll3-clk";
-                       reg = <0x01c20010 0x4>;
-                       clocks = <&osc3M>;
-                       clock-output-names = "pll3";
-               };
-
-               pll3x2: pll3x2_clk {
-                       #clock-cells = <0>;
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll3>;
-                       clock-div = <1>;
-                       clock-mult = <2>;
-                       clock-output-names = "pll3-2x";
-               };
-
-               pll4: clk@01c20018 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun7i-a20-pll4-clk";
-                       reg = <0x01c20018 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll4";
-               };
-
-               pll5: clk@01c20020 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-pll5-clk";
-                       reg = <0x01c20020 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll5_ddr", "pll5_other";
-               };
-
-               pll6: clk@01c20028 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-pll6-clk";
-                       reg = <0x01c20028 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll6_sata", "pll6_other", "pll6",
-                                            "pll6_div_4";
-               };
-
-               pll7: clk@01c20030 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-pll3-clk";
-                       reg = <0x01c20030 0x4>;
-                       clocks = <&osc3M>;
-                       clock-output-names = "pll7";
-               };
-
-               pll7x2: pll7x2_clk {
-                       #clock-cells = <0>;
-                       compatible = "fixed-factor-clock";
-                       clocks = <&pll7>;
-                       clock-div = <1>;
-                       clock-mult = <2>;
-                       clock-output-names = "pll7-2x";
-               };
-
-               pll8: clk@01c20040 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun7i-a20-pll4-clk";
-                       reg = <0x01c20040 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "pll8";
-               };
-
-               cpu: cpu@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-cpu-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6 1>;
-                       clock-output-names = "cpu";
-               };
-
-               axi: axi@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-axi-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&cpu>;
-                       clock-output-names = "axi";
-               };
-
-               ahb: ahb@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun5i-a13-ahb-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&axi>, <&pll6 3>, <&pll6 1>;
-                       clock-output-names = "ahb";
-                       /*
-                        * Use PLL6 as parent, instead of CPU/AXI
-                        * which has rate changes due to cpufreq
-                        */
-                       assigned-clocks = <&ahb>;
-                       assigned-clock-parents = <&pll6 3>;
-               };
-
-               ahb_gates: clk@01c20060 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun7i-a20-ahb-gates-clk";
-                       reg = <0x01c20060 0x8>;
-                       clocks = <&ahb>;
-                       clock-indices = <0>, <1>,
-                                       <2>, <3>, <4>,
-                                       <5>, <6>, <7>, <8>,
-                                       <9>, <10>, <11>, <12>,
-                                       <13>, <14>, <16>,
-                                       <17>, <18>, <20>, <21>,
-                                       <22>, <23>, <25>,
-                                       <28>, <32>, <33>, <34>,
-                                       <35>, <36>, <37>, <40>,
-                                       <41>, <42>, <43>,
-                                       <44>, <45>, <46>,
-                                       <47>, <49>, <50>,
-                                       <52>;
-                       clock-output-names = "ahb_usb0", "ahb_ehci0",
-                               "ahb_ohci0", "ahb_ehci1", "ahb_ohci1",
-                               "ahb_ss", "ahb_dma", "ahb_bist", "ahb_mmc0",
-                               "ahb_mmc1", "ahb_mmc2", "ahb_mmc3", "ahb_ms",
-                               "ahb_nand", "ahb_sdram", "ahb_ace",
-                               "ahb_emac", "ahb_ts", "ahb_spi0", "ahb_spi1",
-                               "ahb_spi2", "ahb_spi3", "ahb_sata",
-                               "ahb_hstimer", "ahb_ve", "ahb_tvd", "ahb_tve0",
-                               "ahb_tve1", "ahb_lcd0", "ahb_lcd1", "ahb_csi0",
-                               "ahb_csi1", "ahb_hdmi1", "ahb_hdmi0",
-                               "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0",
-                               "ahb_de_fe1", "ahb_gmac", "ahb_mp",
-                               "ahb_mali";
-               };
-
-               apb0: apb0@01c20054 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-apb0-clk";
-                       reg = <0x01c20054 0x4>;
-                       clocks = <&ahb>;
-                       clock-output-names = "apb0";
-               };
-
-               apb0_gates: clk@01c20068 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun7i-a20-apb0-gates-clk";
-                       reg = <0x01c20068 0x4>;
-                       clocks = <&apb0>;
-                       clock-indices = <0>, <1>,
-                                       <2>, <3>, <4>,
-                                       <5>, <6>, <7>,
-                                       <8>, <10>;
-                       clock-output-names = "apb0_codec", "apb0_spdif",
-                               "apb0_ac97", "apb0_i2s0", "apb0_i2s1",
-                               "apb0_pio", "apb0_ir0", "apb0_ir1",
-                               "apb0_i2s2", "apb0_keypad";
-               };
-
-               apb1: clk@01c20058 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-apb1-clk";
-                       reg = <0x01c20058 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
-                       clock-output-names = "apb1";
-               };
-
-               apb1_gates: clk@01c2006c {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun7i-a20-apb1-gates-clk";
-                       reg = <0x01c2006c 0x4>;
-                       clocks = <&apb1>;
-                       clock-indices = <0>, <1>,
-                                       <2>, <3>, <4>,
-                                       <5>, <6>, <7>,
-                                       <15>, <16>, <17>,
-                                       <18>, <19>, <20>,
-                                       <21>, <22>, <23>;
-                       clock-output-names = "apb1_i2c0", "apb1_i2c1",
-                               "apb1_i2c2", "apb1_i2c3", "apb1_can",
-                               "apb1_scr", "apb1_ps20", "apb1_ps21",
-                               "apb1_i2c4", "apb1_uart0", "apb1_uart1",
-                               "apb1_uart2", "apb1_uart3", "apb1_uart4",
-                               "apb1_uart5", "apb1_uart6", "apb1_uart7";
-               };
-
-               nand_clk: clk@01c20080 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c20080 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "nand";
-               };
-
-               ms_clk: clk@01c20084 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c20084 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ms";
-               };
-
-               mmc0_clk: clk@01c20088 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c20088 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc0",
-                                            "mmc0_output",
-                                            "mmc0_sample";
-               };
-
-               mmc1_clk: clk@01c2008c {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c2008c 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc1",
-                                            "mmc1_output",
-                                            "mmc1_sample";
-               };
-
-               mmc2_clk: clk@01c20090 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c20090 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc2",
-                                            "mmc2_output",
-                                            "mmc2_sample";
-               };
-
-               mmc3_clk: clk@01c20094 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-mmc-clk";
-                       reg = <0x01c20094 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "mmc3",
-                                            "mmc3_output",
-                                            "mmc3_sample";
-               };
-
-               ts_clk: clk@01c20098 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c20098 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ts";
-               };
-
-               ss_clk: clk@01c2009c {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c2009c 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ss";
-               };
-
-               spi0_clk: clk@01c200a0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200a0 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi0";
-               };
-
-               spi1_clk: clk@01c200a4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200a4 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi1";
-               };
-
-               spi2_clk: clk@01c200a8 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200a8 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi2";
-               };
-
-               pata_clk: clk@01c200ac {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200ac 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "pata";
-               };
-
-               ir0_clk: clk@01c200b0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200b0 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ir0";
-               };
-
-               ir1_clk: clk@01c200b4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200b4 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "ir1";
-               };
-
-               i2s0_clk: clk@01c200b8 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod1-clk";
-                       reg = <0x01c200b8 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_8X>,
-                                <&pll2 SUN4I_A10_PLL2_4X>,
-                                <&pll2 SUN4I_A10_PLL2_2X>,
-                                <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "i2s0";
-               };
-
-               ac97_clk: clk@01c200bc {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod1-clk";
-                       reg = <0x01c200bc 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_8X>,
-                                <&pll2 SUN4I_A10_PLL2_4X>,
-                                <&pll2 SUN4I_A10_PLL2_2X>,
-                                <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "ac97";
-               };
-
-               spdif_clk: clk@01c200c0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod1-clk";
-                       reg = <0x01c200c0 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_8X>,
-                                <&pll2 SUN4I_A10_PLL2_4X>,
-                                <&pll2 SUN4I_A10_PLL2_2X>,
-                                <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "spdif";
-               };
-
-               keypad_clk: clk@01c200c4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200c4 0x4>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "keypad";
-               };
-
-               usb_clk: clk@01c200cc {
-                       #clock-cells = <1>;
-                       #reset-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-usb-clk";
-                       reg = <0x01c200cc 0x4>;
-                       clocks = <&pll6 1>;
-                       clock-output-names = "usb_ohci0", "usb_ohci1",
-                                            "usb_phy";
-               };
-
-               spi3_clk: clk@01c200d4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod0-clk";
-                       reg = <0x01c200d4 0x4>;
-                       clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
-                       clock-output-names = "spi3";
-               };
-
-               i2s1_clk: clk@01c200d8 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod1-clk";
-                       reg = <0x01c200d8 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_8X>,
-                                <&pll2 SUN4I_A10_PLL2_4X>,
-                                <&pll2 SUN4I_A10_PLL2_2X>,
-                                <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "i2s1";
-               };
-
-               i2s2_clk: clk@01c200dc {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-mod1-clk";
-                       reg = <0x01c200dc 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_8X>,
-                                <&pll2 SUN4I_A10_PLL2_4X>,
-                                <&pll2 SUN4I_A10_PLL2_2X>,
-                                <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "i2s2";
-               };
-
-               dram_gates: clk@01c20100 {
-                       #clock-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-dram-gates-clk";
-                       reg = <0x01c20100 0x4>;
-                       clocks = <&pll5 0>;
-                       clock-indices = <0>,
-                                       <1>, <2>,
-                                       <3>,
-                                       <4>,
-                                       <5>, <6>,
-                                       <15>,
-                                       <24>, <25>,
-                                       <26>, <27>,
-                                       <28>, <29>;
-                       clock-output-names = "dram_ve",
-                                            "dram_csi0", "dram_csi1",
-                                            "dram_ts",
-                                            "dram_tvd",
-                                            "dram_tve0", "dram_tve1",
-                                            "dram_output",
-                                            "dram_de_fe1", "dram_de_fe0",
-                                            "dram_de_be0", "dram_de_be1",
-                                            "dram_de_mp", "dram_ace";
-               };
-
-               de_be0_clk: clk@01c20104 {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c20104 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-be0";
-               };
-
-               de_be1_clk: clk@01c20108 {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c20108 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-be1";
-               };
-
-               de_fe0_clk: clk@01c2010c {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c2010c 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-fe0";
-               };
-
-               de_fe1_clk: clk@01c20110 {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-display-clk";
-                       reg = <0x01c20110 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll5 1>;
-                       clock-output-names = "de-fe1";
-               };
-
-               tcon0_ch0_clk: clk@01c20118 {
-                       #clock-cells = <0>;
-                       #reset-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
-                       reg = <0x01c20118 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon0-ch0-sclk";
-
-               };
-
-               tcon1_ch0_clk: clk@01c2011c {
-                       #clock-cells = <0>;
-                       #reset-cells = <1>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
-                       reg = <0x01c2011c 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon1-ch0-sclk";
-
-               };
-
-               tcon0_ch1_clk: clk@01c2012c {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
-                       reg = <0x01c2012c 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon0-ch1-sclk";
-
-               };
-
-               tcon1_ch1_clk: clk@01c20130 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
-                       reg = <0x01c20130 0x4>;
-                       clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
-                       clock-output-names = "tcon1-ch1-sclk";
-
-               };
-
-               ve_clk: clk@01c2013c {
-                       #clock-cells = <0>;
-                       #reset-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-ve-clk";
-                       reg = <0x01c2013c 0x4>;
-                       clocks = <&pll4>;
-                       clock-output-names = "ve";
-               };
-
-               codec_clk: clk@01c20140 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun4i-a10-codec-clk";
-                       reg = <0x01c20140 0x4>;
-                       clocks = <&pll2 SUN4I_A10_PLL2_1X>;
-                       clock-output-names = "codec";
-               };
-
-               mbus_clk: clk@01c2015c {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun5i-a13-mbus-clk";
-                       reg = <0x01c2015c 0x4>;
-                       clocks = <&osc24M>, <&pll6 2>, <&pll5 1>;
-                       clock-output-names = "mbus";
-               };
-
                /*
                 * The following two are dummy clocks, placeholders
                 * used in the gmac_tx clock. The gmac driver will
                 * The actual TX clock rate is not controlled by the
                 * gmac_tx clock.
                 */
-               mii_phy_tx_clk: clk@2 {
+               mii_phy_tx_clk: clk@1 {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <25000000>;
                        clock-output-names = "mii_phy_tx";
                };
 
-               gmac_int_tx_clk: clk@3 {
+               gmac_int_tx_clk: clk@2 {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <125000000>;
                        clock-output-names = "gmac_int_tx";
                };
 
-               gmac_tx_clk: clk@01c20164 {
+               gmac_tx_clk: clk@1c20164 {
                        #clock-cells = <0>;
                        compatible = "allwinner,sun7i-a20-gmac-clk";
                        reg = <0x01c20164 0x4>;
                        clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
                        clock-output-names = "gmac_tx";
                };
+       };
 
-               /*
-                * Dummy clock used by output clocks
-                */
-               osc24M_32k: clk@1 {
-                       #clock-cells = <0>;
-                       compatible = "fixed-factor-clock";
-                       clock-div = <750>;
-                       clock-mult = <1>;
-                       clocks = <&osc24M>;
-                       clock-output-names = "osc24M_32k";
-               };
 
-               clk_out_a: clk@01c201f0 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun7i-a20-out-clk";
-                       reg = <0x01c201f0 0x4>;
-                       clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>;
-                       clock-output-names = "clk_out_a";
-               };
-
-               clk_out_b: clk@01c201f4 {
-                       #clock-cells = <0>;
-                       compatible = "allwinner,sun7i-a20-out-clk";
-                       reg = <0x01c201f4 0x4>;
-                       clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>;
-                       clock-output-names = "clk_out_b";
-               };
+       de: display-engine {
+               compatible = "allwinner,sun7i-a20-display-engine";
+               allwinner,pipelines = <&fe0>, <&fe1>;
+               status = "disabled";
        };
 
-       soc@01c00000 {
+       soc@1c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               sram-controller@01c00000 {
+               sram-controller@1c00000 {
                        compatible = "allwinner,sun4i-a10-sram-controller";
                        reg = <0x01c00000 0x30>;
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
 
-                       sram_a: sram@00000000 {
+                       sram_a: sram@0 {
                                compatible = "mmio-sram";
                                reg = <0x00000000 0xc000>;
                                #address-cells = <1>;
                                };
                        };
 
-                       sram_d: sram@00010000 {
+                       sram_d: sram@10000 {
                                compatible = "mmio-sram";
                                reg = <0x00010000 0x1000>;
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges = <0 0x00010000 0x1000>;
 
-                               otg_sram: sram-section@0000 {
+                               otg_sram: sram-section@0 {
                                        compatible = "allwinner,sun4i-a10-sram-d";
                                        reg = <0x0000 0x1000>;
                                        status = "disabled";
                        };
                };
 
-               nmi_intc: interrupt-controller@01c00030 {
+               nmi_intc: interrupt-controller@1c00030 {
                        compatible = "allwinner,sun7i-a20-sc-nmi";
                        interrupt-controller;
                        #interrupt-cells = <2>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               dma: dma-controller@01c02000 {
+               dma: dma-controller@1c02000 {
                        compatible = "allwinner,sun4i-a10-dma";
                        reg = <0x01c02000 0x1000>;
                        interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 6>;
+                       clocks = <&ccu CLK_AHB_DMA>;
                        #dma-cells = <2>;
                };
 
-               nfc: nand@01c03000 {
+               nfc: nand@1c03000 {
                        compatible = "allwinner,sun4i-a10-nand";
                        reg = <0x01c03000 0x1000>;
                        interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 13>, <&nand_clk>;
+                       clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 3>;
                        dma-names = "rxtx";
                        #size-cells = <0>;
                };
 
-               spi0: spi@01c05000 {
+               spi0: spi@1c05000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c05000 0x1000>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 20>, <&spi0_clk>;
+                       clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 27>,
                               <&dma SUN4I_DMA_DEDICATED 26>;
                        num-cs = <4>;
                };
 
-               spi1: spi@01c06000 {
+               spi1: spi@1c06000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c06000 0x1000>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 21>, <&spi1_clk>;
+                       clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 9>,
                               <&dma SUN4I_DMA_DEDICATED 8>;
                        num-cs = <1>;
                };
 
-               emac: ethernet@01c0b000 {
+               emac: ethernet@1c0b000 {
                        compatible = "allwinner,sun4i-a10-emac";
                        reg = <0x01c0b000 0x1000>;
                        interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 17>;
+                       clocks = <&ccu CLK_AHB_EMAC>;
                        allwinner,sram = <&emac_sram 1>;
                        status = "disabled";
                };
 
-               mdio: mdio@01c0b080 {
+               mdio: mdio@1c0b080 {
                        compatible = "allwinner,sun4i-a10-mdio";
                        reg = <0x01c0b080 0x14>;
                        status = "disabled";
                        #size-cells = <0>;
                };
 
-               mmc0: mmc@01c0f000 {
+               tcon0: lcd-controller@1c0c000 {
+                       compatible = "allwinner,sun7i-a20-tcon";
+                       reg = <0x01c0c000 0x1000>;
+                       interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
+                       resets = <&ccu RST_TCON0>;
+                       reset-names = "lcd";
+                       clocks = <&ccu CLK_AHB_LCD0>,
+                                <&ccu CLK_TCON0_CH0>,
+                                <&ccu CLK_TCON0_CH1>;
+                       clock-names = "ahb",
+                                     "tcon-ch0",
+                                     "tcon-ch1";
+                       clock-output-names = "tcon0-pixel-clock";
+                       dmas = <&dma SUN4I_DMA_DEDICATED 14>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               tcon0_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       tcon0_in_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_out_tcon0>;
+                                       };
+
+                                       tcon0_in_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_out_tcon0>;
+                                       };
+                               };
+
+                               tcon0_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       tcon0_out_hdmi: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&hdmi_in_tcon0>;
+                                               allwinner,tcon-channel = <1>;
+                                       };
+                               };
+                       };
+               };
+
+               tcon1: lcd-controller@1c0d000 {
+                       compatible = "allwinner,sun7i-a20-tcon";
+                       reg = <0x01c0d000 0x1000>;
+                       interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+                       resets = <&ccu RST_TCON1>;
+                       reset-names = "lcd";
+                       clocks = <&ccu CLK_AHB_LCD1>,
+                                <&ccu CLK_TCON1_CH0>,
+                                <&ccu CLK_TCON1_CH1>;
+                       clock-names = "ahb",
+                                     "tcon-ch0",
+                                     "tcon-ch1";
+                       clock-output-names = "tcon1-pixel-clock";
+                       dmas = <&dma SUN4I_DMA_DEDICATED 15>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               tcon1_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       tcon1_in_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_out_tcon1>;
+                                       };
+
+                                       tcon1_in_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_out_tcon1>;
+                                       };
+                               };
+
+                               tcon1_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       tcon1_out_hdmi: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&hdmi_in_tcon1>;
+                                               allwinner,tcon-channel = <1>;
+                                       };
+                               };
+                       };
+               };
+
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c0f000 0x1000>;
-                       clocks = <&ahb_gates 8>,
-                                <&mmc0_clk 0>,
-                                <&mmc0_clk 1>,
-                                <&mmc0_clk 2>;
+                       clocks = <&ccu CLK_AHB_MMC0>,
+                                <&ccu CLK_MMC0>,
+                                <&ccu CLK_MMC0_OUTPUT>,
+                                <&ccu CLK_MMC0_SAMPLE>;
                        clock-names = "ahb",
                                      "mmc",
                                      "output",
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c10000 0x1000>;
-                       clocks = <&ahb_gates 9>,
-                                <&mmc1_clk 0>,
-                                <&mmc1_clk 1>,
-                                <&mmc1_clk 2>;
+                       clocks = <&ccu CLK_AHB_MMC1>,
+                                <&ccu CLK_MMC1>,
+                                <&ccu CLK_MMC1_OUTPUT>,
+                                <&ccu CLK_MMC1_SAMPLE>;
                        clock-names = "ahb",
                                      "mmc",
                                      "output",
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c11000 0x1000>;
-                       clocks = <&ahb_gates 10>,
-                                <&mmc2_clk 0>,
-                                <&mmc2_clk 1>,
-                                <&mmc2_clk 2>;
+                       clocks = <&ccu CLK_AHB_MMC2>,
+                                <&ccu CLK_MMC2>,
+                                <&ccu CLK_MMC2_OUTPUT>,
+                                <&ccu CLK_MMC2_SAMPLE>;
                        clock-names = "ahb",
                                      "mmc",
                                      "output",
                        #size-cells = <0>;
                };
 
-               mmc3: mmc@01c12000 {
+               mmc3: mmc@1c12000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c12000 0x1000>;
-                       clocks = <&ahb_gates 11>,
-                                <&mmc3_clk 0>,
-                                <&mmc3_clk 1>,
-                                <&mmc3_clk 2>;
+                       clocks = <&ccu CLK_AHB_MMC3>,
+                                <&ccu CLK_MMC3>,
+                                <&ccu CLK_MMC3_OUTPUT>,
+                                <&ccu CLK_MMC3_SAMPLE>;
                        clock-names = "ahb",
                                      "mmc",
                                      "output",
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c13000 {
+               usb_otg: usb@1c13000 {
                        compatible = "allwinner,sun4i-a10-musb";
                        reg = <0x01c13000 0x0400>;
-                       clocks = <&ahb_gates 0>;
+                       clocks = <&ccu CLK_AHB_OTG>;
                        interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "mc";
                        phys = <&usbphy 0>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c13400 {
+               usbphy: phy@1c13400 {
                        #phy-cells = <1>;
                        compatible = "allwinner,sun7i-a20-usb-phy";
                        reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
                        reg-names = "phy_ctrl", "pmu1", "pmu2";
-                       clocks = <&usb_clk 8>;
+                       clocks = <&ccu CLK_USB_PHY>;
                        clock-names = "usb_phy";
-                       resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
+                       resets = <&ccu RST_USB_PHY0>,
+                                <&ccu RST_USB_PHY1>,
+                                <&ccu RST_USB_PHY2>;
                        reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
                        status = "disabled";
                };
 
-               ehci0: usb@01c14000 {
+               ehci0: usb@1c14000 {
                        compatible = "allwinner,sun7i-a20-ehci", "generic-ehci";
                        reg = <0x01c14000 0x100>;
                        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 1>;
+                       clocks = <&ccu CLK_AHB_EHCI0>;
                        phys = <&usbphy 1>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               ohci0: usb@01c14400 {
+               ohci0: usb@1c14400 {
                        compatible = "allwinner,sun7i-a20-ohci", "generic-ohci";
                        reg = <0x01c14400 0x100>;
                        interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&usb_clk 6>, <&ahb_gates 2>;
+                       clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
                        phys = <&usbphy 1>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               crypto: crypto-engine@01c15000 {
+               crypto: crypto-engine@1c15000 {
                        compatible = "allwinner,sun7i-a20-crypto",
                                     "allwinner,sun4i-a10-crypto";
                        reg = <0x01c15000 0x1000>;
                        interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 5>, <&ss_clk>;
+                       clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>;
                        clock-names = "ahb", "mod";
                };
 
-               spi2: spi@01c17000 {
+               hdmi: hdmi@1c16000 {
+                       compatible = "allwinner,sun7i-a20-hdmi",
+                                    "allwinner,sun5i-a10s-hdmi";
+                       reg = <0x01c16000 0x1000>;
+                       interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
+                                <&ccu 9>,
+                                <&ccu 18>;
+                       clock-names = "ahb", "mod", "pll-0", "pll-1";
+                       dmas = <&dma SUN4I_DMA_NORMAL 16>,
+                              <&dma SUN4I_DMA_NORMAL 16>,
+                              <&dma SUN4I_DMA_DEDICATED 24>;
+                       dma-names = "ddc-tx", "ddc-rx", "audio-tx";
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               hdmi_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       hdmi_in_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon0_out_hdmi>;
+                                       };
+
+                                       hdmi_in_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_out_hdmi>;
+                                       };
+                               };
+
+                               hdmi_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+                               };
+                       };
+               };
+
+               spi2: spi@1c17000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c17000 0x1000>;
                        interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 22>, <&spi2_clk>;
+                       clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 29>,
                               <&dma SUN4I_DMA_DEDICATED 28>;
                        num-cs = <1>;
                };
 
-               ahci: sata@01c18000 {
+               ahci: sata@1c18000 {
                        compatible = "allwinner,sun4i-a10-ahci";
                        reg = <0x01c18000 0x1000>;
                        interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&pll6 0>, <&ahb_gates 25>;
+                       clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>;
                        status = "disabled";
                };
 
-               ehci1: usb@01c1c000 {
+               ehci1: usb@1c1c000 {
                        compatible = "allwinner,sun7i-a20-ehci", "generic-ehci";
                        reg = <0x01c1c000 0x100>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 3>;
+                       clocks = <&ccu CLK_AHB_EHCI1>;
                        phys = <&usbphy 2>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               ohci1: usb@01c1c400 {
+               ohci1: usb@1c1c400 {
                        compatible = "allwinner,sun7i-a20-ohci", "generic-ohci";
                        reg = <0x01c1c400 0x100>;
                        interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&usb_clk 7>, <&ahb_gates 4>;
+                       clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
                        phys = <&usbphy 2>;
                        phy-names = "usb";
                        status = "disabled";
                };
 
-               spi3: spi@01c1f000 {
+               spi3: spi@1c1f000 {
                        compatible = "allwinner,sun4i-a10-spi";
                        reg = <0x01c1f000 0x1000>;
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 23>, <&spi3_clk>;
+                       clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>;
                        clock-names = "ahb", "mod";
                        dmas = <&dma SUN4I_DMA_DEDICATED 31>,
                               <&dma SUN4I_DMA_DEDICATED 30>;
                        num-cs = <1>;
                };
 
-               pio: pinctrl@01c20800 {
+               ccu: clock@1c20000 {
+                       compatible = "allwinner,sun7i-a20-ccu";
+                       reg = <0x01c20000 0x400>;
+                       clocks = <&osc24M>, <&osc32k>;
+                       clock-names = "hosc", "losc";
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+
+               pio: pinctrl@1c20800 {
                        compatible = "allwinner,sun7i-a20-pinctrl";
                        reg = <0x01c20800 0x400>;
                        interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 5>, <&osc24M>, <&osc32k>;
+                       clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
                        clock-names = "apb", "hosc", "losc";
                        gpio-controller;
                        interrupt-controller;
                        };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0x90>;
                        interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&osc24M>;
                };
 
-               wdt: watchdog@01c20c90 {
+               wdt: watchdog@1c20c90 {
                        compatible = "allwinner,sun4i-a10-wdt";
                        reg = <0x01c20c90 0x10>;
                };
 
-               rtc: rtc@01c20d00 {
+               rtc: rtc@1c20d00 {
                        compatible = "allwinner,sun7i-a20-rtc";
                        reg = <0x01c20d00 0x20>;
                        interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pwm: pwm@01c20e00 {
+               pwm: pwm@1c20e00 {
                        compatible = "allwinner,sun7i-a20-pwm";
                        reg = <0x01c20e00 0xc>;
                        clocks = <&osc24M>;
                        status = "disabled";
                };
 
-               spdif: spdif@01c21000 {
+               spdif: spdif@1c21000 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-spdif";
                        reg = <0x01c21000 0x400>;
                        interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 1>, <&spdif_clk>;
+                       clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
                        clock-names = "apb", "spdif";
                        dmas = <&dma SUN4I_DMA_NORMAL 2>,
                               <&dma SUN4I_DMA_NORMAL 2>;
                        status = "disabled";
                };
 
-               ir0: ir@01c21800 {
+               ir0: ir@1c21800 {
                        compatible = "allwinner,sun4i-a10-ir";
-                       clocks = <&apb0_gates 6>, <&ir0_clk>;
+                       clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>;
                        clock-names = "apb", "ir";
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        reg = <0x01c21800 0x40>;
                        status = "disabled";
                };
 
-               ir1: ir@01c21c00 {
+               ir1: ir@1c21c00 {
                        compatible = "allwinner,sun4i-a10-ir";
-                       clocks = <&apb0_gates 7>, <&ir1_clk>;
+                       clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>;
                        clock-names = "apb", "ir";
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        reg = <0x01c21c00 0x40>;
                        status = "disabled";
                };
 
-               i2s1: i2s@01c22000 {
+               i2s1: i2s@1c22000 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-i2s";
                        reg = <0x01c22000 0x400>;
                        interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 4>, <&i2s1_clk>;
+                       clocks = <&ccu CLK_APB0_I2S1>, <&ccu CLK_I2S1>;
                        clock-names = "apb", "mod";
                        dmas = <&dma SUN4I_DMA_NORMAL 4>,
                               <&dma SUN4I_DMA_NORMAL 4>;
                        status = "disabled";
                };
 
-               i2s0: i2s@01c22400 {
+               i2s0: i2s@1c22400 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-i2s";
                        reg = <0x01c22400 0x400>;
                        interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 3>, <&i2s0_clk>;
+                       clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>;
                        clock-names = "apb", "mod";
                        dmas = <&dma SUN4I_DMA_NORMAL 3>,
                               <&dma SUN4I_DMA_NORMAL 3>;
                        status = "disabled";
                };
 
-               lradc: lradc@01c22800 {
+               lradc: lradc@1c22800 {
                        compatible = "allwinner,sun4i-a10-lradc-keys";
                        reg = <0x01c22800 0x100>;
                        interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               codec: codec@01c22c00 {
+               codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun7i-a20-codec";
                        reg = <0x01c22c00 0x40>;
                        interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 0>, <&codec_clk>;
+                       clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>;
                        clock-names = "apb", "codec";
                        dmas = <&dma SUN4I_DMA_NORMAL 19>,
                               <&dma SUN4I_DMA_NORMAL 19>;
                        status = "disabled";
                };
 
-               sid: eeprom@01c23800 {
+               sid: eeprom@1c23800 {
                        compatible = "allwinner,sun7i-a20-sid";
                        reg = <0x01c23800 0x200>;
                };
 
-               i2s2: i2s@01c24400 {
+               i2s2: i2s@1c24400 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun4i-a10-i2s";
                        reg = <0x01c24400 0x400>;
                        interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 8>, <&i2s2_clk>;
+                       clocks = <&ccu CLK_APB0_I2S2>, <&ccu CLK_I2S2>;
                        clock-names = "apb", "mod";
                        dmas = <&dma SUN4I_DMA_NORMAL 6>,
                               <&dma SUN4I_DMA_NORMAL 6>;
                        status = "disabled";
                };
 
-               rtp: rtp@01c25000 {
+               rtp: rtp@1c25000 {
                        compatible = "allwinner,sun5i-a13-ts";
                        reg = <0x01c25000 0x100>;
                        interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
                        #thermal-sensor-cells = <0>;
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 16>;
+                       clocks = <&ccu CLK_APB1_UART0>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 17>;
+                       clocks = <&ccu CLK_APB1_UART1>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 18>;
+                       clocks = <&ccu CLK_APB1_UART2>;
                        status = "disabled";
                };
 
-               uart3: serial@01c28c00 {
+               uart3: serial@1c28c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28c00 0x400>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 19>;
+                       clocks = <&ccu CLK_APB1_UART3>;
                        status = "disabled";
                };
 
-               uart4: serial@01c29000 {
+               uart4: serial@1c29000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29000 0x400>;
                        interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 20>;
+                       clocks = <&ccu CLK_APB1_UART4>;
                        status = "disabled";
                };
 
-               uart5: serial@01c29400 {
+               uart5: serial@1c29400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29400 0x400>;
                        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 21>;
+                       clocks = <&ccu CLK_APB1_UART5>;
                        status = "disabled";
                };
 
-               uart6: serial@01c29800 {
+               uart6: serial@1c29800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29800 0x400>;
                        interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 22>;
+                       clocks = <&ccu CLK_APB1_UART6>;
                        status = "disabled";
                };
 
-               uart7: serial@01c29c00 {
+               uart7: serial@1c29c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29c00 0x400>;
                        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
-                       clocks = <&apb1_gates 23>;
+                       clocks = <&ccu CLK_APB1_UART7>;
                        status = "disabled";
                };
 
-               ps20: ps2@01c2a000 {
+               ps20: ps2@1c2a000 {
                        compatible = "allwinner,sun4i-a10-ps2";
                        reg = <0x01c2a000 0x400>;
                        interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 6>;
+                       clocks = <&ccu CLK_APB1_PS20>;
                        status = "disabled";
                };
 
-               ps21: ps2@01c2a400 {
+               ps21: ps2@1c2a400 {
                        compatible = "allwinner,sun4i-a10-ps2";
                        reg = <0x01c2a400 0x400>;
                        interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 7>;
+                       clocks = <&ccu CLK_APB1_PS21>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun7i-a20-i2c",
                                     "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 0>;
+                       clocks = <&ccu CLK_APB1_I2C0>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun7i-a20-i2c",
                                     "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 1>;
+                       clocks = <&ccu CLK_APB1_I2C1>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@01c2b400 {
+               i2c2: i2c@1c2b400 {
                        compatible = "allwinner,sun7i-a20-i2c",
                                     "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b400 0x400>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 2>;
+                       clocks = <&ccu CLK_APB1_I2C2>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               i2c3: i2c@01c2b800 {
+               i2c3: i2c@1c2b800 {
                        compatible = "allwinner,sun7i-a20-i2c",
                                     "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2b800 0x400>;
                        interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 3>;
+                       clocks = <&ccu CLK_APB1_I2C3>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               can0: can@01c2bc00 {
+               can0: can@1c2bc00 {
                        compatible = "allwinner,sun7i-a20-can",
                                     "allwinner,sun4i-a10-can";
                        reg = <0x01c2bc00 0x400>;
                        interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 4>;
+                       clocks = <&ccu CLK_APB1_CAN>;
                        status = "disabled";
                };
 
-               i2c4: i2c@01c2c000 {
+               i2c4: i2c@1c2c000 {
                        compatible = "allwinner,sun7i-a20-i2c",
                                     "allwinner,sun4i-a10-i2c";
                        reg = <0x01c2c000 0x400>;
                        interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb1_gates 15>;
+                       clocks = <&ccu CLK_APB1_I2C4>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
-               gmac: ethernet@01c50000 {
+               gmac: ethernet@1c50000 {
                        compatible = "allwinner,sun7i-a20-gmac";
                        reg = <0x01c50000 0x10000>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "macirq";
-                       clocks = <&ahb_gates 49>, <&gmac_tx_clk>;
+                       clocks = <&ccu CLK_AHB_GMAC>, <&gmac_tx_clk>;
                        clock-names = "stmmaceth", "allwinner_gmac_tx";
                        snps,pbl = <2>;
                        snps,fixed-burst;
                        #size-cells = <0>;
                };
 
-               hstimer@01c60000 {
+               hstimer@1c60000 {
                        compatible = "allwinner,sun7i-a20-hstimer";
                        reg = <0x01c60000 0x1000>;
                        interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ahb_gates 28>;
+                       clocks = <&ccu CLK_AHB_HSTIMER>;
                };
 
-               gic: interrupt-controller@01c81000 {
+               gic: interrupt-controller@1c81000 {
                        compatible = "arm,gic-400", "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
                              <0x01c82000 0x2000>,
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
                };
 
+               fe0: display-frontend@1e00000 {
+                       compatible = "allwinner,sun7i-a20-display-frontend";
+                       reg = <0x01e00000 0x20000>;
+                       interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
+                                <&ccu CLK_DRAM_DE_FE0>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_FE0>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               fe0_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       fe0_out_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_in_fe0>;
+                                       };
+
+                                       fe0_out_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_in_fe0>;
+                                       };
+                               };
+                       };
+               };
+
+               fe1: display-frontend@1e20000 {
+                       compatible = "allwinner,sun7i-a20-display-frontend";
+                       reg = <0x01e20000 0x20000>;
+                       interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>,
+                                <&ccu CLK_DRAM_DE_FE1>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_FE1>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               fe1_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       fe1_out_be0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&be0_in_fe1>;
+                                       };
+
+                                       fe1_out_be1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&be1_in_fe1>;
+                                       };
+                               };
+                       };
+               };
+
+               be1: display-backend@1e40000 {
+                       compatible = "allwinner,sun7i-a20-display-backend";
+                       reg = <0x01e40000 0x10000>;
+                       interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>,
+                                <&ccu CLK_DRAM_DE_BE1>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_BE1>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               be1_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       be1_in_fe0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&fe0_out_be1>;
+                                       };
+
+                                       be1_in_fe1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&fe1_out_be1>;
+                                       };
+                               };
+
+                               be1_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       be1_out_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon1_in_be0>;
+                                       };
+
+                                       be1_out_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_in_be1>;
+                                       };
+                               };
+                       };
+               };
+
+               be0: display-backend@1e60000 {
+                       compatible = "allwinner,sun7i-a20-display-backend";
+                       reg = <0x01e60000 0x10000>;
+                       interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
+                                <&ccu CLK_DRAM_DE_BE0>;
+                       clock-names = "ahb", "mod",
+                                     "ram";
+                       resets = <&ccu RST_DE_BE0>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               be0_in: port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0>;
+
+                                       be0_in_fe0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&fe0_out_be0>;
+                                       };
+
+                                       be0_in_fe1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&fe1_out_be0>;
+                                       };
+                               };
+
+                               be0_out: port@1 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <1>;
+
+                                       be0_out_tcon0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&tcon0_in_be0>;
+                                       };
+
+                                       be0_out_tcon1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&tcon1_in_be0>;
+                                       };
+                               };
+                       };
+               };
        };
 };
index ea50dda75adceba97c0d9f16ff4f90eab366c3d9..971f9be699a7cbe7fe761f3ae671c09335fa337a 100644 (file)
                };
        };
 
-       soc@01c00000 {
+       soc@1c00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               dma: dma-controller@01c02000 {
+               dma: dma-controller@1c02000 {
                        compatible = "allwinner,sun8i-a23-dma";
                        reg = <0x01c02000 0x1000>;
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                        #dma-cells = <1>;
                };
 
-               mmc0: mmc@01c0f000 {
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c0f000 0x1000>;
                        clocks = <&ccu CLK_BUS_MMC0>,
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c10000 0x1000>;
                        clocks = <&ccu CLK_BUS_MMC1>,
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c11000 0x1000>;
                        clocks = <&ccu CLK_BUS_MMC2>,
                        #size-cells = <0>;
                };
 
-               nfc: nand@01c03000 {
+               nfc: nand@1c03000 {
                        compatible = "allwinner,sun4i-a10-nand";
                        reg = <0x01c03000 0x1000>;
                        interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c19000 {
+               usb_otg: usb@1c19000 {
                        /* compatible gets set in SoC specific dtsi file */
                        reg = <0x01c19000 0x0400>;
                        clocks = <&ccu CLK_BUS_OTG>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c19400 {
+               usbphy: phy@1c19400 {
                        /*
                         * compatible and address regions get set in
                         * SoC specific dtsi file
                        #phy-cells = <1>;
                };
 
-               ehci0: usb@01c1a000 {
+               ehci0: usb@1c1a000 {
                        compatible = "allwinner,sun8i-a23-ehci", "generic-ehci";
                        reg = <0x01c1a000 0x100>;
                        interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci0: usb@01c1a400 {
+               ohci0: usb@1c1a400 {
                        compatible = "allwinner,sun8i-a23-ohci", "generic-ohci";
                        reg = <0x01c1a400 0x100>;
                        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ccu: clock@01c20000 {
+               ccu: clock@1c20000 {
                        reg = <0x01c20000 0x400>;
                        clocks = <&osc24M>, <&rtc 0>;
                        clock-names = "hosc", "losc";
                        #reset-cells = <1>;
                };
 
-               pio: pinctrl@01c20800 {
+               pio: pinctrl@1c20800 {
                        /* compatible gets set in SoC specific dtsi file */
                        reg = <0x01c20800 0x400>;
                        /* interrupts get set in SoC specific dtsi file */
                        };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0xa0>;
                        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&osc24M>;
                };
 
-               wdt0: watchdog@01c20ca0 {
+               wdt0: watchdog@1c20ca0 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x01c20ca0 0x20>;
                        interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pwm: pwm@01c21400 {
+               pwm: pwm@1c21400 {
                        compatible = "allwinner,sun7i-a20-pwm";
                        reg = <0x01c21400 0xc>;
                        clocks = <&osc24M>;
                        status = "disabled";
                };
 
-               lradc: lradc@01c22800 {
+               lradc: lradc@1c22800 {
                        compatible = "allwinner,sun4i-a10-lradc-keys";
                        reg = <0x01c22800 0x100>;
                        interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart3: serial@01c28c00 {
+               uart3: serial@1c28c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28c00 0x400>;
                        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart4: serial@01c29000 {
+               uart4: serial@1c29000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c29000 0x400>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@01c2b400 {
+               i2c2: i2c@1c2b400 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b400 0x400>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        assigned-clock-rates = <384000000>;
                };
 
-               gic: interrupt-controller@01c81000 {
+               gic: interrupt-controller@1c81000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
                              <0x01c82000 0x2000>,
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
                };
 
-               rtc: rtc@01f00000 {
+               rtc: rtc@1f00000 {
                        compatible = "allwinner,sun6i-a31-rtc";
                        reg = <0x01f00000 0x54>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
                        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               prcm@01f01400 {
+               prcm@1f01400 {
                        compatible = "allwinner,sun8i-a23-prcm";
                        reg = <0x01f01400 0x200>;
 
                        };
                };
 
-               cpucfg@01f01c00 {
+               cpucfg@1f01c00 {
                        compatible = "allwinner,sun8i-a23-cpuconfig";
                        reg = <0x01f01c00 0x300>;
                };
 
-               r_uart: serial@01f02800 {
+               r_uart: serial@1f02800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01f02800 0x400>;
                        interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               r_pio: pinctrl@01f02c00 {
+               r_pio: pinctrl@1f02c00 {
                        compatible = "allwinner,sun8i-a23-r-pinctrl";
                        reg = <0x01f02c00 0x400>;
                        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               r_rsb: rsb@01f03400 {
+               r_rsb: rsb@1f03400 {
                        compatible = "allwinner,sun8i-a23-rsb";
                        reg = <0x01f03400 0x400>;
                        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
index 4d1f929780a8df4f831710c74cf6bbd0659c79dc..58e6585b504bab464c3845b2f4a16cb6769f6f26 100644 (file)
@@ -49,8 +49,8 @@
                reg = <0x40000000 0x40000000>;
        };
 
-       soc@01c00000 {
-               codec: codec@01c22c00 {
+       soc@1c00000 {
+               codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun8i-a23-codec";
                        reg = <0x01c22c00 0x400>;
index 22660919bd08ae8b9c43eff253a9180c16ab0202..50eb84fa246ac6c0608a8c9f2897ef3313581d0c 100644 (file)
                };
        };
 
-       soc@01c00000 {
-               tcon0: lcd-controller@01c0c000 {
+       soc@1c00000 {
+               tcon0: lcd-controller@1c0c000 {
                        compatible = "allwinner,sun8i-a33-tcon";
                        reg = <0x01c0c000 0x1000>;
                        interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               crypto: crypto-engine@01c15000 {
+               crypto: crypto-engine@1c15000 {
                        compatible = "allwinner,sun4i-a10-crypto";
                        reg = <0x01c15000 0x1000>;
                        interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
                        reset-names = "ahb";
                };
 
-               dai: dai@01c22c00 {
+               dai: dai@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun6i-a31-i2s";
                        reg = <0x01c22c00 0x200>;
                        status = "disabled";
                };
 
-               codec: codec@01c22e00 {
+               codec: codec@1c22e00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun8i-a33-codec";
                        reg = <0x01c22e00 0x400>;
                        status = "disabled";
                };
 
-               ths: ths@01c25000 {
+               ths: ths@1c25000 {
                        compatible = "allwinner,sun8i-a33-ths";
                        reg = <0x01c25000 0x100>;
                        #thermal-sensor-cells = <0>;
                        #io-channel-cells = <0>;
                };
 
-               fe0: display-frontend@01e00000 {
+               fe0: display-frontend@1e00000 {
                        compatible = "allwinner,sun8i-a33-display-frontend";
                        reg = <0x01e00000 0x20000>;
                        interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               be0: display-backend@01e60000 {
+               be0: display-backend@1e60000 {
                        compatible = "allwinner,sun8i-a33-display-backend";
                        reg = <0x01e60000 0x10000>, <0x01e80000 0x1000>;
                        reg-names = "be", "sat";
                        };
                };
 
-               drc0: drc@01e70000 {
+               drc0: drc@1e70000 {
                        compatible = "allwinner,sun8i-a33-drc";
                        reg = <0x01e70000 0x10000>;
                        interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
index 1f0d60afb25b695c44523c70d80677f1dd753ecb..5091cecbcd1eb0de85a11ccc268e2adcc76324be 100644 (file)
@@ -43,7 +43,8 @@
 
 /dts-v1/;
 #include "sun8i-a83t.dtsi"
-#include "sunxi-common-regulators.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "Allwinner A83T H8Homlet Proto Dev Board v2.0";
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       reg_usb0_vbus: reg-usb0-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb0-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
+       };
+
+       reg_usb1_vbus: reg-usb1-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb1-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
+       };
 };
 
 &ehci0 {
@@ -65,7 +86,7 @@
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
-       vmmc-supply = <&reg_vcc3v0>;
+       vmmc-supply = <&reg_dcdc1>;
        cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
        bus-width = <4>;
        cd-inverted;
@@ -75,7 +96,8 @@
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_8bit_emmc_pins>;
-       vmmc-supply = <&reg_vcc3v0>;
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_dcdc1>;
        bus-width = <8>;
        non-removable;
        cap-mmc-hw-reset;
        status = "okay";
 };
 
-&reg_usb0_vbus {
-       gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
-       status = "okay";
-};
-
-&reg_usb1_vbus {
-       gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
-       status = "okay";
-};
-
 &r_rsb {
        status = "okay";
 
                reg = <0x3a3>;
                interrupt-parent = <&r_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               eldoin-supply = <&reg_dcdc1>;
+               swin-supply = <&reg_dcdc1>;
        };
 
        ac100: codec@e89 {
        };
 };
 
+#include "axp81x.dtsi"
+
+&reg_aldo1 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-1v8";
+};
+
+&reg_aldo2 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dram-pll";
+};
+
+&reg_aldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       regulator-always-on;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-3v3";
+};
+
+&reg_dcdc2 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpua";
+};
+
+&reg_dcdc3 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpub";
+};
+
+&reg_dcdc4 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc5 {
+       regulator-always-on;
+       regulator-min-microvolt = <1500000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+       regulator-always-on;
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-mipi";
+};
+
+&reg_dldo4 {
+       /*
+        * The PHY requires 20ms after all voltages are applied until core
+        * logic is ready and 30ms after the reset pin is de-asserted.
+        * Set a 100ms delay to account for PMIC ramp time and board traces.
+        */
+       regulator-enable-ramp-delay = <100000>;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-ephy";
+};
+
+&reg_fldo1 {
+       regulator-min-microvolt = <1080000>;
+       regulator-max-microvolt = <1320000>;
+       regulator-name = "vdd12-hsic";
+};
+
+&reg_fldo2 {
+       /*
+        * Despite the embedded CPUs core not being used in any way,
+        * this must remain on or the system will hang.
+        */
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpus";
+};
+
+&reg_rtc_ldo {
+       regulator-name = "vcc-rtc";
+};
+
+&reg_sw {
+       regulator-name = "vcc-wifi";
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pb_pins>;
index 2bafd7e99ef7f2d0d83cfcd155240492059e5d91..c606af3dbfedf9351aed99313917b3f9e85e98c4 100644 (file)
@@ -44,7 +44,6 @@
 
 /dts-v1/;
 #include "sun8i-a83t.dtsi"
-#include "sunxi-common-regulators.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       reg_usb1_vbus: reg-usb1-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb1-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               clocks = <&ac100_rtc 1>;
+               clock-names = "ext_clock";
+               /* The WiFi low power clock must be 32768 Hz */
+               assigned-clocks = <&ac100_rtc 1>;
+               assigned-clock-rates = <32768>;
+               /* enables internal regulator and de-asserts reset */
+               reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
+       };
 };
 
 &ehci0 {
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
-       vmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dcdc1>;
        bus-width = <4>;
        cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
        cd-inverted;
        status = "okay";
 };
 
+&mmc1 {
+       vmmc-supply = <&reg_dldo1>;
+       vqmmc-supply = <&reg_dldo1>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       brcmf: wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+               interrupt-parent = <&r_pio>;
+               interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "host-wake";
+       };
+};
+
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_8bit_emmc_pins>;
-       vmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_dcdc1>;
        bus-width = <8>;
        non-removable;
        cap-mmc-hw-reset;
                reg = <0x3a3>;
                interrupt-parent = <&r_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               eldoin-supply = <&reg_dcdc1>;
+               fldoin-supply = <&reg_dcdc5>;
+               swin-supply = <&reg_dcdc1>;
+               x-powers,drive-vbus-en;
        };
 
        ac100: codec@e89 {
        };
 };
 
-&reg_usb1_vbus {
-       gpio = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
+#include "axp81x.dtsi"
+
+&reg_aldo1 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-1v8";
+};
+
+&reg_aldo2 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dram-pll";
+};
+
+&reg_aldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       /* schematics says 3.1V but FEX file says 3.3V */
+       regulator-always-on;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-3v3";
+};
+
+&reg_dcdc2 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpua";
+};
+
+&reg_dcdc3 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpub";
+};
+
+&reg_dcdc4 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc5 {
+       regulator-always-on;
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1200000>;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+       regulator-always-on;
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dldo1 {
+       /*
+        * This powers both the WiFi/BT module's main power, I/O supply,
+        * and external pull-ups on all the data lines. It should be set
+        * to the same voltage as the I/O supply (DCDC1 in this case) to
+        * avoid any leakage or mismatch.
+        */
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-wifi";
+};
+
+&reg_dldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <2500000>;
+       regulator-max-microvolt = <2500000>;
+       regulator-name = "vcc-pd";
+};
+
+&reg_drivevbus {
+       regulator-name = "usb0-vbus";
        status = "okay";
 };
 
-&reg_vcc3v0 {
-       status = "disabled";
+&reg_fldo1 {
+       regulator-min-microvolt = <1080000>;
+       regulator-max-microvolt = <1320000>;
+       regulator-name = "vdd12-hsic";
+};
+
+&reg_fldo2 {
+       /*
+        * Despite the embedded CPUs core not being used in any way,
+        * this must remain on or the system will hang.
+        */
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpus";
+};
+
+&reg_rtc_ldo {
+       regulator-name = "vcc-rtc";
 };
 
-&reg_vcc5v0 {
-       status = "disabled";
+&reg_sw {
+       /*
+        * The PHY requires 20ms after all voltages
+        * are applied until core logic is ready and
+        * 30ms after the reset pin is de-asserted.
+        * Set a 100ms delay to account for PMIC
+        * ramp time and board traces.
+        */
+       regulator-enable-ramp-delay = <100000>;
+       regulator-name = "vcc-ephy";
 };
 
 &uart0 {
index 716a205c6dbbeca282efbe4498742634205ad8bd..7f0a3f6d0cf238ad5786ed8088d2b306e16ab63e 100644 (file)
@@ -44,7 +44,6 @@
 
 /dts-v1/;
 #include "sun8i-a83t.dtsi"
-#include "sunxi-common-regulators.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 
                refclk-frequency = <19200000>;
        };
 
+       reg_usb1_vbus: reg-usb1-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb1-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&pio 3 29 GPIO_ACTIVE_HIGH>; /* PD29 */
+       };
+
+       reg_usb2_vbus: reg-usb2-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb2-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
+       };
+
        sound {
                compatible = "simple-audio-card";
                simple-audio-card,name = "On-board SPDIF";
                #sound-dai-cells = <0>;
                compatible = "linux,spdif-dit";
        };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               clocks = <&ac100_rtc 1>;
+               clock-names = "ext_clock";
+               /* The WiFi low power clock must be 32768 Hz */
+               assigned-clocks = <&ac100_rtc 1>;
+               assigned-clock-rates = <32768>;
+               /* enables internal regulator and de-asserts reset */
+               reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
+       };
 };
 
 &ehci0 {
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
-       vmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dcdc1>;
        bus-width = <4>;
        cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
        cd-inverted;
        status = "okay";
 };
 
+&mmc1 {
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_sw>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+};
+
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_8bit_emmc_pins>;
-       vmmc-supply = <&reg_vcc3v3>;
+       vmmc-supply = <&reg_dcdc1>;
        bus-width = <8>;
        non-removable;
        cap-mmc-hw-reset;
                reg = <0x3a3>;
                interrupt-parent = <&r_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               eldoin-supply = <&reg_dcdc1>;
+               swin-supply = <&reg_dcdc1>;
+               x-powers,drive-vbus-en;
        };
 
        ac100: codec@e89 {
        };
 };
 
-&reg_usb1_vbus {
-       gpio = <&pio 3 29 GPIO_ACTIVE_HIGH>; /* PD29 */
-       status = "okay";
+#include "axp81x.dtsi"
+
+&reg_aldo1 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-1v8";
+};
+
+&reg_aldo2 {
+       regulator-always-on;
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dram-pll";
+};
+
+&reg_aldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "avcc";
 };
 
-&reg_usb2_vbus {
-       gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
+&reg_dcdc1 {
+       /*
+        * The schematics say this should be 3.3V, but the FEX file says
+        * it should be 3V. The latter makes sense, as the WiFi module's
+        * I/O is indirectly powered from DCDC1, through SW. It is rated
+        * at 2.98V maximum.
+        */
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "vcc-3v";
+};
+
+&reg_dcdc2 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpua";
+};
+
+&reg_dcdc3 {
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpub";
+};
+
+&reg_dcdc4 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc5 {
+       regulator-always-on;
+       regulator-min-microvolt = <1500000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+       regulator-always-on;
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "dp-pwr";
+};
+
+&reg_dldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <2500000>;
+       regulator-max-microvolt = <2500000>;
+       regulator-name = "ephy-io";
+};
+
+&reg_dldo4 {
+       /*
+        * The PHY requires 20ms after all voltages are applied until core
+        * logic is ready and 30ms after the reset pin is de-asserted.
+        * Set a 100ms delay to account for PMIC ramp time and board traces.
+        */
+       regulator-enable-ramp-delay = <100000>;
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "ephy";
+};
+
+&reg_drivevbus {
+       regulator-name = "usb0-vbus";
        status = "okay";
 };
 
-&reg_vcc3v0 {
-       status = "disabled";
+&reg_eldo1 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1200000>;
+       regulator-name = "dp-bridge-1";
+};
+
+&reg_eldo2 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1200000>;
+       regulator-name = "dp-bridge-2";
+};
+
+&reg_fldo1 {
+       /* TODO should be handled by USB PHY */
+       regulator-always-on;
+       regulator-min-microvolt = <1080000>;
+       regulator-max-microvolt = <1320000>;
+       regulator-name = "vdd12-hsic";
+};
+
+&reg_fldo2 {
+       /*
+        * Despite the embedded CPUs core not being used in any way,
+        * this must remain on or the system will hang.
+        */
+       regulator-always-on;
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-cpus";
+};
+
+&reg_rtc_ldo {
+       regulator-name = "vcc-rtc";
 };
 
-&reg_vcc5v0 {
-       status = "disabled";
+&reg_sw {
+       regulator-name = "vcc-wifi-io";
 };
 
 &spdif {
diff --git a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
new file mode 100644 (file)
index 0000000..9871553
--- /dev/null
@@ -0,0 +1,349 @@
+/*
+ * Copyright (C) 2017 Touchless Biometric Systems AG
+ * Tomas Novotny <tomas@novotny.cz>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun8i-a83t.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "TBS A711 Tablet";
+       compatible = "tbs-biometrics,a711", "allwinner,sun8i-a83t";
+
+       aliases {
+               serial0 = &uart0;
+               serial1 = &uart1;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vbat: reg-vbat {
+               compatible = "regulator-fixed";
+               regulator-name = "vbat";
+               regulator-min-microvolt = <3700000>;
+               regulator-max-microvolt = <3700000>;
+       };
+
+       reg_vmain: reg-vmain {
+               compatible = "regulator-fixed";
+               regulator-name = "vmain";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               vin-supply = <&reg_vbat>;
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
+
+               /*
+                * This is actually Bluetooth's clock, but we have to
+                * hook it up somewheere
+                */
+               clocks = <&ac100_rtc 1>;
+               clock-names = "ext_clock";
+       };
+};
+
+/*
+ * An USB-2 hub is connected here, which also means we don't need to
+ * enable the OHCI controller.
+ */
+&ehci0 {
+       status = "okay";
+};
+
+/*
+ * There's a modem connected here that needs to be initialised before
+ * being able to be enumerated.
+ */
+&ehci1 {
+       status = "okay";
+};
+
+&mmc0 {
+       vmmc-supply = <&reg_dcdc1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&mmc1 {
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       vmmc-supply = <&reg_dldo1>;
+       vqmmc-supply = <&reg_dldo1>;
+       non-removable;
+       wakeup-source;
+       status = "okay";
+
+       brcmf: wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+               interrupt-parent = <&r_pio>;
+               interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 WL_WAKE_UP */
+               interrupt-names = "host-wake";
+       };
+};
+
+&mmc2 {
+       pinctrl-0 = <&mmc2_8bit_emmc_pins>;
+       pinctrl-names = "default";
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_dcdc1>;
+       bus-width = <8>;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
+
+&r_rsb {
+       status = "okay";
+
+       axp81x: pmic@3a3 {
+               reg = <0x3a3>;
+               interrupt-parent = <&r_intc>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               swin-supply = <&reg_dcdc1>;
+               x-powers,drive-vbus-en;
+       };
+
+       ac100: codec@e89 {
+               compatible = "x-powers,ac100";
+               reg = <0xe89>;
+
+               ac100_codec: codec {
+                       compatible = "x-powers,ac100-codec";
+                       interrupt-parent = <&r_pio>;
+                       interrupts = <0 12 IRQ_TYPE_LEVEL_LOW>; /* PL12 */
+                       #clock-cells = <0>;
+                       clock-output-names = "4M_adda";
+               };
+
+               ac100_rtc: rtc {
+                       compatible = "x-powers,ac100-rtc";
+                       interrupt-parent = <&r_intc>;
+                       interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+                       clocks = <&ac100_codec>;
+                       #clock-cells = <1>;
+                       clock-output-names = "cko1_rtc",
+                                            "cko2_rtc",
+                                            "cko3_rtc";
+               };
+       };
+
+};
+
+#include "axp81x.dtsi"
+
+&reg_aldo1 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-1.8";
+};
+
+&reg_aldo2 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-always-on;
+       regulator-name = "vdd-drampll";
+};
+
+&reg_aldo3 {
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-always-on;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-always-on;
+       regulator-name = "vcc-io";
+};
+
+&reg_dcdc2 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-always-on;
+       regulator-name = "vdd-cpu-A";
+};
+
+&reg_dcdc3 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-always-on;
+       regulator-name = "vdd-cpu-B";
+};
+
+&reg_dcdc4 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-name = "vdd-gpu";
+};
+
+&reg_dcdc5 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-always-on;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dcdc6 {
+       regulator-min-microvolt = <900000>;
+       regulator-max-microvolt = <900000>;
+       regulator-always-on;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dldo1 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-wifi-io";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <4200000>;
+       regulator-name = "vcc-mipi";
+};
+
+&reg_dldo3 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+       regulator-name = "vdd-csi";
+};
+
+&reg_dldo4 {
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+       regulator-name = "avdd-csi";
+};
+
+&reg_drivevbus {
+       regulator-name = "usb0-vbus";
+       status = "okay";
+};
+
+&reg_eldo1 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dvdd-csi-r";
+};
+
+&reg_eldo2 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "vcc-dsi";
+};
+
+&reg_eldo3 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1800000>;
+       regulator-name = "dvdd-csi-f";
+};
+
+&reg_fldo1 {
+       regulator-min-microvolt = <1200000>;
+       regulator-max-microvolt = <1200000>;
+       regulator-name = "vcc-hsic";
+};
+
+&reg_fldo2 {
+       regulator-min-microvolt = <700000>;
+       regulator-max-microvolt = <1100000>;
+       regulator-always-on;
+       regulator-name = "vdd-cpus";
+};
+
+&reg_ldo_io0 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-ctp";
+       status = "okay";
+};
+
+&reg_ldo_io1 {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-vb";
+       status = "okay";
+};
+
+&reg_sw {
+       regulator-min-microvolt = <3100000>;
+       regulator-max-microvolt = <3100000>;
+       regulator-name = "vcc-lcd";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pb_pins>;
+       status = "okay";
+};
+
+/* There's the BT part of the AP6210 connected to that UART */
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
+       status = "okay";
+};
+
+&usb_otg {
+       dr_mode = "otg";
+       status = "okay";
+};
+
+&usbphy {
+       usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
+       usb0_vbus-supply = <&reg_drivevbus>;
+       usb1_vbus_supply = <&reg_vmain>;
+       usb2_vbus_supply = <&reg_vmain>;
+       status = "okay";
+};
index f996bd343e50ca156830b373048f3d51a0234116..19acae1b40898a77afbbedbe21cbcaecdffa0ab5 100644 (file)
        #address-cells = <1>;
        #size-cells = <1>;
 
-       aliases {
-       };
-
-       chosen {
-       };
-
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
                        resets = <&ccu RST_BUS_MMC1>;
                        reset-names = "ahb";
                        interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc1_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c19000 {
+               usb_otg: usb@1c19000 {
                        compatible = "allwinner,sun8i-a83t-musb",
                                     "allwinner,sun8i-a33-musb";
                        reg = <0x01c19000 0x0400>;
                                bias-pull-up;
                        };
 
+                       mmc1_pins: mmc1-pins {
+                               pins = "PG0", "PG1", "PG2",
+                                      "PG3", "PG4", "PG5";
+                               function = "mmc1";
+                               drive-strength = <30>;
+                               bias-pull-up;
+                       };
+
                        mmc2_8bit_emmc_pins: mmc2-8bit-emmc-pins {
                                pins = "PC5", "PC6", "PC8", "PC9",
                                       "PC10", "PC11", "PC12", "PC13",
                                pins = "PF2", "PF4";
                                function = "uart0";
                        };
+
+                       uart1_pins: uart1-pins {
+                               pins = "PG6", "PG7";
+                               function = "uart1";
+                       };
+
+                       uart1_rts_cts_pins: uart1-rts-cts-pins {
+                               pins = "PG8", "PG9";
+                               function = "uart1";
+                       };
                };
 
                timer@1c20c00 {
                        status = "disabled";
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
+               uart1: serial@1c28400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28400 0x400>;
+                       interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART1>;
+                       resets = <&ccu RST_BUS_UART1>;
+                       status = "disabled";
+               };
+
                gic: interrupt-controller@1c81000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
index b1502df7b50923a70d996847d1cd258d92cda73c..6713d0f2b3f4d3f3f62231bf6a74bf35828ce8b0 100644 (file)
@@ -56,6 +56,8 @@
 
        aliases {
                serial0 = &uart0;
+               /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
+               ethernet0 = &emac;
                ethernet1 = &xr819;
        };
 
        status = "okay";
 };
 
+&emac {
+       phy-handle = <&int_mii_phy>;
+       phy-mode = "mii";
+       allwinner,leds-active-low;
+       status = "okay";
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins_a>;
index a337af1de32246b69807f4ee3b65e04e63231967..f2292deaa5908e845c68f73f2ed186b561b7d29a 100644 (file)
@@ -52,6 +52,7 @@
        compatible = "sinovoip,bpi-m2-plus", "allwinner,sun8i-h3";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
                serial1 = &uart1;
        };
@@ -63,7 +64,6 @@
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&pwr_led_bpi_m2p>;
 
                pwr_led {
                        label = "bananapi-m2-plus:red:pwr";
@@ -75,7 +75,6 @@
        gpio_keys {
                compatible = "gpio-keys";
                pinctrl-names = "default";
-               pinctrl-0 = <&sw_r_bpi_m2p>;
 
                sw4 {
                        label = "power";
@@ -97,7 +96,6 @@
        wifi_pwrseq: wifi_pwrseq {
                compatible = "mmc-pwrseq-simple";
                pinctrl-names = "default";
-               pinctrl-0 = <&wifi_en_bpi_m2p>;
                reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
        };
 };
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+
+       allwinner,leds-active-low;
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <0>;
+       };
+};
+
 &ir {
        pinctrl-names = "default";
        pinctrl-0 = <&ir_pins_a>;
        status = "okay";
 };
 
-&r_pio {
-       pwr_led_bpi_m2p: led_pins@0 {
-               pins = "PL10";
-               function = "gpio_out";
-       };
-
-       sw_r_bpi_m2p: key_pins@0 {
-               pins = "PL3";
-               function = "gpio_in";
-       };
-
-       wifi_en_bpi_m2p: wifi_en_pin {
-               pins = "PL7";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb0_vbus {
        gpio = <&pio 3 11 GPIO_ACTIVE_HIGH>; /* PD11 */
        status = "okay";
index 8ddd1b2cc0970f6bed86f7eb1e5eb433dd7358f0..0a8b79cf59549769dc1cb949ef65b3eccad1b7dd 100644 (file)
 / {
        model = "FriendlyArm NanoPi M1 Plus";
        compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3";
+
+       aliases {
+               serial1 = &uart3;
+               ethernet1 = &sdio_wifi;
+       };
+
+       reg_gmac_3v3: gmac-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "gmac-3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               startup-delay-us = <100000>;
+               enable-active-high;
+               gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               pinctrl-names = "default";
+               reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
+       };
 };
 
 &ehci1 {
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+
+       allwinner,leds-active-low;
+
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <7>;
+       };
+};
+
+&ir {
+       pinctrl-names = "default";
+       pinctrl-0 = <&ir_pins_a>;
+       status = "okay";
+};
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins_a>;
+       vmmc-supply = <&reg_vcc3v3>;
+       vqmmc-supply = <&reg_vcc3v3>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       sdio_wifi: sdio_wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+               interrupt-parent = <&pio>;
+               interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
+               interrupt-names = "host-wake";
+       };
+};
+
 &ohci1 {
        status = "okay";
 };
 &ohci2 {
        status = "okay";
 };
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
+       status = "okay";
+};
index ec63d104b404b012b943ad76d256a857402afda1..3a2ccdb28afddf293e324210874fc2744497e3b9 100644 (file)
        status = "okay";
 };
 
+&ir {
+       pinctrl-names = "default";
+       pinctrl-0 = <&ir_pins_a>;
+       status = "okay";
+};
+
 &ohci1 {
        status = "okay";
 };
index 8d2cc6e9a03faff3cc71965493e5c54c1359e9f3..78f6c24952dd128249fd3010d212222832bb060a 100644 (file)
        model = "FriendlyARM NanoPi NEO";
        compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3";
 };
+
+&emac {
+       phy-handle = <&int_mii_phy>;
+       phy-mode = "mii";
+       allwinner,leds-active-low;
+       status = "okay";
+};
index c6decee41a275e4970cf0c538386314f449f914f..7646e331bd2934f56dfb79e358cc9692cdfb2cbb 100644 (file)
@@ -81,7 +81,7 @@
                pinctrl-names = "default";
                pinctrl-0 = <&sw_r_npi>;
 
-               k1@0 {
+               k1 {
                        label = "k1";
                        linux,code = <KEY_POWER>;
                        gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
 };
 
 &pio {
-       leds_npi: led_pins@0 {
+       leds_npi: led_pins {
                pins = "PA10";
                function = "gpio_out";
        };
 };
 
 &r_pio {
-       leds_r_npi: led_pins@0 {
+       leds_r_npi: led_pins {
                pins = "PL10";
                function = "gpio_out";
        };
 
-       sw_r_npi: key_pins@0 {
+       sw_r_npi: key_pins {
                pins = "PL3";
                function = "gpio_in";
        };
index 8ff71b1bb45b1c918d71e686ef4da4de7250306a..b20be95b49d5c686f011aaff5c2be90b448dd7e7 100644 (file)
@@ -54,6 +54,7 @@
        aliases {
                serial0 = &uart0;
                /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
+               ethernet0 = &emac;
                ethernet1 = &rtl8189;
        };
 
        status = "okay";
 };
 
+&emac {
+       phy-handle = <&int_mii_phy>;
+       phy-mode = "mii";
+       allwinner,leds-active-low;
+       status = "okay";
+};
+
 &ir {
        pinctrl-names = "default";
        pinctrl-0 = <&ir_pins_a>;
 };
 
 &pio {
-       leds_opc: led_pins@0 {
+       leds_opc: led_pins {
                pins = "PA15";
                function = "gpio_out";
        };
 };
 
 &r_pio {
-       leds_r_opc: led_pins@0 {
+       leds_r_opc: led_pins {
                pins = "PL10";
                function = "gpio_out";
        };
 
-       sw_r_opc: key_pins@0 {
+       sw_r_opc: key_pins {
                pins = "PL3", "PL4";
                function = "gpio_in";
        };
 
-       wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 {
+       wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin {
                pins = "PL7";
                function = "gpio_out";
        };
index 9b47a0def740c5ca43af9fd17503c3b2a28eb6c3..a70a1daf4e2c3e949a555eac59b00f9ec7a0d933 100644 (file)
 };
 
 &pio {
-       leds_opc: led_pins@0 {
+       leds_opc: led_pins {
                pins = "PA15";
                function = "gpio_out";
        };
 };
 
 &r_pio {
-       leds_r_opc: led_pins@0 {
+       leds_r_opc: led_pins {
                pins = "PL10";
                function = "gpio_out";
        };
 
-       sw_r_opc: key_pins@0 {
+       sw_r_opc: key_pins {
                pins = "PL3";
                function = "gpio_in";
        };
index 5fea430e0eb1006120dd9b98dd904cdd7af14b67..82e5d28cd698c7b423f2ab2c2e5cc9da5f09dc0f 100644 (file)
@@ -52,6 +52,7 @@
        compatible = "xunlong,orangepi-one", "allwinner,sun8i-h3";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        status = "okay";
 };
 
+&emac {
+       phy-handle = <&int_mii_phy>;
+       phy-mode = "mii";
+       allwinner,leds-active-low;
+       status = "okay";
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
 };
 
 &pio {
-       leds_opc: led_pins@0 {
+       leds_opc: led_pins {
                pins = "PA15";
                function = "gpio_out";
        };
 };
 
 &r_pio {
-       leds_r_opc: led_pins@0 {
+       leds_r_opc: led_pins {
                pins = "PL10";
                function = "gpio_out";
        };
 
-       sw_r_opc: key_pins@0 {
+       sw_r_opc: key_pins {
                pins = "PL3";
                function = "gpio_in";
        };
index 8b93f5c781a70b565ed0012d2c29b35f04987dcd..a10281b455f50ccad1f26087ae14884600c19c90 100644 (file)
        };
 };
 
+&emac {
+       /* LEDs changed to active high on the plus */
+       /delete-property/ allwinner,leds-active-low;
+};
+
 &mmc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc1_pins_a>;
index 1a044b17d6c61e5cc391782c5e06aa3df7322548..d22546df1b822b6aa195dba75c5874d4c1db5c01 100644 (file)
@@ -52,6 +52,7 @@
        compatible = "xunlong,orangepi-pc", "allwinner,sun8i-h3";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        status = "okay";
 };
 
+&emac {
+       phy-handle = <&int_mii_phy>;
+       phy-mode = "mii";
+       allwinner,leds-active-low;
+       status = "okay";
+};
+
 &ir {
        pinctrl-names = "default";
        pinctrl-0 = <&ir_pins_a>;
 };
 
 &pio {
-       leds_opc: led_pins@0 {
+       leds_opc: led_pins {
                pins = "PA15";
                function = "gpio_out";
        };
 };
 
 &r_pio {
-       leds_r_opc: led_pins@0 {
+       leds_r_opc: led_pins {
                pins = "PL10";
                function = "gpio_out";
        };
 
-       sw_r_opc: key_pins@0 {
+       sw_r_opc: key_pins {
                pins = "PL3";
                function = "gpio_in";
        };
index 828ae7a526d924955e666a4ad110f565aa931bf5..cbc499b04de44c4c16563e3d8c9828b683944686 100644 (file)
        model = "Xunlong Orange Pi Plus / Plus 2";
        compatible = "xunlong,orangepi-plus", "allwinner,sun8i-h3";
 
+       aliases {
+               ethernet0 = &emac;
+       };
+
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
                regulator-name = "gmac-3v3";
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+
+       allwinner,leds-active-low;
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <0>;
+       };
+};
+
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_8bit_pins>;
 };
 
 &pio {
-       usb3_vbus_pin_a: usb3_vbus_pin@0 {
+       usb3_vbus_pin_a: usb3_vbus_pin {
                pins = "PG11";
                function = "gpio_out";
        };
index 97920b12a944526f3c5dd15de7435f5e30195a3c..6dbf7b2e0c13c44f06e7970c006f3357f0d0493e 100644 (file)
                gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
        };
 };
+
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
new file mode 100644 (file)
index 0000000..8c5efe2
--- /dev/null
@@ -0,0 +1,209 @@
+/*
+ * Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org>
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun8i-r40.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "Banana Pi BPI-M2-Ultra";
+       compatible = "sinovoip,bpi-m2-ultra", "allwinner,sun8i-r40";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               pwr-led {
+                       label = "bananapi:red:pwr";
+                       gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+               };
+
+               user-led-green {
+                       label = "bananapi:green:user";
+                       gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
+               };
+
+               user-led-blue {
+                       label = "bananapi:blue:user";
+                       gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       reg_vcc5v0: vcc5v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */
+               enable-active-high;
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};
+
+&ehci2 {
+       status = "okay";
+};
+
+&i2c0 {
+       status = "okay";
+
+       axp22x: pmic@34 {
+               compatible = "x-powers,axp221";
+               reg = <0x34>;
+               interrupt-parent = <&nmi_intc>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+       };
+};
+
+#include "axp22x.dtsi"
+
+&reg_aldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <2700000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "vcc-3v0";
+};
+
+&reg_dcdc2 {
+       regulator-always-on;
+       regulator-min-microvolt = <1000000>;
+       regulator-max-microvolt = <1300000>;
+       regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc3 {
+       regulator-always-on;
+       regulator-min-microvolt = <1000000>;
+       regulator-max-microvolt = <1300000>;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dcdc5 {
+       regulator-always-on;
+       regulator-min-microvolt = <1500000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dldo1 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-wifi-io";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-wifi";
+};
+
+&mmc0 {
+       vmmc-supply = <&reg_dcdc1>;
+       bus-width = <4>;
+       cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pg_pins>;
+       vmmc-supply = <&reg_dldo2>;
+       vqmmc-supply = <&reg_dldo1>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+};
+
+&mmc2 {
+       vmmc-supply = <&reg_dcdc1>;
+       vqmmc-supply = <&reg_dcdc1>;
+       bus-width = <8>;
+       non-removable;
+       status = "okay";
+};
+
+&ohci1 {
+       status = "okay";
+};
+
+&ohci2 {
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pb_pins>;
+       status = "okay";
+};
+
+&usbphy {
+       usb1_vbus-supply = <&reg_vcc5v0>;
+       usb2_vbus-supply = <&reg_vcc5v0>;
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
new file mode 100644 (file)
index 0000000..173dcc1
--- /dev/null
@@ -0,0 +1,473 @@
+/*
+ * Copyright 2017 Chen-Yu Tsai <wens@csie.org>
+ * Copyright 2017 Icenowy Zheng <icenowy@aosc.io>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/sun8i-r40-ccu.h>
+#include <dt-bindings/reset/sun8i-r40-ccu.h>
+
+/ {
+       #address-cells = <1>;
+       #size-cells = <1>;
+       interrupt-parent = <&gic>;
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               osc24M: osc24M {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <24000000>;
+                       clock-output-names = "osc24M";
+               };
+
+               osc32k: osc32k {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <32768>;
+                       clock-output-names = "osc32k";
+               };
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <0>;
+               };
+
+               cpu@1 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <1>;
+               };
+
+               cpu@2 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <2>;
+               };
+
+               cpu@3 {
+                       compatible = "arm,cortex-a7";
+                       device_type = "cpu";
+                       reg = <3>;
+               };
+       };
+
+       soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               nmi_intc: interrupt-controller@1c00030 {
+                       compatible = "allwinner,sun7i-a20-sc-nmi";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       reg = <0x01c00030 0x0c>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               mmc0: mmc@1c0f000 {
+                       compatible = "allwinner,sun8i-r40-mmc",
+                                    "allwinner,sun50i-a64-mmc";
+                       reg = <0x01c0f000 0x1000>;
+                       clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ccu RST_BUS_MMC0>;
+                       reset-names = "ahb";
+                       pinctrl-0 = <&mmc0_pins>;
+                       pinctrl-names = "default";
+                       interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               mmc1: mmc@1c10000 {
+                       compatible = "allwinner,sun8i-r40-mmc",
+                                    "allwinner,sun50i-a64-mmc";
+                       reg = <0x01c10000 0x1000>;
+                       clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ccu RST_BUS_MMC1>;
+                       reset-names = "ahb";
+                       interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               mmc2: mmc@1c11000 {
+                       compatible = "allwinner,sun8i-r40-emmc",
+                                    "allwinner,sun50i-a64-emmc";
+                       reg = <0x01c11000 0x1000>;
+                       clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ccu RST_BUS_MMC2>;
+                       reset-names = "ahb";
+                       pinctrl-0 = <&mmc2_pins>;
+                       pinctrl-names = "default";
+                       interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               mmc3: mmc@1c12000 {
+                       compatible = "allwinner,sun8i-r40-mmc",
+                                    "allwinner,sun50i-a64-mmc";
+                       reg = <0x01c12000 0x1000>;
+                       clocks = <&ccu CLK_BUS_MMC3>, <&ccu CLK_MMC3>;
+                       clock-names = "ahb", "mmc";
+                       resets = <&ccu RST_BUS_MMC3>;
+                       reset-names = "ahb";
+                       interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               usbphy: phy@1c13400 {
+                       compatible = "allwinner,sun8i-r40-usb-phy";
+                       reg = <0x01c13400 0x14>,
+                             <0x01c14800 0x4>,
+                             <0x01c19800 0x4>,
+                             <0x01c1c800 0x4>;
+                       reg-names = "phy_ctrl",
+                                   "pmu0",
+                                   "pmu1",
+                                   "pmu2";
+                       clocks = <&ccu CLK_USB_PHY0>,
+                                <&ccu CLK_USB_PHY1>,
+                                <&ccu CLK_USB_PHY2>;
+                       clock-names = "usb0_phy",
+                                     "usb1_phy",
+                                     "usb2_phy";
+                       resets = <&ccu RST_USB_PHY0>,
+                                <&ccu RST_USB_PHY1>,
+                                <&ccu RST_USB_PHY2>;
+                       reset-names = "usb0_reset",
+                                     "usb1_reset",
+                                     "usb2_reset";
+                       status = "disabled";
+                       #phy-cells = <1>;
+               };
+
+               ehci1: usb@1c19000 {
+                       compatible = "allwinner,sun8i-r40-ehci", "generic-ehci";
+                       reg = <0x01c19000 0x100>;
+                       interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_EHCI1>;
+                       resets = <&ccu RST_BUS_EHCI1>;
+                       phys = <&usbphy 1>;
+                       phy-names = "usb";
+                       status = "disabled";
+               };
+
+               ohci1: usb@1c19400 {
+                       compatible = "allwinner,sun8i-r40-ohci", "generic-ohci";
+                       reg = <0x01c19400 0x100>;
+                       interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_OHCI1>,
+                                <&ccu CLK_USB_OHCI1>;
+                       resets = <&ccu RST_BUS_OHCI1>;
+                       phys = <&usbphy 1>;
+                       phy-names = "usb";
+                       status = "disabled";
+               };
+
+               ehci2: usb@1c1c000 {
+                       compatible = "allwinner,sun8i-r40-ehci", "generic-ehci";
+                       reg = <0x01c1c000 0x100>;
+                       interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_EHCI2>;
+                       resets = <&ccu RST_BUS_EHCI2>;
+                       phys = <&usbphy 2>;
+                       phy-names = "usb";
+                       status = "disabled";
+               };
+
+               ohci2: usb@1c1c400 {
+                       compatible = "allwinner,sun8i-r40-ohci", "generic-ohci";
+                       reg = <0x01c1c400 0x100>;
+                       interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_OHCI2>,
+                                <&ccu CLK_USB_OHCI2>;
+                       resets = <&ccu RST_BUS_OHCI2>;
+                       phys = <&usbphy 2>;
+                       phy-names = "usb";
+                       status = "disabled";
+               };
+
+               ccu: clock@1c20000 {
+                       compatible = "allwinner,sun8i-r40-ccu";
+                       reg = <0x01c20000 0x400>;
+                       clocks = <&osc24M>, <&osc32k>;
+                       clock-names = "hosc", "losc";
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+
+               pio: pinctrl@1c20800 {
+                       compatible = "allwinner,sun8i-r40-pinctrl";
+                       reg = <0x01c20800 0x400>;
+                       interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
+                       clock-names = "apb", "hosc", "losc";
+                       gpio-controller;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+                       #gpio-cells = <3>;
+
+                       i2c0_pins: i2c0-pins {
+                               pins = "PB0", "PB1";
+                               function = "i2c0";
+                       };
+
+                       mmc0_pins: mmc0-pins {
+                               pins = "PF0", "PF1", "PF2",
+                                      "PF3", "PF4", "PF5";
+                               function = "mmc0";
+                               drive-strength = <30>;
+                               bias-pull-up;
+                       };
+
+                       mmc1_pg_pins: mmc1-pg-pins {
+                               pins = "PG0", "PG1", "PG2",
+                                      "PG3", "PG4", "PG5";
+                               function = "mmc1";
+                               drive-strength = <30>;
+                               bias-pull-up;
+                       };
+
+                       mmc2_pins: mmc2-pins {
+                               pins = "PC5", "PC6", "PC7", "PC8", "PC9",
+                                      "PC10", "PC11", "PC12", "PC13", "PC14",
+                                      "PC15", "PC24";
+                               function = "mmc2";
+                               drive-strength = <30>;
+                               bias-pull-up;
+                       };
+
+                       uart0_pb_pins: uart0-pb-pins {
+                               pins = "PB22", "PB23";
+                               function = "uart0";
+                       };
+               };
+
+               wdt: watchdog@1c20c90 {
+                       compatible = "allwinner,sun4i-a10-wdt";
+                       reg = <0x01c20c90 0x10>;
+               };
+
+               uart0: serial@1c28000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28000 0x400>;
+                       interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART0>;
+                       resets = <&ccu RST_BUS_UART0>;
+                       status = "disabled";
+               };
+
+               uart1: serial@1c28400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28400 0x400>;
+                       interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART1>;
+                       resets = <&ccu RST_BUS_UART1>;
+                       status = "disabled";
+               };
+
+               uart2: serial@1c28800 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28800 0x400>;
+                       interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART2>;
+                       resets = <&ccu RST_BUS_UART2>;
+                       status = "disabled";
+               };
+
+               uart3: serial@1c28c00 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c28c00 0x400>;
+                       interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART3>;
+                       resets = <&ccu RST_BUS_UART3>;
+                       status = "disabled";
+               };
+
+               uart4: serial@1c29000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29000 0x400>;
+                       interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART4>;
+                       resets = <&ccu RST_BUS_UART4>;
+                       status = "disabled";
+               };
+
+               uart5: serial@1c29400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29400 0x400>;
+                       interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART5>;
+                       resets = <&ccu RST_BUS_UART5>;
+                       status = "disabled";
+               };
+
+               uart6: serial@1c29800 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29800 0x400>;
+                       interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART6>;
+                       resets = <&ccu RST_BUS_UART6>;
+                       status = "disabled";
+               };
+
+               uart7: serial@1c29c00 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x01c29c00 0x400>;
+                       interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clocks = <&ccu CLK_BUS_UART7>;
+                       resets = <&ccu RST_BUS_UART7>;
+                       status = "disabled";
+               };
+
+               i2c0: i2c@1c2ac00 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2ac00 0x400>;
+                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C0>;
+                       resets = <&ccu RST_BUS_I2C0>;
+                       pinctrl-0 = <&i2c0_pins>;
+                       pinctrl-names = "default";
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c1: i2c@1c2b000 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b000 0x400>;
+                       interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C1>;
+                       resets = <&ccu RST_BUS_I2C1>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c2: i2c@1c2b400 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b400 0x400>;
+                       interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C2>;
+                       resets = <&ccu RST_BUS_I2C2>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c3: i2c@1c2b800 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2b800 0x400>;
+                       interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C3>;
+                       resets = <&ccu RST_BUS_I2C3>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               i2c4: i2c@1c2c000 {
+                       compatible = "allwinner,sun6i-a31-i2c";
+                       reg = <0x01c2c000 0x400>;
+                       interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2C4>;
+                       resets = <&ccu RST_BUS_I2C4>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               gic: interrupt-controller@1c81000 {
+                       compatible = "arm,gic-400";
+                       reg = <0x01c81000 0x1000>,
+                             <0x01c82000 0x1000>,
+                             <0x01c84000 0x2000>,
+                             <0x01c86000 0x2000>;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+                       interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+               };
+       };
+
+       timer {
+               compatible = "arm,armv7-timer";
+               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+       };
+};
index 3a06dc5b3746719b18a7fbbf579aaff668493060..443b083c6adc9a1c9f605554fcada283e8d90872 100644 (file)
                };
 
 
-               mmc0: mmc@01c0f000 {
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c0f000 0x1000>;
                        clocks = <&ccu CLK_BUS_MMC0>,
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c10000 0x1000>;
                        clocks = <&ccu CLK_BUS_MMC1>,
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c11000 0x1000>;
                        clocks = <&ccu CLK_BUS_MMC2>,
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c19000 {
+               usb_otg: usb@1c19000 {
                        compatible = "allwinner,sun8i-h3-musb";
                        reg = <0x01c19000 0x0400>;
                        clocks = <&ccu CLK_BUS_OTG>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c19400 {
+               usbphy: phy@1c19400 {
                        compatible = "allwinner,sun8i-v3s-usb-phy";
                        reg = <0x01c19400 0x2c>,
                              <0x01c1a800 0x4>;
                        #phy-cells = <1>;
                };
 
-               ccu: clock@01c20000 {
+               ccu: clock@1c20000 {
                        compatible = "allwinner,sun8i-v3s-ccu";
                        reg = <0x01c20000 0x400>;
                        clocks = <&osc24M>, <&osc32k>;
                        #reset-cells = <1>;
                };
 
-               rtc: rtc@01c20400 {
+               rtc: rtc@1c20400 {
                        compatible = "allwinner,sun6i-a31-rtc";
                        reg = <0x01c20400 0x54>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pio: pinctrl@01c20800 {
+               pio: pinctrl@1c20800 {
                        compatible = "allwinner,sun8i-v3s-pinctrl";
                        reg = <0x01c20800 0x400>;
                        interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
                        };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0xa0>;
                        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&osc24M>;
                };
 
-               wdt0: watchdog@01c20ca0 {
+               wdt0: watchdog@1c20ca0 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x01c20ca0 0x20>;
                        interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               gic: interrupt-controller@01c81000 {
+               gic: interrupt-controller@1c81000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c81000 0x1000>,
                              <0x01c82000 0x1000>,
diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
new file mode 100644 (file)
index 0000000..fe16fc0
--- /dev/null
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun8i-r40.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "Banana Pi M2 Berry";
+       compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               pwr-led {
+                       label = "bananapi:red:pwr";
+                       gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+               };
+
+               user-led {
+                       label = "bananapi:green:user";
+                       gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       reg_vcc5v0: vcc5v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */
+               enable-active-high;
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
+       };
+};
+
+&i2c0 {
+       status = "okay";
+
+       axp22x: pmic@68 {
+               compatible = "x-powers,axp221";
+               reg = <0x34>;
+               interrupt-parent = <&nmi_intc>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+       };
+};
+
+#include "axp22x.dtsi"
+
+&reg_aldo3 {
+       regulator-always-on;
+       regulator-min-microvolt = <2700000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "avcc";
+};
+
+&reg_dcdc1 {
+       regulator-always-on;
+       regulator-min-microvolt = <3000000>;
+       regulator-max-microvolt = <3000000>;
+       regulator-name = "vcc-3v0";
+};
+
+&reg_dcdc2 {
+       regulator-always-on;
+       regulator-min-microvolt = <1000000>;
+       regulator-max-microvolt = <1300000>;
+       regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc3 {
+       regulator-always-on;
+       regulator-min-microvolt = <1000000>;
+       regulator-max-microvolt = <1300000>;
+       regulator-name = "vdd-sys";
+};
+
+&reg_dcdc5 {
+       regulator-always-on;
+       regulator-min-microvolt = <1500000>;
+       regulator-max-microvolt = <1500000>;
+       regulator-name = "vcc-dram";
+};
+
+&reg_dldo1 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-wifi-io";
+};
+
+&reg_dldo2 {
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+       regulator-name = "vcc-wifi";
+};
+
+&mmc0 {
+       vmmc-supply = <&reg_dcdc1>;
+       bus-width = <4>;
+       cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pg_pins>;
+       vmmc-supply = <&reg_dldo2>;
+       vqmmc-supply = <&reg_dldo1>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pb_pins>;
+       status = "okay";
+};
index 3741ac71c3d62588b507199b425a44987df52397..4024639aa00570954c095516ca8e880c25d9a508 100644 (file)
@@ -62,8 +62,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_cubieboard4>;
 
                green {
                        label = "cubieboard4:green:usr";
@@ -76,7 +74,7 @@
                };
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: wifi-pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&ac100_rtc 1>;
                clock-names = "ext_clock";
@@ -87,7 +85,7 @@
 
 &mmc0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_cubieboard4>;
+       pinctrl-0 = <&mmc0_pins>;
        vmmc-supply = <&reg_dcdc1>;
        bus-width = <4>;
        cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */
@@ -97,7 +95,7 @@
 
 &mmc1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&mmc1_pins>, <&wifi_en_pin_cubieboard4>;
+       pinctrl-0 = <&mmc1_pins>;
        vmmc-supply = <&reg_dldo1>;
        vqmmc-supply = <&reg_cldo3>;
        mmc-pwrseq = <&wifi_pwrseq>;
        clocks = <&ac100_rtc 0>;
 };
 
-&pio {
-       led_pins_cubieboard4: led-pins@0 {
-               pins = "PH6", "PH17";
-               function = "gpio_out";
-       };
-
-       mmc0_cd_pin_cubieboard4: mmc0_cd_pin@0 {
-               pins = "PH18";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-};
-
 &r_ir {
        status = "okay";
 };
 
-&r_pio {
-       wifi_en_pin_cubieboard4: wifi_en_pin@0 {
-               pins = "PL2";
-               function = "gpio_out";
-       };
-};
-
 &r_rsb {
        status = "okay";
 
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_ph_pins>;
        status = "okay";
 };
index 85f1ad6703109ff736854532b7242d32281c000a..a9b807be99a02598c59811e35d32cec1cddf5322 100644 (file)
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_optimus>, <&led_r_pins_optimus>;
 
                /* The LED names match those found on the board */
-
                led2 {
                        label = "optimus:led2:usr";
                        gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
@@ -86,8 +83,6 @@
        reg_usb1_vbus: usb1-vbus {
                compatible = "regulator-fixed";
                pinctrl-names = "default";
-               pinctrl-0 = <&usb1_vbus_pin_optimus>;
-               regulator-name = "usb1-vbus";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
                enable-active-high;
        reg_usb3_vbus: usb3-vbus {
                compatible = "regulator-fixed";
                pinctrl-names = "default";
-               pinctrl-0 = <&usb3_vbus_pin_optimus>;
-               regulator-name = "usb3-vbus";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
                enable-active-high;
                gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
        };
 
-       wifi_pwrseq: wifi_pwrseq {
+       wifi_pwrseq: wifi-pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&ac100_rtc 1>;
                clock-names = "ext_clock";
 
 &mmc0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_optimus>;
+       pinctrl-0 = <&mmc0_pins>;
        vmmc-supply = <&reg_dcdc1>;
        bus-width = <4>;
        cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */
 
 &mmc1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&mmc1_pins>, <&wifi_en_pin_optimus>;
+       pinctrl-0 = <&mmc1_pins>;
        vmmc-supply = <&reg_dldo1>;
        vqmmc-supply = <&reg_cldo3>;
        mmc-pwrseq = <&wifi_pwrseq>;
        clocks = <&ac100_rtc 0>;
 };
 
-&pio {
-       led_pins_optimus: led-pins@0 {
-               pins = "PH0", "PH1";
-               function = "gpio_out";
-       };
-
-       mmc0_cd_pin_optimus: mmc0_cd_pin@0 {
-               pins = "PH18";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       usb1_vbus_pin_optimus: usb1_vbus_pin@1 {
-               pins = "PH4";
-               function = "gpio_out";
-       };
-
-       usb3_vbus_pin_optimus: usb3_vbus_pin@1 {
-               pins = "PH5";
-               function = "gpio_out";
-       };
-};
-
 &r_ir {
        status = "okay";
 };
 
-&r_pio {
-       led_r_pins_optimus: led-pins@1 {
-               pins = "PM15";
-               function = "gpio_out";
-       };
-
-       wifi_en_pin_optimus: wifi_en_pin@0 {
-               pins = "PL2";
-               function = "gpio_out";
-       };
-};
-
 &r_rsb {
        status = "okay";
 
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_ph_pins>;
        status = "okay";
 };
 
index 759a72317eb8f0b2c98156deadaf6773f4c9cb7e..90eac0b2a1938aac9a3935c88dbed007678e6425 100644 (file)
@@ -42,8 +42,6 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include "skeleton64.dtsi"
-
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 
 #include <dt-bindings/clock/sun9i-a80-ccu.h>
@@ -54,6 +52,8 @@
 #include <dt-bindings/reset/sun9i-a80-usb.h>
 
 / {
+       #address-cells = <2>;
+       #size-cells = <2>;
        interrupt-parent = <&gic>;
 
        cpus {
                };
        };
 
-       memory {
-               /* 8GB max. with LPAE */
-               reg = <0 0x20000000 0x02 0>;
-       };
-
        timer {
                compatible = "arm,armv7-timer";
                interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
                 * would also throw all the PLL clock rates off, or just the
                 * downstream clocks in the PRCM.
                 */
-               osc24M: osc24M_clk {
+               osc24M: clk-24M {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                 * AC100 codec/RTC chip. This serves as a placeholder for
                 * board dts files to specify the source.
                 */
-               osc32k: osc32k_clk {
+               osc32k: clk-32k {
                        #clock-cells = <0>;
                        compatible = "fixed-factor-clock";
                        clock-div = <1>;
                        clock-output-names = "osc32k";
                };
 
-               cpus_clk: clk@08001410 {
+               cpus_clk: clk@8001410 {
                        compatible = "allwinner,sun9i-a80-cpus-clk";
                        reg = <0x08001410 0x4>;
                        #clock-cells = <0>;
                        clock-output-names = "cpus";
                };
 
-               ahbs: ahbs_clk {
+               ahbs: clk-ahbs {
                        compatible = "fixed-factor-clock";
                        #clock-cells = <0>;
                        clock-div = <1>;
                        clock-output-names = "ahbs";
                };
 
-               apbs: clk@0800141c {
+               apbs: clk@800141c {
                        compatible = "allwinner,sun8i-a23-apb0-clk";
                        reg = <0x0800141c 0x4>;
                        #clock-cells = <0>;
                        clock-output-names = "apbs";
                };
 
-               apbs_gates: clk@08001428 {
+               apbs_gates: clk@8001428 {
                        compatible = "allwinner,sun9i-a80-apbs-gates-clk";
                        reg = <0x08001428 0x4>;
                        #clock-cells = <1>;
                                        "apbs_i2s1", "apbs_twd";
                };
 
-               r_1wire_clk: clk@08001450 {
+               r_1wire_clk: clk@8001450 {
                        reg = <0x08001450 0x4>;
                        #clock-cells = <0>;
                        compatible = "allwinner,sun4i-a10-mod0-clk";
                        clock-output-names = "r_1wire";
                };
 
-               r_ir_clk: clk@08001454 {
+               r_ir_clk: clk@8001454 {
                        reg = <0x08001454 0x4>;
                        #clock-cells = <0>;
                        compatible = "allwinner,sun4i-a10-mod0-clk";
                 */
                ranges = <0 0 0 0x20000000>;
 
-               ehci0: usb@00a00000 {
+               ehci0: usb@a00000 {
                        compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
                        reg = <0x00a00000 0x100>;
                        interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci0: usb@00a00400 {
+               ohci0: usb@a00400 {
                        compatible = "allwinner,sun9i-a80-ohci", "generic-ohci";
                        reg = <0x00a00400 0x100>;
                        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               usbphy1: phy@00a00800 {
+               usbphy1: phy@a00800 {
                        compatible = "allwinner,sun9i-a80-usb-phy";
                        reg = <0x00a00800 0x4>;
                        clocks = <&usb_clocks CLK_USB0_PHY>;
                        #phy-cells = <0>;
                };
 
-               ehci1: usb@00a01000 {
+               ehci1: usb@a01000 {
                        compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
                        reg = <0x00a01000 0x100>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               usbphy2: phy@00a01800 {
+               usbphy2: phy@a01800 {
                        compatible = "allwinner,sun9i-a80-usb-phy";
                        reg = <0x00a01800 0x4>;
                        clocks = <&usb_clocks CLK_USB1_HSIC>,
                        phy_type = "hsic";
                };
 
-               ehci2: usb@00a02000 {
+               ehci2: usb@a02000 {
                        compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
                        reg = <0x00a02000 0x100>;
                        interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci2: usb@00a02400 {
+               ohci2: usb@a02400 {
                        compatible = "allwinner,sun9i-a80-ohci", "generic-ohci";
                        reg = <0x00a02400 0x100>;
                        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               usbphy3: phy@00a02800 {
+               usbphy3: phy@a02800 {
                        compatible = "allwinner,sun9i-a80-usb-phy";
                        reg = <0x00a02800 0x4>;
                        clocks = <&usb_clocks CLK_USB2_HSIC>,
                        #phy-cells = <0>;
                };
 
-               usb_clocks: clock@00a08000 {
+               usb_clocks: clock@a08000 {
                        compatible = "allwinner,sun9i-a80-usb-clks";
                        reg = <0x00a08000 0x8>;
                        clocks = <&ccu CLK_BUS_USB>, <&osc24M>;
                        #reset-cells = <1>;
                };
 
-               mmc0: mmc@01c0f000 {
+               mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun9i-a80-mmc";
                        reg = <0x01c0f000 0x1000>;
                        clocks = <&mmc_config_clk 0>, <&ccu CLK_MMC0>,
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        compatible = "allwinner,sun9i-a80-mmc";
                        reg = <0x01c10000 0x1000>;
                        clocks = <&mmc_config_clk 1>, <&ccu CLK_MMC1>,
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        compatible = "allwinner,sun9i-a80-mmc";
                        reg = <0x01c11000 0x1000>;
                        clocks = <&mmc_config_clk 2>, <&ccu CLK_MMC2>,
                        #size-cells = <0>;
                };
 
-               mmc3: mmc@01c12000 {
+               mmc3: mmc@1c12000 {
                        compatible = "allwinner,sun9i-a80-mmc";
                        reg = <0x01c12000 0x1000>;
                        clocks = <&mmc_config_clk 3>, <&ccu CLK_MMC3>,
                        #size-cells = <0>;
                };
 
-               mmc_config_clk: clk@01c13000 {
+               mmc_config_clk: clk@1c13000 {
                        compatible = "allwinner,sun9i-a80-mmc-config-clk";
                        reg = <0x01c13000 0x10>;
                        clocks = <&ccu CLK_BUS_MMC>;
                                             "mmc2_config", "mmc3_config";
                };
 
-               gic: interrupt-controller@01c41000 {
+               gic: interrupt-controller@1c41000 {
                        compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
                        reg = <0x01c41000 0x1000>,
                              <0x01c42000 0x2000>,
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
                };
 
-               de_clocks: clock@03000000 {
+               de_clocks: clock@3000000 {
                        compatible = "allwinner,sun9i-a80-de-clks";
                        reg = <0x03000000 0x30>;
                        clocks = <&ccu CLK_DE>,
                        #reset-cells = <1>;
                };
 
-               ccu: clock@06000000 {
+               ccu: clock@6000000 {
                        compatible = "allwinner,sun9i-a80-ccu";
                        reg = <0x06000000 0x800>;
                        clocks = <&osc24M>, <&osc32k>;
                        #reset-cells = <1>;
                };
 
-               timer@06000c00 {
+               timer@6000c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x06000c00 0xa0>;
                        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&osc24M>;
                };
 
-               wdt: watchdog@06000ca0 {
+               wdt: watchdog@6000ca0 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x06000ca0 0x20>;
                        interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               pio: pinctrl@06000800 {
+               pio: pinctrl@6000800 {
                        compatible = "allwinner,sun9i-a80-pinctrl";
                        reg = <0x06000800 0x400>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
                        #size-cells = <0>;
                        #gpio-cells = <3>;
 
-                       i2c3_pins_a: i2c3@0 {
+                       i2c3_pins: i2c3-pins {
                                pins = "PG10", "PG11";
                                function = "i2c3";
                        };
 
-                       mmc0_pins: mmc0 {
+                       mmc0_pins: mmc0-pins {
                                pins = "PF0", "PF1" ,"PF2", "PF3",
                                       "PF4", "PF5";
                                function = "mmc0";
                                bias-pull-up;
                        };
 
-                       mmc1_pins: mmc1 {
+                       mmc1_pins: mmc1-pins {
                                pins = "PG0", "PG1" ,"PG2", "PG3",
                                                 "PG4", "PG5";
                                function = "mmc1";
                                bias-pull-up;
                        };
 
-                       mmc2_8bit_pins: mmc2_8bit {
+                       mmc2_8bit_pins: mmc2-8bit-pins {
                                pins = "PC6", "PC7", "PC8", "PC9",
                                       "PC10", "PC11", "PC12",
                                       "PC13", "PC14", "PC15",
                                bias-pull-up;
                        };
 
-                       uart0_pins_a: uart0@0 {
+                       uart0_ph_pins: uart0-ph-pins {
                                pins = "PH12", "PH13";
                                function = "uart0";
                        };
 
-                       uart4_pins_a: uart4@0 {
+                       uart4_pins: uart4-pins {
                                pins = "PG12", "PG13", "PG14", "PG15";
                                function = "uart4";
                        };
                };
 
-               uart0: serial@07000000 {
+               uart0: serial@7000000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x07000000 0x400>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart1: serial@07000400 {
+               uart1: serial@7000400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x07000400 0x400>;
                        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart2: serial@07000800 {
+               uart2: serial@7000800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x07000800 0x400>;
                        interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart3: serial@07000c00 {
+               uart3: serial@7000c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x07000c00 0x400>;
                        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart4: serial@07001000 {
+               uart4: serial@7001000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x07001000 0x400>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart5: serial@07001400 {
+               uart5: serial@7001400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x07001400 0x400>;
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               i2c0: i2c@07002800 {
+               i2c0: i2c@7002800 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x07002800 0x400>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@07002c00 {
+               i2c1: i2c@7002c00 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x07002c00 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@07003000 {
+               i2c2: i2c@7003000 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x07003000 0x400>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c3: i2c@07003400 {
+               i2c3: i2c@7003400 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x07003400 0x400>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c4: i2c@07003800 {
+               i2c4: i2c@7003800 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x07003800 0x400>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               r_wdt: watchdog@08001000 {
+               r_wdt: watchdog@8001000 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x08001000 0x20>;
                        interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               apbs_rst: reset@080014b0 {
+               apbs_rst: reset@80014b0 {
                        reg = <0x080014b0 0x4>;
                        compatible = "allwinner,sun6i-a31-clock-reset";
                        #reset-cells = <1>;
                };
 
-               nmi_intc: interrupt-controller@080015a0 {
+               nmi_intc: interrupt-controller@80015a0 {
                        compatible = "allwinner,sun9i-a80-nmi";
                        interrupt-controller;
                        #interrupt-cells = <2>;
                        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               r_ir: ir@08002000 {
+               r_ir: ir@8002000 {
                        compatible = "allwinner,sun5i-a13-ir";
                        interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
                        pinctrl-names = "default";
                        status = "disabled";
                };
 
-               r_uart: serial@08002800 {
+               r_uart: serial@8002800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x08002800 0x400>;
                        interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               r_pio: pinctrl@08002c00 {
+               r_pio: pinctrl@8002c00 {
                        compatible = "allwinner,sun9i-a80-r-pinctrl";
                        reg = <0x08002c00 0x400>;
                        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
                        #interrupt-cells = <3>;
                        #gpio-cells = <3>;
 
-                       r_ir_pins: r_ir {
+                       r_ir_pins: r-ir-pins {
                                pins = "PL6";
                                function = "s_cir_rx";
                        };
 
-                       r_rsb_pins: r_rsb {
+                       r_rsb_pins: r-rsb-pins {
                                pins = "PN0", "PN1";
                                function = "s_rsb";
                                drive-strength = <20>;
                        };
                };
 
-               r_rsb: i2c@08003400 {
+               r_rsb: i2c@8003400 {
                        compatible = "allwinner,sun8i-a23-rsb";
                        reg = <0x08003400 0x400>;
                        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
index 11240a8313c266a33ec7ad1233aca2a976d4af3f..8d40c00d64bb39a893d2f74c3d859ea42db59589 100644 (file)
@@ -91,7 +91,7 @@
                        reg = <0x01c00000 0x1000>;
                };
 
-               dma: dma-controller@01c02000 {
+               dma: dma-controller@1c02000 {
                        compatible = "allwinner,sun8i-h3-dma";
                        reg = <0x01c02000 0x1000>;
                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                        #dma-cells = <1>;
                };
 
-               mmc0: mmc@01c0f000 {
+               mmc0: mmc@1c0f000 {
                        /* compatible and clocks are in per SoC .dtsi file */
                        reg = <0x01c0f000 0x1000>;
                        resets = <&ccu RST_BUS_MMC0>;
                        #size-cells = <0>;
                };
 
-               mmc1: mmc@01c10000 {
+               mmc1: mmc@1c10000 {
                        /* compatible and clocks are in per SoC .dtsi file */
                        reg = <0x01c10000 0x1000>;
                        resets = <&ccu RST_BUS_MMC1>;
                        #size-cells = <0>;
                };
 
-               mmc2: mmc@01c11000 {
+               mmc2: mmc@1c11000 {
                        /* compatible and clocks are in per SoC .dtsi file */
                        reg = <0x01c11000 0x1000>;
                        resets = <&ccu RST_BUS_MMC2>;
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c19000 {
+               usb_otg: usb@1c19000 {
                        compatible = "allwinner,sun8i-h3-musb";
                        reg = <0x01c19000 0x400>;
                        clocks = <&ccu CLK_BUS_OTG>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c19400 {
+               usbphy: phy@1c19400 {
                        compatible = "allwinner,sun8i-h3-usb-phy";
                        reg = <0x01c19400 0x2c>,
                              <0x01c1a800 0x4>,
                        #phy-cells = <1>;
                };
 
-               ehci0: usb@01c1a000 {
+               ehci0: usb@1c1a000 {
                        compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
                        reg = <0x01c1a000 0x100>;
                        interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci0: usb@01c1a400 {
+               ohci0: usb@1c1a400 {
                        compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
                        reg = <0x01c1a400 0x100>;
                        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ehci1: usb@01c1b000 {
+               ehci1: usb@1c1b000 {
                        compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
                        reg = <0x01c1b000 0x100>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci1: usb@01c1b400 {
+               ohci1: usb@1c1b400 {
                        compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
                        reg = <0x01c1b400 0x100>;
                        interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ehci2: usb@01c1c000 {
+               ehci2: usb@1c1c000 {
                        compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
                        reg = <0x01c1c000 0x100>;
                        interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci2: usb@01c1c400 {
+               ohci2: usb@1c1c400 {
                        compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
                        reg = <0x01c1c400 0x100>;
                        interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ehci3: usb@01c1d000 {
+               ehci3: usb@1c1d000 {
                        compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
                        reg = <0x01c1d000 0x100>;
                        interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci3: usb@01c1d400 {
+               ohci3: usb@1c1d400 {
                        compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
                        reg = <0x01c1d400 0x100>;
                        interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ccu: clock@01c20000 {
+               ccu: clock@1c20000 {
                        /* compatible is in per SoC .dtsi file */
                        reg = <0x01c20000 0x400>;
                        clocks = <&osc24M>, <&osc32k>;
                        #reset-cells = <1>;
                };
 
-               pio: pinctrl@01c20800 {
+               pio: pinctrl@1c20800 {
                        /* compatible is in per SoC .dtsi file */
                        reg = <0x01c20800 0x400>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
                                function = "i2c2";
                        };
 
-                       mmc0_pins_a: mmc0@0 {
+                       mmc0_pins_a: mmc0 {
                                pins = "PF0", "PF1", "PF2", "PF3",
                                       "PF4", "PF5";
                                function = "mmc0";
                                bias-pull-up;
                        };
 
-                       mmc0_cd_pin: mmc0_cd_pin@0 {
+                       mmc0_cd_pin: mmc0_cd_pin {
                                pins = "PF6";
                                function = "gpio_in";
                                bias-pull-up;
                        };
 
-                       mmc1_pins_a: mmc1@0 {
+                       mmc1_pins_a: mmc1 {
                                pins = "PG0", "PG1", "PG2", "PG3",
                                       "PG4", "PG5";
                                function = "mmc1";
                                bias-pull-up;
                        };
 
-                       spdif_tx_pins_a: spdif@0 {
+                       spdif_tx_pins_a: spdif {
                                pins = "PA17";
                                function = "spdif";
                        };
                                function = "spi1";
                        };
 
-                       uart0_pins_a: uart0@0 {
+                       uart0_pins_a: uart0 {
                                pins = "PA4", "PA5";
                                function = "uart0";
                        };
                                pins = "PA13", "PA14";
                                function = "uart3";
                        };
+
+                       uart3_rts_cts_pins: uart3_rts_cts {
+                               pins = "PA15", "PA16";
+                               function = "uart3";
+                       };
                };
 
-               timer@01c20c00 {
+               timer@1c20c00 {
                        compatible = "allwinner,sun4i-a10-timer";
                        reg = <0x01c20c00 0xa0>;
                        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
                        clocks = <&osc24M>;
                };
 
-               spi0: spi@01c68000 {
+               emac: ethernet@1c30000 {
+                       compatible = "allwinner,sun8i-h3-emac";
+                       syscon = <&syscon>;
+                       reg = <0x01c30000 0x10000>;
+                       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "macirq";
+                       resets = <&ccu RST_BUS_EMAC>;
+                       reset-names = "stmmaceth";
+                       clocks = <&ccu CLK_BUS_EMAC>;
+                       clock-names = "stmmaceth";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+
+                       mdio: mdio {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "snps,dwmac-mdio";
+                       };
+
+                       mdio-mux {
+                               compatible = "allwinner,sun8i-h3-mdio-mux";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               mdio-parent-bus = <&mdio>;
+                               /* Only one MDIO is usable at the time */
+                               internal_mdio: mdio@1 {
+                                       compatible = "allwinner,sun8i-h3-mdio-internal";
+                                       reg = <1>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       int_mii_phy: ethernet-phy@1 {
+                                               compatible = "ethernet-phy-ieee802.3-c22";
+                                               reg = <1>;
+                                               clocks = <&ccu CLK_BUS_EPHY>;
+                                               resets = <&ccu RST_BUS_EPHY>;
+                                       };
+                               };
+
+                               external_mdio: mdio@2 {
+                                       reg = <2>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                               };
+                       };
+               };
+
+               spi0: spi@1c68000 {
                        compatible = "allwinner,sun8i-h3-spi";
                        reg = <0x01c68000 0x1000>;
                        interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               spi1: spi@01c69000 {
+               spi1: spi@1c69000 {
                        compatible = "allwinner,sun8i-h3-spi";
                        reg = <0x01c69000 0x1000>;
                        interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               wdt0: watchdog@01c20ca0 {
+               wdt0: watchdog@1c20ca0 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x01c20ca0 0x20>;
                        interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               spdif: spdif@01c21000 {
+               spdif: spdif@1c21000 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun8i-h3-spdif";
                        reg = <0x01c21000 0x400>;
                        status = "disabled";
                };
 
-               pwm: pwm@01c21400 {
+               pwm: pwm@1c21400 {
                        compatible = "allwinner,sun8i-h3-pwm";
                        reg = <0x01c21400 0x8>;
                        clocks = <&osc24M>;
                        status = "disabled";
                };
 
-               codec: codec@01c22c00 {
+               i2s0: i2s@1c22000 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun8i-h3-i2s";
+                       reg = <0x01c22000 0x400>;
+                       interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
+                       clock-names = "apb", "mod";
+                       dmas = <&dma 3>, <&dma 3>;
+                       resets = <&ccu RST_BUS_I2S0>;
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
+               i2s1: i2s@1c22400 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun8i-h3-i2s";
+                       reg = <0x01c22400 0x400>;
+                       interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
+                       clock-names = "apb", "mod";
+                       dmas = <&dma 4>, <&dma 4>;
+                       resets = <&ccu RST_BUS_I2S1>;
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
+               codec: codec@1c22c00 {
                        #sound-dai-cells = <0>;
                        compatible = "allwinner,sun8i-h3-codec";
                        reg = <0x01c22c00 0x400>;
                        status = "disabled";
                };
 
-               uart0: serial@01c28000 {
+               uart0: serial@1c28000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28000 0x400>;
                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart1: serial@01c28400 {
+               uart1: serial@1c28400 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28400 0x400>;
                        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart2: serial@01c28800 {
+               uart2: serial@1c28800 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28800 0x400>;
                        interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               uart3: serial@01c28c00 {
+               uart3: serial@1c28c00 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x01c28c00 0x400>;
                        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               i2c0: i2c@01c2ac00 {
+               i2c0: i2c@1c2ac00 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c1: i2c@01c2b000 {
+               i2c1: i2c@1c2b000 {
                        compatible = "allwinner,sun6i-a31-i2c";
                        reg = <0x01c2b000 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #size-cells = <0>;
                };
 
-               i2c2: i2c@01c2b400 {
+               i2c2: i2c@1c2b400 {
                        compatible = "allwinner,sun6i-a31-i2c";
-                       reg = <0x01c2b000 0x400>;
+                       reg = <0x01c2b400 0x400>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&ccu CLK_BUS_I2C2>;
                        resets = <&ccu RST_BUS_I2C2>;
                        #size-cells = <0>;
                };
 
-               gic: interrupt-controller@01c81000 {
+               gic: interrupt-controller@1c81000 {
                        compatible = "arm,gic-400";
                        reg = <0x01c81000 0x1000>,
                              <0x01c82000 0x2000>,
                        interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
                };
 
-               rtc: rtc@01f00000 {
+               rtc: rtc@1f00000 {
                        compatible = "allwinner,sun6i-a31-rtc";
                        reg = <0x01f00000 0x54>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
                        #reset-cells = <1>;
                };
 
-               codec_analog: codec-analog@01f015c0 {
+               codec_analog: codec-analog@1f015c0 {
                        compatible = "allwinner,sun8i-h3-codec-analog";
                        reg = <0x01f015c0 0x4>;
                };
 
-               ir: ir@01f02000 {
+               ir: ir@1f02000 {
                        compatible = "allwinner,sun5i-a13-ir";
                        clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>;
                        clock-names = "apb", "ir";
                        status = "disabled";
                };
 
-               r_pio: pinctrl@01f02c00 {
+               r_pio: pinctrl@1f02c00 {
                        compatible = "allwinner,sun8i-h3-r-pinctrl";
                        reg = <0x01f02c00 0x400>;
                        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-controller;
                        #interrupt-cells = <3>;
 
-                       ir_pins_a: ir@0 {
+                       ir_pins_a: ir {
                                pins = "PL11";
                                function = "s_cir_rx";
                        };
index 2565d5137a17e300c4f9274277303d5626e761f2..ddf4e722ea93775ee7ac240a1442dc9432880e9e 100644 (file)
@@ -65,8 +65,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -75,8 +73,6 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
index 12ab6e0c033149239c7476c8ea60262c697837d5..0ec1b0a317b4c4631d4cfe5d9d451e9d16c697de 100644 (file)
                        #address-cells = <1>;
                        #size-cells = <1>;
 
-                       irq0: irq0@000 {
+                       irq0: irq0@0 {
                                reg = <0x000 0x100>;
                                interrupt-controller;
                                #interrupt-cells = <2>;
index e8e777b8ef1b33658f773b36fe0b064b15121d3c..d112f85e66ed530b14f66ed6d0c50f107d4f2a65 100644 (file)
                };
        };
 
+       cec@70015000 {
+               status = "okay";
+       };
+
        gpu@0,57000000 {
                /*
                 * Node left disabled on purpose - the bootloader will enable
index a7e43dcbf74443738749512081edde1ff4738d14..174092bfac908ca0c359f756d165c26b8cef6ff1 100644 (file)
                        nvidia,head = <1>;
                };
 
-               hdmi@54280000 {
+               hdmi: hdmi@54280000 {
                        compatible = "nvidia,tegra124-hdmi";
                        reg = <0x0 0x54280000 0x0 0x00040000>;
                        interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
                status = "disabled";
        };
 
+       cec@70015000 {
+               compatible = "nvidia,tegra124-cec";
+               reg = <0x0 0x70015000 0x0 0x00001000>;
+               interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&tegra_car TEGRA124_CLK_CEC>;
+               clock-names = "cec";
+               status = "disabled";
+               hdmi-phandle = <&hdmi>;
+       };
+
        soctherm: thermal-sensor@700e2000 {
                compatible = "nvidia,tegra124-soctherm";
                reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */
index b3aaab354f3e0e8ff842db3549f865e7c1c60e10..0056852c4fb0a20a6396a7de2d1b45db1776c72c 100644 (file)
@@ -38,7 +38,7 @@
 };
 
 &ethsc {
-       interrupts = <0 49 4>;
+       interrupts = <1 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq1 {
+               gpio-hog;
+               gpios = <121 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
index 93586faf950f1bff750fe9821e4b7d1c60766fc7..01fc3e16e2bd5adae80f8a42d17a6b4d039c85d7 100644 (file)
@@ -37,7 +37,7 @@
                        clock-frequency = <24576000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -71,6 +71,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -81,6 +82,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -91,6 +93,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>;
+                       gpio-ranges-group-names = "gpio_range";
+                       ngpios = <136>;
+                       socionext,interrupt-ranges = <0 48 13>, <14 62 2>;
                };
 
                i2c0: i2c@58400000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index 2188d114d79b06c9b9b1bfde5d8cee1bc82e02df..0e510a725976e38cf928d2edba5b46ac7a937fff 100644 (file)
@@ -40,7 +40,7 @@
 };
 
 &ethsc {
-       interrupts = <0 52 4>;
+       interrupts = <4 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq4 {
+               gpio-hog;
+               gpios = <124 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
index be82cddc407245b82cfde6b02cbcc970576e6e0d..de481c372467a75ba49b7631ba95bed22fa95190 100644 (file)
  */
 
 &pinctrl {
-       pinctrl_aout: aout_grp {
+       pinctrl_aout: aout {
                groups = "aout";
                function = "aout";
        };
 
-       pinctrl_emmc: emmc_grp {
+       pinctrl_emmc: emmc {
                groups = "emmc", "emmc_dat8";
                function = "emmc";
        };
 
-       pinctrl_ether_mii: ether_mii_grp {
+       pinctrl_ether_mii: ether-mii {
                groups = "ether_mii";
                function = "ether_mii";
        };
 
-       pinctrl_ether_rgmii: ether_rgmii_grp {
+       pinctrl_ether_rgmii: ether-rgmii {
                groups = "ether_rgmii";
                function = "ether_rgmii";
        };
 
-       pinctrl_ether_rmii: ether_rmii_grp {
+       pinctrl_ether_rmii: ether-rmii {
                groups = "ether_rmii";
                function = "ether_rmii";
        };
 
-       pinctrl_i2c0: i2c0_grp {
+       pinctrl_i2c0: i2c0 {
                groups = "i2c0";
                function = "i2c0";
        };
 
-       pinctrl_i2c1: i2c1_grp {
+       pinctrl_i2c1: i2c1 {
                groups = "i2c1";
                function = "i2c1";
        };
 
-       pinctrl_i2c2: i2c2_grp {
+       pinctrl_i2c2: i2c2 {
                groups = "i2c2";
                function = "i2c2";
        };
 
-       pinctrl_i2c3: i2c3_grp {
+       pinctrl_i2c3: i2c3 {
                groups = "i2c3";
                function = "i2c3";
        };
 
-       pinctrl_i2c4: i2c4_grp {
+       pinctrl_i2c4: i2c4 {
                groups = "i2c4";
                function = "i2c4";
        };
 
-       pinctrl_nand: nand_grp {
+       pinctrl_nand: nand {
                groups = "nand";
                function = "nand";
        };
 
-       pinctrl_nand2cs: nand2cs_grp {
+       pinctrl_nand2cs: nand2cs {
                groups = "nand", "nand_cs1";
                function = "nand";
        };
 
-       pinctrl_sd: sd_grp {
+       pinctrl_sd: sd {
                groups = "sd";
                function = "sd";
        };
 
-       pinctrl_sd1: sd1_grp {
+       pinctrl_sd1: sd1 {
                groups = "sd1";
                function = "sd1";
        };
 
-       pinctrl_system_bus: system_bus_grp {
+       pinctrl_system_bus: system-bus {
                groups = "system_bus", "system_bus_cs1";
                function = "system_bus";
        };
 
-       pinctrl_uart0: uart0_grp {
+       pinctrl_uart0: uart0 {
                groups = "uart0";
                function = "uart0";
        };
 
-       pinctrl_uart1: uart1_grp {
+       pinctrl_uart1: uart1 {
                groups = "uart1";
                function = "uart1";
        };
 
-       pinctrl_uart2: uart2_grp {
+       pinctrl_uart2: uart2 {
                groups = "uart2";
                function = "uart2";
        };
 
-       pinctrl_uart3: uart3_grp {
+       pinctrl_uart3: uart3 {
                groups = "uart3";
                function = "uart3";
        };
 
-       pinctrl_usb0: usb0_grp {
+       pinctrl_usb0: usb0 {
                groups = "usb0";
                function = "usb0";
        };
 
-       pinctrl_usb1: usb1_grp {
+       pinctrl_usb1: usb1 {
                groups = "usb1";
                function = "usb1";
        };
 
-       pinctrl_usb2: usb2_grp {
+       pinctrl_usb2: usb2 {
                groups = "usb2";
                function = "usb2";
        };
 
-       pinctrl_usb3: usb3_grp {
+       pinctrl_usb3: usb3 {
                groups = "usb3";
                function = "usb3";
        };
index 903df6348e77db51d2bcc86d2aa1d32a0cf3dece..be99467ac6bb9b0cc4e39f1bbb32d79d046cf5f5 100644 (file)
@@ -40,7 +40,7 @@
 };
 
 &ethsc {
-       interrupts = <0 50 4>;
+       interrupts = <2 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq2 {
+               gpio-hog;
+               gpios = <122 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
index 2a9bd7f9f5db3d43b1896162048e95faea18f299..7955c3a49e659695f1526b024192c8c13a31a138 100644 (file)
@@ -45,7 +45,7 @@
                        clock-frequency = <25000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -79,6 +79,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -89,6 +90,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>;
+                       gpio-ranges-group-names = "gpio_range";
+                       ngpios = <248>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>;
                };
 
                i2c0: i2c@58780000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index b026bcd42a069351b1786959be0af090eaef21d3..6589b8a2c65c7766d850e1625ba201065aa9f760 100644 (file)
@@ -37,7 +37,7 @@
                };
        };
 
-       cpu_opp: opp_table {
+       cpu_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
                        clock-frequency = <20000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>;
+                       gpio-ranges-group-names = "gpio_range";
+                       ngpios = <248>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>;
                };
 
                i2c0: i2c@58780000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index 90b020c950837d5d0c9d2a43d74d4a2c208b7463..d82d6d8721319a462086cfb5d2330c5e9e12118d 100644 (file)
@@ -7,6 +7,8 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/thermal/thermal.h>
+
 / {
        compatible = "socionext,uniphier-pxs2";
        #address-cells = <1>;
@@ -16,7 +18,7 @@
                #address-cells = <1>;
                #size-cells = <0>;
 
-               cpu@0 {
+               cpu0: cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <0>;
                        enable-method = "psci";
                        next-level-cache = <&l2>;
                        operating-points-v2 = <&cpu_opp>;
+                       #cooling-cells = <2>;
                };
 
-               cpu@1 {
+               cpu1: cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <1>;
@@ -36,7 +39,7 @@
                        operating-points-v2 = <&cpu_opp>;
                };
 
-               cpu@2 {
+               cpu2: cpu@2 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <2>;
@@ -46,7 +49,7 @@
                        operating-points-v2 = <&cpu_opp>;
                };
 
-               cpu@3 {
+               cpu3: cpu@3 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <3>;
@@ -57,7 +60,7 @@
                };
        };
 
-       cpu_opp: opp_table {
+       cpu_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
                        clock-frequency = <25000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
                };
        };
 
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <250>;  /* 250ms */
+                       polling-delay = <1000>;         /* 1000ms */
+                       thermal-sensors = <&pvtctl>;
+
+                       trips {
+                               cpu_crit: cpu-crit {
+                                       temperature = <95000>;  /* 95C */
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                               cpu_alert: cpu-alert {
+                                       temperature = <85000>;  /* 85C */
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu0
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
+
        soc {
                compatible = "simple-bus";
                #address-cells = <1>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>,
+                                     <&pinctrl 96 0 0>;
+                       gpio-ranges-group-names = "gpio_range0",
+                                                 "gpio_range1";
+                       ngpios = <232>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
+                                                    <21 217 3>;
                };
 
                i2c0: i2c@58780000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 45 4>;
                        clocks = <&peri_clk 8>;
+                       resets = <&peri_rst 8>;
                        clock-frequency = <400000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
                                compatible = "socionext,uniphier-pxs2-reset";
                                #reset-cells = <1>;
                        };
+
+                       pvtctl: pvtctl {
+                               compatible = "socionext,uniphier-pxs2-thermal";
+                               interrupts = <0 3 4>;
+                               #thermal-sensor-cells = <0>;
+                               socionext,tmod-calibration = <0x0f86 0x6844>;
+                       };
                };
 
                nand: nand@68000000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index 5accd3cc76e4aaee7471f0ce7542bfc7eb6d1ac9..1c0e7077a5609920323b356712b59cd6e51c75fb 100644 (file)
@@ -38,7 +38,7 @@
 };
 
 &ethsc {
-       interrupts = <0 48 4>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq0 {
+               gpio-hog;
+               gpios = <120 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
index ebd0c3f63e7fb6bf05d8e775367e6572f8931318..71885366cd238339f1ddc03ae3010c4052806ce8 100644 (file)
@@ -37,7 +37,7 @@
                        clock-frequency = <25000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -71,6 +71,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -81,6 +82,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -91,6 +93,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>,
+                                     <&pinctrl 104 0 0>,
+                                     <&pinctrl 112 0 0>;
+                       gpio-ranges-group-names = "gpio_range0",
+                                                 "gpio_range1",
+                                                 "gpio_range2";
+                       ngpios = <136>;
+                       socionext,interrupt-ranges = <0 48 13>, <14 62 2>;
                };
 
                i2c0: i2c@58400000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index 6c825f192e659354be7f066535ed08c28450961f..e4e7e1bb91720ccc10aa564365bfd1f164433921 100644 (file)
        status = "okay";
        ranges = <1 0x00000000 0x42000000 0x02000000>;
 
-       support_card: support_card@1,1f00000 {
+       support_card: support-card@1,1f00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 1 0x01f00000 0x00100000>;
+               interrupt-parent = <&gpio>;
 
                ethsc: ethernet@0 {
                        compatible = "smsc,lan9118", "smsc,lan9115";
index 482381c1c9622832d2ab438c2f38e3d5770fd136..7b1125be99c467221f442122073afb1b15ac34e8 100644 (file)
                        };
                };
 
-               usb0: ohci@00a00000 {
+               usb0: ohci@a00000 {
                        num-ports = <2>;
                        status = "okay";
                };
index 088c2c3685ab7bf3d65367c0662d226980cbb44e..81c3fe0465d95cb645d8e26177c6858db1dc52c5 100644 (file)
@@ -20,8 +20,8 @@
        };
 
        i2c-gpio-0 {
-               rv3029c2@56 {
-                       compatible = "rv3029c2";
+               rtc@56 {
+                       compatible = "microcrystal,rv3029";
                        reg = <0x56>;
                };
        };
index 53e3b8b250c6baa9ad81aaff3cfc6bb3cd67d10e..6f787e67bd2eacfb52944e6d47a39e46595e7b65 100644 (file)
        pinctrl-0 = <&pinctrl_i2c0>;
        status = "okay";
 
-       codec: sgtl5000@0a {
+       codec: sgtl5000@a {
               #sound-dai-cells = <0>;
               compatible = "fsl,sgtl5000";
               reg = <0x0a>;
index db3b408ea55afee6a96530585fbda8a3c6f3fad2..02a6227c717ca6ce0bd515804887b74778a06ded 100644 (file)
 };
 
 &i2c1 {
-       at24mac602@00 {
+       at24mac602@0 {
                compatible = "atmel,24c02";
                reg = <0x50>;
                read-only;
index 752d28e0f9b0181b5dd2d52cbb02e55b9ec9e63f..8a74efdb636062e28e309e130f557e5bc582d65f 100644 (file)
@@ -38,7 +38,7 @@
                        reg = <0x00400000 0x1000>;
                };
 
-               intc: interrupt-controller@00801000 {
+               intc: interrupt-controller@801000 {
                        compatible = "arm,cortex-a9-gic";
                        #interrupt-cells = <3>;
                        #address-cells = <1>;
@@ -48,7 +48,7 @@
                              <0x00800100 0x100>;
                };
 
-               global_timer: timer@008000200 {
+               global_timer: timer@8000200 {
                        compatible = "arm,cortex-a9-global-timer";
                        reg = <0x00800200 0x20>;
                        interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
index 34e8277fce0d36a875cccb1278a9c016236b53d0..70a5de76b7db36a858a48cb82c2fd1e7fd94e95e 100644 (file)
                        #size-cells = <0>;
                        reg = <2>;
                        eeprom@54 {
-                               compatible = "at,24c08";
+                               compatible = "atmel,24c08";
                                reg = <0x54>;
                        };
                };
index 7ebc8c5ae39dce63ce99add3fea8e4eea121d924..cdc326ec333586da5650dd1894f07c2e64a80525 100644 (file)
                        #size-cells = <0>;
                        reg = <2>;
                        eeprom@54 {
-                               compatible = "at,24c08";
+                               compatible = "atmel,24c08";
                                reg = <0x54>;
                        };
                };
index 5699ce39e64f70d9b2ca34865daaaa08f4325a43..f06db6700ab26acfa2ea7d0a9bb3ff1c626a0c9b 100644 (file)
@@ -54,6 +54,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("ti,da830-usb-phy", 0x01c1417c, "da8xx-usb-phy", NULL),
        OF_DEV_AUXDATA("ti,da850-ahci", 0x01e18000, "ahci_da850", NULL),
        OF_DEV_AUXDATA("ti,da850-vpif", 0x01e17000, "vpif", NULL),
+       OF_DEV_AUXDATA("ti,da850-dsp", 0x11800000, "davinci-rproc.0", NULL),
        {}
 };
 
index 1d03ef54295ade1f4f819264400fdaba06faffb2..084f70c2ba48885b914ac9dadf618ed84f78b30d 100644 (file)
@@ -104,6 +104,7 @@ config ARCH_MESON
        select PINCTRL_MESON
        select COMMON_CLK_AMLOGIC
        select COMMON_CLK_GXBB
+       select MESON_IRQ_GPIO
        help
          This enables support for the Amlogic S905 SoCs.
 
@@ -187,6 +188,12 @@ config ARCH_R8A7796
        help
          This enables support for the Renesas R-Car M3-W SoC.
 
+config ARCH_R8A77970
+       bool "Renesas R-Car V3M SoC Platform"
+       depends on ARCH_RENESAS
+       help
+         This enables support for the Renesas R-Car V3M SoC.
+
 config ARCH_R8A77995
        bool "Renesas R-Car D3 SoC Platform"
        depends on ARCH_RENESAS
index a0c3484dbd12d1734e3d23c4df3e17a3ada16e0a..21ca80f9941ce040b5ed64621a40897ab32a8e2c 100644 (file)
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
+
+       uart5_clk: uart5-clk {
+               compatible = "fixed-clock";
+               clock-frequency = <921600>;
+               #clock-cells = <0>;
+       };
 };
 
 &timer {
@@ -32,4 +38,5 @@
 
 &uart5 {
        status = "okay";
+       clocks = <&uart5_clk>;
 };
index 7d3acb355ff3acd7bb5d3d6345bab3eb4b258a2f..f505227b02508ee45d2aef52f42ae5264bdaa5d8 100644 (file)
@@ -9,3 +9,4 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb
index d347f52e27f6070ebf79a5f6fe890feecee2a94b..45bdbfb961261becf2fb940fb9da19ee0f99560a 100644 (file)
@@ -51,6 +51,7 @@
        compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
                serial1 = &uart1;
        };
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmii_pins>;
+       phy-mode = "rgmii";
+       phy-handle = <&ext_rgmii_phy>;
+       status = "okay";
+};
+
 &i2c1 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c1_pins>;
        bias-pull-up;
 };
 
+&mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
index f82ccf332c0fac86f2756f5818610d086d1c2cc1..24f1aac366d64355f5b6b37bb8e263bcce7f2e2d 100644 (file)
 
        /* TODO: Camera, touchscreen, etc. */
 };
+
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmii_pins>;
+       phy-mode = "rgmii";
+       phy-handle = <&ext_rgmii_phy>;
+       status = "okay";
+};
+
+&mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
index d06e34b5d192323ffef69303330e1f37a9a27310..806442d3e846881d01e3c971da41af1db869b14f 100644 (file)
@@ -51,6 +51,7 @@
        compatible = "pine64,pine64", "allwinner,sun50i-a64";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
                serial1 = &uart1;
                serial2 = &uart2;
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&rmii_pins>;
+       phy-mode = "rmii";
+       phy-handle = <&ext_rmii_phy1>;
+       status = "okay";
+
+};
+
 &i2c1 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c1_pins>;
        bias-pull-up;
 };
 
+&mdio {
+       ext_rmii_phy1: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
index 17ccc12b58df7057ebf695b8c3e4696c7dbbd868..0eb2acedf8c3bc5ff2b4bbde4cddfde4d8c204ad 100644 (file)
@@ -53,6 +53,7 @@
                     "allwinner,sun50i-a64";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmii_pins>;
+       phy-mode = "rgmii";
+       phy-handle = <&ext_rgmii_phy>;
+       status = "okay";
+};
+
+&mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
+
 &mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_pins>;
index 8c8db1b057dfc687aa5bcabce4732cc3653bebbd..d783d164b9c3015e74d1f05e35ca7fe755312077 100644 (file)
                        reg = <0x01c00000 0x1000>;
                };
 
+               dma: dma-controller@1c02000 {
+                       compatible = "allwinner,sun50i-a64-dma";
+                       reg = <0x01c02000 0x1000>;
+                       interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_DMA>;
+                       dma-channels = <8>;
+                       dma-requests = <27>;
+                       resets = <&ccu RST_BUS_DMA>;
+                       #dma-cells = <1>;
+               };
+
                mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun50i-a64-mmc";
                        reg = <0x01c0f000 0x1000>;
                        #size-cells = <0>;
                };
 
-               usb_otg: usb@01c19000 {
+               usb_otg: usb@1c19000 {
                        compatible = "allwinner,sun8i-a33-musb";
                        reg = <0x01c19000 0x0400>;
                        clocks = <&ccu CLK_BUS_OTG>;
                        status = "disabled";
                };
 
-               usbphy: phy@01c19400 {
+               usbphy: phy@1c19400 {
                        compatible = "allwinner,sun50i-a64-usb-phy";
                        reg = <0x01c19400 0x14>,
                              <0x01c1a800 0x4>,
                        #phy-cells = <1>;
                };
 
-               ehci0: usb@01c1a000 {
+               ehci0: usb@1c1a000 {
                        compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
                        reg = <0x01c1a000 0x100>;
                        interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci0: usb@01c1a400 {
+               ohci0: usb@1c1a400 {
                        compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
                        reg = <0x01c1a400 0x100>;
                        interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ehci1: usb@01c1b000 {
+               ehci1: usb@1c1b000 {
                        compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
                        reg = <0x01c1b000 0x100>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ohci1: usb@01c1b400 {
+               ohci1: usb@1c1b400 {
                        compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
                        reg = <0x01c1b400 0x100>;
                        interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ccu: clock@01c20000 {
+               ccu: clock@1c20000 {
                        compatible = "allwinner,sun50i-a64-ccu";
                        reg = <0x01c20000 0x400>;
                        clocks = <&osc24M>, <&osc32k>;
                                drive-strength = <40>;
                        };
 
-                       uart0_pins_a: uart0@0 {
+                       spi0_pins: spi0 {
+                               pins = "PC0", "PC1", "PC2", "PC3";
+                               function = "spi0";
+                       };
+
+                       spi1_pins: spi1 {
+                               pins = "PD0", "PD1", "PD2", "PD3";
+                               function = "spi1";
+                       };
+
+                       uart0_pins_a: uart0 {
                                pins = "PB8", "PB9";
                                function = "uart0";
                        };
                        #size-cells = <0>;
                };
 
+
+               spi0: spi@1c68000 {
+                       compatible = "allwinner,sun8i-h3-spi";
+                       reg = <0x01c68000 0x1000>;
+                       interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
+                       clock-names = "ahb", "mod";
+                       dmas = <&dma 23>, <&dma 23>;
+                       dma-names = "rx", "tx";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi0_pins>;
+                       resets = <&ccu RST_BUS_SPI0>;
+                       status = "disabled";
+                       num-cs = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               spi1: spi@1c69000 {
+                       compatible = "allwinner,sun8i-h3-spi";
+                       reg = <0x01c69000 0x1000>;
+                       interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
+                       clock-names = "ahb", "mod";
+                       dmas = <&dma 24>, <&dma 24>;
+                       dma-names = "rx", "tx";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi1_pins>;
+                       resets = <&ccu RST_BUS_SPI1>;
+                       status = "disabled";
+                       num-cs = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+
+               emac: ethernet@1c30000 {
+                       compatible = "allwinner,sun50i-a64-emac";
+                       syscon = <&syscon>;
+                       reg = <0x01c30000 0x10000>;
+                       interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "macirq";
+                       resets = <&ccu RST_BUS_EMAC>;
+                       reset-names = "stmmaceth";
+                       clocks = <&ccu CLK_BUS_EMAC>;
+                       clock-names = "stmmaceth";
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       mdio: mdio {
+                               compatible = "snps,dwmac-mdio";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
                gic: interrupt-controller@1c81000 {
                        compatible = "arm,gic-400";
                        reg = <0x01c81000 0x1000>,
                        #reset-cells = <1>;
                };
 
-               r_pio: pinctrl@01f02c00 {
+               r_pio: pinctrl@1f02c00 {
                        compatible = "allwinner,sun50i-a64-r-pinctrl";
                        reg = <0x01f02c00 0x400>;
                        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-controller;
                        #interrupt-cells = <3>;
 
-                       r_rsb_pins: rsb@0 {
+                       r_rsb_pins: rsb {
                                pins = "PL0", "PL1";
                                function = "s_rsb";
                        };
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
new file mode 100644 (file)
index 0000000..7c028af
--- /dev/null
@@ -0,0 +1,193 @@
+/*
+ * Copyright (C) 2017 Antony Antony <antony@phenome.org>
+ * Copyright (C) 2016 ARM Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/sun4i-a10.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               pwr {
+                       label = "nanopi:green:pwr";
+                       gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+               };
+
+               status {
+                       label = "nanopi:red:status";
+                       gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       reg_gmac_3v3: gmac-3v3 {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               regulator-name = "gmac-3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               startup-delay-us = <100000>;
+               enable-active-high;
+               gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       vdd_cpux: gpio-regulator {
+               compatible = "regulator-gpio";
+               pinctrl-names = "default";
+               regulator-name = "vdd-cpux";
+               regulator-type = "voltage";
+               regulator-boot-on;
+               regulator-always-on;
+               regulator-min-microvolt = <1100000>;
+               regulator-max-microvolt = <1300000>;
+               regulator-ramp-delay = <50>; /* 4ms */
+               gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>;
+               gpios-states = <0x1>;
+               states = <1100000 0x0
+                         1300000 0x1>;
+       };
+
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               pinctrl-names = "default";
+               reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
+               post-power-on-delay-ms = <200>;
+       };
+};
+
+&codec {
+       allwinner,audio-routing =
+               "Line Out", "LINEOUT",
+               "MIC1", "Mic",
+               "Mic",  "MBIAS";
+       status = "okay";
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&ehci3 {
+       status = "okay";
+};
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <4>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+       status = "okay";
+};
+
+&mmc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc1_pins_a>;
+       vmmc-supply = <&reg_vcc3v3>;
+       vqmmc-supply = <&reg_vcc3v3>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       brcmf: wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <8>;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&ohci3 {
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins_a>;
+       status = "okay";
+};
+
+&usb_otg {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usbphy {
+       /* USB Type-A ports' VBUS is always on */
+       status = "okay";
+};
index 1c2387bd5df6f13cae7201e656923704c2878c8e..6eb8092d8e575a04682a3f5f7af514529f2a95c7 100644 (file)
@@ -50,6 +50,7 @@
        compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@7 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <7>;
+       };
+};
+
 &mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
index 4f77c8470f6c3377219dd908cc76aa87cb583607..a0ca925175aaca0a2c86d7d74bda3b50124feaf3 100644 (file)
@@ -59,6 +59,7 @@
        };
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
+
 &ir {
        pinctrl-names = "default";
        pinctrl-0 = <&ir_pins_a>;
index 6be06873e5afe55d39aab3c3564b9851bdb17637..b477906501444fff0a1aab2d9da94e6065333f4d 100644 (file)
@@ -54,6 +54,7 @@
        compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5";
 
        aliases {
+               ethernet0 = &emac;
                serial0 = &uart0;
        };
 
        status = "okay";
 };
 
+&emac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&emac_rgmii_pins>;
+       phy-supply = <&reg_gmac_3v3>;
+       phy-handle = <&ext_rgmii_phy>;
+       phy-mode = "rgmii";
+       status = "okay";
+};
+
+&external_mdio {
+       ext_rgmii_phy: ethernet-phy@1 {
+               compatible = "ethernet-phy-ieee802.3-c22";
+               reg = <1>;
+       };
+};
+
 &ir {
        pinctrl-names = "default";
        pinctrl-0 = <&ir_pins_a>;
index c2b9bcb0ef61ac42189d8fcadc423c30878f3842..7c9bdc7ab50bcfd12764d7206bb0fb75e30ec8c1 100644 (file)
@@ -15,6 +15,8 @@
  */
 
 /dts-v1/;
+#include <dt-bindings/reset/altr,rst-mgr-s10.h>
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        compatible = "altr,socfpga-stratix10";
                compatible = "arm,gic-400", "arm,cortex-a15-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
-               reg = <0x0 0xfffc1000 0x1000>,
-                     <0x0 0xfffc2000 0x2000>,
-                     <0x0 0xfffc4000 0x2000>,
-                     <0x0 0xfffc6000 0x2000>;
+               reg = <0x0 0xfffc1000 0x0 0x1000>,
+                     <0x0 0xfffc2000 0x0 0x2000>,
+                     <0x0 0xfffc4000 0x0 0x2000>,
+                     <0x0 0xfffc6000 0x0 0x2000>;
        };
 
        soc {
                        interrupts = <0 90 4>;
                        interrupt-names = "macirq";
                        mac-address = [00 00 00 00 00 00];
+                       resets = <&rst EMAC0_RESET>;
+                       reset-names = "stmmaceth";
                        status = "disabled";
                };
 
                        interrupts = <0 91 4>;
                        interrupt-names = "macirq";
                        mac-address = [00 00 00 00 00 00];
+                       resets = <&rst EMAC1_RESET>;
+                       reset-names = "stmmaceth";
                        status = "disabled";
                };
 
                        interrupts = <0 92 4>;
                        interrupt-names = "macirq";
                        mac-address = [00 00 00 00 00 00];
+                       resets = <&rst EMAC2_RESET>;
+                       reset-names = "stmmaceth";
                        status = "disabled";
                };
 
                        #size-cells = <0>;
                        compatible = "snps,dw-apb-gpio";
                        reg = <0xffc03200 0x100>;
+                       resets = <&rst GPIO0_RESET>;
                        status = "disabled";
 
                        porta: gpio-controller@0 {
                        #size-cells = <0>;
                        compatible = "snps,dw-apb-gpio";
                        reg = <0xffc03300 0x100>;
+                       resets = <&rst GPIO1_RESET>;
                        status = "disabled";
 
                        portb: gpio-controller@0 {
                                reg = <0>;
                                interrupt-controller;
                                #interrupt-cells = <2>;
-                               interrupts = <0 110 4>;
+                               interrupts = <0 111 4>;
                        };
                };
 
                        compatible = "snps,designware-i2c";
                        reg = <0xffc02800 0x100>;
                        interrupts = <0 103 4>;
+                       resets = <&rst I2C0_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,designware-i2c";
                        reg = <0xffc02900 0x100>;
                        interrupts = <0 104 4>;
+                       resets = <&rst I2C1_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,designware-i2c";
                        reg = <0xffc02a00 0x100>;
                        interrupts = <0 105 4>;
+                       resets = <&rst I2C2_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,designware-i2c";
                        reg = <0xffc02b00 0x100>;
                        interrupts = <0 106 4>;
+                       resets = <&rst I2C3_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,designware-i2c";
                        reg = <0xffc02c00 0x100>;
                        interrupts = <0 107 4>;
+                       resets = <&rst I2C4_RESET>;
                        status = "disabled";
                };
 
                        reg = <0xff808000 0x1000>;
                        interrupts = <0 96 4>;
                        fifo-depth = <0x400>;
+                       resets = <&rst SDMMC_RESET>;
+                       reset-names = "reset";
                        status = "disabled";
                };
 
                        #reset-cells = <1>;
                        compatible = "altr,rst-mgr";
                        reg = <0xffd11000 0x1000>;
+                       altr,modrst-offset = <0x20>;
                };
 
                spi0: spi@ffda4000 {
                        interrupts = <0 108 4>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
+                       resets = <&rst UART0_RESET>;
                        status = "disabled";
                };
 
                        interrupts = <0 109 4>;
                        reg-shift = <2>;
                        reg-io-width = <4>;
+                       resets = <&rst UART1_RESET>;
                        status = "disabled";
                };
 
                        interrupts = <0 93 4>;
                        phys = <&usbphy0>;
                        phy-names = "usb2-phy";
+                       resets = <&rst USB0_RESET>;
+                       reset-names = "dwc2";
                        status = "disabled";
                };
 
                        interrupts = <0 94 4>;
                        phys = <&usbphy0>;
                        phy-names = "usb2-phy";
+                       resets = <&rst USB1_RESET>;
+                       reset-names = "dwc2";
                        status = "disabled";
                };
 
                        compatible = "snps,dw-wdt";
                        reg = <0xffd00200 0x100>;
                        interrupts = <0 117 4>;
+                       resets = <&rst WATCHDOG0_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,dw-wdt";
                        reg = <0xffd00300 0x100>;
                        interrupts = <0 118 4>;
+                       resets = <&rst WATCHDOG1_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,dw-wdt";
                        reg = <0xffd00400 0x100>;
                        interrupts = <0 125 4>;
+                       resets = <&rst WATCHDOG2_RESET>;
                        status = "disabled";
                };
 
                        compatible = "snps,dw-wdt";
                        reg = <0xffd00500 0x100>;
                        interrupts = <0 126 4>;
+                       resets = <&rst WATCHDOG3_RESET>;
                        status = "disabled";
                };
        };
index 41ea2dba2fcebe8f0d97f427e6e45322d250b768..a37c4611287600ff358bddd9dba3397ee15280b5 100644 (file)
@@ -14,7 +14,7 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/include/ "socfpga_stratix10.dtsi"
+#include "socfpga_stratix10.dtsi"
 
 / {
        model = "SoCFPGA Stratix 10 SoCDK";
                stdout-path = "serial0:115200n8";
        };
 
+       leds {
+               compatible = "gpio-leds";
+               hps0 {
+                       label = "hps_led0";
+                       gpios = <&portb 20 GPIO_ACTIVE_HIGH>;
+               };
+
+               hps1 {
+                       label = "hps_led1";
+                       gpios = <&portb 19 GPIO_ACTIVE_HIGH>;
+               };
+
+               hps2 {
+                       label = "hps_led2";
+                       gpios = <&portb 21 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
        memory {
                device_type = "memory";
                /* We expect the bootloader to fill in the reg */
        };
 };
 
+&gpio1 {
+       status = "okay";
+};
+
+&gmac0 {
+       status = "okay";
+       phy-mode = "rgmii";
+       phy-handle = <&phy0>;
+
+       max-frame-size = <3800>;
+
+       mdio0 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               compatible = "snps,dwmac-mdio";
+               phy0: ethernet-phy@0 {
+                       reg = <4>;
+
+                       txd0-skew-ps = <0>; /* -420ps */
+                       txd1-skew-ps = <0>; /* -420ps */
+                       txd2-skew-ps = <0>; /* -420ps */
+                       txd3-skew-ps = <0>; /* -420ps */
+                       rxd0-skew-ps = <420>; /* 0ps */
+                       rxd1-skew-ps = <420>; /* 0ps */
+                       rxd2-skew-ps = <420>; /* 0ps */
+                       rxd3-skew-ps = <420>; /* 0ps */
+                       txen-skew-ps = <0>; /* -420ps */
+                       txc-skew-ps = <1860>; /* 960ps */
+                       rxdv-skew-ps = <420>; /* 0ps */
+                       rxc-skew-ps = <1680>; /* 780ps */
+               };
+       };
+};
+
+&mmc {
+       status = "okay";
+       num-slots = <1>;
+       cap-sd-highspeed;
+       broken-cd;
+       bus-width = <4>;
+};
+
 &uart0 {
        status = "okay";
 };
index f84b83bb9809e9c7b5df4161d65854420f9f9072..34dd0e9b5cbbc102e38880bacc85575544854090 100644 (file)
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
@@ -16,7 +17,9 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
new file mode 100644 (file)
index 0000000..70eca1f
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include "meson-axg.dtsi"
+
+/ {
+       compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg";
+       model = "Amlogic Meson AXG S400 Development Board";
+
+       aliases {
+               serial0 = &uart_AO;
+       };
+};
+
+&uart_AO {
+       status = "okay";
+};
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
new file mode 100644 (file)
index 0000000..b932a78
--- /dev/null
@@ -0,0 +1,204 @@
+/*
+ * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+       compatible = "amlogic,meson-axg";
+
+       interrupt-parent = <&gic>;
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               /* 16 MiB reserved for Hardware ROM Firmware */
+               hwrom_reserved: hwrom@0 {
+                       reg = <0x0 0x0 0x0 0x1000000>;
+                       no-map;
+               };
+
+               /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
+               secmon_reserved: secmon@5000000 {
+                       reg = <0x0 0x05000000 0x0 0x300000>;
+                       no-map;
+               };
+       };
+
+       cpus {
+               #address-cells = <0x2>;
+               #size-cells = <0x0>;
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x0>;
+                       enable-method = "psci";
+                       next-level-cache = <&l2>;
+               };
+
+               cpu1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x1>;
+                       enable-method = "psci";
+                       next-level-cache = <&l2>;
+               };
+
+               cpu2: cpu@2 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x2>;
+                       enable-method = "psci";
+                       next-level-cache = <&l2>;
+               };
+
+               cpu3: cpu@3 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x3>;
+                       enable-method = "psci";
+                       next-level-cache = <&l2>;
+               };
+
+               l2: l2-cache0 {
+                       compatible = "cache";
+               };
+       };
+
+       arm-pmu {
+               compatible = "arm,cortex-a53-pmu";
+               interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+       };
+
+       psci {
+               compatible = "arm,psci-1.0";
+               method = "smc";
+       };
+
+       timer {
+               compatible = "arm,armv8-timer";
+               interrupts = <GIC_PPI 13
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 14
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 11
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 10
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
+       };
+
+       xtal: xtal-clk {
+               compatible = "fixed-clock";
+               clock-frequency = <24000000>;
+               clock-output-names = "xtal";
+               #clock-cells = <0>;
+       };
+
+       soc {
+               compatible = "simple-bus";
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               cbus: cbus@ffd00000 {
+                       compatible = "simple-bus";
+                       reg = <0x0 0xffd00000 0x0 0x25000>;
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
+
+                       uart_A: serial@24000 {
+                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
+                               reg = <0x0 0x24000 0x0 0x14>;
+                               interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
+                               status = "disabled";
+                       };
+
+                       uart_B: serial@23000 {
+                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
+                               reg = <0x0 0x23000 0x0 0x14>;
+                               interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
+                               status = "disabled";
+                       };
+               };
+
+               gic: interrupt-controller@ffc01000 {
+                       compatible = "arm,gic-400";
+                       reg = <0x0 0xffc01000 0 0x1000>,
+                             <0x0 0xffc02000 0 0x2000>,
+                             <0x0 0xffc04000 0 0x2000>,
+                             <0x0 0xffc06000 0 0x2000>;
+                       interrupt-controller;
+                       interrupts = <GIC_PPI 9
+                               (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
+                       #interrupt-cells = <3>;
+                       #address-cells = <0>;
+               };
+
+               mailbox: mailbox@ff63dc00 {
+                       compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
+                       reg = <0 0xff63dc00 0 0x400>;
+                       interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
+                       #mbox-cells = <1>;
+               };
+
+               sram: sram@fffc0000 {
+                       compatible = "amlogic,meson-axg-sram", "mmio-sram";
+                       reg = <0x0 0xfffc0000 0x0 0x20000>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x0 0xfffc0000 0x20000>;
+
+                       cpu_scp_lpri: scp-shmem@0 {
+                               compatible = "amlogic,meson-axg-scp-shmem";
+                               reg = <0x13000 0x400>;
+                       };
+
+                       cpu_scp_hpri: scp-shmem@200 {
+                               compatible = "amlogic,meson-axg-scp-shmem";
+                               reg = <0x13400 0x400>;
+                       };
+               };
+
+               aobus: aobus@ff800000 {
+                       compatible = "simple-bus";
+                       reg = <0x0 0xff800000 0x0 0x100000>;
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
+
+                       uart_AO: serial@3000 {
+                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
+                               reg = <0x0 0x3000 0x0 0x18>;
+                               interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
+                               clocks = <&xtal>, <&xtal>, <&xtal>;
+                               clock-names = "xtal", "pclk", "baud";
+                               status = "disabled";
+                       };
+
+                       uart_AO_B: serial@4000 {
+                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
+                               reg = <0x0 0x4000 0x0 0x18>;
+                               interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
+                               clocks = <&xtal>, <&xtal>, <&xtal>;
+                               clock-names = "xtal", "pclk", "baud";
+                               status = "disabled";
+                       };
+               };
+       };
+};
index 4157987f4a3d2515053c1b5a49031c32f7f3b652..7d4b95e499935db8bd0ec7637bcac4492973f388 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index f175db84628612044517ad32987aadb3f2cf2d45..ab7ce1644cdc59f2797323f8c83d34c1e3594a9a 100644 (file)
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>;
 
+                       gpio_intc: interrupt-controller@9880 {
+                               compatible = "amlogic,meson-gpio-intc";
+                               reg = <0x0 0x9880 0x0 0x10>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
+                               status = "disabled";
+                       };
+
                        reset: reset-controller@4404 {
                                compatible = "amlogic,meson-gx-reset", "amlogic,meson-gxbb-reset";
                                reg = <0x0 0x04404 0x0 0x20>;
                        };
 
                        uart_A: serial@84c0 {
-                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
+                               compatible = "amlogic,meson-gx-uart";
                                reg = <0x0 0x84c0 0x0 0x14>;
                                interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
-                               clocks = <&xtal>;
                                status = "disabled";
                        };
 
                        uart_B: serial@84dc {
-                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
+                               compatible = "amlogic,meson-gx-uart";
                                reg = <0x0 0x84dc 0x0 0x14>;
                                interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
-                               clocks = <&xtal>;
                                status = "disabled";
                        };
 
                        };
 
                        uart_C: serial@8700 {
-                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
+                               compatible = "amlogic,meson-gx-uart";
                                reg = <0x0 0x8700 0x0 0x14>;
                                interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
-                               clocks = <&xtal>;
                                status = "disabled";
                        };
 
                        };
 
                        uart_AO: serial@4c0 {
-                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart";
+                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
                                reg = <0x0 0x004c0 0x0 0x14>;
                                interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
                                status = "disabled";
                        };
 
                        uart_AO_B: serial@4e0 {
-                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart";
+                               compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
                                reg = <0x0 0x004e0 0x0 0x14>;
                                interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
                                status = "disabled";
index 4b17a76959b2f6bff6275013d95b74c091032c51..4a4251001bfd51d0bfe0e514f6cfc70c5d9c81fd 100644 (file)
                eth_phy0: ethernet-phy@0 {
                        /* Realtek RTL8211F (0x001cc916) */
                        reg = <0>;
+                       interrupt-parent = <&gpio_intc>;
+                       interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
                };
        };
 };
                          "VCCK En", "CON1 Header Pin31",
                          "I2S Header Pin6", "IR In", "I2S Header Pin7",
                          "I2S Header Pin3", "I2S Header Pin4",
-                         "I2S Header Pin5", "HDMI CEC", "SYS LED";
+                         "I2S Header Pin5", "HDMI CEC", "SYS LED",
+                         /* GPIO_TEST_N */
+                         "";
 };
 
 &pinctrl_periphs {
                          "Bluetooth UART TX", "Bluetooth UART RX",
                          "Bluetooth UART CTS", "Bluetooth UART RTS",
                          "", "", "", "WIFI 32K", "Bluetooth Enable",
-                         "Bluetooth WAKE HOST",
+                         "Bluetooth WAKE HOST", "",
                          /* Bank GPIOCLK */
-                         "", "CON1 Header Pin35", "", "",
-                         /* GPIO_TEST_N */
-                         "";
+                         "", "CON1 Header Pin35", "", "";
 };
 
 &pwm_ef {
 /* eMMC */
 &sd_emmc_c {
        status = "disabled";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index 38dfdde5c1473c71f5eb04ed779d1537d386fe31..818954b1d57f800f98f8150d68e232d31c4f65c6 100644 (file)
                };
        };
 
+       usb_pwr: regulator-usb-pwrs {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_PWR";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        vddio_card: gpio-regulator {
                compatible = "regulator-gpio";
 
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
        pinctrl-0 = <&uart_ao_a_pins>;
        pinctrl-names = "default";
 };
+
+&usb0_phy {
+       status = "okay";
+       phy-supply = <&usb_pwr>;
+};
+
+&usb1_phy {
+       status = "okay";
+};
+
+&usb0 {
+       status = "okay";
+};
+
+&usb1 {
+       status = "okay";
+};
index 1ffa1c238a725348cdcc10be5afe35be7dac1d60..f8d221463c60ab1201c580eb0e941a5f0d812673 100644 (file)
 
                eth_phy0: ethernet-phy@0 {
                        reg = <0>;
+                       interrupt-parent = <&gpio_intc>;
+                       interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
                        eee-broken-1000t;
                };
        };
                          "USB HUB nRESET", "USB OTG Power En",
                          "J7 Header Pin2", "IR In", "J7 Header Pin4",
                          "J7 Header Pin6", "J7 Header Pin5", "J7 Header Pin7",
-                         "HDMI CEC", "SYS LED";
+                         "HDMI CEC", "SYS LED",
+                         /* GPIO_TEST_N */
+                         "";
 };
 
 &pinctrl_periphs {
                          "J2 Header Pin12", "J2 Header Pin13",
                          "J2 Header Pin8", "J2 Header Pin10",
                          "", "", "", "", "",
-                         "J2 Header Pin11", "", "J2 Header Pin7",
+                         "J2 Header Pin11", "", "J2 Header Pin7", "",
                          /* Bank GPIOCLK */
-                         "", "", "", "",
-                         /* GPIO_TEST_N */
-                         "";
+                         "", "", "", "";
 };
 
 &saradc {
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
 
 &usb1_phy {
        status = "okay";
+       phy-supply = <&usb_otg_pwr>;
 };
 
 &usb0 {
index 2054a474e0a91dc58a883a9b4a563e32bcd9e32d..9bf16bb7c491bc08fd64456e6039dd91146ef51f 100644 (file)
                eth_phy0: ethernet-phy@3 {
                        /* Micrel KSZ9031 (0x00221620) */
                        reg = <3>;
+                       interrupt-parent = <&gpio_intc>;
+                       interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
                };
        };
 };
index 23c08c3afd0ab499255ff4502bc9a472aa9d4548..932158a778ef8c2da8b4a92486f267e914600ff6 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index f2bc6dea1fc62235987f28d6ff1871913ee5753d..1fe8e24cf675ce63347c4bb9d5a331f76b4f60a2 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index af834cdbba791ab4432065eea6b855396e1937f9..ead895a4e9a5c9fb6f663092288e8178b95cd6a1 100644 (file)
        clock-names = "stmmaceth", "clkin0", "clkin1";
 };
 
+&gpio_intc {
+       compatible = "amlogic,meson-gpio-intc",
+                    "amlogic,meson-gxbb-gpio-intc";
+       status = "okay";
+};
+
 &hdmi_tx {
        compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
        resets = <&reset RESET_HDMITX_CAPB3>,
                        reg-names = "mux", "pull", "pull-enable", "gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
-                       gpio-ranges = <&pinctrl_periphs 0 14 120>;
+                       gpio-ranges = <&pinctrl_periphs 0 0 119>;
                };
 
                emmc_pins: emmc {
                        mux {
                                groups = "emmc_nand_d07",
                                       "emmc_cmd",
-                                      "emmc_clk",
-                                      "emmc_ds";
+                                      "emmc_clk";
+                               function = "emmc";
+                       };
+               };
+
+               emmc_ds_pins: emmc-ds {
+                       mux {
+                               groups = "emmc_ds";
                                function = "emmc";
                        };
                };
index 6827f235d7cfe9a94fe5fe872e01dc1256077637..4f3f03fc31b0df37f3b240dc56022dd89806e311 100644 (file)
                compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
                reg = <0>;
                max-speed = <1000>;
+               interrupt-parent = <&gpio_intc>;
+               interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
        };
 };
 
index 977b4240f3c1b0de15e0b32c70aafce1123acd01..e82582574160c6bf87160379529878d57ddd533e 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index edc512ad0bac3d5794d669dc0d21da6e266afda5..71a6e1ce7ad58d7827b90daff97724c9307ed770 100644 (file)
                          "J9 Header Pin33",
                          "IR In",
                          "HDMI CEC",
-                         "SYS LED";
+                         "SYS LED",
+                         /* GPIO_TEST_N */
+                         "";
 };
 
 &pinctrl_periphs {
                          "WIFI 32K", "Bluetooth Enable",
                          "Bluetooth WAKE HOST",
                          /* Bank GPIOCLK */
-                         "", "J9 Header Pin39",
-                         /* GPIO_TEST_N */
-                         "";
+                         "", "J9 Header Pin39";
 };
 
 &pwm_AO_ab {
index 64c54c92e214d686154de4b237f71a5212c5eb20..dc9c3b8216c2b563b3297875c763d32e38654ff5 100644 (file)
                regulator-settling-time-down-us = <50000>;
        };
 
+       vddio_ao18: regulator-vddio_ao18 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDIO_AO18";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
        vddio_boot: regulator-vddio_boot {
                compatible = "regulator-fixed";
                regulator-name = "VDDIO_BOOT";
        status = "okay";
 };
 
+&internal_phy {
+       pinctrl-0 = <&eth_link_led_pins>, <&eth_act_led_pins>;
+       pinctrl-names = "default";
+};
+
 &ir {
        status = "okay";
        pinctrl-0 = <&remote_input_ao_pins>;
                          "7J1 Header Pin12",
                          "IR In",
                          "9J3 Switch HDMI CEC/7J1 Header Pin11",
-                         "7J1 Header Pin13";
+                         "7J1 Header Pin13",
+                         /* GPIO_TEST_N */
+                         "7J1 Header Pin15";
 };
 
 &pinctrl_periphs {
                          "7J1 Header Pin32", "7J1 Header Pin29",
                          "7J1 Header Pin31",
                          /* Bank GPIOCLK */
-                         "7J1 Header Pin7", "",
-                         /* GPIO_TEST_N */
-                         "7J1 Header Pin15";
+                         "7J1 Header Pin7", "";
+};
+
+&saradc {
+       status = "okay";
+       vref-supply = <&vddio_ao18>;
 };
 
 /* SD card */
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index 1b8f32867aa10ab9ae75e90c995cdf16a088632e..271f1427918089481687f5e3f5f0b296111caa62 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index 129af9068814d3b0f8e33090adbcda435ea3e202..ff09df1fd5a3233b4d84d7b8a5fb01839db7c0e2 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index d8dd3298b15cfe5a37d653b8c6d5d39f5ca8c008..8ed981f59e5ae5804da97c887193a32a73b53983 100644 (file)
 
 / {
        compatible = "amlogic,meson-gxl";
+
+       reserved-memory {
+               /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
+               secmon_reserved_alt: secmon@5000000 {
+                       reg = <0x0 0x05000000 0x0 0x300000>;
+                       no-map;
+               };
+       };
 };
 
 &ethmac {
        compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc";
 };
 
+&gpio_intc {
+       compatible = "amlogic,meson-gpio-intc",
+                    "amlogic,meson-gxl-gpio-intc";
+       status = "okay";
+};
+
 &hdmi_tx {
        compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
        resets = <&reset RESET_HDMITX_CAPB3>,
                        reg-names = "mux", "pull", "pull-enable", "gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
-                       gpio-ranges = <&pinctrl_periphs 0 10 101>;
+                       gpio-ranges = <&pinctrl_periphs 0 0 100>;
                };
 
                emmc_pins: emmc {
                        mux {
                                groups = "emmc_nand_d07",
                                       "emmc_cmd",
-                                      "emmc_clk",
-                                      "emmc_ds";
+                                      "emmc_clk";
+                               function = "emmc";
+                       };
+               };
+
+               emmc_ds_pins: emmc-ds {
+                       mux {
+                               groups = "emmc_ds";
                                function = "emmc";
                        };
                };
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
new file mode 100644 (file)
index 0000000..34a41b2
--- /dev/null
@@ -0,0 +1,400 @@
+/*
+ * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
+ * Copyright (c) 2017 BayLibre, SAS
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/thermal/thermal.h>
+
+#include "meson-gxm.dtsi"
+
+/ {
+       compatible = "khadas,vim2", "amlogic,s912", "amlogic,meson-gxm";
+       model = "Khadas VIM2";
+
+       aliases {
+               serial0 = &uart_AO;
+               serial1 = &uart_A;
+               serial2 = &uart_AO_B;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x0 0x0 0x80000000>;
+       };
+
+       adc-keys {
+               compatible = "adc-keys";
+               io-channels = <&saradc 0>;
+               io-channel-names = "buttons";
+               keyup-threshold-microvolt = <1710000>;
+
+               button-function {
+                       label = "Function";
+                       linux,code = <KEY_FN>;
+                       press-threshold-microvolt = <10000>;
+               };
+       };
+
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
+       };
+
+       gpio_fan: gpio-fan {
+               compatible = "gpio-fan";
+               gpios = <&gpio GPIODV_14 GPIO_ACTIVE_HIGH
+                        &gpio GPIODV_15 GPIO_ACTIVE_HIGH>;
+               /* Dummy RPM values since fan is optional */
+               gpio-fan,speed-map = <0 0
+                                     1 1
+                                     2 2
+                                     3 3>;
+               cooling-min-level = <0>;
+               cooling-max-level = <3>;
+               #cooling-cells = <2>;
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+
+               button@0 {
+                       label = "power";
+                       linux,code = <KEY_POWER>;
+                       gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_connector_in: endpoint {
+                               remote-endpoint = <&hdmi_tx_tmds_out>;
+                       };
+               };
+       };
+
+       pwmleds {
+               compatible = "pwm-leds";
+
+               power {
+                       label = "vim:red:power";
+                       pwms = <&pwm_AO_ab 1 7812500 0>;
+                       max-brightness = <255>;
+                       linux,default-trigger = "default-on";
+               };
+       };
+
+       sdio_pwrseq: sdio-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
+               clocks = <&wifi32k>;
+               clock-names = "ext_clock";
+       };
+
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <250>; /* milliseconds */
+                       polling-delay = <1000>; /* milliseconds */
+
+                       thermal-sensors = <&scpi_sensors 0>;
+
+                       trips {
+                               cpu_alert0: cpu-alert0 {
+                                       temperature = <70000>; /* millicelsius */
+                                       hysteresis = <2000>; /* millicelsius */
+                                       type = "active";
+                               };
+
+                               cpu_alert1: cpu-alert1 {
+                                       temperature = <80000>; /* millicelsius */
+                                       hysteresis = <2000>; /* millicelsius */
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert0>;
+                                       cooling-device = <&gpio_fan THERMAL_NO_LIMIT 1>;
+                               };
+
+                               map1 {
+                                       trip = <&cpu_alert1>;
+                                       cooling-device = <&gpio_fan 2 THERMAL_NO_LIMIT>;
+                               };
+
+                               map2 {
+                                       trip = <&cpu_alert1>;
+                                       cooling-device =
+                                               <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+
+                               map3 {
+                                       trip = <&cpu_alert1>;
+                                       cooling-device =
+                                               <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
+
+       vcc_3v3: regulator-vcc_3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "VCC_3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       vddio_ao18: regulator-vddio_ao18 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDIO_AO18";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       vddio_boot: regulator-vddio_boot {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDIO_BOOT";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       vddao_3v3: regulator-vddao_3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDDAO_3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       wifi32k: wifi32k {
+               compatible = "pwm-clock";
+               #clock-cells = <0>;
+               clock-frequency = <32768>;
+               pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
+       };
+};
+
+&cec_AO {
+       status = "okay";
+       pinctrl-0 = <&ao_cec_pins>;
+       pinctrl-names = "default";
+       hdmi-phandle = <&hdmi_tx>;
+};
+
+&cpu0 {
+       cooling-min-level = <0>;
+       cooling-max-level = <6>;
+       #cooling-cells = <2>;
+};
+
+&cpu4 {
+       cooling-min-level = <0>;
+       cooling-max-level = <4>;
+       #cooling-cells = <2>;
+};
+
+&ethmac {
+       pinctrl-0 = <&eth_pins>;
+       pinctrl-names = "default";
+
+       /* Select external PHY by default */
+       phy-handle = <&external_phy>;
+
+       amlogic,tx-delay-ns = <2>;
+
+       /* External PHY reset is shared with internal PHY Led signals */
+       snps,reset-gpio = <&gpio GPIOZ_14 0>;
+       snps,reset-delays-us = <0 10000 1000000>;
+       snps,reset-active-low;
+
+       /* External PHY is in RGMII */
+       phy-mode = "rgmii";
+
+       status = "okay";
+};
+
+&external_mdio {
+       external_phy: ethernet-phy@0 {
+               /* Realtek RTL8211F (0x001cc916) */
+               reg = <0>;
+       };
+};
+
+&hdmi_tx {
+       status = "okay";
+       pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
+       pinctrl-names = "default";
+};
+
+&hdmi_tx_tmds_port {
+       hdmi_tx_tmds_out: endpoint {
+               remote-endpoint = <&hdmi_connector_in>;
+       };
+};
+
+&i2c_A {
+       status = "okay";
+       pinctrl-0 = <&i2c_a_pins>;
+       pinctrl-names = "default";
+};
+
+&i2c_B {
+       status = "okay";
+       pinctrl-0 = <&i2c_b_pins>;
+       pinctrl-names = "default";
+
+       rtc: rtc@51 {
+               /* has to be enabled manually when a battery is connected: */
+               status = "disabled";
+               compatible = "haoyu,hym8563";
+               reg = <0x51>;
+               #clock-cells = <0>;
+               clock-frequency = <32768>;
+               clock-output-names = "xin32k";
+       };
+};
+
+&ir {
+       status = "okay";
+       pinctrl-0 = <&remote_input_ao_pins>;
+       pinctrl-names = "default";
+       linux,rc-map-name = "rc-geekbox";
+};
+
+&pwm_AO_ab {
+       status = "okay";
+       pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
+       pinctrl-names = "default";
+       clocks = <&clkc CLKID_FCLK_DIV4>;
+       clock-names = "clkin0";
+};
+
+&pwm_ef {
+       status = "okay";
+       pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>;
+       pinctrl-names = "default";
+       clocks = <&clkc CLKID_FCLK_DIV4>;
+       clock-names = "clkin0";
+};
+
+&sd_emmc_a {
+       status = "okay";
+       pinctrl-0 = <&sdio_pins>;
+       pinctrl-names = "default";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       bus-width = <4>;
+       max-frequency = <100000000>;
+
+       non-removable;
+       disable-wp;
+
+       mmc-pwrseq = <&sdio_pwrseq>;
+
+       vmmc-supply = <&vddao_3v3>;
+       vqmmc-supply = <&vddio_boot>;
+
+       brcmf: wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
+
+/* SD card */
+&sd_emmc_b {
+       status = "okay";
+       pinctrl-0 = <&sdcard_pins>;
+       pinctrl-names = "default";
+
+       bus-width = <4>;
+       cap-sd-highspeed;
+       max-frequency = <100000000>;
+       disable-wp;
+
+       cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
+       cd-inverted;
+
+       vmmc-supply = <&vddao_3v3>;
+       vqmmc-supply = <&vddio_boot>;
+};
+
+/* eMMC */
+&sd_emmc_c {
+       status = "okay";
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
+       pinctrl-names = "default";
+
+       bus-width = <8>;
+       cap-sd-highspeed;
+       cap-mmc-highspeed;
+       max-frequency = <200000000>;
+       non-removable;
+       disable-wp;
+       mmc-ddr-1_8v;
+       mmc-hs200-1_8v;
+       mmc-hs400-1_8v;
+
+       mmc-pwrseq = <&emmc_pwrseq>;
+       vmmc-supply = <&vcc_3v3>;
+       vqmmc-supply = <&vddio_boot>;
+};
+
+/*
+ * EMMC_DS pin is shared between SPI NOR CS and eMMC Data Strobe
+ * Remove emmc_ds_pins from sd_emmc_c pinctrl-0 then spifc can be enabled
+ */
+&spifc {
+       status = "disabled";
+       pinctrl-0 = <&nor_pins>;
+       pinctrl-names = "default";
+
+       w25q32: spi-flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "winbond,w25q16", "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <3000000>;
+       };
+};
+
+/* This one is connected to the Bluetooth module */
+&uart_A {
+       status = "okay";
+       pinctrl-0 = <&uart_a_pins>;
+       pinctrl-names = "default";
+};
+
+/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */
+&uart_AO {
+       status = "okay";
+       pinctrl-0 = <&uart_ao_a_pins>;
+       pinctrl-names = "default";
+};
+
+/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */
+&uart_AO_B {
+       status = "okay";
+       pinctrl-0 = <&uart_ao_b_pins>;
+       pinctrl-names = "default";
+};
+
+&saradc {
+       status = "okay";
+       vref-supply = <&vddio_ao18>;
+};
index 22c697732f668c5fadb5c445a849a80e57956fe0..e7a228f6cc7e731b0becae3d61ec8d36b429bb45 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-1 = <&emmc_clk_gate_pins>;
        pinctrl-names = "default", "clk-gate";
 
index b65776b019118d21851b6fa59202a3b80aba9b6e..66c6da7e112cfa5dba59039707e9f92ea1a1b486 100644 (file)
                compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
                reg = <0>;
                max-speed = <1000>;
+               interrupt-parent = <&gpio_intc>;
+               interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
        };
 };
 
index 470f72bb863c5ff8850508cefd828b1c2e4f5f24..a5e9b955d5ed30c2c6c673a09b9b78304d004197 100644 (file)
 /* eMMC */
 &sd_emmc_c {
        status = "okay";
-       pinctrl-0 = <&emmc_pins>;
+       pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
        pinctrl-names = "default";
 
        bus-width = <8>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts
new file mode 100644 (file)
index 0000000..dc37eec
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2017 BayLibre, SAS.
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
+ * Copyright (c) 2017 Oleg <balbes-150@yandex.ru>
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include "meson-gxm.dtsi"
+#include "meson-gx-p23x-q20x.dtsi"
+
+/ {
+       compatible = "tronsmart,vega-s96", "amlogic,s912", "amlogic,meson-gxm";
+       model = "Tronsmart Vega S96";
+
+};
+
+&ethmac {
+       pinctrl-0 = <&eth_pins>;
+       pinctrl-names = "default";
+
+       /* Select external PHY by default */
+       phy-handle = <&external_phy>;
+
+       amlogic,tx-delay-ns = <2>;
+
+       /* External PHY is in RGMII */
+       phy-mode = "rgmii";
+};
+
+&external_mdio {
+       external_phy: ethernet-phy@0 {
+               /* Realtek RTL8211F (0x001cc916) */
+               reg = <0>;
+       };
+};
index c9ffffb96e431ec8d4ed875e40c33f901466b7d4..d8ecd16614616fe00fcd293e013f3487db351a2f 100644 (file)
@@ -19,7 +19,7 @@
                #address-cells = <2>;
                #size-cells = <0>;
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "apm,strega", "arm,armv8";
                        reg = <0x0 0x000>;
@@ -29,7 +29,7 @@
                        #clock-cells = <1>;
                        clocks = <&pmd0clk 0>;
                };
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "apm,strega", "arm,armv8";
                        reg = <0x0 0x001>;
                      <0x0 0x780a0000 0x0 0x20000>,     /* GIC CPU */
                      <0x0 0x780c0000 0x0 0x10000>,     /* GIC VCPU Control */
                      <0x0 0x780e0000 0x0 0x20000>;     /* GIC VCPU */
-               v2m0: v2m@00000 {
+               v2m0: v2m@0 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x0 0x0 0x1000>;
index c09a36fed91701be7407d6ec42584d88ad511144..00e82b8e9a19bef6865bb34b7b991c1de6a2006a 100644 (file)
@@ -19,7 +19,7 @@
                #address-cells = <2>;
                #size-cells = <0>;
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "apm,potenza", "arm,armv8";
                        reg = <0x0 0x000>;
@@ -27,7 +27,7 @@
                        cpu-release-addr = <0x1 0x0000fff8>;
                        next-level-cache = <&xgene_L2_0>;
                };
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "apm,potenza", "arm,armv8";
                        reg = <0x0 0x001>;
index 4256bae9992500a0aaacb5fa4aee6b6621ad6237..5b45144b371ae215c44131377865af1586a07a06 100644 (file)
@@ -1,5 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
-dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb foundation-v8-gicv3.dtb
+dtb-$(CONFIG_ARCH_VEXPRESS) += \
+       foundation-v8.dtb foundation-v8-psci.dtb \
+       foundation-v8-gicv3.dtb foundation-v8-gicv3-psci.dtb
 dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb juno-r2.dtb
 dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb
 dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2f-1xv7-ca53x2.dtb
diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi b/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi
new file mode 100644 (file)
index 0000000..851abf3
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * ARM Ltd.
+ *
+ * ARMv8 Foundation model DTS (GICv2 configuration)
+ */
+
+/ {
+       gic: interrupt-controller@2c001000 {
+               compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
+               #interrupt-cells = <3>;
+               #address-cells = <2>;
+               interrupt-controller;
+               reg = <0x0 0x2c001000 0 0x1000>,
+                     <0x0 0x2c002000 0 0x2000>,
+                     <0x0 0x2c004000 0 0x2000>,
+                     <0x0 0x2c006000 0 0x2000>;
+               interrupts = <1 9 0xf04>;
+       };
+};
diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv3-psci.dts b/arch/arm64/boot/dts/arm/foundation-v8-gicv3-psci.dts
new file mode 100644 (file)
index 0000000..e096e67
--- /dev/null
@@ -0,0 +1,9 @@
+/*
+ * ARM Ltd.
+ *
+ * ARMv8 Foundation model DTS (GICv3+PSCI configuration)
+ */
+
+#include "foundation-v8.dtsi"
+#include "foundation-v8-gicv3.dtsi"
+#include "foundation-v8-psci.dtsi"
index 4825cdbdcf469228ec916609e015b9c97d4fff9f..c87380e87f5952d21d2fa4621d0ace9e2ab8e7ec 100644 (file)
@@ -6,26 +6,5 @@
  */
 
 #include "foundation-v8.dtsi"
-
-/ {
-       gic: interrupt-controller@2f000000 {
-               compatible = "arm,gic-v3";
-               #interrupt-cells = <3>;
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-               interrupt-controller;
-               reg =   <0x0 0x2f000000 0x0 0x10000>,
-                       <0x0 0x2f100000 0x0 0x200000>,
-                       <0x0 0x2c000000 0x0 0x2000>,
-                       <0x0 0x2c010000 0x0 0x2000>,
-                       <0x0 0x2c02f000 0x0 0x2000>;
-               interrupts = <1 9 4>;
-
-               its: its@2f020000 {
-                       compatible = "arm,gic-v3-its";
-                       msi-controller;
-                       reg = <0x0 0x2f020000 0x0 0x20000>;
-               };
-       };
-};
+#include "foundation-v8-gicv3.dtsi"
+#include "foundation-v8-spin-table.dtsi"
diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dtsi b/arch/arm64/boot/dts/arm/foundation-v8-gicv3.dtsi
new file mode 100644 (file)
index 0000000..91fc5c6
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * ARM Ltd.
+ *
+ * ARMv8 Foundation model DTS (GICv3 configuration)
+ */
+
+/ {
+       gic: interrupt-controller@2f000000 {
+               compatible = "arm,gic-v3";
+               #interrupt-cells = <3>;
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+               interrupt-controller;
+               reg =   <0x0 0x2f000000 0x0 0x10000>,
+                       <0x0 0x2f100000 0x0 0x200000>,
+                       <0x0 0x2c000000 0x0 0x2000>,
+                       <0x0 0x2c010000 0x0 0x2000>,
+                       <0x0 0x2c02f000 0x0 0x2000>;
+               interrupts = <1 9 4>;
+
+               its: its@2f020000 {
+                       compatible = "arm,gic-v3-its";
+                       msi-controller;
+                       reg = <0x0 0x2f020000 0x0 0x20000>;
+               };
+       };
+};
diff --git a/arch/arm64/boot/dts/arm/foundation-v8-psci.dts b/arch/arm64/boot/dts/arm/foundation-v8-psci.dts
new file mode 100644 (file)
index 0000000..723f23c
--- /dev/null
@@ -0,0 +1,9 @@
+/*
+ * ARM Ltd.
+ *
+ * ARMv8 Foundation model DTS (GICv2+PSCI configuration)
+ */
+
+#include "foundation-v8.dtsi"
+#include "foundation-v8-gicv2.dtsi"
+#include "foundation-v8-psci.dtsi"
diff --git a/arch/arm64/boot/dts/arm/foundation-v8-psci.dtsi b/arch/arm64/boot/dts/arm/foundation-v8-psci.dtsi
new file mode 100644 (file)
index 0000000..16cdf39
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * ARM Ltd.
+ *
+ * ARMv8 Foundation model DTS (PSCI configuration)
+ */
+
+/ {
+       psci {
+               compatible = "arm,psci-1.0";
+               method = "smc";
+       };
+};
+
+&cpu0 {
+       enable-method = "psci";
+};
+
+&cpu1 {
+       enable-method = "psci";
+};
+
+&cpu2 {
+       enable-method = "psci";
+};
+
+&cpu3 {
+       enable-method = "psci";
+};
diff --git a/arch/arm64/boot/dts/arm/foundation-v8-spin-table.dtsi b/arch/arm64/boot/dts/arm/foundation-v8-spin-table.dtsi
new file mode 100644 (file)
index 0000000..4d4186b
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * ARM Ltd.
+ *
+ * ARMv8 Foundation model DTS (spin table configuration)
+ */
+
+&cpu0 {
+       enable-method = "spin-table";
+       cpu-release-addr = <0x0 0x8000fff8>;
+};
+
+&cpu1 {
+       enable-method = "spin-table";
+       cpu-release-addr = <0x0 0x8000fff8>;
+};
+
+&cpu2 {
+       enable-method = "spin-table";
+       cpu-release-addr = <0x0 0x8000fff8>;
+};
+
+&cpu3 {
+       enable-method = "spin-table";
+       cpu-release-addr = <0x0 0x8000fff8>;
+};
index 8a9136f4ab7402a0f6e73ff08b7c413be944cd02..b17347d75ec609d6087cab8f4a94e85d39acf1b4 100644 (file)
@@ -6,17 +6,5 @@
  */
 
 #include "foundation-v8.dtsi"
-
-/ {
-       gic: interrupt-controller@2c001000 {
-               compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
-               #interrupt-cells = <3>;
-               #address-cells = <2>;
-               interrupt-controller;
-               reg = <0x0 0x2c001000 0 0x1000>,
-                     <0x0 0x2c002000 0 0x2000>,
-                     <0x0 0x2c004000 0 0x2000>,
-                     <0x0 0x2c006000 0 0x2000>;
-               interrupts = <1 9 0xf04>;
-       };
-};
+#include "foundation-v8-gicv2.dtsi"
+#include "foundation-v8-spin-table.dtsi"
index f0b67e439f588c9afe74329bf5e9fc6a94bc19bb..e080277d27aed303ffb657ee2da89839b9c4c608 100644 (file)
                #address-cells = <2>;
                #size-cells = <0>;
 
-               cpu@0 {
+               cpu0: cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,armv8";
                        reg = <0x0 0x0>;
-                       enable-method = "spin-table";
-                       cpu-release-addr = <0x0 0x8000fff8>;
                        next-level-cache = <&L2_0>;
                };
-               cpu@1 {
+               cpu1: cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,armv8";
                        reg = <0x0 0x1>;
-                       enable-method = "spin-table";
-                       cpu-release-addr = <0x0 0x8000fff8>;
                        next-level-cache = <&L2_0>;
                };
-               cpu@2 {
+               cpu2: cpu@2 {
                        device_type = "cpu";
                        compatible = "arm,armv8";
                        reg = <0x0 0x2>;
-                       enable-method = "spin-table";
-                       cpu-release-addr = <0x0 0x8000fff8>;
                        next-level-cache = <&L2_0>;
                };
-               cpu@3 {
+               cpu3: cpu@3 {
                        device_type = "cpu";
                        compatible = "arm,armv8";
                        reg = <0x0 0x3>;
-                       enable-method = "spin-table";
-                       cpu-release-addr = <0x0 0x8000fff8>;
                        next-level-cache = <&L2_0>;
                };
 
@@ -98,7 +90,7 @@
                timeout-sec = <30>;
        };
 
-       smb@08000000 {
+       smb@8000000 {
                compatible = "arm,vexpress,v2m-p1", "simple-bus";
                arm,v2m-memory-map = "rs1";
                #address-cells = <2>; /* SMB chipselect number and offset */
                        #size-cells = <1>;
                        ranges = <0 3 0 0x200000>;
 
-                       v2m_sysreg: sysreg@010000 {
+                       v2m_sysreg: sysreg@10000 {
                                compatible = "arm,vexpress-sysreg";
                                reg = <0x010000 0x1000>;
                        };
 
-                       v2m_serial0: uart@090000 {
+                       v2m_serial0: uart@90000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x090000 0x1000>;
                                interrupts = <5>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       v2m_serial1: uart@0a0000 {
+                       v2m_serial1: uart@a0000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x0a0000 0x1000>;
                                interrupts = <6>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       v2m_serial2: uart@0b0000 {
+                       v2m_serial2: uart@b0000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x0b0000 0x1000>;
                                interrupts = <7>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       v2m_serial3: uart@0c0000 {
+                       v2m_serial3: uart@c0000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x0c0000 0x1000>;
                                interrupts = <8>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       virtio-block@0130000 {
+                       virtio-block@130000 {
                                compatible = "virtio,mmio";
                                reg = <0x130000 0x200>;
                                interrupts = <42>;
index 7810632d343805fbd896f45eef467ed0d93c00cc..06c8117e812ae1b85041800d1ea91f8bd326fb3d 100644 (file)
                             <0 63 4>;
        };
 
-       smb@08000000 {
+       smb@8000000 {
                compatible = "simple-bus";
 
                #address-cells = <2>;
index e18fe006cc2a388bc4ce575b219b7488d53dc23e..1134e5d8df181a4ae126a1973521f9807eed7e67 100644 (file)
                        #size-cells = <1>;
                        ranges = <0 3 0 0x200000>;
 
-                       v2m_sysreg: sysreg@010000 {
+                       v2m_sysreg: sysreg@10000 {
                                compatible = "arm,vexpress-sysreg";
                                reg = <0x010000 0x1000>;
                                gpio-controller;
                                #gpio-cells = <2>;
                        };
 
-                       v2m_sysctl: sysctl@020000 {
+                       v2m_sysctl: sysctl@20000 {
                                compatible = "arm,sp810", "arm,primecell";
                                reg = <0x020000 0x1000>;
                                clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&v2m_clk24mhz>;
@@ -79,7 +79,7 @@
                                assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
                        };
 
-                       aaci@040000 {
+                       aaci@40000 {
                                compatible = "arm,pl041", "arm,primecell";
                                reg = <0x040000 0x1000>;
                                interrupts = <11>;
@@ -87,7 +87,7 @@
                                clock-names = "apb_pclk";
                        };
 
-                       mmci@050000 {
+                       mmci@50000 {
                                compatible = "arm,pl180", "arm,primecell";
                                reg = <0x050000 0x1000>;
                                interrupts = <9 10>;
@@ -99,7 +99,7 @@
                                clock-names = "mclk", "apb_pclk";
                        };
 
-                       kmi@060000 {
+                       kmi@60000 {
                                compatible = "arm,pl050", "arm,primecell";
                                reg = <0x060000 0x1000>;
                                interrupts = <12>;
                                clock-names = "KMIREFCLK", "apb_pclk";
                        };
 
-                       kmi@070000 {
+                       kmi@70000 {
                                compatible = "arm,pl050", "arm,primecell";
                                reg = <0x070000 0x1000>;
                                interrupts = <13>;
                                clock-names = "KMIREFCLK", "apb_pclk";
                        };
 
-                       v2m_serial0: uart@090000 {
+                       v2m_serial0: uart@90000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x090000 0x1000>;
                                interrupts = <5>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       v2m_serial1: uart@0a0000 {
+                       v2m_serial1: uart@a0000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x0a0000 0x1000>;
                                interrupts = <6>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       v2m_serial2: uart@0b0000 {
+                       v2m_serial2: uart@b0000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x0b0000 0x1000>;
                                interrupts = <7>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       v2m_serial3: uart@0c0000 {
+                       v2m_serial3: uart@c0000 {
                                compatible = "arm,pl011", "arm,primecell";
                                reg = <0x0c0000 0x1000>;
                                interrupts = <8>;
                                clock-names = "uartclk", "apb_pclk";
                        };
 
-                       wdt@0f0000 {
+                       wdt@f0000 {
                                compatible = "arm,sp805", "arm,primecell";
                                reg = <0x0f0000 0x1000>;
                                interrupts = <0>;
                                };
                        };
 
-                       virtio-block@0130000 {
+                       virtio-block@130000 {
                                compatible = "virtio,mmio";
                                reg = <0x130000 0x200>;
                                interrupts = <42>;
index 2cb6049578083527524be8662635f86e679c0377..1c9eadc2d71e460c35317eddc7ce891abe37b01e 100644 (file)
                };
        };
 
-       smb@08000000 {
+       smb@8000000 {
                compatible = "simple-bus";
 
                #address-cells = <2>;
index ab4ae1a32fabd48527694b384f6622ccd125107d..f00c21e0767e0c33921cf35c23fc512bac8fa294 100644 (file)
                        reg = <0x04000000 0x06400000>; /*  100MB */
                };
 
-               partition@0a400000{
+               partition@a400000{
                        label = "ncustfs";
                        reg = <0x0a400000 0x35c00000>; /*  860MB */
                };
index 35c8457e3d1f23d32c3db46cbf43f95a3e1ef795..4a2a6af8e752dbbe3a17fa02861fb3603d7c44cb 100644 (file)
@@ -77,7 +77,7 @@
                        next-level-cache = <&CLUSTER0_L2>;
                };
 
-               CLUSTER0_L2: l2-cache@000 {
+               CLUSTER0_L2: l2-cache@0 {
                        compatible = "cache";
                };
        };
                        #size-cells = <1>;
                        ranges = <0 0x652e0000 0x80000>;
 
-                       v2m0: v2m@00000 {
+                       v2m0: v2m@0 {
                                compatible = "arm,gic-v2m-frame";
                                interrupt-parent = <&gic>;
                                msi-controller;
index cbc43376e25ee2910687942d374f606de444c208..3a4d4524b5ed24e7d09797b52885d928ab7deb2e 100644 (file)
@@ -46,7 +46,7 @@
                        clock-mult = <1>;
                };
 
-               genpll0: genpll0@0001d104 {
+               genpll0: genpll0@1d104 {
                        #clock-cells = <1>;
                        compatible = "brcm,sr-genpll0";
                        reg = <0x0001d104 0x32>,
@@ -58,7 +58,7 @@
                                             "clk_paxc_axi";
                };
 
-               genpll3: genpll3@0001d1e0 {
+               genpll3: genpll3@1d1e0 {
                        #clock-cells = <1>;
                        compatible = "brcm,sr-genpll3";
                        reg = <0x0001d1e0 0x32>,
@@ -68,7 +68,7 @@
                                             "clk_sdio";
                };
 
-               genpll4: genpll4@0001d214 {
+               genpll4: genpll4@1d214 {
                        #clock-cells = <1>;
                        compatible = "brcm,sr-genpll4";
                        reg = <0x0001d214 0x32>,
@@ -80,7 +80,7 @@
                                             "clk_bridge_fscpu";
                };
 
-               genpll5: genpll5@0001d248 {
+               genpll5: genpll5@1d248 {
                        #clock-cells = <1>;
                        compatible = "brcm,sr-genpll5";
                        reg = <0x0001d248 0x32>,
@@ -90,7 +90,7 @@
                                             "crypto_ae_clk", "raid_ae_clk";
                };
 
-               lcpll0: lcpll0@0001d0c4 {
+               lcpll0: lcpll0@1d0c4 {
                        #clock-cells = <1>;
                        compatible = "brcm,sr-lcpll0";
                        reg = <0x0001d0c4 0x3c>,
                                             "clk_sata_500";
                };
 
-               lcpll1: lcpll1@0001d138 {
+               lcpll1: lcpll1@1d138 {
                        #clock-cells = <1>;
                        compatible = "brcm,sr-lcpll1";
                        reg = <0x0001d138 0x3c>,
index 8bf1dc6b46caf303bcae63f2f1fde856127f3a94..9666969c8c887dbe32252646e356181039889cbd 100644 (file)
@@ -36,7 +36,7 @@
                #size-cells = <1>;
                ranges = <0x0 0x0 0x67000000 0x00800000>;
 
-               crypto_mbox: crypto_mbox@00000000 {
+               crypto_mbox: crypto_mbox@0 {
                        compatible = "brcm,iproc-flexrm-mbox";
                        reg = <0x00000000 0x200000>;
                        msi-parent = <&gic_its 0x4100>;
@@ -44,7 +44,7 @@
                        dma-coherent;
                };
 
-               raid_mbox: raid_mbox@00400000 {
+               raid_mbox: raid_mbox@400000 {
                        compatible = "brcm,iproc-flexrm-mbox";
                        reg = <0x00400000 0x200000>;
                        dma-coherent;
index 15214d05fec1cf97304e4aaa254e1dc57b3c334e..8a3a770e8f2ce62bb99fc9fd74461073cfa7780a 100644 (file)
@@ -32,7 +32,7 @@
 
 #include <dt-bindings/pinctrl/brcm,pinctrl-stingray.h>
 
-               pinconf: pinconf@00140000 {
+               pinconf: pinconf@140000 {
                        compatible = "pinconf-single";
                        reg = <0x00140000 0x250>;
                        pinctrl-single,register-width = <32>;
@@ -40,7 +40,7 @@
                        /* pinconf functions */
                };
 
-               pinmux: pinmux@0014029c {
+               pinmux: pinmux@14029c {
                        compatible = "pinctrl-single";
                        reg = <0x0014029c 0x250>;
                        #address-cells = <1>;
index a774709388df34dfdfb214b0736d7ebd00b0cad3..4b5465da81d8e29ac616fc18de3f1351e81321ed 100644 (file)
@@ -36,7 +36,7 @@
                #size-cells = <1>;
                ranges = <0x0 0x0 0x67d00000 0x00800000>;
 
-               sata0: ahci@00210000 {
+               sata0: ahci@210000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00210000 0x1000>;
                        reg-names = "ahci";
@@ -52,7 +52,7 @@
                        };
                };
 
-               sata_phy0: sata_phy@00212100 {
+               sata_phy0: sata_phy@212100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00212100 0x1000>;
                        reg-names = "phy";
@@ -66,7 +66,7 @@
                        };
                };
 
-               sata1: ahci@00310000 {
+               sata1: ahci@310000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00310000 0x1000>;
                        reg-names = "ahci";
@@ -82,7 +82,7 @@
                        };
                };
 
-               sata_phy1: sata_phy@00312100 {
+               sata_phy1: sata_phy@312100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00312100 0x1000>;
                        reg-names = "phy";
@@ -96,7 +96,7 @@
                        };
                };
 
-               sata2: ahci@00120000 {
+               sata2: ahci@120000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00120000 0x1000>;
                        reg-names = "ahci";
                        };
                };
 
-               sata_phy2: sata_phy@00122100 {
+               sata_phy2: sata_phy@122100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00122100 0x1000>;
                        reg-names = "phy";
                        };
                };
 
-               sata3: ahci@00130000 {
+               sata3: ahci@130000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00130000 0x1000>;
                        reg-names = "ahci";
                        };
                };
 
-               sata_phy3: sata_phy@00132100 {
+               sata_phy3: sata_phy@132100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00132100 0x1000>;
                        reg-names = "phy";
                        };
                };
 
-               sata4: ahci@00330000 {
+               sata4: ahci@330000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00330000 0x1000>;
                        reg-names = "ahci";
                        };
                };
 
-               sata_phy4: sata_phy@00332100 {
+               sata_phy4: sata_phy@332100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00332100 0x1000>;
                        reg-names = "phy";
                        };
                };
 
-               sata5: ahci@00400000 {
+               sata5: ahci@400000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00400000 0x1000>;
                        reg-names = "ahci";
                        };
                };
 
-               sata_phy5: sata_phy@00402100 {
+               sata_phy5: sata_phy@402100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00402100 0x1000>;
                        reg-names = "phy";
                        };
                };
 
-               sata6: ahci@00410000 {
+               sata6: ahci@410000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00410000 0x1000>;
                        reg-names = "ahci";
                        };
                };
 
-               sata_phy6: sata_phy@00412100 {
+               sata_phy6: sata_phy@412100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00412100 0x1000>;
                        reg-names = "phy";
                        };
                };
 
-               sata7: ahci@00420000 {
+               sata7: ahci@420000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x00420000 0x1000>;
                        reg-names = "ahci";
                        };
                };
 
-               sata_phy7: sata_phy@00422100 {
+               sata_phy7: sata_phy@422100 {
                        compatible = "brcm,iproc-sr-sata-phy";
                        reg = <0x00422100 0x1000>;
                        reg-names = "phy";
index e6f75c633623cf45b9efc67844149551eb343e83..99aaff0b6d72b6bc971863411b80caa3dd165048 100644 (file)
@@ -42,7 +42,7 @@
                #address-cells = <2>;
                #size-cells = <0>;
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x0 0x0>;
@@ -50,7 +50,7 @@
                        next-level-cache = <&CLUSTER0_L2>;
                };
 
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x0 0x1>;
                        next-level-cache = <&CLUSTER3_L2>;
                };
 
-               CLUSTER0_L2: l2-cache@000 {
+               CLUSTER0_L2: l2-cache@0 {
                        compatible = "cache";
                };
 
                #size-cells = <1>;
                ranges = <0x0 0x0 0x61000000 0x05000000>;
 
-               ccn: ccn@00000000 {
+               ccn: ccn@0 {
                        compatible = "arm,ccn-502";
                        reg = <0x00000000 0x900000>;
                        interrupts = <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH>;
                };
 
-               gic: interrupt-controller@02c00000 {
+               gic: interrupt-controller@2c00000 {
                        compatible = "arm,gic-v3";
                        #interrupt-cells = <3>;
                        #address-cells = <1>;
                        };
                };
 
-               smmu: mmu@03000000 {
+               smmu: mmu@3000000 {
                        compatible = "arm,mmu-500";
                        reg = <0x03000000 0x80000>;
                        #global-interrupts = <1>;
 
                #include "stingray-clock.dtsi"
 
-               gpio_crmu: gpio@00024800 {
+               gpio_crmu: gpio@24800 {
                        compatible = "brcm,iproc-gpio";
                        reg = <0x00024800 0x4c>;
                        ngpios = <6>;
 
                #include "stingray-pinctrl.dtsi"
 
-               mdio_mux_iproc: mdio-mux@0002023c {
+               mdio_mux_iproc: mdio-mux@2023c {
                        compatible = "brcm,mdio-mux-iproc";
                        reg = <0x0002023c 0x14>;
                        #address-cells = <1>;
                        };
                };
 
-               pwm: pwm@00010000 {
+               pwm: pwm@10000 {
                        compatible = "brcm,iproc-pwm";
                        reg = <0x00010000 0x1000>;
                        clocks = <&crmu_ref25m>;
                        status = "disabled";
                };
 
-               timer0: timer@00030000 {
+               timer0: timer@30000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00030000 0x1000>;
                        interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               timer1: timer@00040000 {
+               timer1: timer@40000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00040000 0x1000>;
                        interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
                        clock-names = "timer1", "timer2", "apb_pclk";
                };
 
-               timer2: timer@00050000 {
+               timer2: timer@50000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00050000 0x1000>;
                        interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               timer3: timer@00060000 {
+               timer3: timer@60000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00060000 0x1000>;
                        interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               timer4: timer@00070000 {
+               timer4: timer@70000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00070000 0x1000>;
                        interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               timer5: timer@00080000 {
+               timer5: timer@80000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00080000 0x1000>;
                        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               timer6: timer@00090000 {
+               timer6: timer@90000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x00090000 0x1000>;
                        interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               timer7: timer@000a0000 {
+               timer7: timer@a0000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x000a0000 0x1000>;
                        interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               i2c0: i2c@000b0000 {
+               i2c0: i2c@b0000 {
                        compatible = "brcm,iproc-i2c";
                        reg = <0x000b0000 0x100>;
                        #address-cells = <1>;
                        status = "disabled";
                };
 
-               wdt0: watchdog@000c0000 {
+               wdt0: watchdog@c0000 {
                        compatible = "arm,sp805", "arm,primecell";
                        reg = <0x000c0000 0x1000>;
                        interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
                        clock-names = "wdogclk", "apb_pclk";
                };
 
-               gpio_hsls: gpio@000d0000 {
+               gpio_hsls: gpio@d0000 {
                        compatible = "brcm,iproc-gpio";
                        reg = <0x000d0000 0x864>;
                        ngpios = <151>;
                                        <&pinmux 151 91 4>;
                };
 
-               i2c1: i2c@000e0000 {
+               i2c1: i2c@e0000 {
                        compatible = "brcm,iproc-i2c";
                        reg = <0x000e0000 0x100>;
                        #address-cells = <1>;
                        status = "disabled";
                };
 
-               uart0: uart@00100000 {
+               uart0: uart@100000 {
                        device_type = "serial";
                        compatible = "snps,dw-apb-uart";
                        reg = <0x00100000 0x1000>;
                        status = "disabled";
                };
 
-               uart1: uart@00110000 {
+               uart1: uart@110000 {
                        device_type = "serial";
                        compatible = "snps,dw-apb-uart";
                        reg = <0x00110000 0x1000>;
                        status = "disabled";
                };
 
-               uart2: uart@00120000 {
+               uart2: uart@120000 {
                        device_type = "serial";
                        compatible = "snps,dw-apb-uart";
                        reg = <0x00120000 0x1000>;
                        status = "disabled";
                };
 
-               uart3: uart@00130000 {
+               uart3: uart@130000 {
                        device_type = "serial";
                        compatible = "snps,dw-apb-uart";
                        reg = <0x00130000 0x1000>;
                        status = "disabled";
                };
 
-               ssp0: ssp@00180000 {
+               ssp0: ssp@180000 {
                        compatible = "arm,pl022", "arm,primecell";
                        reg = <0x00180000 0x1000>;
                        interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               ssp1: ssp@00190000 {
+               ssp1: ssp@190000 {
                        compatible = "arm,pl022", "arm,primecell";
                        reg = <0x00190000 0x1000>;
                        interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               hwrng: hwrng@00220000 {
+               hwrng: hwrng@220000 {
                        compatible = "brcm,iproc-rng200";
                        reg = <0x00220000 0x28>;
                };
 
-               dma0: dma@00310000 {
+               dma0: dma@310000 {
                        compatible = "arm,pl330", "arm,primecell";
                        reg = <0x00310000 0x1000>;
                        interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>,
                        iommus = <&smmu 0x6000 0x0000>;
                };
 
-               enet: ethernet@00340000{
+               enet: ethernet@340000{
                        compatible = "brcm,amac";
                        reg = <0x00340000 0x1000>;
                        reg-names = "amac_base";
                        status= "disabled";
                };
 
-               nand: nand@00360000 {
+               nand: nand@360000 {
                        compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
                        reg = <0x00360000 0x600>,
                              <0x0050a408 0x600>,
                        status = "disabled";
                };
 
-               sdio0: sdhci@003f1000 {
+               sdio0: sdhci@3f1000 {
                        compatible = "brcm,sdhci-iproc";
                        reg = <0x003f1000 0x100>;
                        interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               sdio1: sdhci@003f2000 {
+               sdio1: sdhci@3f2000 {
                        compatible = "brcm,sdhci-iproc";
                        reg = <0x003f2000 0x100>;
                        interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
index 800ba65991f79c95bcf647ae9840d568e68419f6..5ec2bfa5f7146c4bdc00144f601bfbf429da386e 100644 (file)
@@ -60,7 +60,7 @@
                serial1 = &uaa1;
        };
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x00000000 0x0 0x80000000>;
        };
index 04dc8a8d15399ea3eb9e63f8215fcbc8840c56f3..1a9103b269cb7b11a7b74a601343685a9552894d 100644 (file)
                #address-cells = <2>;
                #size-cells = <0>;
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x000>;
                        enable-method = "psci";
                };
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x001>;
                        enable-method = "psci";
                };
-               cpu@002 {
+               cpu@2 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x002>;
                        enable-method = "psci";
                };
-               cpu@003 {
+               cpu@3 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x003>;
                        enable-method = "psci";
                };
-               cpu@004 {
+               cpu@4 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x004>;
                        enable-method = "psci";
                };
-               cpu@005 {
+               cpu@5 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x005>;
                        enable-method = "psci";
                };
-               cpu@006 {
+               cpu@6 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x006>;
                        enable-method = "psci";
                };
-               cpu@007 {
+               cpu@7 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x007>;
                        enable-method = "psci";
                };
-               cpu@008 {
+               cpu@8 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x008>;
                        enable-method = "psci";
                };
-               cpu@009 {
+               cpu@9 {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x009>;
                        enable-method = "psci";
                };
-               cpu@00a {
+               cpu@a {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x00a>;
                        enable-method = "psci";
                };
-               cpu@00b {
+               cpu@b {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x00b>;
                        enable-method = "psci";
                };
-               cpu@00c {
+               cpu@c {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x00c>;
                        enable-method = "psci";
                };
-               cpu@00d {
+               cpu@d {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x00d>;
                        enable-method = "psci";
                };
-               cpu@00e {
+               cpu@e {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x00e>;
                        enable-method = "psci";
                };
-               cpu@00f {
+               cpu@f {
                        device_type = "cpu";
                        compatible = "cavium,thunder", "arm,armv8";
                        reg = <0x0 0x00f>;
index 8c013b54db148a6abd8b10266407e4b44ca255a7..cdc4aee75227aadb147dea1797e2c0b47c94a6f6 100644 (file)
        };
 };
 
+&dspi {
+       bus-num = <0>;
+       status = "okay";
+
+       flash@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "n25q128a11", "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <10000000>;
+       };
+
+       flash@1 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "sst25wf040b", "jedec,spi-nor";
+               spi-cpol;
+               spi-cpha;
+               reg = <1>;
+               spi-max-frequency = <10000000>;
+       };
+
+       flash@2 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "en25s64", "jedec,spi-nor";
+               spi-cpol;
+               spi-cpha;
+               reg = <2>;
+               spi-max-frequency = <10000000>;
+       };
+};
+
 &duart0 {
        status = "okay";
 };
index fe1ea5d707a8f7ec3dc0af3e66c05dd754f7528b..82b272fb41b9748489e401d2d4078a030bd2eccf 100644 (file)
                        status = "disabled";
                };
 
+               dspi: dspi@2100000 {
+                       compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x0 0x2100000 0x0 0x10000>;
+                       interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
+                       clock-names = "dspi";
+                       clocks = <&clockgen 4 0>;
+                       spi-num-chipselects = <5>;
+                       big-endian;
+                       status = "disabled";
+               };
+
                duart0: serial@21c0500 {
                        compatible = "fsl,ns16550", "ns16550a";
                        reg = <0x00 0x21c0500 0x0 0x100>;
                                        <0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
                };
        };
+
+       firmware {
+               optee {
+                       compatible = "linaro,optee-tz";
+                       method = "smc";
+               };
+       };
 };
index d16b9cc1e8252c835479f53f9cf8af1657fa5125..380e7c713395ff2fe72a9a3ccdeff3befcb997f2 100644 (file)
                qman: qman@1880000 {
                        compatible = "fsl,qman";
                        reg = <0x0 0x1880000 0x0 0x10000>;
-                       interrupts = <0 45 0x4>;
+                       interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        memory-region = <&qman_fqd &qman_pfdr>;
                };
 
                bman: bman@1890000 {
                        compatible = "fsl,bman";
                        reg = <0x0 0x1890000 0x0 0x10000>;
-                       interrupts = <0 45 0x4>;
+                       interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        memory-region = <&bman_fbpr>;
                };
 
                };
        };
 
+       firmware {
+               optee {
+                       compatible = "linaro,optee-tz";
+                       method = "smc";
+               };
+       };
+
 };
 
 #include "qoriq-qman-portals.dtsi"
index e8a478ca14858cb6f8d39672860964d4c06e0436..06b5e12d04d818546f6597b6f1b01bf52aa83836 100644 (file)
                qman: qman@1880000 {
                        compatible = "fsl,qman";
                        reg = <0x0 0x1880000 0x0 0x10000>;
-                       interrupts = <0 45 0x4>;
+                       interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        memory-region = <&qman_fqd &qman_pfdr>;
 
                };
                bman: bman@1890000 {
                        compatible = "fsl,bman";
                        reg = <0x0 0x1890000 0x0 0x10000>;
-                       interrupts = <0 45 0x4>;
+                       interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
                        memory-region = <&bman_fbpr>;
 
                };
                        no-map;
                };
        };
+
+       firmware {
+               optee {
+                       compatible = "linaro,optee-tz";
+                       method = "smc";
+               };
+       };
 };
 
 #include "qoriq-qman-portals.dtsi"
index 33797b3736744bbeee590014a3342b514758a0b8..bd80e9a2e67c33fbe8cb15d5b4f3f89f55d75405 100644 (file)
                      <0x0 0x0c0d0000 0 0x1000>, /* GICH */
                      <0x0 0x0c0e0000 0 0x20000>; /* GICV */
                interrupts = <1 9 IRQ_TYPE_LEVEL_HIGH>;
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               its: gic-its@6020000 {
+                       compatible = "arm,gic-v3-its";
+                       msi-controller;
+                       reg = <0x0 0x6020000 0 0x20000>;
+               };
        };
 
        timer {
                                interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
+
+               pcie@3400000 {
+                       compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
+                       reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
+                              0x20 0x00000000 0x0 0x00002000>; /* configuration space */
+                       reg-names = "regs", "config";
+                       interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
+                       interrupt-names = "aer";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       device_type = "pci";
+                       dma-coherent;
+                       num-lanes = <4>;
+                       bus-range = <0x0 0xff>;
+                       ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000   /* downstream I/O */
+                                 0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+                       msi-parent = <&its>;
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 7>;
+                       interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               pcie@3500000 {
+                       compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
+                       reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
+                              0x28 0x00000000 0x0 0x00002000>; /* configuration space */
+                       reg-names = "regs", "config";
+                       interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
+                       interrupt-names = "aer";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       device_type = "pci";
+                       dma-coherent;
+                       num-lanes = <4>;
+                       bus-range = <0x0 0xff>;
+                       ranges = <0x81000000 0x0 0x00000000 0x28 0x00010000 0x0 0x00010000   /* downstream I/O */
+                                 0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+                       msi-parent = <&its>;
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 7>;
+                       interrupt-map = <0000 0 0 1 &gic 0 0 0 114 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 2 &gic 0 0 0 115 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 3 &gic 0 0 0 116 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 4 &gic 0 0 0 117 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               pcie@3600000 {
+                       compatible = "fsl,ls1088a-pcie", "snps,dw-pcie";
+                       reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
+                              0x30 0x00000000 0x0 0x00002000>; /* configuration space */
+                       reg-names = "regs", "config";
+                       interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
+                       interrupt-names = "aer";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       device_type = "pci";
+                       dma-coherent;
+                       num-lanes = <8>;
+                       bus-range = <0x0 0xff>;
+                       ranges = <0x81000000 0x0 0x00000000 0x30 0x00010000 0x0 0x00010000   /* downstream I/O */
+                                 0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+                       msi-parent = <&its>;
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 7>;
+                       interrupt-map = <0000 0 0 1 &gic 0 0 0 119 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 2 &gic 0 0 0 120 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>;
+               };
+       };
+
+       firmware {
+               optee {
+                       compatible = "linaro,optee-tz";
+                       method = "smc";
+               };
        };
 
 };
index 6aa319dae396ffffc135b4e9af9e893029dd1ba7..aeaef01d375fef26012341ba7e7c81e3ffcb47d9 100644 (file)
 };
 
 &pcie1 {
+       compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
        reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
               0x20 0x00000000 0x0 0x00002000>; /* configuration space */
 
 };
 
 &pcie2 {
+       compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
        reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
               0x28 0x00000000 0x0 0x00002000>; /* configuration space */
 
 };
 
 &pcie3 {
+       compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
        reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
               0x30 0x00000000 0x0 0x00002000>; /* configuration space */
 
 };
 
 &pcie4 {
+       compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
        reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
               0x38 0x00000000 0x0 0x00002000>; /* configuration space */
 
index 4fb9a0966a84f2db6c51861c5087ccb5346c49c9..f3a40af33af8ad9e3d910eb9e807bd37eaf1454c 100644 (file)
                interrupts = <0 18 0x4>;
                little-endian;
        };
+
+       firmware {
+               optee {
+                       compatible = "linaro,optee-tz";
+                       method = "smc";
+               };
+       };
 };
index e9f87cb61ade77b2724533835dd97b0ef6fa178f..97d768730952f1758b4aa42d51b3c865344c60ba 100644 (file)
        };
 };
 
+/*
+ * Legend: proper name = the GPIO line is used as GPIO
+ *         NC = not connected (pin out but not routed from the chip to
+ *              anything the board)
+ *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
+ *         "" = no idea, schematic doesn't say, could be
+ *              unrouted (not connected to any external pin)
+ *         LSEC = Low Speed External Connector
+ *         HSEC = High Speed External Connector
+ *
+ * Line names are taken from "HiKey 960 Board ver A" schematics
+ * from Huawei. The 40 pin low speed expansion connector is named
+ * J2002 63453-140LF.
+ *
+ * For the lines routed to the external connectors the
+ * lines are named after the 96Boards CE Specification 1.0,
+ * Appendix "Expansion Connector Signal Description".
+ *
+ * When the 96Board naming of a line and the schematic name of
+ * the same line are in conflict, the 96Board specification
+ * takes precedence, which means that the external UART on the
+ * LSEC is named UART0 while the schematic and SoC names this
+ * UART3. This is only for the informational lines i.e. "[FOO]",
+ * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
+ * ones actually used for GPIO.
+ */
+&gpio0 {
+       /* GPIO_000-GPIO_007 */
+       gpio-line-names =
+               "",
+               "TP901", /* TEST_MODE connected to TP901 */
+               "[PMU0_SSI]",
+               "[PMU1_SSI]",
+               "[PMU2_SSI]",
+               "[PMU0_CLKOUT]",
+               "[JTAG_TCK]",
+               "[JTAG_TMS]";
+};
+
+&gpio1 {
+       /* GPIO_008-GPIO_015 */
+       gpio-line-names =
+               "[JTAG_TRST_N]",
+               "[JTAG_TDI]",
+               "[JTAG_TDO]",
+               "NC", "NC",
+               "[I2C3_SCL]",
+               "[I2C3_SDA]",
+               "NC";
+};
+
+&gpio2 {
+       /* GPIO_016-GPIO_023 */
+       gpio-line-names =
+               "NC", "NC", "NC",
+               "GPIO-J", /* LSEC pin 32: GPIO_019 */
+               "GPIO_020_HDMI_SEL",
+               "GPIO-L", /* LSEC pin 34: GPIO_021 */
+               "GPIO_022_UFSBUCK_INT_N",
+               "GPIO-G"; /* LSEC pin 29: LCD_TE0 */
+};
+
+&gpio3 {
+       /* GPIO_024-GPIO_031 */
+       /* The rail from pin BK36 is named LCD_TE0, we assume to be muxed as GPIO for GPIO-G */
+       gpio-line-names =
+               "[CSI0_MCLK]", /* HSEC pin 15: ISP_CCLK0_MCAM */
+               "[CSI1_MCLK]", /* HSEC pin 17: ISP_CCLK1_SCAM */
+               "NC",
+               "[I2C2_SCL]", /* HSEC pin 32: ISP_SCL0 */
+               "[I2C2_SDA]", /* HSEC pin 34: ISP_SDA0 */
+               "[I2C3_SCL]", /* HSEC pin 36: ISP_SCL1 */
+               "[I2C3_SDA]", /* HSEC pin 38: ISP_SDA1 */
+               "NC";
+};
+
+&gpio4 {
+       /* GPIO_032-GPIO_039 */
+       gpio-line-names =
+               "NC", "NC",
+               "PWR_BTN_N", /* LSEC pin 4: GPIO_034_PWRON_DET */
+               "GPIO_035_PMU2_EN",
+               "GPIO_036_USB_HUB_RESET",
+               "NC", "NC", "NC";
+};
+
+&gpio5 {
+       /* GPIO_040-GPIO_047 */
+       gpio-line-names =
+               "GPIO-H", /* LSEC pin 30: GPIO_040_LCD_RST_N */
+               "GPIO_041_HDMI_PD",
+               "TP904", /* Test point */
+               "TP905", /* Test point */
+               "NC", "NC",
+               "GPIO_046_HUB_VDD33_EN",
+               "GPIO_047_PMU1_EN";
+};
+
+&gpio6 {
+       /* GPIO_048-GPIO_055 */
+       gpio-line-names =
+               "NC", "NC", "NC",
+               "GPIO_051_WIFI_EN",
+               "GPIO-I", /* LSEC pin 31: GPIO_052_CAM0_RST_N */
+               /*
+                * These two pins should be used for SD(IO) data according to the
+                * 96boards specification but seems to be repurposed for a IRDA UART.
+                * They are however named according to the spec.
+                */
+               "[SD_DAT1]", /* HSEC pin 3: UART0_IRDA_RXD */
+               "[SD_DAT2]", /* HSEC pin 5: UART0_IRDA_TXD */
+               "[UART1_RXD]"; /* LSEC pin 13: DEBUG_UART6_RXD */
+};
+
+&gpio7 {
+       /* GPIO_056-GPIO_063 */
+       gpio-line-names =
+               "[UART1_TXD]", /* LSEC pin 11: DEBUG_UART6_TXD */
+               "[UART0_CTS]", /* LSEC pin 3: UART3_CTS_N */
+               "[UART0_RTS]", /* LSEC pin 9: UART3_RTS_N */
+               "[UART0_RXD]", /* LSEC pin 7: UART3_RXD */
+               "[UART0_TXD]", /* LSEC pin 5: UART3_TXD */
+               "[SOC_BT_UART4_CTS_N]",
+               "[SOC_BT_UART4_RTS_N]",
+               "[SOC_BT_UART4_RXD]";
+};
+
+&gpio8 {
+       /* GPIO_064-GPIO_071 */
+       gpio-line-names =
+               "[SOC_BT_UART4_TXD]",
+               "NC",
+               "[PMU_HKADC_SSI]",
+               "NC",
+               "GPIO_068_SEL",
+               "NC", "NC", "NC";
+
+};
+
+&gpio9 {
+       /* GPIO_072-GPIO_079 */
+       gpio-line-names =
+               "NC", "NC", "NC",
+               "GPIO-K", /* LSEC pin 33: GPIO_075_CAM1_RST_N */
+               "NC", "NC", "NC", "NC";
+};
+
+&gpio10 {
+       /* GPIO_080-GPIO_087 */
+       gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC";
+};
+
+&gpio11 {
+       /* GPIO_088-GPIO_095 */
+       gpio-line-names =
+               "NC",
+               "[PCIE_PERST_N]",
+               "NC", "NC", "NC", "NC", "NC", "NC";
+};
+
+&gpio12 {
+       /* GPIO_096-GPIO_103 */
+       gpio-line-names = "NC", "NC", "NC", "", "", "", "", "NC";
+};
+
+&gpio13 {
+       /* GPIO_104-GPIO_111 */
+       gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC";
+};
+
+&gpio14 {
+       /* GPIO_112-GPIO_119 */
+       gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC";
+};
+
+&gpio15 {
+       /* GPIO_120-GPIO_127 */
+       gpio-line-names =
+               "NC", "NC", "NC", "NC", "NC", "NC",
+               "GPIO_126_BT_EN",
+               "TP902"; /* GPIO_127_JTAG_SEL0 */
+};
+
+&gpio16 {
+       /* GPIO_128-GPIO_135 */
+       gpio-line-names = "", "", "", "", "", "", "", "";
+};
+
+&gpio17 {
+       /* GPIO_136-GPIO_143 */
+       gpio-line-names = "", "", "", "", "", "", "", "";
+};
+
+&gpio18 {
+       /* GPIO_144-GPIO_151 */
+       gpio-line-names =
+               "[UFS_REF_CLK]",
+               "[UFS_RST_N]",
+               "[SPI1_SCLK]", /* HSEC pin 9: GPIO_146_SPI3_CLK */
+               "[SPI1_DIN]", /* HSEC pin 11: GPIO_147_SPI3_DI */
+               "[SPI1_DOUT]", /* HSEC pin 1: GPIO_148_SPI3_DO */
+               "[SPI1_CS]", /* HSEC pin 7: GPIO_149_SPI3_CS0_N */
+               "GPIO_150_USER_LED1",
+               "GPIO_151_USER_LED2";
+};
+
+&gpio19 {
+       /* GPIO_152-GPIO_159 */
+       gpio-line-names = "NC", "NC", "NC", "NC", "", "", "", "";
+};
+
+&gpio20 {
+       /* GPIO_160-GPIO_167 */
+       gpio-line-names =
+               "[SD_CLK]",
+               "[SD_CMD]",
+               "[SD_DATA0]",
+               "[SD_DATA1]",
+               "[SD_DATA2]",
+               "[SD_DATA3]",
+               "", "";
+};
+
+&gpio21 {
+       /* GPIO_168-GPIO_175 */
+       gpio-line-names =
+               "[WL_SDIO_CLK]",
+               "[WL_SDIO_CMD]",
+               "[WL_SDIO_DATA0]",
+               "[WL_SDIO_DATA1]",
+               "[WL_SDIO_DATA2]",
+               "[WL_SDIO_DATA3]",
+               "", "";
+};
+
+&gpio22 {
+       /* GPIO_176-GPIO_183 */
+       gpio-line-names =
+               "[GPIO_176_PMU_PWR_HOLD]",
+               "NA",
+               "[SYSCLK_EN]",
+               "GPIO_179_WL_WAKEUP_AP",
+               "GPIO_180_HDMI_INT",
+               "NA",
+               "GPIO-F", /* LSEC pin 28: LCD_BL_PWM */
+               "[I2C0_SCL]"; /* LSEC pin 15 */
+};
+
+&gpio23 {
+       /* GPIO_184-GPIO_191 */
+       gpio-line-names =
+               "[I2C0_SDA]", /* LSEC pin 17 */
+               "[I2C1_SCL]", /* Actual SoC I2C1 */
+               "[I2C1_SDA]", /* Actual SoC I2C1 */
+               "[I2C1_SCL]", /* LSEC pin 19: I2C7_SCL */
+               "[I2C1_SDA]", /* LSEC pin 21: I2C7_SDA */
+               "GPIO_189_USER_LED3",
+               "GPIO_190_USER_LED4",
+               "";
+};
+
+&gpio24 {
+       /* GPIO_192-GPIO_199 */
+       gpio-line-names =
+               "[PCM_DI]", /* LSEC pin 22: GPIO_192_I2S0_DI */
+               "[PCM_DO]", /* LSEC pin 20: GPIO_193_I2S0_DO */
+               "[PCM_CLK]", /* LSEC pin 18: GPIO_194_I2S0_XCLK */
+               "[PCM_FS]", /* LSEC pin 16: GPIO_195_I2S0_XFS */
+               "[GPIO_196_I2S2_DI]",
+               "[GPIO_197_I2S2_DO]",
+               "[GPIO_198_I2S2_XCLK]",
+               "[GPIO_199_I2S2_XFS]";
+};
+
+&gpio25 {
+       /* GPIO_200-GPIO_207 */
+       gpio-line-names =
+               "NC",
+               "NC",
+               "GPIO_202_VBUS_TYPEC",
+               "GPIO_203_SD_DET",
+               "GPIO_204_PMU12_IRQ_N",
+               "GPIO_205_WIFI_ACTIVE",
+               "GPIO_206_USBSW_SEL",
+               "GPIO_207_BT_ACTIVE";
+};
+
+&gpio26 {
+       /* GPIO_208-GPIO_215 */
+       gpio-line-names =
+               "GPIO-A", /* LSEC pin 23: GPIO_208 */
+               "GPIO-B", /* LSEC pin 24: GPIO_209 */
+               "GPIO-C", /* LSEC pin 25: GPIO_210 */
+               "GPIO-D", /* LSEC pin 26: GPIO_211 */
+               "GPIO-E", /* LSEC pin 27: GPIO_212 */
+               "[PCIE_CLKREQ_N]",
+               "[PCIE_WAKE_N]",
+               "[SPI0_CLK]"; /* LSEC pin 8: SPI2_CLK */
+};
+
+&gpio27 {
+       /* GPIO_216-GPIO_223 */
+       gpio-line-names =
+               "[SPI0_DIN]", /* LSEC pin 10: SPI2_DI */
+               "[SPI0_DOUT]", /* LSEC pin 14: SPI2_DO */
+               "[SPI0_CS]", /* LSEC pin 12: SPI2_CS0_N */
+               "GPIO_219_CC_INT",
+               "NC",
+               "NC",
+               "[PMU_INT]",
+               "";
+};
+
+&gpio28 {
+       /* GPIO_224-GPIO_231 */
+       gpio-line-names =
+               "", "", "", "", "", "", "", "";
+};
+
 &i2c0 {
        /* On Low speed expansion */
        label = "LS-I2C0";
index 13ae69f5a3270327cb09ee5ab7b798a3bfbd850f..ab0b95ba5ae5b75590d29227bc1d0d4d9c5ca96e 100644 (file)
                        clocks = <&crg_ctrl HI3660_OSC32K>;
                        clock-names = "apb_pclk";
                };
+
+               tsensor: tsensor@fff30000 {
+                       compatible = "hisilicon,hi3660-tsensor";
+                       reg = <0x0 0xfff30000 0x0 0x1000>;
+                       interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+                       #thermal-sensor-cells = <1>;
+               };
        };
 };
index b9142871d6fee7c4a4994a1ebfa7a6114ed5fb82..a6fd13389f8d1547677381e958dec93fdc45f397 100644 (file)
 
 &gpio1 {
        status = "okay";
-       gpio-line-names = "LS-GPIO-E",  "",
+       gpio-line-names = "GPIO-E",     "",
                          "",           "",
-                         "",           "LS-GPIO-F",
-                         "",           "LS-GPIO-J";
+                         "",           "GPIO-F",
+                         "",           "GPIO-J";
 };
 
 &gpio2 {
        status = "okay";
-       gpio-line-names = "LS-GPIO-H",  "LS-GPIO-I",
-                         "LS-GPIO-L",  "LS-GPIO-G",
-                         "LS-GPIO-K",  "",
+       gpio-line-names = "GPIO-H",     "GPIO-I",
+                         "GPIO-L",     "GPIO-G",
+                         "GPIO-K",     "",
                          "",           "";
 };
 
        status = "okay";
        gpio-line-names = "",           "",
                          "",           "",
-                         "LS-GPIO-C",  "",
-                         "",           "LS-GPIO-B";
+                         "GPIO-C",     "",
+                         "",           "GPIO-B";
 };
 
 &gpio4 {
        status = "okay";
        gpio-line-names = "",           "",
                          "",           "",
-                         "",           "LS-GPIO-D",
+                         "",           "GPIO-D",
                          "",           "";
 };
 
        status = "okay";
        gpio-line-names = "",           "USER-LED-1",
                          "USER-LED-2", "",
-                         "",           "LS-GPIO-A",
+                         "",           "GPIO-A",
                          "",           "";
 };
 
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220-coresight.dtsi
new file mode 100644 (file)
index 0000000..7afee5d
--- /dev/null
@@ -0,0 +1,381 @@
+/*
+ * dtsi file for Hisilicon Hi6220 coresight
+ *
+ * Copyright (C) 2017 Hisilicon Ltd.
+ *
+ * Author: Pengcheng Li <lipengcheng8@huawei.com>
+ *         Leo Yan <leo.yan@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * publishhed by the Free Software Foundation.
+ *
+ */
+
+/ {
+       soc {
+               funnel@f6401000 {
+                       compatible = "arm,coresight-funnel", "arm,primecell";
+                       reg = <0 0xf6401000 0 0x1000>;
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       soc_funnel_out: endpoint {
+                                               remote-endpoint =
+                                                       <&etf_in>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <0>;
+                                       soc_funnel_in: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&acpu_funnel_out>;
+                                       };
+                               };
+                       };
+               };
+
+               etf@f6402000 {
+                       compatible = "arm,coresight-tmc", "arm,primecell";
+                       reg = <0 0xf6402000 0 0x1000>;
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       etf_in: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&soc_funnel_out>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <0>;
+                                       etf_out: endpoint {
+                                               remote-endpoint =
+                                                       <&replicator_in>;
+                                       };
+                               };
+                       };
+               };
+
+               replicator {
+                       compatible = "arm,coresight-replicator";
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       replicator_in: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etf_out>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <0>;
+                                       replicator_out0: endpoint {
+                                               remote-endpoint =
+                                                       <&etr_in>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <1>;
+                                       replicator_out1: endpoint {
+                                               remote-endpoint =
+                                                       <&tpiu_in>;
+                                       };
+                               };
+                       };
+               };
+
+               etr@f6404000 {
+                       compatible = "arm,coresight-tmc", "arm,primecell";
+                       reg = <0 0xf6404000 0 0x1000>;
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       etr_in: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&replicator_out0>;
+                                       };
+                               };
+                       };
+               };
+
+               tpiu@f6405000 {
+                       compatible = "arm,coresight-tpiu", "arm,primecell";
+                       reg = <0 0xf6405000 0 0x1000>;
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       tpiu_in: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&replicator_out1>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@f6501000 {
+                       compatible = "arm,coresight-funnel", "arm,primecell";
+                       reg = <0 0xf6501000 0 0x1000>;
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       acpu_funnel_out: endpoint {
+                                               remote-endpoint =
+                                                       <&soc_funnel_in>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <0>;
+                                       acpu_funnel_in0: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm0_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <1>;
+                                       acpu_funnel_in1: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm1_out>;
+                                       };
+                               };
+
+                               port@3 {
+                                       reg = <2>;
+                                       acpu_funnel_in2: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm2_out>;
+                                       };
+                               };
+
+                               port@4 {
+                                       reg = <3>;
+                                       acpu_funnel_in3: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm3_out>;
+                                       };
+                               };
+
+                               port@5 {
+                                       reg = <4>;
+                                       acpu_funnel_in4: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm4_out>;
+                                       };
+                               };
+
+                               port@6 {
+                                       reg = <5>;
+                                       acpu_funnel_in5: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm5_out>;
+                                       };
+                               };
+
+                               port@7 {
+                                       reg = <6>;
+                                       acpu_funnel_in6: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm6_out>;
+                                       };
+                               };
+
+                               port@8 {
+                                       reg = <7>;
+                                       acpu_funnel_in7: endpoint {
+                                               slave-mode;
+                                               remote-endpoint =
+                                                       <&etm7_out>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@f659c000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf659c000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu0>;
+
+                       port {
+                               etm0_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in0>;
+                               };
+                       };
+               };
+
+               etm@f659d000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf659d000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu1>;
+
+                       port {
+                               etm1_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in1>;
+                               };
+                       };
+               };
+
+               etm@f659e000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf659e000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu2>;
+
+                       port {
+                               etm2_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in2>;
+                               };
+                       };
+               };
+
+               etm@f659f000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf659f000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu3>;
+
+                       port {
+                               etm3_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in3>;
+                               };
+                       };
+               };
+
+               etm@f65dc000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf65dc000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu4>;
+
+                       port {
+                               etm4_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in4>;
+                               };
+                       };
+               };
+
+               etm@f65dd000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf65dd000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu5>;
+
+                       port {
+                               etm5_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in5>;
+                               };
+                       };
+               };
+
+               etm@f65de000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf65de000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu6>;
+
+                       port {
+                               etm6_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in6>;
+                               };
+                       };
+               };
+
+               etm@f65df000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0xf65df000 0 0x1000>;
+
+                       clocks = <&acpu_sctrl HI6220_ACPU_SFT_AT_S>;
+                       clock-names = "apb_pclk";
+
+                       cpu = <&cpu7>;
+
+                       port {
+                               etm7_out: endpoint {
+                                       remote-endpoint =
+                                               <&acpu_funnel_in7>;
+                               };
+                       };
+               };
+       };
+};
index ff1dc89f599e6b8cadecb8a7ce18b4cba8ad590a..6a180d1926e8bd10482ebf892c4f1d2bba0b87ff 100644 (file)
                };
        };
 };
+
+#include "hi6220-coresight.dtsi"
index abba750b87f8181aaf15e503cc4ea55cbf6b7638..3bbd017f088f105442b1b48982d7a5ad0627ef50 100644 (file)
@@ -18,7 +18,7 @@
        model = "Hisilicon Hip05 D02 Development Board";
        compatible = "hisilicon,hip05-d02";
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x00000000 0x0 0x80000000>;
        };
index 7c4114a67753560f1fe2f57b169dcffcc76ee5de..9af633021a42a62460bed98a66ba63c244123177 100644 (file)
@@ -17,7 +17,7 @@
        model = "Hisilicon Hip06 D03 Development Board";
        compatible = "hisilicon,hip06-d03";
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x00000000 0x0 0x40000000>;
        };
index 9df0f06ce6070a4c17c724d52bb956504dc8e2b7..0f3468e777f790d47c45264b6eb0e76737f03389 100644 (file)
                          3300000 0x0>;
                enable-active-high;
        };
+
+       vcc_sd_reg2: regulator-vmcc {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_sd2";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&gpio_exp 4 GPIO_ACTIVE_HIGH>;
+       };
 };
 
 /* Gigabit module on CON19(V2.0)/CON21(V1.4) */
        bus-width = <4>;
        marvell,pad-type = "sd";
        vqmmc-supply = <&vcc_sd_reg1>;
+       vmmc-supply = <&vcc_sd_reg2>;
        status = "okay";
 };
 
 
 /*
  * Exported on the micro USB connector CON30(V2.0)/CON32(V1.4) through
- * an FTDI
+ * an FTDI (also on CON24(V2.0)/CON26(V1.4)).
  */
 &uart0 {
        pinctrl-names = "default";
        status = "okay";
 };
 
+/* CON26(V2.0)/CON28(V1.4) */
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins>;
+       status = "okay";
+};
+
 /* CON27(V2.0)/CON29(V1.4) */
 &usb2 {
        status = "okay";
index 2ce52ba74f73bac47244aaa5896f29ed4b56596a..bdfb5553ddb52d74847cedcec1ad0a1671cfa895 100644 (file)
 
 /* Exported on the micro USB connector J5 through an FTDI */
 &uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart1_pins>;
        status = "okay";
 };
 
+/*
+ * Connector J17 and J18 expose a number of different features. Some pins are
+ * multiplexed. This is the case for instance for the following features:
+ * - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
+ *   how to enable it. Beware that the signals are 1.8V TTL.
+ * - I2C
+ * - SPI
+ * - MMC
+ */
+
 /* J7 */
 &usb3 {
        status = "okay";
index 8c0cf7efac65242a50a8ac2b201f351c8c0ce2a6..90c26d616a5418f54243906bb851dc89883cea9f 100644 (file)
@@ -55,6 +55,7 @@
 
        aliases {
                serial0 = &uart0;
+               serial1 = &uart1;
        };
 
        cpus {
 
                        uart0: serial@12000 {
                                compatible = "marvell,armada-3700-uart";
-                               reg = <0x12000 0x400>;
-                               interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+                               reg = <0x12000 0x200>;
+                               clocks = <&xtalclk>;
+                               interrupts =
+                               <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+                               <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
+                               <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "uart-sum", "uart-tx", "uart-rx";
+                               status = "disabled";
+                       };
+
+                       uart1: serial@12200 {
+                               compatible = "marvell,armada-3700-uart-ext";
+                               reg = <0x12200 0x30>;
+                               clocks = <&xtalclk>;
+                               interrupts =
+                               <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
+                               <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
+                               interrupt-names = "uart-tx", "uart-rx";
                                status = "disabled";
                        };
 
                                        <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
                                        <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
                                        <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
-
                                };
 
                                xtalclk: xtal-clk {
index 9c3bdf87e5433f2a800eae0a2a1e32c8c924dd88..52b5341cb270eb119ef08f3bc7d1d1a8a198f134 100644 (file)
@@ -56,7 +56,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
 
 &uart0 {
        status = "okay";
+       pinctrl-0 = <&uart0_pins>;
+       pinctrl-names = "default";
 };
 
 
                gpio-controller;
                #gpio-cells = <2>;
                reg = <0x21>;
+               /*
+                * IO0_0: USB3_PWR_EN0  IO1_0: USB_3_1_Dev_Detect
+                * IO0_1: USB3_PWR_EN1  IO1_1: USB2_1_current_limit
+                * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN
+                * IO0_3: USB2_DEVICE_DETECT
+                * IO0_4: GPIO_0        IO1_4: SD_Status
+                * IO0_5: GPIO_1        IO1_5: LDO_5V_Enable
+                * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC
+                * IO0_7:               IO1_7: SDIO_Vcntrl
+                */
        };
 };
 
+&cpm_nand {
+       /*
+        * SPI on CPM and NAND have common pins on this board. We can
+        * use only one at a time. To enable the NAND (whihch will
+        * disable the SPI), the "status = "okay";" line have to be
+        * added here.
+        */
+       num-cs = <1>;
+       pinctrl-0 = <&nand_pins>, <&nand_rb>;
+       pinctrl-names = "default";
+       nand-ecc-strength = <4>;
+       nand-ecc-step-size = <512>;
+       marvell,nand-enable-arbiter;
+       nand-on-flash-bbt;
+
+       partition@0 {
+               label = "U-Boot";
+               reg = <0 0x200000>;
+       };
+       partition@200000 {
+               label = "Linux";
+               reg = <0x200000 0xe00000>;
+       };
+       partition@1000000 {
+               label = "Filesystem";
+               reg = <0x1000000 0x3f000000>;
+       };
+};
+
+
 &cpm_spi1 {
        status = "okay";
 
        status = "okay";
        bus-width = <4>;
        no-1-8-v;
-       non-removable;
+       cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>;
 };
 
 &cpm_mdio {
        status = "okay";
 };
 
+&cpm_eth0 {
+       status = "okay";
+       /* Network PHY */
+       phy-mode = "10gbase-kr";
+       /* Generic PHY, providing serdes lanes */
+       phys = <&cpm_comphy2 0>;
+};
+
 &cpm_eth1 {
        status = "okay";
+       /* Network PHY */
        phy = <&phy0>;
        phy-mode = "sgmii";
+       /* Generic PHY, providing serdes lanes */
+       phys = <&cpm_comphy0 1>;
 };
 
 &cpm_eth2 {
index 860b6ae9dcc519eccf14070e0ed65f4a8b2a7596..0e1a1e5be3998fc08a116911dbb560caaedc4f76 100644 (file)
 &cpm_syscon0 {
        cpm_pinctrl: pinctrl {
                compatible = "marvell,armada-7k-pinctrl";
+
+               nand_pins: nand-pins {
+                       marvell,pins =
+                       "mpp15", "mpp16", "mpp17", "mpp18",
+                       "mpp19", "mpp20", "mpp21", "mpp22",
+                       "mpp23", "mpp24", "mpp25", "mpp26",
+                       "mpp27";
+                       marvell,function = "dev";
+               };
+
+               nand_rb: nand-rb {
+                       marvell,pins = "mpp13";
+                       marvell,function = "nf";
+               };
        };
 };
index 0d7b2ae4661002e7443297f680511950c87bfd8f..d97b72bed66249d82fac38174d951f62c14cfb54 100644 (file)
@@ -56,7 +56,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
 /* Accessible over the mini-USB CON9 connector on the main board */
 &uart0 {
        status = "okay";
+       pinctrl-0 = <&uart0_pins>;
+       pinctrl-names = "default";
 };
 
+/* CON6 on CP0 expansion */
+&cpm_pcie0 {
+       status = "okay";
+};
 
 /* CON5 on CP0 expansion */
 &cpm_pcie2 {
        status = "okay";
 };
 
+&cpm_eth0 {
+       status = "okay";
+       phy-mode = "10gbase-kr";
+};
+
 &cpm_eth2 {
        status = "okay";
        phy = <&phy1>;
        phy-mode = "rgmii-id";
 };
 
+/* CON6 on CP1 expansion */
+&cps_pcie0 {
+       status = "okay";
+};
+
+/* CON7 on CP1 expansion */
+&cps_pcie1 {
+       status = "okay";
+};
+
 /* CON5 on CP1 expansion */
 &cps_pcie2 {
        status = "okay";
        clock-frequency = <100000>;
 };
 
+&cps_spi1 {
+       status = "okay";
+
+       spi-flash@0 {
+               #address-cells = <0x1>;
+               #size-cells = <0x1>;
+               compatible = "jedec,spi-nor";
+               reg = <0x0>;
+               spi-max-frequency = <20000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "Boot";
+                               reg = <0x0 0x200000>;
+                       };
+                       partition@200000 {
+                               label = "Filesystem";
+                               reg = <0x200000 0xd00000>;
+                       };
+                       partition@f00000 {
+                               label = "Boot_2nd";
+                               reg = <0xf00000 0x100000>;
+                       };
+               };
+       };
+};
+
 /* CON4 on CP1 expansion */
 &cps_sata0 {
        status = "okay";
        status = "okay";
 };
 
+&cps_eth0 {
+       status = "okay";
+       phy-mode = "10gbase-kr";
+};
+
 &cps_eth1 {
        status = "okay";
        phy = <&phy0>;
index acf5c7d16d79b2f07eedf4691a1fc820073c7ffc..b3350827ee5583a3e4cbbbd416986f8ff7a2403e 100644 (file)
@@ -57,7 +57,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
 
 &uart0 {
        status = "okay";
+       pinctrl-0 = <&uart0_pins>;
+       pinctrl-names = "default";
 };
 
 &ap_sdhci0 {
 
 &cpm_eth0 {
        status = "okay";
+       /* Network PHY */
        phy = <&phy0>;
        phy-mode = "10gbase-kr";
+       /* Generic PHY, providing serdes lanes */
+       phys = <&cpm_comphy4 0>;
 };
 
 &cpm_sata0 {
 
 &cps_eth0 {
        status = "okay";
+       /* Network PHY */
        phy = <&phy8>;
        phy-mode = "10gbase-kr";
+       /* Generic PHY, providing serdes lanes */
+       phys = <&cps_comphy4 0>;
 };
 
 &cps_eth1 {
        /* CPS Lane 0 - J5 (Gigabit RJ45) */
        status = "okay";
+       /* Network PHY */
        phy = <&ge_phy>;
        phy-mode = "sgmii";
+       /* Generic PHY, providing serdes lanes */
+       phys = <&cps_comphy0 1>;
 };
 
 &cps_pinctrl {
index 707af833832be2039fa82af404e7ac3357b6b38d..85b58a19a9fb836175e41a465ee1fe5e8fd7d9bc 100644 (file)
@@ -55,7 +55,7 @@
                stdout-path = "serial0:115200n8";
        };
 
-       memory@00000000 {
+       memory@0 {
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
index 95a1ff60f6c1318998db8b214a496d5a6f79dbb9..b98ea137371d35636f6293e92896f05969f88879 100644 (file)
                #address-cells = <1>;
                #size-cells = <0>;
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x000>;
                        enable-method = "psci";
                };
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x001>;
index ba43a4357b8942a66e4d25fb901e5543e0dfcdea..116164ff260f35c5a186b5fde963b29f8a5dbfa0 100644 (file)
                #address-cells = <1>;
                #size-cells = <0>;
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x000>;
                        enable-method = "psci";
                };
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x001>;
index 30d48ecf46e087b24063c0ac546d45ae9afb0d88..1c4dd8ab9ad5c86962834549ed0f2ad4279f6f08 100644 (file)
 
                        };
 
+                       watchdog: watchdog@600000 {
+                               compatible = "arm,sbsa-gwdt";
+                               reg = <0x610000 0x1000>, <0x600000 0x1000>;
+                               interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+
                        ap_sdhci0: sdhci@6e0000 {
                                compatible = "marvell,armada-ap806-sdhci";
                                reg = <0x6e0000 0x300>;
 
                                ap_pinctrl: pinctrl {
                                        compatible = "marvell,ap806-pinctrl";
+
+                                       uart0_pins: uart0-pins {
+                                               marvell,pins = "mpp11", "mpp19";
+                                               marvell,function = "uart0";
+                                       };
                                };
 
                                ap_gpio: gpio@1040 {
index bf1b22b70384ceee5c1284bba316d3298fd21268..7f0661e12f5edcb91cb90722a3d5ca751b27fa58 100644 (file)
                #size-cells = <0>;
                compatible = "marvell,armada-ap810-octa";
 
-               cpu@000 {
+               cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x000>;
                        enable-method = "psci";
                };
-               cpu@001 {
+               cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0x001>;
index f2aa2a81de4dd2e982ec1e5fd5ae67f01bb08a63..e3b64d03fbd82844aaf65fc862e62d15af042133 100644 (file)
                                                     <ICU_GRP_NSR 43 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 47 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 51 IRQ_TYPE_LEVEL_HIGH>,
-                                                    <ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>;
+                                                    <ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>,
+                                                    <ICU_GRP_NSR 129 IRQ_TYPE_LEVEL_HIGH>;
                                        interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
-                                                         "tx-cpu3", "rx-shared";
+                                                         "tx-cpu3", "rx-shared", "link";
                                        port-id = <0>;
                                        gop-port-id = <0>;
                                        status = "disabled";
                                                     <ICU_GRP_NSR 44 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 48 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 52 IRQ_TYPE_LEVEL_HIGH>,
-                                                    <ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>;
+                                                    <ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>,
+                                                    <ICU_GRP_NSR 128 IRQ_TYPE_LEVEL_HIGH>;
                                        interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
-                                                         "tx-cpu3", "rx-shared";
+                                                         "tx-cpu3", "rx-shared", "link";
                                        port-id = <1>;
                                        gop-port-id = <2>;
                                        status = "disabled";
                                                     <ICU_GRP_NSR 45 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 49 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 53 IRQ_TYPE_LEVEL_HIGH>,
-                                                    <ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>;
+                                                    <ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>,
+                                                    <ICU_GRP_NSR 127 IRQ_TYPE_LEVEL_HIGH>;
                                        interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
-                                                         "tx-cpu3", "rx-shared";
+                                                         "tx-cpu3", "rx-shared", "link";
                                        port-id = <2>;
                                        gop-port-id = <3>;
                                        status = "disabled";
                                };
                        };
 
+                       cpm_comphy: phy@120000 {
+                               compatible = "marvell,comphy-cp110";
+                               reg = <0x120000 0x6000>;
+                               marvell,system-controller = <&cpm_syscon0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               cpm_comphy0: phy@0 {
+                                       reg = <0>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cpm_comphy1: phy@1 {
+                                       reg = <1>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cpm_comphy2: phy@2 {
+                                       reg = <2>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cpm_comphy3: phy@3 {
+                                       reg = <3>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cpm_comphy4: phy@4 {
+                                       reg = <4>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cpm_comphy5: phy@5 {
+                                       reg = <5>;
+                                       #phy-cells = <1>;
+                               };
+                       };
+
                        cpm_mdio: mdio@12a200 {
                                #address-cells = <1>;
                                #size-cells = <0>;
 
                        cpm_syscon0: system-controller@440000 {
                                compatible = "syscon", "simple-mfd";
-                               reg = <0x440000 0x1000>;
+                               reg = <0x440000 0x2000>;
 
                                cpm_clk: clock {
                                        compatible = "marvell,cp110-clock";
                                 * this controller is only usable on the CPM
                                 * for A7K and on the CPS for A8K.
                                 */
-                               compatible = "marvell,armada370-nand";
+                               compatible = "marvell,armada-8k-nand",
+                                            "marvell,armada370-nand";
                                reg = <0x720000 0x54>;
                                #address-cells = <1>;
                                #size-cells = <1>;
                                interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&cpm_clk 1 2>;
+                               marvell,system-controller = <&cpm_syscon0>;
                                status = "disabled";
                        };
 
index 4fe70323abb3a58c374a762607bb63f08b2cb0e0..0d51096c69f802e68cbf1e6392e26e0a553138ec 100644 (file)
                                                     <ICU_GRP_NSR 43 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 47 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 51 IRQ_TYPE_LEVEL_HIGH>,
-                                                    <ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>;
+                                                    <ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>,
+                                                    <ICU_GRP_NSR 129 IRQ_TYPE_LEVEL_HIGH>;
                                        interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
-                                                         "tx-cpu3", "rx-shared";
+                                                         "tx-cpu3", "rx-shared", "link";
                                        port-id = <0>;
                                        gop-port-id = <0>;
                                        status = "disabled";
                                                     <ICU_GRP_NSR 44 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 48 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 52 IRQ_TYPE_LEVEL_HIGH>,
-                                                    <ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>;
+                                                    <ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>,
+                                                    <ICU_GRP_NSR 128 IRQ_TYPE_LEVEL_HIGH>;
                                        interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
-                                                         "tx-cpu3", "rx-shared";
+                                                         "tx-cpu3", "rx-shared", "link";
                                        port-id = <1>;
                                        gop-port-id = <2>;
                                        status = "disabled";
                                                     <ICU_GRP_NSR 45 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 49 IRQ_TYPE_LEVEL_HIGH>,
                                                     <ICU_GRP_NSR 53 IRQ_TYPE_LEVEL_HIGH>,
-                                                    <ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>;
+                                                    <ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>,
+                                                    <ICU_GRP_NSR 127 IRQ_TYPE_LEVEL_HIGH>;
                                        interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
-                                                         "tx-cpu3", "rx-shared";
+                                                         "tx-cpu3", "rx-shared", "link";
                                        port-id = <2>;
                                        gop-port-id = <3>;
                                        status = "disabled";
                                };
                        };
 
+                       cps_comphy: phy@120000 {
+                               compatible = "marvell,comphy-cp110";
+                               reg = <0x120000 0x6000>;
+                               marvell,system-controller = <&cps_syscon0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               cps_comphy0: phy@0 {
+                                       reg = <0>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cps_comphy1: phy@1 {
+                                       reg = <1>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cps_comphy2: phy@2 {
+                                       reg = <2>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cps_comphy3: phy@3 {
+                                       reg = <3>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cps_comphy4: phy@4 {
+                                       reg = <4>;
+                                       #phy-cells = <1>;
+                               };
+
+                               cps_comphy5: phy@5 {
+                                       reg = <5>;
+                                       #phy-cells = <1>;
+                               };
+                       };
+
                        cps_mdio: mdio@12a200 {
                                #address-cells = <1>;
                                #size-cells = <0>;
 
                        cps_syscon0: system-controller@440000 {
                                compatible = "syscon", "simple-mfd";
-                               reg = <0x440000 0x1000>;
+                               reg = <0x440000 0x2000>;
 
                                cps_clk: clock {
                                        compatible = "marvell,cp110-clock";
                                 * this controller is only usable on the CPM
                                 * for A7K and on the CPS for A8K.
                                 */
-                               compatible = "marvell,armada370-nand";
+                               compatible = "marvell,armada370-nand",
+                                            "marvell,armada370-nand";
                                reg = <0x720000 0x54>;
                                #address-cells = <1>;
                                #size-cells = <1>;
index d6b800fd26d064016214e943da91cd8611dbb948..d2f88b92d8e21e867419e8556b4611c2e10a384d 100644 (file)
                        ranges = <0 0xe80000 0x10000>;
                        interrupt-parent = <&aic>;
 
-                       gpio0: gpio@0400 {
+                       gpio0: gpio@400 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0400 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio1: gpio@0800 {
+                       gpio1: gpio@800 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0800 0x400>;
                                #address-cells = <1>;
                                };
                        };
 
-                       gpio2: gpio@0c00 {
+                       gpio2: gpio@c00 {
                                compatible = "snps,dw-apb-gpio";
                                reg = <0x0c00 0x400>;
                                #address-cells = <1>;
index 57d0396b7faaf6fbdffa00d446616bf10213e90a..5d4e406bb35da6e154cc5f9166f2d0443e96e5a7 100644 (file)
@@ -39,6 +39,7 @@
                        device_type = "cpu";
                        compatible = "arm,cortex-a35";
                        reg = <0x000>;
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
                };
 
                cpu1: cpu@1 {
@@ -46,6 +47,7 @@
                        compatible = "arm,cortex-a35";
                        reg = <0x001>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
                };
 
                cpu2: cpu@200 {
                        compatible = "arm,cortex-a72";
                        reg = <0x200>;
                        enable-method = "psci";
+                       cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
+               };
+
+               idle-states {
+                       entry-method = "arm,psci";
+
+                       CPU_SLEEP_0: cpu-sleep-0 {
+                               compatible = "arm,idle-state";
+                               local-timer-stop;
+                               entry-latency-us = <100>;
+                               exit-latency-us = <80>;
+                               min-residency-us = <2000>;
+                               arm,psci-suspend-param = <0x0010000>;
+                       };
+
+                       CLUSTER_SLEEP_0: cluster-sleep-0 {
+                               compatible = "arm,idle-state";
+                               local-timer-stop;
+                               entry-latency-us = <350>;
+                               exit-latency-us = <80>;
+                               min-residency-us = <3000>;
+                               arm,psci-suspend-param = <0x1010000>;
+                       };
                };
        };
 
index c71d762bf697b4be7c31fd56f3c4f53a848d81f9..42a23997dcdb7d7d3d7e24178671b18c1cb43620 100644 (file)
                vmmc-supply = <&vdd_sd>;
        };
 
+       pcie@10003000 {
+               status = "okay";
+
+               dvdd-pex-supply = <&vdd_pex>;
+               hvdd-pex-pll-supply = <&vdd_1v8>;
+               hvdd-pex-supply = <&vdd_1v8>;
+               vddio-pexctl-aud-supply = <&vdd_1v8>;
+
+               pci@1,0 {
+                       nvidia,num-lanes = <4>;
+                       status = "okay";
+               };
+
+               pci@2,0 {
+                       nvidia,num-lanes = <0>;
+                       status = "disabled";
+               };
+
+               pci@3,0 {
+                       nvidia,num-lanes = <1>;
+                       status = "disabled";
+               };
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
 
index a9c3eef6c4e0911b6292b3a91fe4ccd1f9ddb61a..46d1f287fb0fe0df9d66339c41d3d9f2ebbca9e4 100644 (file)
@@ -5,6 +5,7 @@
 #include <dt-bindings/mailbox/tegra186-hsp.h>
 #include <dt-bindings/power/tegra186-powergate.h>
 #include <dt-bindings/reset/tegra186-reset.h>
+#include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
 
 / {
        compatible = "nvidia,tegra186";
                nvidia,bpmp = <&bpmp>;
        };
 
+       pcie@10003000 {
+               compatible = "nvidia,tegra186-pcie";
+               power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
+               device_type = "pci";
+               reg = <0x0 0x10003000 0x0 0x00000800   /* PADS registers */
+                      0x0 0x10003800 0x0 0x00000800   /* AFI registers */
+                      0x0 0x40000000 0x0 0x10000000>; /* configuration space */
+               reg-names = "pads", "afi", "cs";
+
+               interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
+                            <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
+               interrupt-names = "intr", "msi";
+
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0 0 0 0>;
+               interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
+
+               bus-range = <0x00 0xff>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+
+               ranges = <0x82000000 0 0x10000000 0x0 0x10000000 0 0x00001000   /* port 0 configuration space */
+                         0x82000000 0 0x10001000 0x0 0x10001000 0 0x00001000   /* port 1 configuration space */
+                         0x82000000 0 0x10004000 0x0 0x10004000 0 0x00001000   /* port 2 configuration space */
+                         0x81000000 0 0x0        0x0 0x50000000 0 0x00010000   /* downstream I/O (64 KiB) */
+                         0x82000000 0 0x50100000 0x0 0x50100000 0 0x07F00000   /* non-prefetchable memory (127 MiB) */
+                         0xc2000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */
+
+               clocks = <&bpmp TEGRA186_CLK_AFI>,
+                        <&bpmp TEGRA186_CLK_PCIE>,
+                        <&bpmp TEGRA186_CLK_PLLE>;
+               clock-names = "afi", "pex", "pll_e";
+
+               resets = <&bpmp TEGRA186_RESET_AFI>,
+                        <&bpmp TEGRA186_RESET_PCIE>,
+                        <&bpmp TEGRA186_RESET_PCIEXCLK>;
+               reset-names = "afi", "pex", "pcie_x";
+
+               status = "disabled";
+
+               pci@1,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;
+                       reg = <0x000800 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <2>;
+               };
+
+               pci@2,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;
+                       reg = <0x001000 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <1>;
+               };
+
+               pci@3,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;
+                       reg = <0x001800 0 0 0 0>;
+                       status = "disabled";
+
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       nvidia,num-lanes = <1>;
+               };
+       };
+
+       host1x@13e00000 {
+               compatible = "nvidia,tegra186-host1x", "simple-bus";
+               reg = <0x0 0x13e00000 0x0 0x10000>,
+                     <0x0 0x13e10000 0x0 0x10000>;
+               reg-names = "hypervisor", "vm";
+               interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&bpmp TEGRA186_CLK_HOST1X>;
+               clock-names = "host1x";
+               resets = <&bpmp TEGRA186_RESET_HOST1X>;
+               reset-names = "host1x";
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               ranges = <0x15000000 0x0 0x15000000 0x01000000>;
+
+               vic@15340000 {
+                       compatible = "nvidia,tegra186-vic";
+                       reg = <0x15340000 0x40000>;
+                       interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&bpmp TEGRA186_CLK_VIC>;
+                       clock-names = "vic";
+                       resets = <&bpmp TEGRA186_RESET_VIC>;
+                       reset-names = "vic";
+
+                       power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
+               };
+       };
+
        gpu@17000000 {
                compatible = "nvidia,gp10b";
                reg = <0x0 0x17000000 0x0 0x1000000>,
                shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
                #clock-cells = <1>;
                #reset-cells = <1>;
+               #power-domain-cells = <1>;
 
                bpmp_i2c: i2c {
                        compatible = "nvidia,tegra186-bpmp-i2c";
                        #size-cells = <0>;
                        status = "disabled";
                };
+
+               bpmp_thermal: thermal {
+                       compatible = "nvidia,tegra186-bpmp-thermal";
+                       #thermal-sensor-cells = <1>;
+               };
+       };
+
+       thermal-zones {
+               a57 {
+                       polling-delay = <0>;
+                       polling-delay-passive = <1000>;
+
+                       thermal-sensors =
+                               <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>;
+
+                       trips {
+                               critical {
+                                       temperature = <101000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                       };
+               };
+
+               denver {
+                       polling-delay = <0>;
+                       polling-delay-passive = <1000>;
+
+                       thermal-sensors =
+                               <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>;
+
+                       trips {
+                               critical {
+                                       temperature = <101000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                       };
+               };
+
+               gpu {
+                       polling-delay = <0>;
+                       polling-delay-passive = <1000>;
+
+                       thermal-sensors =
+                               <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>;
+
+                       trips {
+                               critical {
+                                       temperature = <101000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                       };
+               };
+
+               pll {
+                       polling-delay = <0>;
+                       polling-delay-passive = <1000>;
+
+                       thermal-sensors =
+                               <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>;
+
+                       trips {
+                               critical {
+                                       temperature = <101000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                       };
+               };
+
+               always_on {
+                       polling-delay = <0>;
+                       polling-delay-passive = <1000>;
+
+                       thermal-sensors =
+                               <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>;
+
+                       trips {
+                               critical {
+                                       temperature = <101000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                       };
+               };
        };
 
        timer {
index 1d63e6b879de7cc51784077be9b138f9f5635c8e..33a3297eb2843f132a2fabdcc8b1d4af931bcbc0 100644 (file)
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/sound/apq8016-lpass.h>
 
+/*
+ * GPIO name legend: proper name = the GPIO line is used as GPIO
+ *         NC = not connected (pin out but not routed from the chip to
+ *              anything the board)
+ *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
+ *         LSEC = Low Speed External Connector
+ *         HSEC = High Speed External Connector
+ *
+ * Line names are taken from the schematic "DragonBoard410c"
+ * dated monday, august 31, 2015. Page 5 in particular.
+ *
+ * For the lines routed to the external connectors the
+ * lines are named after the 96Boards CE Specification 1.0,
+ * Appendix "Expansion Connector Signal Description".
+ *
+ * When the 96Board naming of a line and the schematic name of
+ * the same line are in conflict, the 96Board specification
+ * takes precedence, which means that the external UART on the
+ * LSEC is named UART0 while the schematic and SoC names this
+ * UART3. This is only for the informational lines i.e. "[FOO]",
+ * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
+ * ones actually used for GPIO.
+ */
+
 / {
        aliases {
                serial0 = &blsp1_uart2;
        };
 
        soc {
+               pinctrl@1000000 {
+                       gpio-line-names =
+                               "[UART0_TX]", /* GPIO_0, LSEC pin 5 */
+                               "[UART0_RX]", /* GPIO_1, LSEC pin 7 */
+                               "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
+                               "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
+                               "[UART1_TX]", /* GPIO_4, LSEC pin 11 */
+                               "[UART1_RX]", /* GPIO_5, LSEC pin 13 */
+                               "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
+                               "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
+                               "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
+                               "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
+                               "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
+                               "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
+                               "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
+                               "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
+                               "[I2C3_SDA]", /* HSEC pin 38 */
+                               "[I2C3_SCL]", /* HSEC pin 36 */
+                               "[SPI0_MOSI]", /* LSEC pin 14 */
+                               "[SPI0_MISO]", /* LSEC pin 10 */
+                               "[SPI0_CS_N]", /* LSEC pin 12 */
+                               "[SPI0_CLK]", /* LSEC pin 8 */
+                               "HDMI_HPD_N", /* GPIO 20 */
+                               "USR_LED_1_CTRL",
+                               "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
+                               "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
+                               "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
+                               "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
+                               "[CSI0_MCLK]", /* HSEC pin 15 */
+                               "[CSI1_MCLK]", /* HSEC pin 17 */
+                               "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
+                               "[I2C2_SDA]", /* HSEC pin 34 */
+                               "[I2C2_SCL]", /* HSEC pin 32 */
+                               "DSI2HDMI_INT_N",
+                               "DSI_SW_SEL_APQ",
+                               "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
+                               "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
+                               "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
+                               "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
+                               "FORCED_USB_BOOT",
+                               "SD_CARD_DET_N",
+                               "[WCSS_BT_SSBI]",
+                               "[WCSS_WLAN_DATA_2]", /* GPIO 40 */
+                               "[WCSS_WLAN_DATA_1]",
+                               "[WCSS_WLAN_DATA_0]",
+                               "[WCSS_WLAN_SET]",
+                               "[WCSS_WLAN_CLK]",
+                               "[WCSS_FM_SSBI]",
+                               "[WCSS_FM_SDI]",
+                               "[WCSS_BT_DAT_CTL]",
+                               "[WCSS_BT_DAT_STB]",
+                               "NC",
+                               "NC", /* GPIO 50 */
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC", /* GPIO 60 */
+                               "NC",
+                               "NC",
+                               "[CDC_PDM0_CLK]",
+                               "[CDC_PDM0_SYNC]",
+                               "[CDC_PDM0_TX0]",
+                               "[CDC_PDM0_RX0]",
+                               "[CDC_PDM0_RX1]",
+                               "[CDC_PDM0_RX2]",
+                               "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
+                               "NC", /* GPIO 70 */
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC", /* GPIO 74 */
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "BOOT_CONFIG_0", /* GPIO 80 */
+                               "BOOT_CONFIG_1",
+                               "BOOT_CONFIG_2",
+                               "BOOT_CONFIG_3",
+                               "NC",
+                               "NC",
+                               "BOOT_CONFIG_5",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC", /* GPIO 90 */
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC",
+                               "NC", /* GPIO 100 */
+                               "NC",
+                               "NC",
+                               "NC",
+                               "SSBI_GPS",
+                               "NC",
+                               "NC",
+                               "KEY_VOLP_N",
+                               "NC",
+                               "NC",
+                               "[LS_EXP_MI2S_WS]", /* GPIO 110 */
+                               "NC",
+                               "NC",
+                               "[LS_EXP_MI2S_SCK]",
+                               "[LS_EXP_MI2S_DATA0]",
+                               "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
+                               "NC",
+                               "[DSI2HDMI_MI2S_WS]",
+                               "[DSI2HDMI_MI2S_SCK]",
+                               "[DSI2HDMI_MI2S_DATA0]",
+                               "USR_LED_2_CTRL", /* GPIO 120 */
+                               "SB_HS_ID";
+               };
+
                dma@7884000 {
                        status = "okay";
                };
                        };
                };
 
-               sdhci@07824000 {
+               sdhci@7824000 {
                        vmmc-supply = <&pm8916_l8>;
                        vqmmc-supply = <&pm8916_l5>;
 
                        status = "okay";
                };
 
-               sdhci@07864000 {
+               sdhci@7864000 {
                        vmmc-supply = <&pm8916_l11>;
                        vqmmc-supply = <&pm8916_l12>;
 
                        };
                };
 
-               lpass@07708000 {
+               lpass@7708000 {
                        status = "okay";
                };
 
                         };
                 };
 
+               spmi@200f000 {
+                       pm8916@0 {
+                               gpios@c000 {
+                                       gpio-line-names =
+                                               "USR_LED_3_CTRL",
+                                               "USR_LED_4_CTRL",
+                                               "USB_HUB_RESET_N_PM",
+                                               "USB_SW_SEL_PM";
+                               };
+                               mpps@a000 {
+                                       gpio-line-names =
+                                               "VDD_PX_BIAS",
+                                               "WLAN_LED_CTRL",
+                                               "BT_LED_CTRL",
+                                               "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
+                               };
+                       };
+               };
+
                wcnss@a21b000 {
                        status = "okay";
                };
         status = "okay";
         clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
         clock-names = "mclk";
+       qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
+       qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
 };
 
 &smd_rpm_regulators {
index 789f3e87321e2d47e51d5af9346441addd385413..492a011f14f6cef933dc16ce9cf591d8cdc5c79e 100644 (file)
                        pinctrl-1 = <&blsp2_uart2_4pins_sleep>;
                };
 
-               i2c@07577000 {
+               i2c@7577000 {
                /* On Low speed expansion */
                        label = "LS-I2C0";
                        status = "okay";
                };
 
-               i2c@075b6000 {
+               i2c@75b6000 {
                /* On Low speed expansion */
                        label = "LS-I2C1";
                        status = "okay";
                };
 
-               spi@07575000 {
+               spi@7575000 {
                /* On Low speed expansion */
                        label = "LS-SPI0";
                        status = "okay";
                };
 
-               i2c@075b5000 {
+               i2c@75b5000 {
                /* On High speed expansion */
                        label = "HS-I2C2";
                        status = "okay";
                };
 
-               spi@075ba000{
+               spi@75ba000{
                /* On High speed expansion */
                        label = "HS-SPI1";
                        status = "okay";
                        pinctrl-names = "default";
                        pinctrl-0 = <&usb2_vbus_det_gpio>;
                };
+
+               agnoc@0 {
+                       qcom,pcie@00600000 {
+                               perst-gpio = <&msmgpio 35 GPIO_ACTIVE_LOW>;
+                       };
+
+                       qcom,pcie@00608000 {
+                               status = "okay";
+                               perst-gpio = <&msmgpio 130 GPIO_ACTIVE_LOW>;
+                       };
+
+                       qcom,pcie@00610000 {
+                               status = "okay";
+                               perst-gpio = <&msmgpio 114 GPIO_ACTIVE_LOW>;
+                       };
+               };
        };
 
 
                                        regulator-min-microvolt = <1300000>;
                                        regulator-max-microvolt = <1300000>;
                                };
+
+                               /**
+                                * 1.8v required on LS expansion
+                                * for mezzanine boards
+                                */
                                s4 {
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
                                };
                                s5 {
                                        regulator-min-microvolt = <2150000>;
index dc3817593e144708a514a5605491801056e662ab..6b2127a6ced1369d57139de5cc5866eb4ec379a8 100644 (file)
                };
 
                rmtfs@86700000 {
+                       compatible = "qcom,rmtfs-mem";
                        reg = <0x0 0x86700000 0x0 0xe0000>;
                        no-map;
+
+                       qcom,client-id = <1>;
                };
 
                rfsa@867e00000 {
                        clocks = <&gcc GCC_CRYPTO_CLK>, <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
                        clock-names = "core", "bus", "iface";
                        #reset-cells = <1>;
+
+                       qcom,dload-mode = <&tcsr 0x6100>;
                };
        };
 
                        status = "disabled";
                };
 
-               lpass: lpass@07708000 {
+               lpass: lpass@7708000 {
                        status = "disabled";
                        compatible = "qcom,lpass-cpu-apq8016";
                        clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
                        #sound-dai-cells = <1>;
                 };
 
-               sdhc_1: sdhci@07824000 {
+               sdhc_1: sdhci@7824000 {
                        compatible = "qcom,sdhci-msm-v4";
                        reg = <0x07824900 0x11c>, <0x07824000 0x800>;
                        reg-names = "hc_mem", "core_mem";
                        status = "disabled";
                };
 
-               sdhc_2: sdhci@07864000 {
+               sdhc_2: sdhci@7864000 {
                        compatible = "qcom,sdhci-msm-v4";
                        reg = <0x07864900 0x11c>, <0x07864000 0x800>;
                        reg-names = "hc_mem", "core_mem";
 
                        mdp: mdp@1a01000 {
                                compatible = "qcom,mdp5";
-                               reg = <0x1a01000 0x90000>;
+                               reg = <0x1a01000 0x89000>;
                                reg-names = "mdp_phys";
 
                                interrupt-parent = <&mdss>;
index 659940434842aba7cb0fd5ca1cd767f70a5efa6a..c5c42e94f38785f33513c9ca3cf98692ecaece89 100644 (file)
                        drive-strength = <2>;   /* 2 MA */
                };
        };
+
+       pcie0_clkreq_default: pcie0_clkreq_default {
+               mux {
+                       pins = "gpio36";
+                       function = "pci_e0";
+               };
+
+               config {
+                       pins = "gpio36";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie0_perst_default: pcie0_perst_default {
+               mux {
+                       pins = "gpio35";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio35";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       pcie0_wake_default: pcie0_wake_default {
+               mux {
+                       pins = "gpio37";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio37";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie0_clkreq_sleep: pcie0_clkreq_sleep {
+               mux {
+                       pins = "gpio36";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio36";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       pcie0_wake_sleep: pcie0_wake_sleep {
+               mux {
+                       pins = "gpio37";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio37";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       pcie1_clkreq_default: pcie1_clkreq_default {
+               mux {
+                       pins = "gpio131";
+                       function = "pci_e1";
+               };
+
+               config {
+                       pins = "gpio131";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie1_perst_default: pcie1_perst_default {
+               mux {
+                       pins = "gpio130";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio130";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       pcie1_wake_default: pcie1_wake_default {
+               mux {
+                       pins = "gpio132";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio132";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       pcie1_clkreq_sleep: pcie1_clkreq_sleep {
+               mux {
+                       pins = "gpio131";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio131";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       pcie1_wake_sleep: pcie1_wake_sleep {
+               mux {
+                       pins = "gpio132";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio132";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       pcie2_clkreq_default: pcie2_clkreq_default {
+               mux {
+                       pins = "gpio115";
+                       function = "pci_e2";
+               };
+
+               config {
+                       pins = "gpio115";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie2_perst_default: pcie2_perst_default {
+               mux {
+                       pins = "gpio114";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio114";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       pcie2_wake_default: pcie2_wake_default {
+               mux {
+                       pins = "gpio116";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio116";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       pcie2_clkreq_sleep: pcie2_clkreq_sleep {
+               mux {
+                       pins = "gpio115";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio115";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       pcie2_wake_sleep: pcie2_wake_sleep {
+               mux {
+                       pins = "gpio116";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio116";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
 };
index 887b61c872dd15b697e4d1969b26be5010a18d4e..4b2afcc4fdf4791da816c6bba3c6f2ef7741ad8d 100644 (file)
@@ -13,6 +13,7 @@
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
 #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
+#include <dt-bindings/clock/qcom,rpmcc.h>
 
 / {
        model = "Qualcomm Technologies, Inc. MSM8996";
        firmware {
                scm {
                        compatible = "qcom,scm-msm8996";
+
+                       qcom,dload-mode = <&tcsr 0x13000>;
                };
        };
 
                        compatible = "qcom,rpm-msm8996";
                        qcom,glink-channels = "rpm_requests";
 
+                       rpmcc: qcom,rpmcc {
+                               compatible = "qcom,rpmcc-msm8996";
+                               #clock-cells = <1>;
+                       };
+
                        pm8994-regulators {
                                compatible = "qcom,rpm-pm8994-regulators";
 
                        reg = <0x740000 0x20000>;
                };
 
+               tcsr: syscon@7a0000 {
+                       compatible = "qcom,tcsr-msm8996", "syscon";
+                       reg = <0x7a0000 0x18000>;
+               };
+
                intc: interrupt-controller@9bc0000 {
                        compatible = "arm,gic-v3";
                        #interrupt-cells = <3>;
                        #clock-cells = <1>;
                };
 
-               blsp1_spi0: spi@07575000 {
+               blsp1_spi0: spi@7575000 {
                        compatible = "qcom,spi-qup-v2.2.1";
                        reg = <0x07575000 0x600>;
                        interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";
                };
 
-               blsp2_i2c0: i2c@075b5000 {
+               blsp2_i2c0: i2c@75b5000 {
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x075b5000 0x1000>;
                        interrupts = <GIC_SPI 101 0>;
                        status = "disabled";
                };
 
-               blsp2_i2c1: i2c@075b6000 {
+               blsp2_i2c1: i2c@75b6000 {
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x075b6000 0x1000>;
                        interrupts = <GIC_SPI 102 0>;
                        status = "disabled";
                };
 
-               blsp1_i2c2: i2c@07577000 {
+               blsp1_i2c2: i2c@7577000 {
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x07577000 0x1000>;
                        interrupts = <GIC_SPI 97 0>;
                        status = "disabled";
                };
 
-               blsp2_spi5: spi@075ba000{
+               blsp2_spi5: spi@75ba000{
                        compatible = "qcom,spi-qup-v2.2.1";
                        reg = <0x075ba000 0x600>;
                        interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
                        #interrupt-cells = <2>;
                };
 
-               timer@09840000 {
+               timer@9840000 {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
                                phy-names = "usb2-phy", "usb3-phy";
                        };
                };
+
+               agnoc@0 {
+                       power-domains = <&gcc AGGRE0_NOC_GDSC>;
+                       compatible = "simple-pm-bus";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       pcie0: qcom,pcie@00600000 {
+                               compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
+                               status = "disabled";
+                               power-domains = <&gcc PCIE0_GDSC>;
+                               bus-range = <0x00 0xff>;
+                               num-lanes = <1>;
+
+                               reg = <0x00600000 0x2000>,
+                                     <0x0c000000 0xf1d>,
+                                     <0x0c000f20 0xa8>,
+                                     <0x0c100000 0x100000>;
+                               reg-names = "parf", "dbi", "elbi","config";
+
+                               phys = <&pciephy_0>;
+                               phy-names = "pciephy";
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges = <0x01000000 0x0 0x0c200000 0x0c200000 0x0 0x100000>,
+                                       <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
+
+                               interrupts = <GIC_SPI 405 IRQ_TYPE_NONE>;
+                               interrupt-names = "msi";
+                               #interrupt-cells = <1>;
+                               interrupt-map-mask = <0 0 0 0x7>;
+                               interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+                                               <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+                                               <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+                                               <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+
+                               pinctrl-names = "default", "sleep";
+                               pinctrl-0 = <&pcie0_clkreq_default &pcie0_perst_default &pcie0_wake_default>;
+                               pinctrl-1 = <&pcie0_clkreq_sleep &pcie0_perst_default &pcie0_wake_sleep>;
+
+
+                               vdda-supply = <&pm8994_l28>;
+
+                               linux,pci-domain = <0>;
+
+                               clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
+                                       <&gcc GCC_PCIE_0_AUX_CLK>,
+                                       <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
+                                       <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
+                                       <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
+
+                               clock-names =  "pipe",
+                                               "aux",
+                                               "cfg",
+                                               "bus_master",
+                                               "bus_slave";
+
+                       };
+
+                       pcie1: qcom,pcie@00608000 {
+                               compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
+                               power-domains = <&gcc PCIE1_GDSC>;
+                               bus-range = <0x00 0xff>;
+                               num-lanes = <1>;
+
+                               status  = "disabled";
+
+                               reg = <0x00608000 0x2000>,
+                                     <0x0d000000 0xf1d>,
+                                     <0x0d000f20 0xa8>,
+                                     <0x0d100000 0x100000>;
+
+                               reg-names = "parf", "dbi", "elbi","config";
+
+                               phys = <&pciephy_1>;
+                               phy-names = "pciephy";
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges = <0x01000000 0x0 0x0d200000 0x0d200000 0x0 0x100000>,
+                                       <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
+
+                               interrupts = <GIC_SPI 413 IRQ_TYPE_NONE>;
+                               interrupt-names = "msi";
+                               #interrupt-cells = <1>;
+                               interrupt-map-mask = <0 0 0 0x7>;
+                               interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+                                               <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+                                               <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+                                               <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+
+                               pinctrl-names = "default", "sleep";
+                               pinctrl-0 = <&pcie1_clkreq_default &pcie1_perst_default &pcie1_wake_default>;
+                               pinctrl-1 = <&pcie1_clkreq_sleep &pcie1_perst_default &pcie1_wake_sleep>;
+
+
+                               vdda-supply = <&pm8994_l28>;
+                               linux,pci-domain = <1>;
+
+                               clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
+                                       <&gcc GCC_PCIE_1_AUX_CLK>,
+                                       <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
+                                       <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
+                                       <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
+
+                               clock-names =  "pipe",
+                                               "aux",
+                                               "cfg",
+                                               "bus_master",
+                                               "bus_slave";
+                       };
+
+                       pcie2: qcom,pcie@00610000 {
+                               compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
+                               power-domains = <&gcc PCIE2_GDSC>;
+                               bus-range = <0x00 0xff>;
+                               num-lanes = <1>;
+                               status = "disabled";
+                               reg = <0x00610000 0x2000>,
+                                     <0x0e000000 0xf1d>,
+                                     <0x0e000f20 0xa8>,
+                                     <0x0e100000 0x100000>;
+
+                               reg-names = "parf", "dbi", "elbi","config";
+
+                               phys = <&pciephy_2>;
+                               phy-names = "pciephy";
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges = <0x01000000 0x0 0x0e200000 0x0e200000 0x0 0x100000>,
+                                       <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
+
+                               device_type = "pci";
+
+                               interrupts = <GIC_SPI 421 IRQ_TYPE_NONE>;
+                               interrupt-names = "msi";
+                               #interrupt-cells = <1>;
+                               interrupt-map-mask = <0 0 0 0x7>;
+                               interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+                                               <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+                                               <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+                                               <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+
+                               pinctrl-names = "default", "sleep";
+                               pinctrl-0 = <&pcie2_clkreq_default &pcie2_perst_default &pcie2_wake_default>;
+                               pinctrl-1 = <&pcie2_clkreq_sleep &pcie2_perst_default &pcie2_wake_sleep >;
+
+                               vdda-supply = <&pm8994_l28>;
+
+                               linux,pci-domain = <2>;
+                               clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
+                                       <&gcc GCC_PCIE_2_AUX_CLK>,
+                                       <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
+                                       <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
+                                       <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
+
+                               clock-names =  "pipe",
+                                               "aux",
+                                               "cfg",
+                                               "bus_master",
+                                               "bus_slave";
+                       };
+               };
        };
 
        adsp-pil {
index 6e2ae59a374537be15c2e8efde168ad87470d229..c108d73f8766ccb70b6c768dc757cfb7ee7b3bac 100644 (file)
@@ -1 +1,3 @@
+dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-mele-v9.dtb
+dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-probox2-ava.dtb
 dtb-$(CONFIG_ARCH_REALTEK) += rtd1295-zidoo-x9s.dtb
diff --git a/arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts b/arch/arm64/boot/dts/realtek/rtd1295-mele-v9.dts
new file mode 100644 (file)
index 0000000..bd584e9
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include "rtd1295.dtsi"
+
+/ {
+       compatible = "mele,v9", "realtek,rtd1295";
+       model = "MeLE V9";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x80000000>;
+       };
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&uart0 {
+       status = "okay";
+};
diff --git a/arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts b/arch/arm64/boot/dts/realtek/rtd1295-probox2-ava.dts
new file mode 100644 (file)
index 0000000..8e2b0e7
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/dts-v1/;
+
+#include "rtd1295.dtsi"
+
+/ {
+       compatible = "probox2,ava", "realtek,rtd1295";
+       model = "PROBOX2 AVA";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x80000000>;
+       };
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&uart0 {
+       status = "okay";
+};
index 6efa8091bb30bbb742a2587472655270932aa358..da19faab29d5219cb831a2f8e7dea601ba3b76df 100644 (file)
@@ -6,12 +6,6 @@
 
 /dts-v1/;
 
-/memreserve/   0x0000000000000000 0x0000000000030000;
-/memreserve/   0x000000000001f000 0x0000000000001000;
-/memreserve/   0x0000000000030000 0x00000000000d0000;
-/memreserve/   0x0000000001b00000 0x00000000004be000;
-/memreserve/   0x0000000001ffe000 0x0000000000004000;
-
 #include "rtd1295.dtsi"
 
 / {
index d8f84666c8ce3e79a978242cc3eb3f38a03f4382..8d9ac05d17dc179f5acada2d94e41222199506d3 100644 (file)
@@ -6,13 +6,10 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
-#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "rtd129x.dtsi"
 
 / {
        compatible = "realtek,rtd1295";
-       interrupt-parent = <&gic>;
-       #address-cells = <1>;
-       #size-cells = <1>;
 
        cpus {
                #address-cells = <2>;
                };
        };
 
-       arm-pmu {
-               compatible = "arm,cortex-a53-pmu";
-               interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
-               interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
-       };
-
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <GIC_PPI 13
                             <GIC_PPI 10
                        (GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>;
        };
+};
 
-       soc {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <1>;
-               /* Exclude up to 2 GiB of RAM */
-               ranges = <0x80000000 0x80000000 0x80000000>;
-
-               uart0: serial@98007800 {
-                       compatible = "snps,dw-apb-uart";
-                       reg = <0x98007800 0x400>,
-                             <0x98007000 0x100>;
-                       reg-shift = <2>;
-                       reg-io-width = <4>;
-                       clock-frequency = <27000000>;
-                       status = "disabled";
-               };
-
-               uart1: serial@9801b200 {
-                       compatible = "snps,dw-apb-uart";
-                       reg = <0x9801b200 0x100>,
-                             <0x9801b00c 0x100>;
-                       reg-shift = <2>;
-                       reg-io-width = <4>;
-                       clock-frequency = <432000000>;
-                       status = "disabled";
-               };
-
-               uart2: serial@9801b400 {
-                       compatible = "snps,dw-apb-uart";
-                       reg = <0x9801b400 0x100>,
-                             <0x9801b00c 0x100>;
-                       reg-shift = <2>;
-                       reg-io-width = <4>;
-                       clock-frequency = <432000000>;
-                       status = "disabled";
-               };
-
-               gic: interrupt-controller@ff011000 {
-                       compatible = "arm,gic-400";
-                       reg = <0xff011000 0x1000>,
-                             <0xff012000 0x2000>,
-                             <0xff014000 0x2000>,
-                             <0xff016000 0x2000>;
-                       interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
-                       interrupt-controller;
-                       #interrupt-cells = <3>;
-               };
-       };
+&arm_pmu {
+       interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
 };
diff --git a/arch/arm64/boot/dts/realtek/rtd129x.dtsi b/arch/arm64/boot/dts/realtek/rtd129x.dtsi
new file mode 100644 (file)
index 0000000..b9cb924
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Realtek RTD1293/RTD1295/RTD1296 SoC
+ *
+ * Copyright (c) 2016-2017 Andreas Färber
+ *
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ */
+
+/memreserve/   0x0000000000000000 0x0000000000030000;
+/memreserve/   0x000000000001f000 0x0000000000001000;
+/memreserve/   0x0000000000030000 0x00000000000d0000;
+/memreserve/   0x0000000001b00000 0x00000000004be000;
+/memreserve/   0x0000000001ffe000 0x0000000000004000;
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+       interrupt-parent = <&gic>;
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       arm_pmu: arm-pmu {
+               compatible = "arm,cortex-a53-pmu";
+               interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               /* Exclude up to 2 GiB of RAM */
+               ranges = <0x80000000 0x80000000 0x80000000>;
+
+               uart0: serial@98007800 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x98007800 0x400>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clock-frequency = <27000000>;
+                       status = "disabled";
+               };
+
+               uart1: serial@9801b200 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x9801b200 0x100>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clock-frequency = <432000000>;
+                       status = "disabled";
+               };
+
+               uart2: serial@9801b400 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x9801b400 0x100>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       clock-frequency = <432000000>;
+                       status = "disabled";
+               };
+
+               gic: interrupt-controller@ff011000 {
+                       compatible = "arm,gic-400";
+                       reg = <0xff011000 0x1000>,
+                             <0xff012000 0x2000>,
+                             <0xff014000 0x2000>,
+                             <0xff016000 0x2000>;
+                       interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+               };
+       };
+};
index 6b282283f1bfea096251f4bdfb585b18bedd2a7f..646198d829035882e8fbe130aac9b7aa4808c3d0 100644 (file)
@@ -1,6 +1,10 @@
 # SPDX-License-Identifier: GPL-2.0
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
+dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb
 dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts
new file mode 100644 (file)
index 0000000..009cb1c
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the H3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-es1-h3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+       model = "Renesas H3ULCB Kingfisher board based on r8a7795 ES1.x";
+       compatible = "shimafuji,kingfisher", "renesas,h3ulcb",
+                    "renesas,r8a7795";
+};
index aaa5e67a963ea9ff1b0dddc3a18d46b3e8ae2031..655dd30639c55027c73424f5bf6c086dee69cf64 100644 (file)
@@ -11,7 +11,7 @@
 #include "r8a7795.dtsi"
 
 &soc {
-       xhci1: usb@ee0400000 {
+       xhci1: usb@ee040000 {
                compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
                reg = <0 0xee040000 0 0xc00>;
                interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts
new file mode 100644 (file)
index 0000000..4403227
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the H3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-h3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+       model = "Renesas H3ULCB Kingfisher board based on r8a7795 ES2.0+";
+       compatible = "shimafuji,kingfisher", "renesas,h3ulcb",
+                    "renesas,r8a7795";
+};
index 2938195b9571dd6cd2f568737679770202bc1a3f..15ef292a8d9ff0feadbae66aa8442caa81b72d55 100644 (file)
 
                gpio0: gpio@e6050000 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6050000 0 0x50>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio1: gpio@e6051000 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6051000 0 0x50>;
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio2: gpio@e6052000 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6052000 0 0x50>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio3: gpio@e6053000 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6053000 0 0x50>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio4: gpio@e6054000 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6054000 0 0x50>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio5: gpio@e6055000 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6055000 0 0x50>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio6: gpio@e6055400 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6055400 0 0x50>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio7: gpio@e6055800 {
                        compatible = "renesas,gpio-r8a7795",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6055800 0 0x50>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        status = "disabled";
                };
 
+               usb3_peri0: usb@ee020000 {
+                       compatible = "renesas,r8a7795-usb3-peri",
+                                    "renesas,rcar-gen3-usb3-peri";
+                       reg = <0 0xee020000 0 0x400>;
+                       interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 328>;
+                       power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       resets = <&cpg 328>;
+                       status = "disabled";
+               };
+
                usb_dmac0: dma-controller@e65a0000 {
                        compatible = "renesas,r8a7795-usb-dmac",
                                     "renesas,usb-dmac";
                        renesas,fcp = <&fcpf1>;
                };
 
-               hdmi0: hdmi0@fead0000 {
+               hdmi0: hdmi@fead0000 {
                        compatible = "renesas,r8a7795-hdmi", "renesas,rcar-gen3-hdmi";
                        reg = <0 0xfead0000 0 0x10000>;
                        interrupts = <GIC_SPI 389 IRQ_TYPE_LEVEL_HIGH>;
                        };
                };
 
-               hdmi1: hdmi1@feae0000 {
+               hdmi1: hdmi@feae0000 {
                        compatible = "renesas,r8a7795-hdmi", "renesas,rcar-gen3-hdmi";
                        reg = <0 0xfeae0000 0 0x10000>;
                        interrupts = <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
new file mode 100644 (file)
index 0000000..de2390f
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the M3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7796-m3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+       model = "Renesas M3ULCB Kingfisher board based on r8a7796";
+       compatible = "shimafuji,kingfisher", "renesas,m3ulcb",
+                    "renesas,r8a7796";
+};
index 369092e17e3412914d3204d7f308d57fed3cb152..f2b2e40c655ec7e7656ebe963ad9d7badb1dbd9d 100644 (file)
 
                gpio0: gpio@e6050000 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6050000 0 0x50>;
                        interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio1: gpio@e6051000 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6051000 0 0x50>;
                        interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio2: gpio@e6052000 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6052000 0 0x50>;
                        interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio3: gpio@e6053000 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6053000 0 0x50>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio4: gpio@e6054000 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6054000 0 0x50>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio5: gpio@e6055000 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6055000 0 0x50>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio6: gpio@e6055400 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6055400 0 0x50>;
                        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
 
                gpio7: gpio@e6055800 {
                        compatible = "renesas,gpio-r8a7796",
-                                    "renesas,gpio-rcar";
+                                    "renesas,rcar-gen3-gpio";
                        reg = <0 0xe6055800 0 0x50>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                        #gpio-cells = <2>;
                        #power-domain-cells = <1>;
                };
 
+               intc_ex: interrupt-controller@e61c0000 {
+                       compatible = "renesas,intc-ex-r8a7796", "renesas,irqc";
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       reg = <0 0xe61c0000 0 0x200>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 407>;
+                       power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+                       resets = <&cpg 407>;
+               };
+
                i2c_dvfs: i2c@e60b0000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                };
 
+               usb3_peri0: usb@ee020000 {
+                       compatible = "renesas,r8a7796-usb3-peri",
+                                    "renesas,rcar-gen3-usb3-peri";
+                       reg = <0 0xee020000 0 0x400>;
+                       interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 328>;
+                       power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+                       resets = <&cpg 328>;
+                       status = "disabled";
+               };
+
                ohci0: usb@ee080000 {
                        compatible = "generic-ohci";
                        reg = <0 0xee080000 0 0x100>;
                        /* placeholder */
                };
 
+               fdp1@fe940000 {
+                       compatible = "renesas,fdp1";
+                       reg = <0 0xfe940000 0 0x2400>;
+                       interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 119>;
+                       power-domains = <&sysc R8A7796_PD_A3VC>;
+                       resets = <&cpg 119>;
+                       renesas,fcp = <&fcpf0>;
+               };
+
                fcpf0: fcp@fe950000 {
                        compatible = "renesas,fcpf";
                        reg = <0 0xfe950000 0 0x200>;
diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
new file mode 100644 (file)
index 0000000..a711e77
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Device Tree Source for the Eagle board
+ *
+ * Copyright (C) 2016-2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "r8a77970.dtsi"
+
+/ {
+       model = "Renesas Eagle board based on r8a77970";
+       compatible = "renesas,eagle", "renesas,r8a77970";
+
+       aliases {
+               serial0 = &scif0;
+               ethernet0 = &avb;
+       };
+
+       chosen {
+               bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
+               stdout-path = "serial0:115200n8";
+       };
+
+       memory@48000000 {
+               device_type = "memory";
+               /* first 128MB is reserved for secure area. */
+               reg = <0x0 0x48000000 0x0 0x38000000>;
+       };
+};
+
+&extal_clk {
+       clock-frequency = <16666666>;
+};
+
+&extalr_clk {
+       clock-frequency = <32768>;
+};
+
+&scif0 {
+       status = "okay";
+};
+
+&avb {
+       renesas,no-ether-link;
+       phy-handle = <&phy0>;
+       status = "okay";
+
+       phy0: ethernet-phy@0 {
+               rxc-skew-ps = <1500>;
+               reg = <0>;
+       };
+};
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
new file mode 100644 (file)
index 0000000..97e6981
--- /dev/null
@@ -0,0 +1,382 @@
+/*
+ * Device Tree Source for the r8a77970 SoC
+ *
+ * Copyright (C) 2016-2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/renesas-cpg-mssr.h>
+
+/ {
+       compatible = "renesas,r8a77970";
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       psci {
+               compatible = "arm,psci-1.0", "arm,psci-0.2";
+               method = "smc";
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               a53_0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0>;
+                       clocks = <&cpg CPG_CORE 0>;
+                       power-domains = <&sysc 5>;
+                       next-level-cache = <&L2_CA53>;
+                       enable-method = "psci";
+               };
+
+               L2_CA53: cache-controller {
+                       compatible = "cache";
+                       power-domains = <&sysc 21>;
+                       cache-unified;
+                       cache-level = <2>;
+               };
+       };
+
+       extal_clk: extal {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board */
+               clock-frequency = <0>;
+       };
+
+       extalr_clk: extalr {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               /* This value must be overridden by the board */
+               clock-frequency = <0>;
+       };
+
+       /* External SCIF clock - to be overridden by boards that provide it */
+       scif_clk: scif {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <0>;
+       };
+
+       soc {
+               compatible = "simple-bus";
+               interrupt-parent = <&gic>;
+
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               gic: interrupt-controller@f1010000 {
+                       compatible = "arm,gic-400";
+                       #interrupt-cells = <3>;
+                       #address-cells = <0>;
+                       interrupt-controller;
+                       reg = <0 0xf1010000 0 0x1000>,
+                             <0 0xf1020000 0 0x20000>,
+                             <0 0xf1040000 0 0x20000>,
+                             <0 0xf1060000 0 0x20000>;
+                       interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) |
+                                     IRQ_TYPE_LEVEL_HIGH)>;
+                       clocks = <&cpg CPG_MOD 408>;
+                       clock-names = "clk";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 408>;
+               };
+
+               timer {
+                       compatible = "arm,armv8-timer";
+                       interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
+                                                 IRQ_TYPE_LEVEL_LOW)>,
+                                    <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
+                                                 IRQ_TYPE_LEVEL_LOW)>,
+                                    <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) |
+                                                 IRQ_TYPE_LEVEL_LOW)>,
+                                    <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) |
+                                                 IRQ_TYPE_LEVEL_LOW)>;
+               };
+
+               cpg: clock-controller@e6150000 {
+                       compatible = "renesas,r8a77970-cpg-mssr";
+                       reg = <0 0xe6150000 0 0x1000>;
+                       clocks = <&extal_clk>, <&extalr_clk>;
+                       clock-names = "extal", "extalr";
+                       #clock-cells = <2>;
+                       #power-domain-cells = <0>;
+                       #reset-cells = <1>;
+               };
+
+               rst: reset-controller@e6160000 {
+                       compatible = "renesas,r8a77970-rst";
+                       reg = <0 0xe6160000 0 0x200>;
+               };
+
+               sysc: system-controller@e6180000 {
+                       compatible = "renesas,r8a77970-sysc";
+                       reg = <0 0xe6180000 0 0x440>;
+                       #power-domain-cells = <1>;
+               };
+
+               intc_ex: interrupt-controller@e61c0000 {
+                       compatible = "renesas,intc-ex-r8a77970", "renesas,irqc";
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       reg = <0 0xe61c0000 0 0x200>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 407>;
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 407>;
+               };
+
+               prr: chipid@fff00044 {
+                       compatible = "renesas,prr";
+                       reg = <0 0xfff00044 0 4>;
+               };
+
+               dmac1: dma-controller@e7300000 {
+                       compatible = "renesas,dmac-r8a77970",
+                                    "renesas,rcar-dmac";
+                       reg = <0 0xe7300000 0 0x10000>;
+                       interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "error",
+                                         "ch0", "ch1", "ch2", "ch3",
+                                         "ch4", "ch5", "ch6", "ch7";
+                       clocks = <&cpg CPG_MOD 218>;
+                       clock-names = "fck";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 218>;
+                       #dma-cells = <1>;
+                       dma-channels = <8>;
+               };
+
+               dmac2: dma-controller@e7310000 {
+                       compatible = "renesas,dmac-r8a77970",
+                                    "renesas,rcar-dmac";
+                       reg = <0 0xe7310000 0 0x10000>;
+                       interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "error",
+                                         "ch0", "ch1", "ch2", "ch3",
+                                         "ch4", "ch5", "ch6", "ch7";
+                       clocks = <&cpg CPG_MOD 217>;
+                       clock-names = "fck";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 217>;
+                       #dma-cells = <1>;
+                       dma-channels = <8>;
+               };
+
+               hscif0: serial@e6540000 {
+                       compatible = "renesas,hscif-r8a77970",
+                                    "renesas,rcar-gen3-hscif",
+                                    "renesas,hscif";
+                       reg = <0 0xe6540000 0 96>;
+                       interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 520>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x31>, <&dmac1 0x30>,
+                              <&dmac2 0x31>, <&dmac2 0x30>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 520>;
+                       status = "disabled";
+               };
+
+               hscif1: serial@e6550000 {
+                       compatible = "renesas,hscif-r8a77970",
+                                    "renesas,rcar-gen3-hscif",
+                                    "renesas,hscif";
+                       reg = <0 0xe6550000 0 96>;
+                       interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 519>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x33>, <&dmac1 0x32>,
+                              <&dmac2 0x33>, <&dmac2 0x32>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 519>;
+                       status = "disabled";
+               };
+
+               hscif2: serial@e6560000 {
+                       compatible = "renesas,hscif-r8a77970",
+                                    "renesas,rcar-gen3-hscif",
+                                    "renesas,hscif";
+                       reg = <0 0xe6560000 0 96>;
+                       interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 518>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x35>, <&dmac1 0x34>,
+                              <&dmac2 0x35>, <&dmac2 0x34>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 518>;
+                       status = "disabled";
+               };
+
+               hscif3: serial@e66a0000 {
+                       compatible = "renesas,hscif-r8a77970",
+                                    "renesas,rcar-gen3-hscif", "renesas,hscif";
+                       reg = <0 0xe66a0000 0 96>;
+                       interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 517>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x37>, <&dmac1 0x36>,
+                              <&dmac2 0x37>, <&dmac2 0x36>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 517>;
+                       status = "disabled";
+               };
+
+               scif0: serial@e6e60000 {
+                       compatible = "renesas,scif-r8a77970",
+                                    "renesas,rcar-gen3-scif",
+                                    "renesas,scif";
+                       reg = <0 0xe6e60000 0 64>;
+                       interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 207>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x51>, <&dmac1 0x50>,
+                              <&dmac2 0x51>, <&dmac2 0x50>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 207>;
+                       status = "disabled";
+               };
+
+               scif1: serial@e6e68000 {
+                       compatible = "renesas,scif-r8a77970",
+                                    "renesas,rcar-gen3-scif",
+                                    "renesas,scif";
+                       reg = <0 0xe6e68000 0 64>;
+                       interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 206>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x53>, <&dmac1 0x52>,
+                              <&dmac2 0x53>, <&dmac2 0x52>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 206>;
+                       status = "disabled";
+               };
+
+               scif3: serial@e6c50000 {
+                       compatible = "renesas,scif-r8a77970",
+                                    "renesas,rcar-gen3-scif",
+                                    "renesas,scif";
+                       reg = <0 0xe6c50000 0 64>;
+                       interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 204>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x57>, <&dmac1 0x56>,
+                              <&dmac2 0x57>, <&dmac2 0x56>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 204>;
+                       status = "disabled";
+               };
+
+               scif4: serial@e6c40000 {
+                       compatible = "renesas,scif-r8a77970",
+                                    "renesas,rcar-gen3-scif", "renesas,scif";
+                       reg = <0 0xe6c40000 0 64>;
+                       interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 203>,
+                                <&cpg CPG_CORE 9>,
+                                <&scif_clk>;
+                       clock-names = "fck", "brg_int", "scif_clk";
+                       dmas = <&dmac1 0x59>, <&dmac1 0x58>,
+                              <&dmac2 0x59>, <&dmac2 0x58>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 203>;
+                       status = "disabled";
+               };
+
+               avb: ethernet@e6800000 {
+                       compatible = "renesas,etheravb-r8a77970",
+                                    "renesas,etheravb-rcar-gen3";
+                       reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
+                       interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "ch0", "ch1", "ch2", "ch3",
+                                         "ch4", "ch5", "ch6", "ch7",
+                                         "ch8", "ch9", "ch10", "ch11",
+                                         "ch12", "ch13", "ch14", "ch15",
+                                         "ch16", "ch17", "ch18", "ch19",
+                                         "ch20", "ch21", "ch22", "ch23",
+                                         "ch24";
+                       clocks = <&cpg CPG_MOD 812>;
+                       power-domains = <&sysc 32>;
+                       resets = <&cpg 812>;
+                       phy-mode = "rgmii-id";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+       };
+};
index d144370051d559fc9b43fd6ab01f2a5e546d94ce..09de73b11db8aab2c3e0639d4296dd31d5b598aa 100644 (file)
@@ -11,6 +11,7 @@
 
 /dts-v1/;
 #include "r8a77995.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "Renesas Draak board based on r8a77995";
@@ -18,6 +19,7 @@
 
        aliases {
                serial0 = &scif2;
+               ethernet0 = &avb;
        };
 
        chosen {
        clock-frequency = <48000000>;
 };
 
+&pfc {
+       avb0_pins: avb {
+               mux {
+                       groups = "avb0_link", "avb0_mdc", "avb0_mii";
+                       function = "avb0";
+               };
+       };
+
+       pwm0_pins: pwm0 {
+               groups = "pwm0_c";
+               function = "pwm0";
+       };
+
+       pwm1_pins: pwm1 {
+               groups = "pwm1_c";
+               function = "pwm1";
+       };
+
+       scif2_pins: scif2 {
+               groups = "scif2_data";
+               function = "scif2";
+       };
+
+       usb0_pins: usb0 {
+               groups = "usb0";
+               function = "usb0";
+       };
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&avb {
+       pinctrl-0 = <&avb0_pins>;
+       pinctrl-names = "default";
+       renesas,no-ether-link;
+       phy-handle = <&phy0>;
+       status = "okay";
+
+       phy0: ethernet-phy@0 {
+               rxc-skew-ps = <1500>;
+               reg = <0>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
+       };
+};
+
 &scif2 {
+       pinctrl-0 = <&scif2_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&usb2_phy0 {
+       pinctrl-0 = <&usb0_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pwm0 {
+       pinctrl-0 = <&pwm0_pins>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pwm1 {
+       pinctrl-0 = <&pwm1_pins>;
+       pinctrl-names = "default";
+
        status = "okay";
 };
 
index d0f95b78c022de07bed57a2df667c743dbc43814..788e3afae6e330a0072428ba3a2d32781e358cd0 100644 (file)
@@ -9,8 +9,9 @@
  * kind, whether express or implied.
  */
 
-#include <dt-bindings/clock/renesas-cpg-mssr.h>
+#include <dt-bindings/clock/r8a77995-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/power/r8a77995-sysc.h>
 
 / {
        compatible = "renesas,r8a77995";
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0x0>;
                        device_type = "cpu";
-                       power-domains = <&sysc 5>;
+                       power-domains = <&sysc R8A77995_PD_CA53_CPU0>;
                        next-level-cache = <&L2_CA53>;
                        enable-method = "psci";
                };
 
                L2_CA53: cache-controller-1 {
                        compatible = "cache";
-                       power-domains = <&sysc 21>;
+                       power-domains = <&sysc R8A77995_PD_CA53_SCU>;
                        cache-unified;
                        cache-level = <2>;
                };
@@ -76,7 +77,7 @@
                                        (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
                        clocks = <&cpg CPG_MOD 408>;
                        clock-names = "clk";
-                       power-domains = <&sysc 32>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
                        resets = <&cpg 408>;
                };
 
@@ -97,7 +98,7 @@
                                     "renesas,rcar-gen3-wdt";
                        reg = <0 0xe6020000 0 0x0c>;
                        clocks = <&cpg CPG_MOD 402>;
-                       power-domains = <&sysc 32>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
                        resets = <&cpg 402>;
                        status = "disabled";
                };
                        reg = <0 0xe6160000 0 0x0200>;
                };
 
-               pfc: pfc@e6060000 {
+               pfc: pin-controller@e6060000 {
                        compatible = "renesas,pfc-r8a77995";
                        reg = <0 0xe6060000 0 0x508>;
                };
                        #power-domain-cells = <1>;
                };
 
+               intc_ex: interrupt-controller@e61c0000 {
+                       compatible = "renesas,intc-ex-r8a77995", "renesas,irqc";
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       reg = <0 0xe61c0000 0 0x200>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
+                                     GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 407>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 407>;
+               };
+
+               gpio0: gpio@e6050000 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6050000 0 0x50>;
+                       interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 0 9>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 912>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 912>;
+               };
+
+               gpio1: gpio@e6051000 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6051000 0 0x50>;
+                       interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 32 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 911>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 911>;
+               };
+
+               gpio2: gpio@e6052000 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6052000 0 0x50>;
+                       interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 64 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 910>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 910>;
+               };
+
+               gpio3: gpio@e6053000 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6053000 0 0x50>;
+                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 96 10>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 909>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 909>;
+               };
+
+               gpio4: gpio@e6054000 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6054000 0 0x50>;
+                       interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 128 32>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 908>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 908>;
+               };
+
+               gpio5: gpio@e6055000 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6055000 0 0x50>;
+                       interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 160 21>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 907>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 907>;
+               };
+
+               gpio6: gpio@e6055400 {
+                       compatible = "renesas,gpio-r8a77995",
+                                    "renesas,rcar-gen3-gpio",
+                                    "renesas,gpio-rcar";
+                       reg = <0 0xe6055400 0 0x50>;
+                       interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pfc 0 192 14>;
+                       #interrupt-cells = <2>;
+                       interrupt-controller;
+                       clocks = <&cpg CPG_MOD 906>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 906>;
+               };
+
+               avb: ethernet@e6800000 {
+                       compatible = "renesas,etheravb-r8a77995",
+                                    "renesas,etheravb-rcar-gen3";
+                       reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
+                       interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "ch0", "ch1", "ch2", "ch3",
+                                         "ch4", "ch5", "ch6", "ch7",
+                                         "ch8", "ch9", "ch10", "ch11",
+                                         "ch12", "ch13", "ch14", "ch15",
+                                         "ch16", "ch17", "ch18", "ch19",
+                                         "ch20", "ch21", "ch22", "ch23",
+                                         "ch24";
+                       clocks = <&cpg CPG_MOD 812>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 812>;
+                       phy-mode = "rgmii-txid";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
                scif2: serial@e6e88000 {
                        compatible = "renesas,scif-r8a77995",
                                     "renesas,rcar-gen3-scif", "renesas,scif";
                        reg = <0 0xe6e88000 0 64>;
                        interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 310>,
-                                <&cpg CPG_CORE 16>,
+                                <&cpg CPG_CORE R8A77995_CLK_S3D1C>,
                                 <&scif_clk>;
                        clock-names = "fck", "brg_int", "scif_clk";
-                       power-domains = <&sysc 32>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
                        resets = <&cpg 310>;
                        status = "disabled";
                };
+
+               pwm0: pwm@e6e30000 {
+                       compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
+                       reg = <0 0xe6e30000 0 0x8>;
+                       #pwm-cells = <2>;
+                       clocks = <&cpg CPG_MOD 523>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 523>;
+                       status = "disabled";
+               };
+
+               pwm1: pwm@e6e31000 {
+                       compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
+                       reg = <0 0xe6e31000 0 0x8>;
+                       #pwm-cells = <2>;
+                       clocks = <&cpg CPG_MOD 523>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 523>;
+                       status = "disabled";
+               };
+
+               pwm2: pwm@e6e32000 {
+                       compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
+                       reg = <0 0xe6e32000 0 0x8>;
+                       #pwm-cells = <2>;
+                       clocks = <&cpg CPG_MOD 523>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 523>;
+                       status = "disabled";
+               };
+
+               pwm3: pwm@e6e33000 {
+                       compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
+                       reg = <0 0xe6e33000 0 0x8>;
+                       #pwm-cells = <2>;
+                       clocks = <&cpg CPG_MOD 523>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 523>;
+                       status = "disabled";
+               };
+
+               ehci0: usb@ee080100 {
+                       compatible = "generic-ehci";
+                       reg = <0 0xee080100 0 0x100>;
+                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       phys = <&usb2_phy0>;
+                       phy-names = "usb";
+                       companion = <&ohci0>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       status = "disabled";
+               };
+
+               ohci0: usb@ee080000 {
+                       compatible = "generic-ohci";
+                       reg = <0 0xee080000 0 0x100>;
+                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       phys = <&usb2_phy0>;
+                       phy-names = "usb";
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       status = "disabled";
+               };
+
+               usb2_phy0: usb-phy@ee080200 {
+                       compatible = "renesas,usb2-phy-r8a77995",
+                                    "renesas,rcar-gen3-usb2-phy";
+                       reg = <0 0xee080200 0 0x700>;
+                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 703>;
+                       power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
+                       resets = <&cpg 703>;
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
        };
 };
index d9d885006a8e8c9a6630f635132b6d0c24370ccc..a298df74ca6c037f373f78f5fd310a4d8e8c0e64 100644 (file)
@@ -52,7 +52,7 @@
                 */
                compatible = "fixed-clock";
                #clock-cells = <0>;
-               clock-frequency = <11289600>;
+               clock-frequency = <12288000>;
        };
 
        backlight: backlight {
 };
 
 &ehci0 {
+       dr_mode = "otg";
        status = "okay";
 };
 
 };
 
 &hsusb {
+       dr_mode = "otg";
        status = "okay";
 };
 
 };
 
 &ohci0 {
+       dr_mode = "otg";
        status = "okay";
 };
 
 
        avb_pins: avb {
                mux {
-                       groups = "avb_link", "avb_phy_int", "avb_mdc",
-                                "avb_mii";
+                       groups = "avb_link", "avb_mdc", "avb_mii";
                        function = "avb";
                };
 
                        bias-pull-down;
                };
        };
+
+       usb30_pins: usb30 {
+               groups = "usb30";
+               function = "usb30";
+       };
 };
 
 &pwm1 {
 };
 
 &xhci0 {
+       pinctrl-0 = <&usb30_pins>;
+       pinctrl-names = "default";
+
        status = "okay";
 };
diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
new file mode 100644 (file)
index 0000000..657ad10
--- /dev/null
@@ -0,0 +1,169 @@
+/*
+ * Device Tree Source for the Kingfisher (ULCB extension) board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/ {
+       aliases {
+               serial1 = &hscif0;
+               serial2 = &scif1;
+       };
+};
+
+&can0 {
+       pinctrl-0 = <&can0_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&can1 {
+       pinctrl-0 = <&can1_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&hscif0 {
+       pinctrl-0 = <&hscif0_pins>;
+       pinctrl-names = "default";
+       uart-has-rtscts;
+
+       status = "okay";
+};
+
+&hsusb {
+       status = "okay";
+};
+
+&i2c2 {
+       gpio_exp_74: gpio@74 {
+               compatible = "ti,tca9539";
+               reg = <0x74>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               interrupt-controller;
+               interrupt-parent = <&gpio6>;
+               interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+
+               hub_pwen {
+                       gpio-hog;
+                       gpios = <6 GPIO_ACTIVE_HIGH>;
+                       output-high;
+                       line-name = "HUB pwen";
+               };
+
+               hub_rst {
+                       gpio-hog;
+                       gpios = <7 GPIO_ACTIVE_HIGH>;
+                       output-high;
+                       line-name = "HUB rst";
+               };
+       };
+
+       gpio_exp_75: gpio@75 {
+               compatible = "ti,tca9539";
+               reg = <0x75>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               interrupt-controller;
+               interrupt-parent = <&gpio6>;
+               interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+       };
+
+       i2cswitch2: i2c-switch@71 {
+               compatible = "nxp,pca9548";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x71>;
+               reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&i2c4 {
+       gpio_exp_76: gpio@76 {
+               compatible = "ti,tca9539";
+               reg = <0x76>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               interrupt-controller;
+               interrupt-parent = <&gpio7>;
+               interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+       };
+
+       gpio_exp_77: gpio@77 {
+               compatible = "ti,tca9539";
+               reg = <0x77>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               interrupt-controller;
+               interrupt-parent = <&gpio5>;
+               interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+       };
+
+       i2cswitch4: i2c-switch@71 {
+               compatible = "nxp,pca9548";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0x71>;
+               reset-gpios= <&gpio3 15 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&pcie_bus_clk {
+       clock-frequency = <100000000>;
+};
+
+&pciec0 {
+       status = "okay";
+};
+
+&pciec1 {
+       status = "okay";
+};
+
+&pfc {
+       can0_pins: can0 {
+               groups = "can0_data_a";
+               function = "can0";
+       };
+
+       can1_pins: can1 {
+               groups = "can1_data";
+               function = "can1";
+       };
+
+       hscif0_pins: hscif0 {
+               groups = "hscif0_data", "hscif0_ctrl";
+               function = "hscif0";
+       };
+
+       scif1_pins: scif1 {
+               groups = "scif1_data_b", "scif1_ctrl";
+               function = "scif1";
+       };
+};
+
+&scif1 {
+       pinctrl-0 = <&scif1_pins>;
+       pinctrl-names = "default";
+       uart-has-rtscts;
+
+       status = "okay";
+};
+
+&xhci0 {
+       status = "okay";
+};
index 1b868df2393ffa3dd07ac2ab6c221e9c5c4c9898..0d85b315ce711c8f0d896d7861204036ce9b0ec3 100644 (file)
@@ -31,7 +31,7 @@
                 */
                compatible = "fixed-clock";
                #clock-cells = <0>;
-               clock-frequency = <11289600>;
+               clock-frequency = <12288000>;
        };
 
        hdmi0-out {
        };
 };
 
+&du {
+       status = "okay";
+};
+
 &ehci1 {
        status = "okay";
 };
 
        avb_pins: avb {
                mux {
-                       groups = "avb_link", "avb_phy_int", "avb_mdc",
-                                "avb_mii";
+                       groups = "avb_link", "avb_mdc", "avb_mii";
                        function = "avb";
                };
 
index 8e6a6543175673d6fd9e3d7e5d370b29ac7a2c50..3d551e3e6c23a5f9eaa58c45d9db5a59eafec79e 100644 (file)
                regulator-max-microvolt = <12000000>;
        };
 
+       sdio_pwrseq: sdio-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               pinctrl-names = "default";
+               pinctrl-0 = <&wifi_enable_h>;
+
+               /*
+                * On the module itself this is one of these (depending
+                * on the actual card populated):
+                * - SDIO_RESET_L_WL_REG_ON
+                * - PDN (power down when low)
+                */
+               reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
+       };
+
+       vcc_sd: sdmmc-regulator {
+               compatible = "regulator-fixed";
+               gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdmmc0m1_gpio>;
+               regulator-name = "vcc_sd";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vcc_io>;
+       };
+
        vcc_sys: vcc-sys {
                compatible = "regulator-fixed";
                regulator-name = "vcc_sys";
        };
 };
 
+&cpu0 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&emmc {
+       bus-width = <8>;
+       cap-mmc-highspeed;
+       non-removable;
+       pinctrl-names = "default";
+       pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+       status = "okay";
+};
+
 &gmac2phy {
        phy-supply = <&vcc_phy>;
        clock_in_out = "output";
        assigned-clock-rate = <50000000>;
        assigned-clocks = <&cru SCLK_MAC2PHY>;
        assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
-       status = "okay";
+
 };
 
 &i2c1 {
                        rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
+
+       sdio-pwrseq {
+               wifi_enable_h: wifi-enable-h {
+               rockchip,pins =
+                       <1 18 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+};
+
+&sdio {
+       bus-width = <4>;
+       cap-sd-highspeed;
+       cap-sdio-irq;
+       keep-power-in-suspend;
+       max-frequency = <150000000>;
+       mmc-pwrseq = <&sdio_pwrseq>;
+       non-removable;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
+       status = "okay";
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       disable-wp;
+       max-frequency = <150000000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+       vmmc-supply = <&vcc_sd>;
+       status = "okay";
 };
 
 &tsadc {
index 1070c8264c13376a578338e95421f71321825243..aa4d07046a7ba9644316cd7c57b43b64b5327766 100644 (file)
                status = "disabled";
        };
 
+       efuse256: efuse@ffb00000 {
+               compatible = "rockchip,rk3368-efuse";
+               reg = <0x0 0xffb00000 0x0 0x20>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               clocks = <&cru PCLK_EFUSE256>;
+               clock-names = "pclk_efuse";
+
+               cpu_leakage: cpu-leakage@17 {
+                       reg = <0x17 0x1>;
+               };
+               temp_adjust: temp-adjust@1f {
+                       reg = <0x1f 0x1>;
+               };
+       };
+
        gic: interrupt-controller@ffb71000 {
                compatible = "arm,gic-400";
                interrupt-controller;
index fef82274a39dac27fc6e293affc81b4ff5d5d64b..4f28628aa09116f553b5e4fafa463bead619293e 100644 (file)
        model = "Firefly-RK3399 Board";
        compatible = "firefly,firefly-rk3399", "rockchip,rk3399";
 
+       chosen {
+               stdout-path = "serial2:1500000n8";
+       };
+
        backlight: backlight {
                compatible = "pwm-backlight";
                enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
 
+&hdmi {
+       ddc-i2c-bus = <&i2c3>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_cec>;
+       status = "okay";
+};
+
 &i2c0 {
        clock-frequency = <400000>;
        i2c-scl-rising-time-ns = <168>;
        status = "okay";
        dr_mode = "host";
 };
+
+&vopb {
+       status = "okay";
+};
+
+&vopb_mmu {
+       status = "okay";
+};
+
+&vopl {
+       status = "okay";
+};
+
+&vopl_mmu {
+       status = "okay";
+};
index a3d3cea7dc4f60578e5901e13546ad36fa497f41..0384e3121f1840cc06602d0ea6879a13a6a59765 100644 (file)
@@ -249,6 +249,10 @@ ap_i2c_dig: &i2c2 {
                pinctrl-0 = <&trackpad_int_l>;
                interrupt-parent = <&gpio1>;
                interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+               linux,gpio-keymap = <KEY_RESERVED
+                                    KEY_RESERVED
+                                    KEY_RESERVED
+                                    BTN_LEFT>;
                wakeup-source;
        };
 };
index 199a5118b20dab39f744dfc21814b1a9dafb166f..5772c52fbfd3fd06c61df77bd57d8a5e2786c7b5 100644 (file)
        sound {
                compatible = "rockchip,rk3399-gru-sound";
                rockchip,cpu = <&i2s0 &i2s2>;
-               rockchip,codec = <&max98357a &headsetcodec &codec>;
+               rockchip,codec = <&max98357a &headsetcodec
+                                 &codec &wacky_spi_audio>;
        };
 };
 
index ab7629c5b856d7a6ed2ac8e95600262e098a01d6..d340b58ab184adb865c836aa1be23719b0075ab3 100644 (file)
                status = "disabled";
        };
 
+       rga: rga@ff680000 {
+               compatible = "rockchip,rk3399-rga";
+               reg = <0x0 0xff680000 0x0 0x10000>;
+               interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH 0>;
+               clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
+               clock-names = "aclk", "hclk", "sclk";
+               resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>;
+               reset-names = "core", "axi", "ahb";
+               power-domains = <&power RK3399_PD_RGA>;
+       };
+
        efuse0: efuse@ff690000 {
                compatible = "rockchip,rk3399-efuse";
                reg = <0x0 0xff690000 0x0 0x80>;
                compatible = "rockchip,rk3399-dw-hdmi";
                reg = <0x0 0xff940000 0x0 0x20000>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>;
-               clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_SFR>, <&cru PLL_VPLL>, <&cru PCLK_VIO_GRF>;
-               clock-names = "iahb", "isfr", "vpll", "grf";
+               clocks = <&cru PCLK_HDMI_CTRL>,
+                        <&cru SCLK_HDMI_SFR>,
+                        <&cru PLL_VPLL>,
+                        <&cru PCLK_VIO_GRF>,
+                        <&cru SCLK_HDMI_CEC>;
+               clock-names = "iahb", "isfr", "vpll", "grf", "cec";
                power-domains = <&power RK3399_PD_HDCP>;
                reg-io-width = <4>;
                rockchip,grf = <&grf>;
index ffb473ad2e0fdbad76e43e50ddcaf3eb32f30c72..dd7193acc7dfa54aebf712fe7bbb3264159565f0 100644 (file)
 };
 
 &ethsc {
-       interrupts = <0 48 4>;
+       interrupt-parent = <&gpio>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq0 {
+               gpio-hog;
+               gpios = <120 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
index 09c429cb6d6167454d3fbe988aa1945242f8018f..1c63d0ab8a58d04c5febaa78161b32b80b68ac19 100644 (file)
@@ -7,6 +7,8 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/gpio.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
@@ -49,7 +51,7 @@
                };
        };
 
-       cluster0_opp: opp_table {
+       cluster0_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
                };
        };
 
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
+       };
+
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <1 13 4>,
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>,
+                                     <&pinctrl 43 0 0>,
+                                     <&pinctrl 51 0 0>,
+                                     <&pinctrl 96 0 0>,
+                                     <&pinctrl 160 0 0>,
+                                     <&pinctrl 184 0 0>;
+                       gpio-ranges-group-names = "gpio_range0",
+                                                 "gpio_range1",
+                                                 "gpio_range2",
+                                                 "gpio_range3",
+                                                 "gpio_range4",
+                                                 "gpio_range5";
+                       ngpios = <200>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
+                                                    <21 217 3>;
                };
 
                adamv@57920000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 43 4>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c4>;
                        clocks = <&peri_clk 8>;
+                       resets = <&peri_rst 8>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_emmc>;
                        clocks = <&sys_clk 4>;
+                       resets = <&sys_rst 4>;
                        bus-width = <8>;
                        mmc-ddr-1_8v;
                        mmc-hs200-1_8v;
+                       mmc-pwrseq = <&emmc_pwrseq>;
                        cdns,phy-input-delay-legacy = <4>;
                        cdns,phy-input-delay-mmc-highspeed = <2>;
                        cdns,phy-input-delay-mmc-ddr = <3>;
                        };
                };
 
+               soc-glue@5f900000 {
+                       compatible = "socionext,uniphier-ld11-soc-glue-debug",
+                                    "simple-mfd";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x5f900000 0x2000>;
+
+                       efuse@100 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x100 0x28>;
+                       };
+
+                       efuse@200 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x200 0x68>;
+                       };
+               };
+
                aidet: aidet@5fc20000 {
                        compatible = "socionext,uniphier-ld11-aidet";
                        reg = <0x5fc20000 0x200>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index 1ca0c8620dc5ac33118a72beb5b586ab8ff0ce2f..d99e3731358c4aed8f7933fb49a8ba4db7a290b0 100644 (file)
 };
 
 &ethsc {
-       interrupts = <0 48 4>;
+       interrupt-parent = <&gpio>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq0 {
+               gpio-hog;
+               gpios = <120 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
index a29c279b6e8e4c484b14c77047d1b8436103f6b3..5c81070944ccbbc4fd0dee253d57d2b5ec139234 100644 (file)
@@ -7,6 +7,9 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/thermal/thermal.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
@@ -46,6 +49,7 @@
                        clocks = <&sys_clk 32>;
                        enable-method = "psci";
                        operating-points-v2 = <&cluster0_opp>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -64,6 +68,7 @@
                        clocks = <&sys_clk 33>;
                        enable-method = "psci";
                        operating-points-v2 = <&cluster1_opp>;
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@101 {
@@ -76,7 +81,7 @@
                };
        };
 
-       cluster0_opp: opp_table0 {
+       cluster0_opp: opp-table0 {
                compatible = "operating-points-v2";
                opp-shared;
 
                };
        };
 
-       cluster1_opp: opp_table1 {
+       cluster1_opp: opp-table1 {
                compatible = "operating-points-v2";
                opp-shared;
 
                };
        };
 
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
+       };
+
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <1 13 4>,
                             <1 10 4>;
        };
 
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <250>;  /* 250ms */
+                       polling-delay = <1000>;         /* 1000ms */
+                       thermal-sensors = <&pvtctl>;
+
+                       trips {
+                               cpu_crit: cpu-crit {
+                                       temperature = <110000>; /* 110C */
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                               cpu_alert: cpu-alert {
+                                       temperature = <100000>; /* 100C */
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu0
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                               map1 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu2
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
+
        soc@0 {
                compatible = "simple-bus";
                #address-cells = <1>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>,
+                                     <&pinctrl 96 0 0>,
+                                     <&pinctrl 160 0 0>;
+                       gpio-ranges-group-names = "gpio_range0",
+                                                 "gpio_range1",
+                                                 "gpio_range2";
+                       ngpios = <205>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
+                                                    <21 217 3>;
                };
 
                adamv@57920000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 43 4>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c4>;
                        clocks = <&peri_clk 8>;
+                       resets = <&peri_rst 8>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_emmc>;
                        clocks = <&sys_clk 4>;
+                       resets = <&sys_rst 4>;
                        bus-width = <8>;
                        mmc-ddr-1_8v;
                        mmc-hs200-1_8v;
+                       mmc-pwrseq = <&emmc_pwrseq>;
                        cdns,phy-input-delay-legacy = <4>;
                        cdns,phy-input-delay-mmc-highspeed = <2>;
                        cdns,phy-input-delay-mmc-ddr = <3>;
                        };
                };
 
+               soc-glue@5f900000 {
+                       compatible = "socionext,uniphier-ld20-soc-glue-debug",
+                                    "simple-mfd";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x5f900000 0x2000>;
+
+                       efuse@100 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x100 0x28>;
+                       };
+
+                       efuse@200 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x200 0x68>;
+                       };
+               };
+
                aidet: aidet@5fc20000 {
                        compatible = "socionext,uniphier-ld20-aidet";
                        reg = <0x5fc20000 0x200>;
                        watchdog {
                                compatible = "socionext,uniphier-wdt";
                        };
+
+                       pvtctl: pvtctl {
+                               compatible = "socionext,uniphier-ld20-thermal";
+                               interrupts = <0 3 4>;
+                               #thermal-sensor-cells = <0>;
+                               socionext,tmod-calibration = <0x0f22 0x68ee>;
+                       };
                };
 
                nand: nand@68000000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index d65f746a3f9d7843761f057840786236fc8a3abd..864feeb3518014f2f9670e3f82c5815c624d038a 100644 (file)
@@ -38,7 +38,8 @@
 };
 
 &ethsc {
-       interrupts = <0 52 4>;
+       interrupt-parent = <&gpio>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
@@ -60,3 +61,7 @@
 &i2c3 {
        status = "okay";
 };
+
+&nand {
+       status = "okay";
+};
index 384729fa740f0b3b8863e1c7c47ddfe50fb9160c..48e733136db4580ffd06963f622b7ce7ada92d61 100644 (file)
@@ -7,6 +7,8 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/gpio.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
@@ -73,7 +75,7 @@
                };
        };
 
-       cluster0_opp: opp_table {
+       cluster0_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
                };
        };
 
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
+       };
+
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <1 13 4>,
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
+                       resets = <&peri_rst 3>;
+               };
+
+               gpio: gpio@55000000 {
+                       compatible = "socionext,uniphier-gpio";
+                       reg = <0x55000000 0x200>;
+                       interrupt-parent = <&aidet>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl 0 0 0>,
+                                     <&pinctrl 96 0 0>,
+                                     <&pinctrl 160 0 0>;
+                       gpio-ranges-group-names = "gpio_range0",
+                                                 "gpio_range1",
+                                                 "gpio_range2";
+                       ngpios = <286>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
+                                                    <21 217 3>;
                };
 
                i2c0: i2c@58780000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_emmc>;
                        clocks = <&sys_clk 4>;
+                       resets = <&sys_rst 4>;
                        bus-width = <8>;
                        mmc-ddr-1_8v;
                        mmc-hs200-1_8v;
+                       mmc-pwrseq = <&emmc_pwrseq>;
                        cdns,phy-input-delay-legacy = <4>;
                        cdns,phy-input-delay-mmc-highspeed = <2>;
                        cdns,phy-input-delay-mmc-ddr = <3>;
                        };
                };
 
+               soc-glue@5f900000 {
+                       compatible = "socionext,uniphier-pxs3-soc-glue-debug",
+                                    "simple-mfd";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x5f900000 0x2000>;
+
+                       efuse@100 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x100 0x28>;
+                       };
+
+                       efuse@200 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x200 0x68>;
+                       };
+               };
+
                aidet: aidet@5fc20000 {
                        compatible = "socionext,uniphier-pxs3-aidet";
                        reg = <0x5fc20000 0x200>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
index 7dd8bc0c3cd0d6e26d40d7cc17ba50744e290a30..0dcb3e87d44c121ec55b8614cee46fae6b1417d7 100644 (file)
@@ -11,6 +11,8 @@
 #define __DT_BINDINGS_CLOCK_R7S72100_H__
 
 #define R7S72100_CLK_PLL       0
+#define R7S72100_CLK_I         1
+#define R7S72100_CLK_G         2
 
 /* MSTP2 */
 #define R7S72100_CLK_CORESIGHT 0
index eff4319d008bf8d723c39033112bfdaa453b9fc2..b9462b7d3dfe67bf495431786d19f53b61f4a8cf 100644 (file)
 #define ACLK_LCDC1             196
 #define ACLK_GPU               197
 #define ACLK_SMC               198
-#define ACLK_CIF               199
+#define ACLK_CIF1              199
 #define ACLK_IPP               200
 #define ACLK_RGA               201
 #define ACLK_CIF0              202
 #define ACLK_CPU               203
 #define ACLK_PERI              204
+#define ACLK_VEPU              205
+#define ACLK_VDPU              206
 
 /* pclk gates */
 #define PCLK_GRF               320
 #define HCLK_NANDC0            467
 #define HCLK_CPU               468
 #define HCLK_PERI              469
+#define HCLK_CIF1              470
+#define HCLK_VEPU              471
+#define HCLK_VDPU              472
 
-#define CLK_NR_CLKS            (HCLK_PERI + 1)
+#define CLK_NR_CLKS            (HCLK_VDPU + 1)
 
 /* soft-reset indices */
 #define SRST_MCORE             2
index aeb83e581a11ec5af82df30cdcf167c3a45b964b..a0063ed7284a59b7a3afc7ff0297acb6c33a44b2 100644 (file)
 #define PCLK_ISP               366
 #define PCLK_VIP               367
 #define PCLK_WDT               368
+#define PCLK_EFUSE256          369
 
 /* hclk gates */
 #define HCLK_SFC               448
index a9dc1457cb006db607600ca6a3999ddc6c28036c..6422314e46ebaa3c9ac97059464f3e9d85c96d96 100644 (file)
 #define TEGRA210_CLK_BLINK 280
 /* 281 */
 #define TEGRA210_CLK_SOR1_SRC 282
+#define TEGRA210_CLK_SOR1_OUT 282
 /* 283 */
 #define TEGRA210_CLK_XUSB_HOST_SRC 284
 #define TEGRA210_CLK_XUSB_FALCON_SRC 285
index 46789157660b0cf1c2175ae89097017b5932c5a3..a69e310789c57f368ed962a236b8b6c592fec0be 100644 (file)
 #define INPUT_EN               (1 << 18)
 #define SLEWCTRL_SLOW          (1 << 19)
 #define SLEWCTRL_FAST          0
+#define DS0_FORCE_OFF_MODE     (1 << 24)
+#define DS0_INPUT              (1 << 25)
+#define DS0_FORCE_OUT_HIGH     (1 << 26)
 #define DS0_PULL_UP_DOWN_EN    (1 << 27)
+#define DS0_PULL_UP_SEL                (1 << 28)
 #define WAKEUP_ENABLE          (1 << 29)
 
+#define DS0_PIN_OUTPUT         (DS0_FORCE_OFF_MODE)
+#define DS0_PIN_OUTPUT_HIGH    (DS0_FORCE_OFF_MODE | DS0_FORCE_OUT_HIGH)
+#define DS0_PIN_OUTPUT_PULLUP  (DS0_FORCE_OFF_MODE | DS0_PULL_UP_DOWN_EN | DS0_PULL_UP_SEL)
+#define DS0_PIN_OUTPUT_PULLDOWN        (DS0_FORCE_OFF_MODE | DS0_PULL_UP_DOWN_EN)
+#define DS0_PIN_INPUT          (DS0_FORCE_OFF_MODE | DS0_INPUT)
+#define DS0_PIN_INPUT_PULLUP   (DS0_FORCE_OFF_MODE | DS0_INPUT | DS0_PULL_UP_DOWN_EN | DS0_PULL_UP_SEL)
+#define DS0_PIN_INPUT_PULLDOWN (DS0_FORCE_OFF_MODE | DS0_INPUT | DS0_PULL_UP_DOWN_EN)
+
 #define PIN_OUTPUT             (PULL_DISABLE)
 #define PIN_OUTPUT_PULLUP      (PULL_UP)
 #define PIN_OUTPUT_PULLDOWN    0
diff --git a/include/dt-bindings/pinctrl/stm32-pinfunc.h b/include/dt-bindings/pinctrl/stm32-pinfunc.h
new file mode 100644 (file)
index 0000000..b8dfe31
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef _DT_BINDINGS_STM32_PINFUNC_H
+#define _DT_BINDINGS_STM32_PINFUNC_H
+
+/*  define PIN modes */
+#define GPIO   0x0
+#define AF0    0x1
+#define AF1    0x2
+#define AF2    0x3
+#define AF3    0x4
+#define AF4    0x5
+#define AF5    0x6
+#define AF6    0x7
+#define AF7    0x8
+#define AF8    0x9
+#define AF9    0xa
+#define AF10   0xb
+#define AF11   0xc
+#define AF12   0xd
+#define AF13   0xe
+#define AF14   0xf
+#define AF15   0x10
+#define ANALOG 0x11
+
+/* define Pins number*/
+#define PIN_NO(port, line)     (((port) - 'A') * 0x10 + (line))
+
+#define STM32_PINMUX(port, line, mode) (((PIN_NO(port, line)) << 8) | (mode))
+
+#endif /* _DT_BINDINGS_STM32_PINFUNC_H */
+
diff --git a/include/dt-bindings/pinctrl/stm32f429-pinfunc.h b/include/dt-bindings/pinctrl/stm32f429-pinfunc.h
deleted file mode 100644 (file)
index 9a5a028..0000000
+++ /dev/null
@@ -1,1240 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _DT_BINDINGS_STM32F429_PINFUNC_H
-#define _DT_BINDINGS_STM32F429_PINFUNC_H
-
-#define STM32F429_PA0_FUNC_GPIO 0x0
-#define STM32F429_PA0_FUNC_TIM2_CH1_TIM2_ETR 0x2
-#define STM32F429_PA0_FUNC_TIM5_CH1 0x3
-#define STM32F429_PA0_FUNC_TIM8_ETR 0x4
-#define STM32F429_PA0_FUNC_USART2_CTS 0x8
-#define STM32F429_PA0_FUNC_UART4_TX 0x9
-#define STM32F429_PA0_FUNC_ETH_MII_CRS 0xc
-#define STM32F429_PA0_FUNC_EVENTOUT 0x10
-#define STM32F429_PA0_FUNC_ANALOG 0x11
-
-#define STM32F429_PA1_FUNC_GPIO 0x100
-#define STM32F429_PA1_FUNC_TIM2_CH2 0x102
-#define STM32F429_PA1_FUNC_TIM5_CH2 0x103
-#define STM32F429_PA1_FUNC_USART2_RTS 0x108
-#define STM32F429_PA1_FUNC_UART4_RX 0x109
-#define STM32F429_PA1_FUNC_ETH_MII_RX_CLK_ETH_RMII_REF_CLK 0x10c
-#define STM32F429_PA1_FUNC_EVENTOUT 0x110
-#define STM32F429_PA1_FUNC_ANALOG 0x111
-
-#define STM32F429_PA2_FUNC_GPIO 0x200
-#define STM32F429_PA2_FUNC_TIM2_CH3 0x202
-#define STM32F429_PA2_FUNC_TIM5_CH3 0x203
-#define STM32F429_PA2_FUNC_TIM9_CH1 0x204
-#define STM32F429_PA2_FUNC_USART2_TX 0x208
-#define STM32F429_PA2_FUNC_ETH_MDIO 0x20c
-#define STM32F429_PA2_FUNC_EVENTOUT 0x210
-#define STM32F429_PA2_FUNC_ANALOG 0x211
-
-#define STM32F429_PA3_FUNC_GPIO 0x300
-#define STM32F429_PA3_FUNC_TIM2_CH4 0x302
-#define STM32F429_PA3_FUNC_TIM5_CH4 0x303
-#define STM32F429_PA3_FUNC_TIM9_CH2 0x304
-#define STM32F429_PA3_FUNC_USART2_RX 0x308
-#define STM32F429_PA3_FUNC_OTG_HS_ULPI_D0 0x30b
-#define STM32F429_PA3_FUNC_ETH_MII_COL 0x30c
-#define STM32F429_PA3_FUNC_LCD_B5 0x30f
-#define STM32F429_PA3_FUNC_EVENTOUT 0x310
-#define STM32F429_PA3_FUNC_ANALOG 0x311
-
-#define STM32F429_PA4_FUNC_GPIO 0x400
-#define STM32F429_PA4_FUNC_SPI1_NSS 0x406
-#define STM32F429_PA4_FUNC_SPI3_NSS_I2S3_WS 0x407
-#define STM32F429_PA4_FUNC_USART2_CK 0x408
-#define STM32F429_PA4_FUNC_OTG_HS_SOF 0x40d
-#define STM32F429_PA4_FUNC_DCMI_HSYNC 0x40e
-#define STM32F429_PA4_FUNC_LCD_VSYNC 0x40f
-#define STM32F429_PA4_FUNC_EVENTOUT 0x410
-#define STM32F429_PA4_FUNC_ANALOG 0x411
-
-#define STM32F429_PA5_FUNC_GPIO 0x500
-#define STM32F429_PA5_FUNC_TIM2_CH1_TIM2_ETR 0x502
-#define STM32F429_PA5_FUNC_TIM8_CH1N 0x504
-#define STM32F429_PA5_FUNC_SPI1_SCK 0x506
-#define STM32F429_PA5_FUNC_OTG_HS_ULPI_CK 0x50b
-#define STM32F429_PA5_FUNC_EVENTOUT 0x510
-#define STM32F429_PA5_FUNC_ANALOG 0x511
-
-#define STM32F429_PA6_FUNC_GPIO 0x600
-#define STM32F429_PA6_FUNC_TIM1_BKIN 0x602
-#define STM32F429_PA6_FUNC_TIM3_CH1 0x603
-#define STM32F429_PA6_FUNC_TIM8_BKIN 0x604
-#define STM32F429_PA6_FUNC_SPI1_MISO 0x606
-#define STM32F429_PA6_FUNC_TIM13_CH1 0x60a
-#define STM32F429_PA6_FUNC_DCMI_PIXCLK 0x60e
-#define STM32F429_PA6_FUNC_LCD_G2 0x60f
-#define STM32F429_PA6_FUNC_EVENTOUT 0x610
-#define STM32F429_PA6_FUNC_ANALOG 0x611
-
-#define STM32F429_PA7_FUNC_GPIO 0x700
-#define STM32F429_PA7_FUNC_TIM1_CH1N 0x702
-#define STM32F429_PA7_FUNC_TIM3_CH2 0x703
-#define STM32F429_PA7_FUNC_TIM8_CH1N 0x704
-#define STM32F429_PA7_FUNC_SPI1_MOSI 0x706
-#define STM32F429_PA7_FUNC_TIM14_CH1 0x70a
-#define STM32F429_PA7_FUNC_ETH_MII_RX_DV_ETH_RMII_CRS_DV 0x70c
-#define STM32F429_PA7_FUNC_EVENTOUT 0x710
-#define STM32F429_PA7_FUNC_ANALOG 0x711
-
-#define STM32F429_PA8_FUNC_GPIO 0x800
-#define STM32F429_PA8_FUNC_MCO1 0x801
-#define STM32F429_PA8_FUNC_TIM1_CH1 0x802
-#define STM32F429_PA8_FUNC_I2C3_SCL 0x805
-#define STM32F429_PA8_FUNC_USART1_CK 0x808
-#define STM32F429_PA8_FUNC_OTG_FS_SOF 0x80b
-#define STM32F429_PA8_FUNC_LCD_R6 0x80f
-#define STM32F429_PA8_FUNC_EVENTOUT 0x810
-#define STM32F429_PA8_FUNC_ANALOG 0x811
-
-#define STM32F429_PA9_FUNC_GPIO 0x900
-#define STM32F429_PA9_FUNC_TIM1_CH2 0x902
-#define STM32F429_PA9_FUNC_I2C3_SMBA 0x905
-#define STM32F429_PA9_FUNC_USART1_TX 0x908
-#define STM32F429_PA9_FUNC_DCMI_D0 0x90e
-#define STM32F429_PA9_FUNC_EVENTOUT 0x910
-#define STM32F429_PA9_FUNC_ANALOG 0x911
-
-#define STM32F429_PA10_FUNC_GPIO 0xa00
-#define STM32F429_PA10_FUNC_TIM1_CH3 0xa02
-#define STM32F429_PA10_FUNC_USART1_RX 0xa08
-#define STM32F429_PA10_FUNC_OTG_FS_ID 0xa0b
-#define STM32F429_PA10_FUNC_DCMI_D1 0xa0e
-#define STM32F429_PA10_FUNC_EVENTOUT 0xa10
-#define STM32F429_PA10_FUNC_ANALOG 0xa11
-
-#define STM32F429_PA11_FUNC_GPIO 0xb00
-#define STM32F429_PA11_FUNC_TIM1_CH4 0xb02
-#define STM32F429_PA11_FUNC_USART1_CTS 0xb08
-#define STM32F429_PA11_FUNC_CAN1_RX 0xb0a
-#define STM32F429_PA11_FUNC_OTG_FS_DM 0xb0b
-#define STM32F429_PA11_FUNC_LCD_R4 0xb0f
-#define STM32F429_PA11_FUNC_EVENTOUT 0xb10
-#define STM32F429_PA11_FUNC_ANALOG 0xb11
-
-#define STM32F429_PA12_FUNC_GPIO 0xc00
-#define STM32F429_PA12_FUNC_TIM1_ETR 0xc02
-#define STM32F429_PA12_FUNC_USART1_RTS 0xc08
-#define STM32F429_PA12_FUNC_CAN1_TX 0xc0a
-#define STM32F429_PA12_FUNC_OTG_FS_DP 0xc0b
-#define STM32F429_PA12_FUNC_LCD_R5 0xc0f
-#define STM32F429_PA12_FUNC_EVENTOUT 0xc10
-#define STM32F429_PA12_FUNC_ANALOG 0xc11
-
-#define STM32F429_PA13_FUNC_GPIO 0xd00
-#define STM32F429_PA13_FUNC_JTMS_SWDIO 0xd01
-#define STM32F429_PA13_FUNC_EVENTOUT 0xd10
-#define STM32F429_PA13_FUNC_ANALOG 0xd11
-
-#define STM32F429_PA14_FUNC_GPIO 0xe00
-#define STM32F429_PA14_FUNC_JTCK_SWCLK 0xe01
-#define STM32F429_PA14_FUNC_EVENTOUT 0xe10
-#define STM32F429_PA14_FUNC_ANALOG 0xe11
-
-#define STM32F429_PA15_FUNC_GPIO 0xf00
-#define STM32F429_PA15_FUNC_JTDI 0xf01
-#define STM32F429_PA15_FUNC_TIM2_CH1_TIM2_ETR 0xf02
-#define STM32F429_PA15_FUNC_SPI1_NSS 0xf06
-#define STM32F429_PA15_FUNC_SPI3_NSS_I2S3_WS 0xf07
-#define STM32F429_PA15_FUNC_EVENTOUT 0xf10
-#define STM32F429_PA15_FUNC_ANALOG 0xf11
-
-
-
-#define STM32F429_PB0_FUNC_GPIO 0x1000
-#define STM32F429_PB0_FUNC_TIM1_CH2N 0x1002
-#define STM32F429_PB0_FUNC_TIM3_CH3 0x1003
-#define STM32F429_PB0_FUNC_TIM8_CH2N 0x1004
-#define STM32F429_PB0_FUNC_LCD_R3 0x100a
-#define STM32F429_PB0_FUNC_OTG_HS_ULPI_D1 0x100b
-#define STM32F429_PB0_FUNC_ETH_MII_RXD2 0x100c
-#define STM32F429_PB0_FUNC_EVENTOUT 0x1010
-#define STM32F429_PB0_FUNC_ANALOG 0x1011
-
-#define STM32F429_PB1_FUNC_GPIO 0x1100
-#define STM32F429_PB1_FUNC_TIM1_CH3N 0x1102
-#define STM32F429_PB1_FUNC_TIM3_CH4 0x1103
-#define STM32F429_PB1_FUNC_TIM8_CH3N 0x1104
-#define STM32F429_PB1_FUNC_LCD_R6 0x110a
-#define STM32F429_PB1_FUNC_OTG_HS_ULPI_D2 0x110b
-#define STM32F429_PB1_FUNC_ETH_MII_RXD3 0x110c
-#define STM32F429_PB1_FUNC_EVENTOUT 0x1110
-#define STM32F429_PB1_FUNC_ANALOG 0x1111
-
-#define STM32F429_PB2_FUNC_GPIO 0x1200
-#define STM32F429_PB2_FUNC_EVENTOUT 0x1210
-#define STM32F429_PB2_FUNC_ANALOG 0x1211
-
-#define STM32F429_PB3_FUNC_GPIO 0x1300
-#define STM32F429_PB3_FUNC_JTDO_TRACESWO 0x1301
-#define STM32F429_PB3_FUNC_TIM2_CH2 0x1302
-#define STM32F429_PB3_FUNC_SPI1_SCK 0x1306
-#define STM32F429_PB3_FUNC_SPI3_SCK_I2S3_CK 0x1307
-#define STM32F429_PB3_FUNC_EVENTOUT 0x1310
-#define STM32F429_PB3_FUNC_ANALOG 0x1311
-
-#define STM32F429_PB4_FUNC_GPIO 0x1400
-#define STM32F429_PB4_FUNC_NJTRST 0x1401
-#define STM32F429_PB4_FUNC_TIM3_CH1 0x1403
-#define STM32F429_PB4_FUNC_SPI1_MISO 0x1406
-#define STM32F429_PB4_FUNC_SPI3_MISO 0x1407
-#define STM32F429_PB4_FUNC_I2S3EXT_SD 0x1408
-#define STM32F429_PB4_FUNC_EVENTOUT 0x1410
-#define STM32F429_PB4_FUNC_ANALOG 0x1411
-
-#define STM32F429_PB5_FUNC_GPIO 0x1500
-#define STM32F429_PB5_FUNC_TIM3_CH2 0x1503
-#define STM32F429_PB5_FUNC_I2C1_SMBA 0x1505
-#define STM32F429_PB5_FUNC_SPI1_MOSI 0x1506
-#define STM32F429_PB5_FUNC_SPI3_MOSI_I2S3_SD 0x1507
-#define STM32F429_PB5_FUNC_CAN2_RX 0x150a
-#define STM32F429_PB5_FUNC_OTG_HS_ULPI_D7 0x150b
-#define STM32F429_PB5_FUNC_ETH_PPS_OUT 0x150c
-#define STM32F429_PB5_FUNC_FMC_SDCKE1 0x150d
-#define STM32F429_PB5_FUNC_DCMI_D10 0x150e
-#define STM32F429_PB5_FUNC_EVENTOUT 0x1510
-#define STM32F429_PB5_FUNC_ANALOG 0x1511
-
-#define STM32F429_PB6_FUNC_GPIO 0x1600
-#define STM32F429_PB6_FUNC_TIM4_CH1 0x1603
-#define STM32F429_PB6_FUNC_I2C1_SCL 0x1605
-#define STM32F429_PB6_FUNC_USART1_TX 0x1608
-#define STM32F429_PB6_FUNC_CAN2_TX 0x160a
-#define STM32F429_PB6_FUNC_FMC_SDNE1 0x160d
-#define STM32F429_PB6_FUNC_DCMI_D5 0x160e
-#define STM32F429_PB6_FUNC_EVENTOUT 0x1610
-#define STM32F429_PB6_FUNC_ANALOG 0x1611
-
-#define STM32F429_PB7_FUNC_GPIO 0x1700
-#define STM32F429_PB7_FUNC_TIM4_CH2 0x1703
-#define STM32F429_PB7_FUNC_I2C1_SDA 0x1705
-#define STM32F429_PB7_FUNC_USART1_RX 0x1708
-#define STM32F429_PB7_FUNC_FMC_NL 0x170d
-#define STM32F429_PB7_FUNC_DCMI_VSYNC 0x170e
-#define STM32F429_PB7_FUNC_EVENTOUT 0x1710
-#define STM32F429_PB7_FUNC_ANALOG 0x1711
-
-#define STM32F429_PB8_FUNC_GPIO 0x1800
-#define STM32F429_PB8_FUNC_TIM4_CH3 0x1803
-#define STM32F429_PB8_FUNC_TIM10_CH1 0x1804
-#define STM32F429_PB8_FUNC_I2C1_SCL 0x1805
-#define STM32F429_PB8_FUNC_CAN1_RX 0x180a
-#define STM32F429_PB8_FUNC_ETH_MII_TXD3 0x180c
-#define STM32F429_PB8_FUNC_SDIO_D4 0x180d
-#define STM32F429_PB8_FUNC_DCMI_D6 0x180e
-#define STM32F429_PB8_FUNC_LCD_B6 0x180f
-#define STM32F429_PB8_FUNC_EVENTOUT 0x1810
-#define STM32F429_PB8_FUNC_ANALOG 0x1811
-
-#define STM32F429_PB9_FUNC_GPIO 0x1900
-#define STM32F429_PB9_FUNC_TIM4_CH4 0x1903
-#define STM32F429_PB9_FUNC_TIM11_CH1 0x1904
-#define STM32F429_PB9_FUNC_I2C1_SDA 0x1905
-#define STM32F429_PB9_FUNC_SPI2_NSS_I2S2_WS 0x1906
-#define STM32F429_PB9_FUNC_CAN1_TX 0x190a
-#define STM32F429_PB9_FUNC_SDIO_D5 0x190d
-#define STM32F429_PB9_FUNC_DCMI_D7 0x190e
-#define STM32F429_PB9_FUNC_LCD_B7 0x190f
-#define STM32F429_PB9_FUNC_EVENTOUT 0x1910
-#define STM32F429_PB9_FUNC_ANALOG 0x1911
-
-#define STM32F429_PB10_FUNC_GPIO 0x1a00
-#define STM32F429_PB10_FUNC_TIM2_CH3 0x1a02
-#define STM32F429_PB10_FUNC_I2C2_SCL 0x1a05
-#define STM32F429_PB10_FUNC_SPI2_SCK_I2S2_CK 0x1a06
-#define STM32F429_PB10_FUNC_USART3_TX 0x1a08
-#define STM32F429_PB10_FUNC_OTG_HS_ULPI_D3 0x1a0b
-#define STM32F429_PB10_FUNC_ETH_MII_RX_ER 0x1a0c
-#define STM32F429_PB10_FUNC_LCD_G4 0x1a0f
-#define STM32F429_PB10_FUNC_EVENTOUT 0x1a10
-#define STM32F429_PB10_FUNC_ANALOG 0x1a11
-
-#define STM32F429_PB11_FUNC_GPIO 0x1b00
-#define STM32F429_PB11_FUNC_TIM2_CH4 0x1b02
-#define STM32F429_PB11_FUNC_I2C2_SDA 0x1b05
-#define STM32F429_PB11_FUNC_USART3_RX 0x1b08
-#define STM32F429_PB11_FUNC_OTG_HS_ULPI_D4 0x1b0b
-#define STM32F429_PB11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN 0x1b0c
-#define STM32F429_PB11_FUNC_LCD_G5 0x1b0f
-#define STM32F429_PB11_FUNC_EVENTOUT 0x1b10
-#define STM32F429_PB11_FUNC_ANALOG 0x1b11
-
-#define STM32F429_PB12_FUNC_GPIO 0x1c00
-#define STM32F429_PB12_FUNC_TIM1_BKIN 0x1c02
-#define STM32F429_PB12_FUNC_I2C2_SMBA 0x1c05
-#define STM32F429_PB12_FUNC_SPI2_NSS_I2S2_WS 0x1c06
-#define STM32F429_PB12_FUNC_USART3_CK 0x1c08
-#define STM32F429_PB12_FUNC_CAN2_RX 0x1c0a
-#define STM32F429_PB12_FUNC_OTG_HS_ULPI_D5 0x1c0b
-#define STM32F429_PB12_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0 0x1c0c
-#define STM32F429_PB12_FUNC_OTG_HS_ID 0x1c0d
-#define STM32F429_PB12_FUNC_EVENTOUT 0x1c10
-#define STM32F429_PB12_FUNC_ANALOG 0x1c11
-
-#define STM32F429_PB13_FUNC_GPIO 0x1d00
-#define STM32F429_PB13_FUNC_TIM1_CH1N 0x1d02
-#define STM32F429_PB13_FUNC_SPI2_SCK_I2S2_CK 0x1d06
-#define STM32F429_PB13_FUNC_USART3_CTS 0x1d08
-#define STM32F429_PB13_FUNC_CAN2_TX 0x1d0a
-#define STM32F429_PB13_FUNC_OTG_HS_ULPI_D6 0x1d0b
-#define STM32F429_PB13_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x1d0c
-#define STM32F429_PB13_FUNC_EVENTOUT 0x1d10
-#define STM32F429_PB13_FUNC_ANALOG 0x1d11
-
-#define STM32F429_PB14_FUNC_GPIO 0x1e00
-#define STM32F429_PB14_FUNC_TIM1_CH2N 0x1e02
-#define STM32F429_PB14_FUNC_TIM8_CH2N 0x1e04
-#define STM32F429_PB14_FUNC_SPI2_MISO 0x1e06
-#define STM32F429_PB14_FUNC_I2S2EXT_SD 0x1e07
-#define STM32F429_PB14_FUNC_USART3_RTS 0x1e08
-#define STM32F429_PB14_FUNC_TIM12_CH1 0x1e0a
-#define STM32F429_PB14_FUNC_OTG_HS_DM 0x1e0d
-#define STM32F429_PB14_FUNC_EVENTOUT 0x1e10
-#define STM32F429_PB14_FUNC_ANALOG 0x1e11
-
-#define STM32F429_PB15_FUNC_GPIO 0x1f00
-#define STM32F429_PB15_FUNC_RTC_REFIN 0x1f01
-#define STM32F429_PB15_FUNC_TIM1_CH3N 0x1f02
-#define STM32F429_PB15_FUNC_TIM8_CH3N 0x1f04
-#define STM32F429_PB15_FUNC_SPI2_MOSI_I2S2_SD 0x1f06
-#define STM32F429_PB15_FUNC_TIM12_CH2 0x1f0a
-#define STM32F429_PB15_FUNC_OTG_HS_DP 0x1f0d
-#define STM32F429_PB15_FUNC_EVENTOUT 0x1f10
-#define STM32F429_PB15_FUNC_ANALOG 0x1f11
-
-
-
-#define STM32F429_PC0_FUNC_GPIO 0x2000
-#define STM32F429_PC0_FUNC_OTG_HS_ULPI_STP 0x200b
-#define STM32F429_PC0_FUNC_FMC_SDNWE 0x200d
-#define STM32F429_PC0_FUNC_EVENTOUT 0x2010
-#define STM32F429_PC0_FUNC_ANALOG 0x2011
-
-#define STM32F429_PC1_FUNC_GPIO 0x2100
-#define STM32F429_PC1_FUNC_ETH_MDC 0x210c
-#define STM32F429_PC1_FUNC_EVENTOUT 0x2110
-#define STM32F429_PC1_FUNC_ANALOG 0x2111
-
-#define STM32F429_PC2_FUNC_GPIO 0x2200
-#define STM32F429_PC2_FUNC_SPI2_MISO 0x2206
-#define STM32F429_PC2_FUNC_I2S2EXT_SD 0x2207
-#define STM32F429_PC2_FUNC_OTG_HS_ULPI_DIR 0x220b
-#define STM32F429_PC2_FUNC_ETH_MII_TXD2 0x220c
-#define STM32F429_PC2_FUNC_FMC_SDNE0 0x220d
-#define STM32F429_PC2_FUNC_EVENTOUT 0x2210
-#define STM32F429_PC2_FUNC_ANALOG 0x2211
-
-#define STM32F429_PC3_FUNC_GPIO 0x2300
-#define STM32F429_PC3_FUNC_SPI2_MOSI_I2S2_SD 0x2306
-#define STM32F429_PC3_FUNC_OTG_HS_ULPI_NXT 0x230b
-#define STM32F429_PC3_FUNC_ETH_MII_TX_CLK 0x230c
-#define STM32F429_PC3_FUNC_FMC_SDCKE0 0x230d
-#define STM32F429_PC3_FUNC_EVENTOUT 0x2310
-#define STM32F429_PC3_FUNC_ANALOG 0x2311
-
-#define STM32F429_PC4_FUNC_GPIO 0x2400
-#define STM32F429_PC4_FUNC_ETH_MII_RXD0_ETH_RMII_RXD0 0x240c
-#define STM32F429_PC4_FUNC_EVENTOUT 0x2410
-#define STM32F429_PC4_FUNC_ANALOG 0x2411
-
-#define STM32F429_PC5_FUNC_GPIO 0x2500
-#define STM32F429_PC5_FUNC_ETH_MII_RXD1_ETH_RMII_RXD1 0x250c
-#define STM32F429_PC5_FUNC_EVENTOUT 0x2510
-#define STM32F429_PC5_FUNC_ANALOG 0x2511
-
-#define STM32F429_PC6_FUNC_GPIO 0x2600
-#define STM32F429_PC6_FUNC_TIM3_CH1 0x2603
-#define STM32F429_PC6_FUNC_TIM8_CH1 0x2604
-#define STM32F429_PC6_FUNC_I2S2_MCK 0x2606
-#define STM32F429_PC6_FUNC_USART6_TX 0x2609
-#define STM32F429_PC6_FUNC_SDIO_D6 0x260d
-#define STM32F429_PC6_FUNC_DCMI_D0 0x260e
-#define STM32F429_PC6_FUNC_LCD_HSYNC 0x260f
-#define STM32F429_PC6_FUNC_EVENTOUT 0x2610
-#define STM32F429_PC6_FUNC_ANALOG 0x2611
-
-#define STM32F429_PC7_FUNC_GPIO 0x2700
-#define STM32F429_PC7_FUNC_TIM3_CH2 0x2703
-#define STM32F429_PC7_FUNC_TIM8_CH2 0x2704
-#define STM32F429_PC7_FUNC_I2S3_MCK 0x2707
-#define STM32F429_PC7_FUNC_USART6_RX 0x2709
-#define STM32F429_PC7_FUNC_SDIO_D7 0x270d
-#define STM32F429_PC7_FUNC_DCMI_D1 0x270e
-#define STM32F429_PC7_FUNC_LCD_G6 0x270f
-#define STM32F429_PC7_FUNC_EVENTOUT 0x2710
-#define STM32F429_PC7_FUNC_ANALOG 0x2711
-
-#define STM32F429_PC8_FUNC_GPIO 0x2800
-#define STM32F429_PC8_FUNC_TIM3_CH3 0x2803
-#define STM32F429_PC8_FUNC_TIM8_CH3 0x2804
-#define STM32F429_PC8_FUNC_USART6_CK 0x2809
-#define STM32F429_PC8_FUNC_SDIO_D0 0x280d
-#define STM32F429_PC8_FUNC_DCMI_D2 0x280e
-#define STM32F429_PC8_FUNC_EVENTOUT 0x2810
-#define STM32F429_PC8_FUNC_ANALOG 0x2811
-
-#define STM32F429_PC9_FUNC_GPIO 0x2900
-#define STM32F429_PC9_FUNC_MCO2 0x2901
-#define STM32F429_PC9_FUNC_TIM3_CH4 0x2903
-#define STM32F429_PC9_FUNC_TIM8_CH4 0x2904
-#define STM32F429_PC9_FUNC_I2C3_SDA 0x2905
-#define STM32F429_PC9_FUNC_I2S_CKIN 0x2906
-#define STM32F429_PC9_FUNC_SDIO_D1 0x290d
-#define STM32F429_PC9_FUNC_DCMI_D3 0x290e
-#define STM32F429_PC9_FUNC_EVENTOUT 0x2910
-#define STM32F429_PC9_FUNC_ANALOG 0x2911
-
-#define STM32F429_PC10_FUNC_GPIO 0x2a00
-#define STM32F429_PC10_FUNC_SPI3_SCK_I2S3_CK 0x2a07
-#define STM32F429_PC10_FUNC_USART3_TX 0x2a08
-#define STM32F429_PC10_FUNC_UART4_TX 0x2a09
-#define STM32F429_PC10_FUNC_SDIO_D2 0x2a0d
-#define STM32F429_PC10_FUNC_DCMI_D8 0x2a0e
-#define STM32F429_PC10_FUNC_LCD_R2 0x2a0f
-#define STM32F429_PC10_FUNC_EVENTOUT 0x2a10
-#define STM32F429_PC10_FUNC_ANALOG 0x2a11
-
-#define STM32F429_PC11_FUNC_GPIO 0x2b00
-#define STM32F429_PC11_FUNC_I2S3EXT_SD 0x2b06
-#define STM32F429_PC11_FUNC_SPI3_MISO 0x2b07
-#define STM32F429_PC11_FUNC_USART3_RX 0x2b08
-#define STM32F429_PC11_FUNC_UART4_RX 0x2b09
-#define STM32F429_PC11_FUNC_SDIO_D3 0x2b0d
-#define STM32F429_PC11_FUNC_DCMI_D4 0x2b0e
-#define STM32F429_PC11_FUNC_EVENTOUT 0x2b10
-#define STM32F429_PC11_FUNC_ANALOG 0x2b11
-
-#define STM32F429_PC12_FUNC_GPIO 0x2c00
-#define STM32F429_PC12_FUNC_SPI3_MOSI_I2S3_SD 0x2c07
-#define STM32F429_PC12_FUNC_USART3_CK 0x2c08
-#define STM32F429_PC12_FUNC_UART5_TX 0x2c09
-#define STM32F429_PC12_FUNC_SDIO_CK 0x2c0d
-#define STM32F429_PC12_FUNC_DCMI_D9 0x2c0e
-#define STM32F429_PC12_FUNC_EVENTOUT 0x2c10
-#define STM32F429_PC12_FUNC_ANALOG 0x2c11
-
-#define STM32F429_PC13_FUNC_GPIO 0x2d00
-#define STM32F429_PC13_FUNC_EVENTOUT 0x2d10
-#define STM32F429_PC13_FUNC_ANALOG 0x2d11
-
-#define STM32F429_PC14_FUNC_GPIO 0x2e00
-#define STM32F429_PC14_FUNC_EVENTOUT 0x2e10
-#define STM32F429_PC14_FUNC_ANALOG 0x2e11
-
-#define STM32F429_PC15_FUNC_GPIO 0x2f00
-#define STM32F429_PC15_FUNC_EVENTOUT 0x2f10
-#define STM32F429_PC15_FUNC_ANALOG 0x2f11
-
-
-
-#define STM32F429_PD0_FUNC_GPIO 0x3000
-#define STM32F429_PD0_FUNC_CAN1_RX 0x300a
-#define STM32F429_PD0_FUNC_FMC_D2 0x300d
-#define STM32F429_PD0_FUNC_EVENTOUT 0x3010
-#define STM32F429_PD0_FUNC_ANALOG 0x3011
-
-#define STM32F429_PD1_FUNC_GPIO 0x3100
-#define STM32F429_PD1_FUNC_CAN1_TX 0x310a
-#define STM32F429_PD1_FUNC_FMC_D3 0x310d
-#define STM32F429_PD1_FUNC_EVENTOUT 0x3110
-#define STM32F429_PD1_FUNC_ANALOG 0x3111
-
-#define STM32F429_PD2_FUNC_GPIO 0x3200
-#define STM32F429_PD2_FUNC_TIM3_ETR 0x3203
-#define STM32F429_PD2_FUNC_UART5_RX 0x3209
-#define STM32F429_PD2_FUNC_SDIO_CMD 0x320d
-#define STM32F429_PD2_FUNC_DCMI_D11 0x320e
-#define STM32F429_PD2_FUNC_EVENTOUT 0x3210
-#define STM32F429_PD2_FUNC_ANALOG 0x3211
-
-#define STM32F429_PD3_FUNC_GPIO 0x3300
-#define STM32F429_PD3_FUNC_SPI2_SCK_I2S2_CK 0x3306
-#define STM32F429_PD3_FUNC_USART2_CTS 0x3308
-#define STM32F429_PD3_FUNC_FMC_CLK 0x330d
-#define STM32F429_PD3_FUNC_DCMI_D5 0x330e
-#define STM32F429_PD3_FUNC_LCD_G7 0x330f
-#define STM32F429_PD3_FUNC_EVENTOUT 0x3310
-#define STM32F429_PD3_FUNC_ANALOG 0x3311
-
-#define STM32F429_PD4_FUNC_GPIO 0x3400
-#define STM32F429_PD4_FUNC_USART2_RTS 0x3408
-#define STM32F429_PD4_FUNC_FMC_NOE 0x340d
-#define STM32F429_PD4_FUNC_EVENTOUT 0x3410
-#define STM32F429_PD4_FUNC_ANALOG 0x3411
-
-#define STM32F429_PD5_FUNC_GPIO 0x3500
-#define STM32F429_PD5_FUNC_USART2_TX 0x3508
-#define STM32F429_PD5_FUNC_FMC_NWE 0x350d
-#define STM32F429_PD5_FUNC_EVENTOUT 0x3510
-#define STM32F429_PD5_FUNC_ANALOG 0x3511
-
-#define STM32F429_PD6_FUNC_GPIO 0x3600
-#define STM32F429_PD6_FUNC_SPI3_MOSI_I2S3_SD 0x3606
-#define STM32F429_PD6_FUNC_SAI1_SD_A 0x3607
-#define STM32F429_PD6_FUNC_USART2_RX 0x3608
-#define STM32F429_PD6_FUNC_FMC_NWAIT 0x360d
-#define STM32F429_PD6_FUNC_DCMI_D10 0x360e
-#define STM32F429_PD6_FUNC_LCD_B2 0x360f
-#define STM32F429_PD6_FUNC_EVENTOUT 0x3610
-#define STM32F429_PD6_FUNC_ANALOG 0x3611
-
-#define STM32F429_PD7_FUNC_GPIO 0x3700
-#define STM32F429_PD7_FUNC_USART2_CK 0x3708
-#define STM32F429_PD7_FUNC_FMC_NE1_FMC_NCE2 0x370d
-#define STM32F429_PD7_FUNC_EVENTOUT 0x3710
-#define STM32F429_PD7_FUNC_ANALOG 0x3711
-
-#define STM32F429_PD8_FUNC_GPIO 0x3800
-#define STM32F429_PD8_FUNC_USART3_TX 0x3808
-#define STM32F429_PD8_FUNC_FMC_D13 0x380d
-#define STM32F429_PD8_FUNC_EVENTOUT 0x3810
-#define STM32F429_PD8_FUNC_ANALOG 0x3811
-
-#define STM32F429_PD9_FUNC_GPIO 0x3900
-#define STM32F429_PD9_FUNC_USART3_RX 0x3908
-#define STM32F429_PD9_FUNC_FMC_D14 0x390d
-#define STM32F429_PD9_FUNC_EVENTOUT 0x3910
-#define STM32F429_PD9_FUNC_ANALOG 0x3911
-
-#define STM32F429_PD10_FUNC_GPIO 0x3a00
-#define STM32F429_PD10_FUNC_USART3_CK 0x3a08
-#define STM32F429_PD10_FUNC_FMC_D15 0x3a0d
-#define STM32F429_PD10_FUNC_LCD_B3 0x3a0f
-#define STM32F429_PD10_FUNC_EVENTOUT 0x3a10
-#define STM32F429_PD10_FUNC_ANALOG 0x3a11
-
-#define STM32F429_PD11_FUNC_GPIO 0x3b00
-#define STM32F429_PD11_FUNC_USART3_CTS 0x3b08
-#define STM32F429_PD11_FUNC_FMC_A16 0x3b0d
-#define STM32F429_PD11_FUNC_EVENTOUT 0x3b10
-#define STM32F429_PD11_FUNC_ANALOG 0x3b11
-
-#define STM32F429_PD12_FUNC_GPIO 0x3c00
-#define STM32F429_PD12_FUNC_TIM4_CH1 0x3c03
-#define STM32F429_PD12_FUNC_USART3_RTS 0x3c08
-#define STM32F429_PD12_FUNC_FMC_A17 0x3c0d
-#define STM32F429_PD12_FUNC_EVENTOUT 0x3c10
-#define STM32F429_PD12_FUNC_ANALOG 0x3c11
-
-#define STM32F429_PD13_FUNC_GPIO 0x3d00
-#define STM32F429_PD13_FUNC_TIM4_CH2 0x3d03
-#define STM32F429_PD13_FUNC_FMC_A18 0x3d0d
-#define STM32F429_PD13_FUNC_EVENTOUT 0x3d10
-#define STM32F429_PD13_FUNC_ANALOG 0x3d11
-
-#define STM32F429_PD14_FUNC_GPIO 0x3e00
-#define STM32F429_PD14_FUNC_TIM4_CH3 0x3e03
-#define STM32F429_PD14_FUNC_FMC_D0 0x3e0d
-#define STM32F429_PD14_FUNC_EVENTOUT 0x3e10
-#define STM32F429_PD14_FUNC_ANALOG 0x3e11
-
-#define STM32F429_PD15_FUNC_GPIO 0x3f00
-#define STM32F429_PD15_FUNC_TIM4_CH4 0x3f03
-#define STM32F429_PD15_FUNC_FMC_D1 0x3f0d
-#define STM32F429_PD15_FUNC_EVENTOUT 0x3f10
-#define STM32F429_PD15_FUNC_ANALOG 0x3f11
-
-
-
-#define STM32F429_PE0_FUNC_GPIO 0x4000
-#define STM32F429_PE0_FUNC_TIM4_ETR 0x4003
-#define STM32F429_PE0_FUNC_UART8_RX 0x4009
-#define STM32F429_PE0_FUNC_FMC_NBL0 0x400d
-#define STM32F429_PE0_FUNC_DCMI_D2 0x400e
-#define STM32F429_PE0_FUNC_EVENTOUT 0x4010
-#define STM32F429_PE0_FUNC_ANALOG 0x4011
-
-#define STM32F429_PE1_FUNC_GPIO 0x4100
-#define STM32F429_PE1_FUNC_UART8_TX 0x4109
-#define STM32F429_PE1_FUNC_FMC_NBL1 0x410d
-#define STM32F429_PE1_FUNC_DCMI_D3 0x410e
-#define STM32F429_PE1_FUNC_EVENTOUT 0x4110
-#define STM32F429_PE1_FUNC_ANALOG 0x4111
-
-#define STM32F429_PE2_FUNC_GPIO 0x4200
-#define STM32F429_PE2_FUNC_TRACECLK 0x4201
-#define STM32F429_PE2_FUNC_SPI4_SCK 0x4206
-#define STM32F429_PE2_FUNC_SAI1_MCLK_A 0x4207
-#define STM32F429_PE2_FUNC_ETH_MII_TXD3 0x420c
-#define STM32F429_PE2_FUNC_FMC_A23 0x420d
-#define STM32F429_PE2_FUNC_EVENTOUT 0x4210
-#define STM32F429_PE2_FUNC_ANALOG 0x4211
-
-#define STM32F429_PE3_FUNC_GPIO 0x4300
-#define STM32F429_PE3_FUNC_TRACED0 0x4301
-#define STM32F429_PE3_FUNC_SAI1_SD_B 0x4307
-#define STM32F429_PE3_FUNC_FMC_A19 0x430d
-#define STM32F429_PE3_FUNC_EVENTOUT 0x4310
-#define STM32F429_PE3_FUNC_ANALOG 0x4311
-
-#define STM32F429_PE4_FUNC_GPIO 0x4400
-#define STM32F429_PE4_FUNC_TRACED1 0x4401
-#define STM32F429_PE4_FUNC_SPI4_NSS 0x4406
-#define STM32F429_PE4_FUNC_SAI1_FS_A 0x4407
-#define STM32F429_PE4_FUNC_FMC_A20 0x440d
-#define STM32F429_PE4_FUNC_DCMI_D4 0x440e
-#define STM32F429_PE4_FUNC_LCD_B0 0x440f
-#define STM32F429_PE4_FUNC_EVENTOUT 0x4410
-#define STM32F429_PE4_FUNC_ANALOG 0x4411
-
-#define STM32F429_PE5_FUNC_GPIO 0x4500
-#define STM32F429_PE5_FUNC_TRACED2 0x4501
-#define STM32F429_PE5_FUNC_TIM9_CH1 0x4504
-#define STM32F429_PE5_FUNC_SPI4_MISO 0x4506
-#define STM32F429_PE5_FUNC_SAI1_SCK_A 0x4507
-#define STM32F429_PE5_FUNC_FMC_A21 0x450d
-#define STM32F429_PE5_FUNC_DCMI_D6 0x450e
-#define STM32F429_PE5_FUNC_LCD_G0 0x450f
-#define STM32F429_PE5_FUNC_EVENTOUT 0x4510
-#define STM32F429_PE5_FUNC_ANALOG 0x4511
-
-#define STM32F429_PE6_FUNC_GPIO 0x4600
-#define STM32F429_PE6_FUNC_TRACED3 0x4601
-#define STM32F429_PE6_FUNC_TIM9_CH2 0x4604
-#define STM32F429_PE6_FUNC_SPI4_MOSI 0x4606
-#define STM32F429_PE6_FUNC_SAI1_SD_A 0x4607
-#define STM32F429_PE6_FUNC_FMC_A22 0x460d
-#define STM32F429_PE6_FUNC_DCMI_D7 0x460e
-#define STM32F429_PE6_FUNC_LCD_G1 0x460f
-#define STM32F429_PE6_FUNC_EVENTOUT 0x4610
-#define STM32F429_PE6_FUNC_ANALOG 0x4611
-
-#define STM32F429_PE7_FUNC_GPIO 0x4700
-#define STM32F429_PE7_FUNC_TIM1_ETR 0x4702
-#define STM32F429_PE7_FUNC_UART7_RX 0x4709
-#define STM32F429_PE7_FUNC_FMC_D4 0x470d
-#define STM32F429_PE7_FUNC_EVENTOUT 0x4710
-#define STM32F429_PE7_FUNC_ANALOG 0x4711
-
-#define STM32F429_PE8_FUNC_GPIO 0x4800
-#define STM32F429_PE8_FUNC_TIM1_CH1N 0x4802
-#define STM32F429_PE8_FUNC_UART7_TX 0x4809
-#define STM32F429_PE8_FUNC_FMC_D5 0x480d
-#define STM32F429_PE8_FUNC_EVENTOUT 0x4810
-#define STM32F429_PE8_FUNC_ANALOG 0x4811
-
-#define STM32F429_PE9_FUNC_GPIO 0x4900
-#define STM32F429_PE9_FUNC_TIM1_CH1 0x4902
-#define STM32F429_PE9_FUNC_FMC_D6 0x490d
-#define STM32F429_PE9_FUNC_EVENTOUT 0x4910
-#define STM32F429_PE9_FUNC_ANALOG 0x4911
-
-#define STM32F429_PE10_FUNC_GPIO 0x4a00
-#define STM32F429_PE10_FUNC_TIM1_CH2N 0x4a02
-#define STM32F429_PE10_FUNC_FMC_D7 0x4a0d
-#define STM32F429_PE10_FUNC_EVENTOUT 0x4a10
-#define STM32F429_PE10_FUNC_ANALOG 0x4a11
-
-#define STM32F429_PE11_FUNC_GPIO 0x4b00
-#define STM32F429_PE11_FUNC_TIM1_CH2 0x4b02
-#define STM32F429_PE11_FUNC_SPI4_NSS 0x4b06
-#define STM32F429_PE11_FUNC_FMC_D8 0x4b0d
-#define STM32F429_PE11_FUNC_LCD_G3 0x4b0f
-#define STM32F429_PE11_FUNC_EVENTOUT 0x4b10
-#define STM32F429_PE11_FUNC_ANALOG 0x4b11
-
-#define STM32F429_PE12_FUNC_GPIO 0x4c00
-#define STM32F429_PE12_FUNC_TIM1_CH3N 0x4c02
-#define STM32F429_PE12_FUNC_SPI4_SCK 0x4c06
-#define STM32F429_PE12_FUNC_FMC_D9 0x4c0d
-#define STM32F429_PE12_FUNC_LCD_B4 0x4c0f
-#define STM32F429_PE12_FUNC_EVENTOUT 0x4c10
-#define STM32F429_PE12_FUNC_ANALOG 0x4c11
-
-#define STM32F429_PE13_FUNC_GPIO 0x4d00
-#define STM32F429_PE13_FUNC_TIM1_CH3 0x4d02
-#define STM32F429_PE13_FUNC_SPI4_MISO 0x4d06
-#define STM32F429_PE13_FUNC_FMC_D10 0x4d0d
-#define STM32F429_PE13_FUNC_LCD_DE 0x4d0f
-#define STM32F429_PE13_FUNC_EVENTOUT 0x4d10
-#define STM32F429_PE13_FUNC_ANALOG 0x4d11
-
-#define STM32F429_PE14_FUNC_GPIO 0x4e00
-#define STM32F429_PE14_FUNC_TIM1_CH4 0x4e02
-#define STM32F429_PE14_FUNC_SPI4_MOSI 0x4e06
-#define STM32F429_PE14_FUNC_FMC_D11 0x4e0d
-#define STM32F429_PE14_FUNC_LCD_CLK 0x4e0f
-#define STM32F429_PE14_FUNC_EVENTOUT 0x4e10
-#define STM32F429_PE14_FUNC_ANALOG 0x4e11
-
-#define STM32F429_PE15_FUNC_GPIO 0x4f00
-#define STM32F429_PE15_FUNC_TIM1_BKIN 0x4f02
-#define STM32F429_PE15_FUNC_FMC_D12 0x4f0d
-#define STM32F429_PE15_FUNC_LCD_R7 0x4f0f
-#define STM32F429_PE15_FUNC_EVENTOUT 0x4f10
-#define STM32F429_PE15_FUNC_ANALOG 0x4f11
-
-
-
-#define STM32F429_PF0_FUNC_GPIO 0x5000
-#define STM32F429_PF0_FUNC_I2C2_SDA 0x5005
-#define STM32F429_PF0_FUNC_FMC_A0 0x500d
-#define STM32F429_PF0_FUNC_EVENTOUT 0x5010
-#define STM32F429_PF0_FUNC_ANALOG 0x5011
-
-#define STM32F429_PF1_FUNC_GPIO 0x5100
-#define STM32F429_PF1_FUNC_I2C2_SCL 0x5105
-#define STM32F429_PF1_FUNC_FMC_A1 0x510d
-#define STM32F429_PF1_FUNC_EVENTOUT 0x5110
-#define STM32F429_PF1_FUNC_ANALOG 0x5111
-
-#define STM32F429_PF2_FUNC_GPIO 0x5200
-#define STM32F429_PF2_FUNC_I2C2_SMBA 0x5205
-#define STM32F429_PF2_FUNC_FMC_A2 0x520d
-#define STM32F429_PF2_FUNC_EVENTOUT 0x5210
-#define STM32F429_PF2_FUNC_ANALOG 0x5211
-
-#define STM32F429_PF3_FUNC_GPIO 0x5300
-#define STM32F429_PF3_FUNC_FMC_A3 0x530d
-#define STM32F429_PF3_FUNC_EVENTOUT 0x5310
-#define STM32F429_PF3_FUNC_ANALOG 0x5311
-
-#define STM32F429_PF4_FUNC_GPIO 0x5400
-#define STM32F429_PF4_FUNC_FMC_A4 0x540d
-#define STM32F429_PF4_FUNC_EVENTOUT 0x5410
-#define STM32F429_PF4_FUNC_ANALOG 0x5411
-
-#define STM32F429_PF5_FUNC_GPIO 0x5500
-#define STM32F429_PF5_FUNC_FMC_A5 0x550d
-#define STM32F429_PF5_FUNC_EVENTOUT 0x5510
-#define STM32F429_PF5_FUNC_ANALOG 0x5511
-
-#define STM32F429_PF6_FUNC_GPIO 0x5600
-#define STM32F429_PF6_FUNC_TIM10_CH1 0x5604
-#define STM32F429_PF6_FUNC_SPI5_NSS 0x5606
-#define STM32F429_PF6_FUNC_SAI1_SD_B 0x5607
-#define STM32F429_PF6_FUNC_UART7_RX 0x5609
-#define STM32F429_PF6_FUNC_FMC_NIORD 0x560d
-#define STM32F429_PF6_FUNC_EVENTOUT 0x5610
-#define STM32F429_PF6_FUNC_ANALOG 0x5611
-
-#define STM32F429_PF7_FUNC_GPIO 0x5700
-#define STM32F429_PF7_FUNC_TIM11_CH1 0x5704
-#define STM32F429_PF7_FUNC_SPI5_SCK 0x5706
-#define STM32F429_PF7_FUNC_SAI1_MCLK_B 0x5707
-#define STM32F429_PF7_FUNC_UART7_TX 0x5709
-#define STM32F429_PF7_FUNC_FMC_NREG 0x570d
-#define STM32F429_PF7_FUNC_EVENTOUT 0x5710
-#define STM32F429_PF7_FUNC_ANALOG 0x5711
-
-#define STM32F429_PF8_FUNC_GPIO 0x5800
-#define STM32F429_PF8_FUNC_SPI5_MISO 0x5806
-#define STM32F429_PF8_FUNC_SAI1_SCK_B 0x5807
-#define STM32F429_PF8_FUNC_TIM13_CH1 0x580a
-#define STM32F429_PF8_FUNC_FMC_NIOWR 0x580d
-#define STM32F429_PF8_FUNC_EVENTOUT 0x5810
-#define STM32F429_PF8_FUNC_ANALOG 0x5811
-
-#define STM32F429_PF9_FUNC_GPIO 0x5900
-#define STM32F429_PF9_FUNC_SPI5_MOSI 0x5906
-#define STM32F429_PF9_FUNC_SAI1_FS_B 0x5907
-#define STM32F429_PF9_FUNC_TIM14_CH1 0x590a
-#define STM32F429_PF9_FUNC_FMC_CD 0x590d
-#define STM32F429_PF9_FUNC_EVENTOUT 0x5910
-#define STM32F429_PF9_FUNC_ANALOG 0x5911
-
-#define STM32F429_PF10_FUNC_GPIO 0x5a00
-#define STM32F429_PF10_FUNC_FMC_INTR 0x5a0d
-#define STM32F429_PF10_FUNC_DCMI_D11 0x5a0e
-#define STM32F429_PF10_FUNC_LCD_DE 0x5a0f
-#define STM32F429_PF10_FUNC_EVENTOUT 0x5a10
-#define STM32F429_PF10_FUNC_ANALOG 0x5a11
-
-#define STM32F429_PF11_FUNC_GPIO 0x5b00
-#define STM32F429_PF11_FUNC_SPI5_MOSI 0x5b06
-#define STM32F429_PF11_FUNC_FMC_SDNRAS 0x5b0d
-#define STM32F429_PF11_FUNC_DCMI_D12 0x5b0e
-#define STM32F429_PF11_FUNC_EVENTOUT 0x5b10
-#define STM32F429_PF11_FUNC_ANALOG 0x5b11
-
-#define STM32F429_PF12_FUNC_GPIO 0x5c00
-#define STM32F429_PF12_FUNC_FMC_A6 0x5c0d
-#define STM32F429_PF12_FUNC_EVENTOUT 0x5c10
-#define STM32F429_PF12_FUNC_ANALOG 0x5c11
-
-#define STM32F429_PF13_FUNC_GPIO 0x5d00
-#define STM32F429_PF13_FUNC_FMC_A7 0x5d0d
-#define STM32F429_PF13_FUNC_EVENTOUT 0x5d10
-#define STM32F429_PF13_FUNC_ANALOG 0x5d11
-
-#define STM32F429_PF14_FUNC_GPIO 0x5e00
-#define STM32F429_PF14_FUNC_FMC_A8 0x5e0d
-#define STM32F429_PF14_FUNC_EVENTOUT 0x5e10
-#define STM32F429_PF14_FUNC_ANALOG 0x5e11
-
-#define STM32F429_PF15_FUNC_GPIO 0x5f00
-#define STM32F429_PF15_FUNC_FMC_A9 0x5f0d
-#define STM32F429_PF15_FUNC_EVENTOUT 0x5f10
-#define STM32F429_PF15_FUNC_ANALOG 0x5f11
-
-
-
-#define STM32F429_PG0_FUNC_GPIO 0x6000
-#define STM32F429_PG0_FUNC_FMC_A10 0x600d
-#define STM32F429_PG0_FUNC_EVENTOUT 0x6010
-#define STM32F429_PG0_FUNC_ANALOG 0x6011
-
-#define STM32F429_PG1_FUNC_GPIO 0x6100
-#define STM32F429_PG1_FUNC_FMC_A11 0x610d
-#define STM32F429_PG1_FUNC_EVENTOUT 0x6110
-#define STM32F429_PG1_FUNC_ANALOG 0x6111
-
-#define STM32F429_PG2_FUNC_GPIO 0x6200
-#define STM32F429_PG2_FUNC_FMC_A12 0x620d
-#define STM32F429_PG2_FUNC_EVENTOUT 0x6210
-#define STM32F429_PG2_FUNC_ANALOG 0x6211
-
-#define STM32F429_PG3_FUNC_GPIO 0x6300
-#define STM32F429_PG3_FUNC_FMC_A13 0x630d
-#define STM32F429_PG3_FUNC_EVENTOUT 0x6310
-#define STM32F429_PG3_FUNC_ANALOG 0x6311
-
-#define STM32F429_PG4_FUNC_GPIO 0x6400
-#define STM32F429_PG4_FUNC_FMC_A14_FMC_BA0 0x640d
-#define STM32F429_PG4_FUNC_EVENTOUT 0x6410
-#define STM32F429_PG4_FUNC_ANALOG 0x6411
-
-#define STM32F429_PG5_FUNC_GPIO 0x6500
-#define STM32F429_PG5_FUNC_FMC_A15_FMC_BA1 0x650d
-#define STM32F429_PG5_FUNC_EVENTOUT 0x6510
-#define STM32F429_PG5_FUNC_ANALOG 0x6511
-
-#define STM32F429_PG6_FUNC_GPIO 0x6600
-#define STM32F429_PG6_FUNC_FMC_INT2 0x660d
-#define STM32F429_PG6_FUNC_DCMI_D12 0x660e
-#define STM32F429_PG6_FUNC_LCD_R7 0x660f
-#define STM32F429_PG6_FUNC_EVENTOUT 0x6610
-#define STM32F429_PG6_FUNC_ANALOG 0x6611
-
-#define STM32F429_PG7_FUNC_GPIO 0x6700
-#define STM32F429_PG7_FUNC_USART6_CK 0x6709
-#define STM32F429_PG7_FUNC_FMC_INT3 0x670d
-#define STM32F429_PG7_FUNC_DCMI_D13 0x670e
-#define STM32F429_PG7_FUNC_LCD_CLK 0x670f
-#define STM32F429_PG7_FUNC_EVENTOUT 0x6710
-#define STM32F429_PG7_FUNC_ANALOG 0x6711
-
-#define STM32F429_PG8_FUNC_GPIO 0x6800
-#define STM32F429_PG8_FUNC_SPI6_NSS 0x6806
-#define STM32F429_PG8_FUNC_USART6_RTS 0x6809
-#define STM32F429_PG8_FUNC_ETH_PPS_OUT 0x680c
-#define STM32F429_PG8_FUNC_FMC_SDCLK 0x680d
-#define STM32F429_PG8_FUNC_EVENTOUT 0x6810
-#define STM32F429_PG8_FUNC_ANALOG 0x6811
-
-#define STM32F429_PG9_FUNC_GPIO 0x6900
-#define STM32F429_PG9_FUNC_USART6_RX 0x6909
-#define STM32F429_PG9_FUNC_FMC_NE2_FMC_NCE3 0x690d
-#define STM32F429_PG9_FUNC_DCMI_VSYNC 0x690e
-#define STM32F429_PG9_FUNC_EVENTOUT 0x6910
-#define STM32F429_PG9_FUNC_ANALOG 0x6911
-
-#define STM32F429_PG10_FUNC_GPIO 0x6a00
-#define STM32F429_PG10_FUNC_LCD_G3 0x6a0a
-#define STM32F429_PG10_FUNC_FMC_NCE4_1_FMC_NE3 0x6a0d
-#define STM32F429_PG10_FUNC_DCMI_D2 0x6a0e
-#define STM32F429_PG10_FUNC_LCD_B2 0x6a0f
-#define STM32F429_PG10_FUNC_EVENTOUT 0x6a10
-#define STM32F429_PG10_FUNC_ANALOG 0x6a11
-
-#define STM32F429_PG11_FUNC_GPIO 0x6b00
-#define STM32F429_PG11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN 0x6b0c
-#define STM32F429_PG11_FUNC_FMC_NCE4_2 0x6b0d
-#define STM32F429_PG11_FUNC_DCMI_D3 0x6b0e
-#define STM32F429_PG11_FUNC_LCD_B3 0x6b0f
-#define STM32F429_PG11_FUNC_EVENTOUT 0x6b10
-#define STM32F429_PG11_FUNC_ANALOG 0x6b11
-
-#define STM32F429_PG12_FUNC_GPIO 0x6c00
-#define STM32F429_PG12_FUNC_SPI6_MISO 0x6c06
-#define STM32F429_PG12_FUNC_USART6_RTS 0x6c09
-#define STM32F429_PG12_FUNC_LCD_B4 0x6c0a
-#define STM32F429_PG12_FUNC_FMC_NE4 0x6c0d
-#define STM32F429_PG12_FUNC_LCD_B1 0x6c0f
-#define STM32F429_PG12_FUNC_EVENTOUT 0x6c10
-#define STM32F429_PG12_FUNC_ANALOG 0x6c11
-
-#define STM32F429_PG13_FUNC_GPIO 0x6d00
-#define STM32F429_PG13_FUNC_SPI6_SCK 0x6d06
-#define STM32F429_PG13_FUNC_USART6_CTS 0x6d09
-#define STM32F429_PG13_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0 0x6d0c
-#define STM32F429_PG13_FUNC_FMC_A24 0x6d0d
-#define STM32F429_PG13_FUNC_EVENTOUT 0x6d10
-#define STM32F429_PG13_FUNC_ANALOG 0x6d11
-
-#define STM32F429_PG14_FUNC_GPIO 0x6e00
-#define STM32F429_PG14_FUNC_SPI6_MOSI 0x6e06
-#define STM32F429_PG14_FUNC_USART6_TX 0x6e09
-#define STM32F429_PG14_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x6e0c
-#define STM32F429_PG14_FUNC_FMC_A25 0x6e0d
-#define STM32F429_PG14_FUNC_EVENTOUT 0x6e10
-#define STM32F429_PG14_FUNC_ANALOG 0x6e11
-
-#define STM32F429_PG15_FUNC_GPIO 0x6f00
-#define STM32F429_PG15_FUNC_USART6_CTS 0x6f09
-#define STM32F429_PG15_FUNC_FMC_SDNCAS 0x6f0d
-#define STM32F429_PG15_FUNC_DCMI_D13 0x6f0e
-#define STM32F429_PG15_FUNC_EVENTOUT 0x6f10
-#define STM32F429_PG15_FUNC_ANALOG 0x6f11
-
-
-
-#define STM32F429_PH0_FUNC_GPIO 0x7000
-#define STM32F429_PH0_FUNC_EVENTOUT 0x7010
-#define STM32F429_PH0_FUNC_ANALOG 0x7011
-
-#define STM32F429_PH1_FUNC_GPIO 0x7100
-#define STM32F429_PH1_FUNC_EVENTOUT 0x7110
-#define STM32F429_PH1_FUNC_ANALOG 0x7111
-
-#define STM32F429_PH2_FUNC_GPIO 0x7200
-#define STM32F429_PH2_FUNC_ETH_MII_CRS 0x720c
-#define STM32F429_PH2_FUNC_FMC_SDCKE0 0x720d
-#define STM32F429_PH2_FUNC_LCD_R0 0x720f
-#define STM32F429_PH2_FUNC_EVENTOUT 0x7210
-#define STM32F429_PH2_FUNC_ANALOG 0x7211
-
-#define STM32F429_PH3_FUNC_GPIO 0x7300
-#define STM32F429_PH3_FUNC_ETH_MII_COL 0x730c
-#define STM32F429_PH3_FUNC_FMC_SDNE0 0x730d
-#define STM32F429_PH3_FUNC_LCD_R1 0x730f
-#define STM32F429_PH3_FUNC_EVENTOUT 0x7310
-#define STM32F429_PH3_FUNC_ANALOG 0x7311
-
-#define STM32F429_PH4_FUNC_GPIO 0x7400
-#define STM32F429_PH4_FUNC_I2C2_SCL 0x7405
-#define STM32F429_PH4_FUNC_OTG_HS_ULPI_NXT 0x740b
-#define STM32F429_PH4_FUNC_EVENTOUT 0x7410
-#define STM32F429_PH4_FUNC_ANALOG 0x7411
-
-#define STM32F429_PH5_FUNC_GPIO 0x7500
-#define STM32F429_PH5_FUNC_I2C2_SDA 0x7505
-#define STM32F429_PH5_FUNC_SPI5_NSS 0x7506
-#define STM32F429_PH5_FUNC_FMC_SDNWE 0x750d
-#define STM32F429_PH5_FUNC_EVENTOUT 0x7510
-#define STM32F429_PH5_FUNC_ANALOG 0x7511
-
-#define STM32F429_PH6_FUNC_GPIO 0x7600
-#define STM32F429_PH6_FUNC_I2C2_SMBA 0x7605
-#define STM32F429_PH6_FUNC_SPI5_SCK 0x7606
-#define STM32F429_PH6_FUNC_TIM12_CH1 0x760a
-#define STM32F429_PH6_FUNC_ETH_MII_RXD2 0x760c
-#define STM32F429_PH6_FUNC_FMC_SDNE1 0x760d
-#define STM32F429_PH6_FUNC_DCMI_D8 0x760e
-#define STM32F429_PH6_FUNC_EVENTOUT 0x7610
-#define STM32F429_PH6_FUNC_ANALOG 0x7611
-
-#define STM32F429_PH7_FUNC_GPIO 0x7700
-#define STM32F429_PH7_FUNC_I2C3_SCL 0x7705
-#define STM32F429_PH7_FUNC_SPI5_MISO 0x7706
-#define STM32F429_PH7_FUNC_ETH_MII_RXD3 0x770c
-#define STM32F429_PH7_FUNC_FMC_SDCKE1 0x770d
-#define STM32F429_PH7_FUNC_DCMI_D9 0x770e
-#define STM32F429_PH7_FUNC_EVENTOUT 0x7710
-#define STM32F429_PH7_FUNC_ANALOG 0x7711
-
-#define STM32F429_PH8_FUNC_GPIO 0x7800
-#define STM32F429_PH8_FUNC_I2C3_SDA 0x7805
-#define STM32F429_PH8_FUNC_FMC_D16 0x780d
-#define STM32F429_PH8_FUNC_DCMI_HSYNC 0x780e
-#define STM32F429_PH8_FUNC_LCD_R2 0x780f
-#define STM32F429_PH8_FUNC_EVENTOUT 0x7810
-#define STM32F429_PH8_FUNC_ANALOG 0x7811
-
-#define STM32F429_PH9_FUNC_GPIO 0x7900
-#define STM32F429_PH9_FUNC_I2C3_SMBA 0x7905
-#define STM32F429_PH9_FUNC_TIM12_CH2 0x790a
-#define STM32F429_PH9_FUNC_FMC_D17 0x790d
-#define STM32F429_PH9_FUNC_DCMI_D0 0x790e
-#define STM32F429_PH9_FUNC_LCD_R3 0x790f
-#define STM32F429_PH9_FUNC_EVENTOUT 0x7910
-#define STM32F429_PH9_FUNC_ANALOG 0x7911
-
-#define STM32F429_PH10_FUNC_GPIO 0x7a00
-#define STM32F429_PH10_FUNC_TIM5_CH1 0x7a03
-#define STM32F429_PH10_FUNC_FMC_D18 0x7a0d
-#define STM32F429_PH10_FUNC_DCMI_D1 0x7a0e
-#define STM32F429_PH10_FUNC_LCD_R4 0x7a0f
-#define STM32F429_PH10_FUNC_EVENTOUT 0x7a10
-#define STM32F429_PH10_FUNC_ANALOG 0x7a11
-
-#define STM32F429_PH11_FUNC_GPIO 0x7b00
-#define STM32F429_PH11_FUNC_TIM5_CH2 0x7b03
-#define STM32F429_PH11_FUNC_FMC_D19 0x7b0d
-#define STM32F429_PH11_FUNC_DCMI_D2 0x7b0e
-#define STM32F429_PH11_FUNC_LCD_R5 0x7b0f
-#define STM32F429_PH11_FUNC_EVENTOUT 0x7b10
-#define STM32F429_PH11_FUNC_ANALOG 0x7b11
-
-#define STM32F429_PH12_FUNC_GPIO 0x7c00
-#define STM32F429_PH12_FUNC_TIM5_CH3 0x7c03
-#define STM32F429_PH12_FUNC_FMC_D20 0x7c0d
-#define STM32F429_PH12_FUNC_DCMI_D3 0x7c0e
-#define STM32F429_PH12_FUNC_LCD_R6 0x7c0f
-#define STM32F429_PH12_FUNC_EVENTOUT 0x7c10
-#define STM32F429_PH12_FUNC_ANALOG 0x7c11
-
-#define STM32F429_PH13_FUNC_GPIO 0x7d00
-#define STM32F429_PH13_FUNC_TIM8_CH1N 0x7d04
-#define STM32F429_PH13_FUNC_CAN1_TX 0x7d0a
-#define STM32F429_PH13_FUNC_FMC_D21 0x7d0d
-#define STM32F429_PH13_FUNC_LCD_G2 0x7d0f
-#define STM32F429_PH13_FUNC_EVENTOUT 0x7d10
-#define STM32F429_PH13_FUNC_ANALOG 0x7d11
-
-#define STM32F429_PH14_FUNC_GPIO 0x7e00
-#define STM32F429_PH14_FUNC_TIM8_CH2N 0x7e04
-#define STM32F429_PH14_FUNC_FMC_D22 0x7e0d
-#define STM32F429_PH14_FUNC_DCMI_D4 0x7e0e
-#define STM32F429_PH14_FUNC_LCD_G3 0x7e0f
-#define STM32F429_PH14_FUNC_EVENTOUT 0x7e10
-#define STM32F429_PH14_FUNC_ANALOG 0x7e11
-
-#define STM32F429_PH15_FUNC_GPIO 0x7f00
-#define STM32F429_PH15_FUNC_TIM8_CH3N 0x7f04
-#define STM32F429_PH15_FUNC_FMC_D23 0x7f0d
-#define STM32F429_PH15_FUNC_DCMI_D11 0x7f0e
-#define STM32F429_PH15_FUNC_LCD_G4 0x7f0f
-#define STM32F429_PH15_FUNC_EVENTOUT 0x7f10
-#define STM32F429_PH15_FUNC_ANALOG 0x7f11
-
-
-
-#define STM32F429_PI0_FUNC_GPIO 0x8000
-#define STM32F429_PI0_FUNC_TIM5_CH4 0x8003
-#define STM32F429_PI0_FUNC_SPI2_NSS_I2S2_WS 0x8006
-#define STM32F429_PI0_FUNC_FMC_D24 0x800d
-#define STM32F429_PI0_FUNC_DCMI_D13 0x800e
-#define STM32F429_PI0_FUNC_LCD_G5 0x800f
-#define STM32F429_PI0_FUNC_EVENTOUT 0x8010
-#define STM32F429_PI0_FUNC_ANALOG 0x8011
-
-#define STM32F429_PI1_FUNC_GPIO 0x8100
-#define STM32F429_PI1_FUNC_SPI2_SCK_I2S2_CK 0x8106
-#define STM32F429_PI1_FUNC_FMC_D25 0x810d
-#define STM32F429_PI1_FUNC_DCMI_D8 0x810e
-#define STM32F429_PI1_FUNC_LCD_G6 0x810f
-#define STM32F429_PI1_FUNC_EVENTOUT 0x8110
-#define STM32F429_PI1_FUNC_ANALOG 0x8111
-
-#define STM32F429_PI2_FUNC_GPIO 0x8200
-#define STM32F429_PI2_FUNC_TIM8_CH4 0x8204
-#define STM32F429_PI2_FUNC_SPI2_MISO 0x8206
-#define STM32F429_PI2_FUNC_I2S2EXT_SD 0x8207
-#define STM32F429_PI2_FUNC_FMC_D26 0x820d
-#define STM32F429_PI2_FUNC_DCMI_D9 0x820e
-#define STM32F429_PI2_FUNC_LCD_G7 0x820f
-#define STM32F429_PI2_FUNC_EVENTOUT 0x8210
-#define STM32F429_PI2_FUNC_ANALOG 0x8211
-
-#define STM32F429_PI3_FUNC_GPIO 0x8300
-#define STM32F429_PI3_FUNC_TIM8_ETR 0x8304
-#define STM32F429_PI3_FUNC_SPI2_MOSI_I2S2_SD 0x8306
-#define STM32F429_PI3_FUNC_FMC_D27 0x830d
-#define STM32F429_PI3_FUNC_DCMI_D10 0x830e
-#define STM32F429_PI3_FUNC_EVENTOUT 0x8310
-#define STM32F429_PI3_FUNC_ANALOG 0x8311
-
-#define STM32F429_PI4_FUNC_GPIO 0x8400
-#define STM32F429_PI4_FUNC_TIM8_BKIN 0x8404
-#define STM32F429_PI4_FUNC_FMC_NBL2 0x840d
-#define STM32F429_PI4_FUNC_DCMI_D5 0x840e
-#define STM32F429_PI4_FUNC_LCD_B4 0x840f
-#define STM32F429_PI4_FUNC_EVENTOUT 0x8410
-#define STM32F429_PI4_FUNC_ANALOG 0x8411
-
-#define STM32F429_PI5_FUNC_GPIO 0x8500
-#define STM32F429_PI5_FUNC_TIM8_CH1 0x8504
-#define STM32F429_PI5_FUNC_FMC_NBL3 0x850d
-#define STM32F429_PI5_FUNC_DCMI_VSYNC 0x850e
-#define STM32F429_PI5_FUNC_LCD_B5 0x850f
-#define STM32F429_PI5_FUNC_EVENTOUT 0x8510
-#define STM32F429_PI5_FUNC_ANALOG 0x8511
-
-#define STM32F429_PI6_FUNC_GPIO 0x8600
-#define STM32F429_PI6_FUNC_TIM8_CH2 0x8604
-#define STM32F429_PI6_FUNC_FMC_D28 0x860d
-#define STM32F429_PI6_FUNC_DCMI_D6 0x860e
-#define STM32F429_PI6_FUNC_LCD_B6 0x860f
-#define STM32F429_PI6_FUNC_EVENTOUT 0x8610
-#define STM32F429_PI6_FUNC_ANALOG 0x8611
-
-#define STM32F429_PI7_FUNC_GPIO 0x8700
-#define STM32F429_PI7_FUNC_TIM8_CH3 0x8704
-#define STM32F429_PI7_FUNC_FMC_D29 0x870d
-#define STM32F429_PI7_FUNC_DCMI_D7 0x870e
-#define STM32F429_PI7_FUNC_LCD_B7 0x870f
-#define STM32F429_PI7_FUNC_EVENTOUT 0x8710
-#define STM32F429_PI7_FUNC_ANALOG 0x8711
-
-#define STM32F429_PI8_FUNC_GPIO 0x8800
-#define STM32F429_PI8_FUNC_EVENTOUT 0x8810
-#define STM32F429_PI8_FUNC_ANALOG 0x8811
-
-#define STM32F429_PI9_FUNC_GPIO 0x8900
-#define STM32F429_PI9_FUNC_CAN1_RX 0x890a
-#define STM32F429_PI9_FUNC_FMC_D30 0x890d
-#define STM32F429_PI9_FUNC_LCD_VSYNC 0x890f
-#define STM32F429_PI9_FUNC_EVENTOUT 0x8910
-#define STM32F429_PI9_FUNC_ANALOG 0x8911
-
-#define STM32F429_PI10_FUNC_GPIO 0x8a00
-#define STM32F429_PI10_FUNC_ETH_MII_RX_ER 0x8a0c
-#define STM32F429_PI10_FUNC_FMC_D31 0x8a0d
-#define STM32F429_PI10_FUNC_LCD_HSYNC 0x8a0f
-#define STM32F429_PI10_FUNC_EVENTOUT 0x8a10
-#define STM32F429_PI10_FUNC_ANALOG 0x8a11
-
-#define STM32F429_PI11_FUNC_GPIO 0x8b00
-#define STM32F429_PI11_FUNC_OTG_HS_ULPI_DIR 0x8b0b
-#define STM32F429_PI11_FUNC_EVENTOUT 0x8b10
-#define STM32F429_PI11_FUNC_ANALOG 0x8b11
-
-#define STM32F429_PI12_FUNC_GPIO 0x8c00
-#define STM32F429_PI12_FUNC_LCD_HSYNC 0x8c0f
-#define STM32F429_PI12_FUNC_EVENTOUT 0x8c10
-#define STM32F429_PI12_FUNC_ANALOG 0x8c11
-
-#define STM32F429_PI13_FUNC_GPIO 0x8d00
-#define STM32F429_PI13_FUNC_LCD_VSYNC 0x8d0f
-#define STM32F429_PI13_FUNC_EVENTOUT 0x8d10
-#define STM32F429_PI13_FUNC_ANALOG 0x8d11
-
-#define STM32F429_PI14_FUNC_GPIO 0x8e00
-#define STM32F429_PI14_FUNC_LCD_CLK 0x8e0f
-#define STM32F429_PI14_FUNC_EVENTOUT 0x8e10
-#define STM32F429_PI14_FUNC_ANALOG 0x8e11
-
-#define STM32F429_PI15_FUNC_GPIO 0x8f00
-#define STM32F429_PI15_FUNC_LCD_R0 0x8f0f
-#define STM32F429_PI15_FUNC_EVENTOUT 0x8f10
-#define STM32F429_PI15_FUNC_ANALOG 0x8f11
-
-
-
-#define STM32F429_PJ0_FUNC_GPIO 0x9000
-#define STM32F429_PJ0_FUNC_LCD_R1 0x900f
-#define STM32F429_PJ0_FUNC_EVENTOUT 0x9010
-#define STM32F429_PJ0_FUNC_ANALOG 0x9011
-
-#define STM32F429_PJ1_FUNC_GPIO 0x9100
-#define STM32F429_PJ1_FUNC_LCD_R2 0x910f
-#define STM32F429_PJ1_FUNC_EVENTOUT 0x9110
-#define STM32F429_PJ1_FUNC_ANALOG 0x9111
-
-#define STM32F429_PJ2_FUNC_GPIO 0x9200
-#define STM32F429_PJ2_FUNC_LCD_R3 0x920f
-#define STM32F429_PJ2_FUNC_EVENTOUT 0x9210
-#define STM32F429_PJ2_FUNC_ANALOG 0x9211
-
-#define STM32F429_PJ3_FUNC_GPIO 0x9300
-#define STM32F429_PJ3_FUNC_LCD_R4 0x930f
-#define STM32F429_PJ3_FUNC_EVENTOUT 0x9310
-#define STM32F429_PJ3_FUNC_ANALOG 0x9311
-
-#define STM32F429_PJ4_FUNC_GPIO 0x9400
-#define STM32F429_PJ4_FUNC_LCD_R5 0x940f
-#define STM32F429_PJ4_FUNC_EVENTOUT 0x9410
-#define STM32F429_PJ4_FUNC_ANALOG 0x9411
-
-#define STM32F429_PJ5_FUNC_GPIO 0x9500
-#define STM32F429_PJ5_FUNC_LCD_R6 0x950f
-#define STM32F429_PJ5_FUNC_EVENTOUT 0x9510
-#define STM32F429_PJ5_FUNC_ANALOG 0x9511
-
-#define STM32F429_PJ6_FUNC_GPIO 0x9600
-#define STM32F429_PJ6_FUNC_LCD_R7 0x960f
-#define STM32F429_PJ6_FUNC_EVENTOUT 0x9610
-#define STM32F429_PJ6_FUNC_ANALOG 0x9611
-
-#define STM32F429_PJ7_FUNC_GPIO 0x9700
-#define STM32F429_PJ7_FUNC_LCD_G0 0x970f
-#define STM32F429_PJ7_FUNC_EVENTOUT 0x9710
-#define STM32F429_PJ7_FUNC_ANALOG 0x9711
-
-#define STM32F429_PJ8_FUNC_GPIO 0x9800
-#define STM32F429_PJ8_FUNC_LCD_G1 0x980f
-#define STM32F429_PJ8_FUNC_EVENTOUT 0x9810
-#define STM32F429_PJ8_FUNC_ANALOG 0x9811
-
-#define STM32F429_PJ9_FUNC_GPIO 0x9900
-#define STM32F429_PJ9_FUNC_LCD_G2 0x990f
-#define STM32F429_PJ9_FUNC_EVENTOUT 0x9910
-#define STM32F429_PJ9_FUNC_ANALOG 0x9911
-
-#define STM32F429_PJ10_FUNC_GPIO 0x9a00
-#define STM32F429_PJ10_FUNC_LCD_G3 0x9a0f
-#define STM32F429_PJ10_FUNC_EVENTOUT 0x9a10
-#define STM32F429_PJ10_FUNC_ANALOG 0x9a11
-
-#define STM32F429_PJ11_FUNC_GPIO 0x9b00
-#define STM32F429_PJ11_FUNC_LCD_G4 0x9b0f
-#define STM32F429_PJ11_FUNC_EVENTOUT 0x9b10
-#define STM32F429_PJ11_FUNC_ANALOG 0x9b11
-
-#define STM32F429_PJ12_FUNC_GPIO 0x9c00
-#define STM32F429_PJ12_FUNC_LCD_B0 0x9c0f
-#define STM32F429_PJ12_FUNC_EVENTOUT 0x9c10
-#define STM32F429_PJ12_FUNC_ANALOG 0x9c11
-
-#define STM32F429_PJ13_FUNC_GPIO 0x9d00
-#define STM32F429_PJ13_FUNC_LCD_B1 0x9d0f
-#define STM32F429_PJ13_FUNC_EVENTOUT 0x9d10
-#define STM32F429_PJ13_FUNC_ANALOG 0x9d11
-
-#define STM32F429_PJ14_FUNC_GPIO 0x9e00
-#define STM32F429_PJ14_FUNC_LCD_B2 0x9e0f
-#define STM32F429_PJ14_FUNC_EVENTOUT 0x9e10
-#define STM32F429_PJ14_FUNC_ANALOG 0x9e11
-
-#define STM32F429_PJ15_FUNC_GPIO 0x9f00
-#define STM32F429_PJ15_FUNC_LCD_B3 0x9f0f
-#define STM32F429_PJ15_FUNC_EVENTOUT 0x9f10
-#define STM32F429_PJ15_FUNC_ANALOG 0x9f11
-
-
-
-#define STM32F429_PK0_FUNC_GPIO 0xa000
-#define STM32F429_PK0_FUNC_LCD_G5 0xa00f
-#define STM32F429_PK0_FUNC_EVENTOUT 0xa010
-#define STM32F429_PK0_FUNC_ANALOG 0xa011
-
-#define STM32F429_PK1_FUNC_GPIO 0xa100
-#define STM32F429_PK1_FUNC_LCD_G6 0xa10f
-#define STM32F429_PK1_FUNC_EVENTOUT 0xa110
-#define STM32F429_PK1_FUNC_ANALOG 0xa111
-
-#define STM32F429_PK2_FUNC_GPIO 0xa200
-#define STM32F429_PK2_FUNC_LCD_G7 0xa20f
-#define STM32F429_PK2_FUNC_EVENTOUT 0xa210
-#define STM32F429_PK2_FUNC_ANALOG 0xa211
-
-#define STM32F429_PK3_FUNC_GPIO 0xa300
-#define STM32F429_PK3_FUNC_LCD_B4 0xa30f
-#define STM32F429_PK3_FUNC_EVENTOUT 0xa310
-#define STM32F429_PK3_FUNC_ANALOG 0xa311
-
-#define STM32F429_PK4_FUNC_GPIO 0xa400
-#define STM32F429_PK4_FUNC_LCD_B5 0xa40f
-#define STM32F429_PK4_FUNC_EVENTOUT 0xa410
-#define STM32F429_PK4_FUNC_ANALOG 0xa411
-
-#define STM32F429_PK5_FUNC_GPIO 0xa500
-#define STM32F429_PK5_FUNC_LCD_B6 0xa50f
-#define STM32F429_PK5_FUNC_EVENTOUT 0xa510
-#define STM32F429_PK5_FUNC_ANALOG 0xa511
-
-#define STM32F429_PK6_FUNC_GPIO 0xa600
-#define STM32F429_PK6_FUNC_LCD_B7 0xa60f
-#define STM32F429_PK6_FUNC_EVENTOUT 0xa610
-#define STM32F429_PK6_FUNC_ANALOG 0xa611
-
-#define STM32F429_PK7_FUNC_GPIO 0xa700
-#define STM32F429_PK7_FUNC_LCD_DE 0xa70f
-#define STM32F429_PK7_FUNC_EVENTOUT 0xa710
-#define STM32F429_PK7_FUNC_ANALOG 0xa711
-
-#endif /* _DT_BINDINGS_STM32F429_PINFUNC_H */
diff --git a/include/dt-bindings/pinctrl/stm32f746-pinfunc.h b/include/dt-bindings/pinctrl/stm32f746-pinfunc.h
deleted file mode 100644 (file)
index 4c28f8f..0000000
+++ /dev/null
@@ -1,1325 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _DT_BINDINGS_STM32F746_PINFUNC_H
-#define _DT_BINDINGS_STM32F746_PINFUNC_H
-
-#define STM32F746_PA0_FUNC_GPIO 0x0
-#define STM32F746_PA0_FUNC_TIM2_CH1_TIM2_ETR 0x2
-#define STM32F746_PA0_FUNC_TIM5_CH1 0x3
-#define STM32F746_PA0_FUNC_TIM8_ETR 0x4
-#define STM32F746_PA0_FUNC_USART2_CTS 0x8
-#define STM32F746_PA0_FUNC_UART4_TX 0x9
-#define STM32F746_PA0_FUNC_SAI2_SD_B 0xb
-#define STM32F746_PA0_FUNC_ETH_MII_CRS 0xc
-#define STM32F746_PA0_FUNC_EVENTOUT 0x10
-#define STM32F746_PA0_FUNC_ANALOG 0x11
-
-#define STM32F746_PA1_FUNC_GPIO 0x100
-#define STM32F746_PA1_FUNC_TIM2_CH2 0x102
-#define STM32F746_PA1_FUNC_TIM5_CH2 0x103
-#define STM32F746_PA1_FUNC_USART2_RTS 0x108
-#define STM32F746_PA1_FUNC_UART4_RX 0x109
-#define STM32F746_PA1_FUNC_QUADSPI_BK1_IO3 0x10a
-#define STM32F746_PA1_FUNC_SAI2_MCLK_B 0x10b
-#define STM32F746_PA1_FUNC_ETH_MII_RX_CLK_ETH_RMII_REF_CLK 0x10c
-#define STM32F746_PA1_FUNC_LCD_R2 0x10f
-#define STM32F746_PA1_FUNC_EVENTOUT 0x110
-#define STM32F746_PA1_FUNC_ANALOG 0x111
-
-#define STM32F746_PA2_FUNC_GPIO 0x200
-#define STM32F746_PA2_FUNC_TIM2_CH3 0x202
-#define STM32F746_PA2_FUNC_TIM5_CH3 0x203
-#define STM32F746_PA2_FUNC_TIM9_CH1 0x204
-#define STM32F746_PA2_FUNC_USART2_TX 0x208
-#define STM32F746_PA2_FUNC_SAI2_SCK_B 0x209
-#define STM32F746_PA2_FUNC_ETH_MDIO 0x20c
-#define STM32F746_PA2_FUNC_LCD_R1 0x20f
-#define STM32F746_PA2_FUNC_EVENTOUT 0x210
-#define STM32F746_PA2_FUNC_ANALOG 0x211
-
-#define STM32F746_PA3_FUNC_GPIO 0x300
-#define STM32F746_PA3_FUNC_TIM2_CH4 0x302
-#define STM32F746_PA3_FUNC_TIM5_CH4 0x303
-#define STM32F746_PA3_FUNC_TIM9_CH2 0x304
-#define STM32F746_PA3_FUNC_USART2_RX 0x308
-#define STM32F746_PA3_FUNC_OTG_HS_ULPI_D0 0x30b
-#define STM32F746_PA3_FUNC_ETH_MII_COL 0x30c
-#define STM32F746_PA3_FUNC_LCD_B5 0x30f
-#define STM32F746_PA3_FUNC_EVENTOUT 0x310
-#define STM32F746_PA3_FUNC_ANALOG 0x311
-
-#define STM32F746_PA4_FUNC_GPIO 0x400
-#define STM32F746_PA4_FUNC_SPI1_NSS_I2S1_WS 0x406
-#define STM32F746_PA4_FUNC_SPI3_NSS_I2S3_WS 0x407
-#define STM32F746_PA4_FUNC_USART2_CK 0x408
-#define STM32F746_PA4_FUNC_OTG_HS_SOF 0x40d
-#define STM32F746_PA4_FUNC_DCMI_HSYNC 0x40e
-#define STM32F746_PA4_FUNC_LCD_VSYNC 0x40f
-#define STM32F746_PA4_FUNC_EVENTOUT 0x410
-#define STM32F746_PA4_FUNC_ANALOG 0x411
-
-#define STM32F746_PA5_FUNC_GPIO 0x500
-#define STM32F746_PA5_FUNC_TIM2_CH1_TIM2_ETR 0x502
-#define STM32F746_PA5_FUNC_TIM8_CH1N 0x504
-#define STM32F746_PA5_FUNC_SPI1_SCK_I2S1_CK 0x506
-#define STM32F746_PA5_FUNC_OTG_HS_ULPI_CK 0x50b
-#define STM32F746_PA5_FUNC_LCD_R4 0x50f
-#define STM32F746_PA5_FUNC_EVENTOUT 0x510
-#define STM32F746_PA5_FUNC_ANALOG 0x511
-
-#define STM32F746_PA6_FUNC_GPIO 0x600
-#define STM32F746_PA6_FUNC_TIM1_BKIN 0x602
-#define STM32F746_PA6_FUNC_TIM3_CH1 0x603
-#define STM32F746_PA6_FUNC_TIM8_BKIN 0x604
-#define STM32F746_PA6_FUNC_SPI1_MISO 0x606
-#define STM32F746_PA6_FUNC_TIM13_CH1 0x60a
-#define STM32F746_PA6_FUNC_DCMI_PIXCLK 0x60e
-#define STM32F746_PA6_FUNC_LCD_G2 0x60f
-#define STM32F746_PA6_FUNC_EVENTOUT 0x610
-#define STM32F746_PA6_FUNC_ANALOG 0x611
-
-#define STM32F746_PA7_FUNC_GPIO 0x700
-#define STM32F746_PA7_FUNC_TIM1_CH1N 0x702
-#define STM32F746_PA7_FUNC_TIM3_CH2 0x703
-#define STM32F746_PA7_FUNC_TIM8_CH1N 0x704
-#define STM32F746_PA7_FUNC_SPI1_MOSI_I2S1_SD 0x706
-#define STM32F746_PA7_FUNC_TIM14_CH1 0x70a
-#define STM32F746_PA7_FUNC_ETH_MII_RX_DV_ETH_RMII_CRS_DV 0x70c
-#define STM32F746_PA7_FUNC_FMC_SDNWE 0x70d
-#define STM32F746_PA7_FUNC_EVENTOUT 0x710
-#define STM32F746_PA7_FUNC_ANALOG 0x711
-
-#define STM32F746_PA8_FUNC_GPIO 0x800
-#define STM32F746_PA8_FUNC_MCO1 0x801
-#define STM32F746_PA8_FUNC_TIM1_CH1 0x802
-#define STM32F746_PA8_FUNC_TIM8_BKIN2 0x804
-#define STM32F746_PA8_FUNC_I2C3_SCL 0x805
-#define STM32F746_PA8_FUNC_USART1_CK 0x808
-#define STM32F746_PA8_FUNC_OTG_FS_SOF 0x80b
-#define STM32F746_PA8_FUNC_LCD_R6 0x80f
-#define STM32F746_PA8_FUNC_EVENTOUT 0x810
-#define STM32F746_PA8_FUNC_ANALOG 0x811
-
-#define STM32F746_PA9_FUNC_GPIO 0x900
-#define STM32F746_PA9_FUNC_TIM1_CH2 0x902
-#define STM32F746_PA9_FUNC_I2C3_SMBA 0x905
-#define STM32F746_PA9_FUNC_SPI2_SCK_I2S2_CK 0x906
-#define STM32F746_PA9_FUNC_USART1_TX 0x908
-#define STM32F746_PA9_FUNC_DCMI_D0 0x90e
-#define STM32F746_PA9_FUNC_EVENTOUT 0x910
-#define STM32F746_PA9_FUNC_ANALOG 0x911
-
-#define STM32F746_PA10_FUNC_GPIO 0xa00
-#define STM32F746_PA10_FUNC_TIM1_CH3 0xa02
-#define STM32F746_PA10_FUNC_USART1_RX 0xa08
-#define STM32F746_PA10_FUNC_OTG_FS_ID 0xa0b
-#define STM32F746_PA10_FUNC_DCMI_D1 0xa0e
-#define STM32F746_PA10_FUNC_EVENTOUT 0xa10
-#define STM32F746_PA10_FUNC_ANALOG 0xa11
-
-#define STM32F746_PA11_FUNC_GPIO 0xb00
-#define STM32F746_PA11_FUNC_TIM1_CH4 0xb02
-#define STM32F746_PA11_FUNC_USART1_CTS 0xb08
-#define STM32F746_PA11_FUNC_CAN1_RX 0xb0a
-#define STM32F746_PA11_FUNC_OTG_FS_DM 0xb0b
-#define STM32F746_PA11_FUNC_LCD_R4 0xb0f
-#define STM32F746_PA11_FUNC_EVENTOUT 0xb10
-#define STM32F746_PA11_FUNC_ANALOG 0xb11
-
-#define STM32F746_PA12_FUNC_GPIO 0xc00
-#define STM32F746_PA12_FUNC_TIM1_ETR 0xc02
-#define STM32F746_PA12_FUNC_USART1_RTS 0xc08
-#define STM32F746_PA12_FUNC_SAI2_FS_B 0xc09
-#define STM32F746_PA12_FUNC_CAN1_TX 0xc0a
-#define STM32F746_PA12_FUNC_OTG_FS_DP 0xc0b
-#define STM32F746_PA12_FUNC_LCD_R5 0xc0f
-#define STM32F746_PA12_FUNC_EVENTOUT 0xc10
-#define STM32F746_PA12_FUNC_ANALOG 0xc11
-
-#define STM32F746_PA13_FUNC_GPIO 0xd00
-#define STM32F746_PA13_FUNC_JTMS_SWDIO 0xd01
-#define STM32F746_PA13_FUNC_EVENTOUT 0xd10
-#define STM32F746_PA13_FUNC_ANALOG 0xd11
-
-#define STM32F746_PA14_FUNC_GPIO 0xe00
-#define STM32F746_PA14_FUNC_JTCK_SWCLK 0xe01
-#define STM32F746_PA14_FUNC_EVENTOUT 0xe10
-#define STM32F746_PA14_FUNC_ANALOG 0xe11
-
-#define STM32F746_PA15_FUNC_GPIO 0xf00
-#define STM32F746_PA15_FUNC_JTDI 0xf01
-#define STM32F746_PA15_FUNC_TIM2_CH1_TIM2_ETR 0xf02
-#define STM32F746_PA15_FUNC_HDMI_CEC 0xf05
-#define STM32F746_PA15_FUNC_SPI1_NSS_I2S1_WS 0xf06
-#define STM32F746_PA15_FUNC_SPI3_NSS_I2S3_WS 0xf07
-#define STM32F746_PA15_FUNC_UART4_RTS 0xf09
-#define STM32F746_PA15_FUNC_EVENTOUT 0xf10
-#define STM32F746_PA15_FUNC_ANALOG 0xf11
-
-
-#define STM32F746_PB0_FUNC_GPIO 0x1000
-#define STM32F746_PB0_FUNC_TIM1_CH2N 0x1002
-#define STM32F746_PB0_FUNC_TIM3_CH3 0x1003
-#define STM32F746_PB0_FUNC_TIM8_CH2N 0x1004
-#define STM32F746_PB0_FUNC_UART4_CTS 0x1009
-#define STM32F746_PB0_FUNC_LCD_R3 0x100a
-#define STM32F746_PB0_FUNC_OTG_HS_ULPI_D1 0x100b
-#define STM32F746_PB0_FUNC_ETH_MII_RXD2 0x100c
-#define STM32F746_PB0_FUNC_EVENTOUT 0x1010
-#define STM32F746_PB0_FUNC_ANALOG 0x1011
-
-#define STM32F746_PB1_FUNC_GPIO 0x1100
-#define STM32F746_PB1_FUNC_TIM1_CH3N 0x1102
-#define STM32F746_PB1_FUNC_TIM3_CH4 0x1103
-#define STM32F746_PB1_FUNC_TIM8_CH3N 0x1104
-#define STM32F746_PB1_FUNC_LCD_R6 0x110a
-#define STM32F746_PB1_FUNC_OTG_HS_ULPI_D2 0x110b
-#define STM32F746_PB1_FUNC_ETH_MII_RXD3 0x110c
-#define STM32F746_PB1_FUNC_EVENTOUT 0x1110
-#define STM32F746_PB1_FUNC_ANALOG 0x1111
-
-#define STM32F746_PB2_FUNC_GPIO 0x1200
-#define STM32F746_PB2_FUNC_SAI1_SD_A 0x1207
-#define STM32F746_PB2_FUNC_SPI3_MOSI_I2S3_SD 0x1208
-#define STM32F746_PB2_FUNC_QUADSPI_CLK 0x120a
-#define STM32F746_PB2_FUNC_EVENTOUT 0x1210
-#define STM32F746_PB2_FUNC_ANALOG 0x1211
-
-#define STM32F746_PB3_FUNC_GPIO 0x1300
-#define STM32F746_PB3_FUNC_JTDO_TRACESWO 0x1301
-#define STM32F746_PB3_FUNC_TIM2_CH2 0x1302
-#define STM32F746_PB3_FUNC_SPI1_SCK_I2S1_CK 0x1306
-#define STM32F746_PB3_FUNC_SPI3_SCK_I2S3_CK 0x1307
-#define STM32F746_PB3_FUNC_EVENTOUT 0x1310
-#define STM32F746_PB3_FUNC_ANALOG 0x1311
-
-#define STM32F746_PB4_FUNC_GPIO 0x1400
-#define STM32F746_PB4_FUNC_NJTRST 0x1401
-#define STM32F746_PB4_FUNC_TIM3_CH1 0x1403
-#define STM32F746_PB4_FUNC_SPI1_MISO 0x1406
-#define STM32F746_PB4_FUNC_SPI3_MISO 0x1407
-#define STM32F746_PB4_FUNC_SPI2_NSS_I2S2_WS 0x1408
-#define STM32F746_PB4_FUNC_EVENTOUT 0x1410
-#define STM32F746_PB4_FUNC_ANALOG 0x1411
-
-#define STM32F746_PB5_FUNC_GPIO 0x1500
-#define STM32F746_PB5_FUNC_TIM3_CH2 0x1503
-#define STM32F746_PB5_FUNC_I2C1_SMBA 0x1505
-#define STM32F746_PB5_FUNC_SPI1_MOSI_I2S1_SD 0x1506
-#define STM32F746_PB5_FUNC_SPI3_MOSI_I2S3_SD 0x1507
-#define STM32F746_PB5_FUNC_CAN2_RX 0x150a
-#define STM32F746_PB5_FUNC_OTG_HS_ULPI_D7 0x150b
-#define STM32F746_PB5_FUNC_ETH_PPS_OUT 0x150c
-#define STM32F746_PB5_FUNC_FMC_SDCKE1 0x150d
-#define STM32F746_PB5_FUNC_DCMI_D10 0x150e
-#define STM32F746_PB5_FUNC_EVENTOUT 0x1510
-#define STM32F746_PB5_FUNC_ANALOG 0x1511
-
-#define STM32F746_PB6_FUNC_GPIO 0x1600
-#define STM32F746_PB6_FUNC_TIM4_CH1 0x1603
-#define STM32F746_PB6_FUNC_HDMI_CEC 0x1604
-#define STM32F746_PB6_FUNC_I2C1_SCL 0x1605
-#define STM32F746_PB6_FUNC_USART1_TX 0x1608
-#define STM32F746_PB6_FUNC_CAN2_TX 0x160a
-#define STM32F746_PB6_FUNC_QUADSPI_BK1_NCS 0x160b
-#define STM32F746_PB6_FUNC_FMC_SDNE1 0x160d
-#define STM32F746_PB6_FUNC_DCMI_D5 0x160e
-#define STM32F746_PB6_FUNC_EVENTOUT 0x1610
-#define STM32F746_PB6_FUNC_ANALOG 0x1611
-
-#define STM32F746_PB7_FUNC_GPIO 0x1700
-#define STM32F746_PB7_FUNC_TIM4_CH2 0x1703
-#define STM32F746_PB7_FUNC_I2C1_SDA 0x1705
-#define STM32F746_PB7_FUNC_USART1_RX 0x1708
-#define STM32F746_PB7_FUNC_FMC_NL 0x170d
-#define STM32F746_PB7_FUNC_DCMI_VSYNC 0x170e
-#define STM32F746_PB7_FUNC_EVENTOUT 0x1710
-#define STM32F746_PB7_FUNC_ANALOG 0x1711
-
-#define STM32F746_PB8_FUNC_GPIO 0x1800
-#define STM32F746_PB8_FUNC_TIM4_CH3 0x1803
-#define STM32F746_PB8_FUNC_TIM10_CH1 0x1804
-#define STM32F746_PB8_FUNC_I2C1_SCL 0x1805
-#define STM32F746_PB8_FUNC_CAN1_RX 0x180a
-#define STM32F746_PB8_FUNC_ETH_MII_TXD3 0x180c
-#define STM32F746_PB8_FUNC_SDMMC1_D4 0x180d
-#define STM32F746_PB8_FUNC_DCMI_D6 0x180e
-#define STM32F746_PB8_FUNC_LCD_B6 0x180f
-#define STM32F746_PB8_FUNC_EVENTOUT 0x1810
-#define STM32F746_PB8_FUNC_ANALOG 0x1811
-
-#define STM32F746_PB9_FUNC_GPIO 0x1900
-#define STM32F746_PB9_FUNC_TIM4_CH4 0x1903
-#define STM32F746_PB9_FUNC_TIM11_CH1 0x1904
-#define STM32F746_PB9_FUNC_I2C1_SDA 0x1905
-#define STM32F746_PB9_FUNC_SPI2_NSS_I2S2_WS 0x1906
-#define STM32F746_PB9_FUNC_CAN1_TX 0x190a
-#define STM32F746_PB9_FUNC_SDMMC1_D5 0x190d
-#define STM32F746_PB9_FUNC_DCMI_D7 0x190e
-#define STM32F746_PB9_FUNC_LCD_B7 0x190f
-#define STM32F746_PB9_FUNC_EVENTOUT 0x1910
-#define STM32F746_PB9_FUNC_ANALOG 0x1911
-
-#define STM32F746_PB10_FUNC_GPIO 0x1a00
-#define STM32F746_PB10_FUNC_TIM2_CH3 0x1a02
-#define STM32F746_PB10_FUNC_I2C2_SCL 0x1a05
-#define STM32F746_PB10_FUNC_SPI2_SCK_I2S2_CK 0x1a06
-#define STM32F746_PB10_FUNC_USART3_TX 0x1a08
-#define STM32F746_PB10_FUNC_OTG_HS_ULPI_D3 0x1a0b
-#define STM32F746_PB10_FUNC_ETH_MII_RX_ER 0x1a0c
-#define STM32F746_PB10_FUNC_LCD_G4 0x1a0f
-#define STM32F746_PB10_FUNC_EVENTOUT 0x1a10
-#define STM32F746_PB10_FUNC_ANALOG 0x1a11
-
-#define STM32F746_PB11_FUNC_GPIO 0x1b00
-#define STM32F746_PB11_FUNC_TIM2_CH4 0x1b02
-#define STM32F746_PB11_FUNC_I2C2_SDA 0x1b05
-#define STM32F746_PB11_FUNC_USART3_RX 0x1b08
-#define STM32F746_PB11_FUNC_OTG_HS_ULPI_D4 0x1b0b
-#define STM32F746_PB11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN 0x1b0c
-#define STM32F746_PB11_FUNC_LCD_G5 0x1b0f
-#define STM32F746_PB11_FUNC_EVENTOUT 0x1b10
-#define STM32F746_PB11_FUNC_ANALOG 0x1b11
-
-#define STM32F746_PB12_FUNC_GPIO 0x1c00
-#define STM32F746_PB12_FUNC_TIM1_BKIN 0x1c02
-#define STM32F746_PB12_FUNC_I2C2_SMBA 0x1c05
-#define STM32F746_PB12_FUNC_SPI2_NSS_I2S2_WS 0x1c06
-#define STM32F746_PB12_FUNC_USART3_CK 0x1c08
-#define STM32F746_PB12_FUNC_CAN2_RX 0x1c0a
-#define STM32F746_PB12_FUNC_OTG_HS_ULPI_D5 0x1c0b
-#define STM32F746_PB12_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0 0x1c0c
-#define STM32F746_PB12_FUNC_OTG_HS_ID 0x1c0d
-#define STM32F746_PB12_FUNC_EVENTOUT 0x1c10
-#define STM32F746_PB12_FUNC_ANALOG 0x1c11
-
-#define STM32F746_PB13_FUNC_GPIO 0x1d00
-#define STM32F746_PB13_FUNC_TIM1_CH1N 0x1d02
-#define STM32F746_PB13_FUNC_SPI2_SCK_I2S2_CK 0x1d06
-#define STM32F746_PB13_FUNC_USART3_CTS 0x1d08
-#define STM32F746_PB13_FUNC_CAN2_TX 0x1d0a
-#define STM32F746_PB13_FUNC_OTG_HS_ULPI_D6 0x1d0b
-#define STM32F746_PB13_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x1d0c
-#define STM32F746_PB13_FUNC_EVENTOUT 0x1d10
-#define STM32F746_PB13_FUNC_ANALOG 0x1d11
-
-#define STM32F746_PB14_FUNC_GPIO 0x1e00
-#define STM32F746_PB14_FUNC_TIM1_CH2N 0x1e02
-#define STM32F746_PB14_FUNC_TIM8_CH2N 0x1e04
-#define STM32F746_PB14_FUNC_SPI2_MISO 0x1e06
-#define STM32F746_PB14_FUNC_USART3_RTS 0x1e08
-#define STM32F746_PB14_FUNC_TIM12_CH1 0x1e0a
-#define STM32F746_PB14_FUNC_OTG_HS_DM 0x1e0d
-#define STM32F746_PB14_FUNC_EVENTOUT 0x1e10
-#define STM32F746_PB14_FUNC_ANALOG 0x1e11
-
-#define STM32F746_PB15_FUNC_GPIO 0x1f00
-#define STM32F746_PB15_FUNC_RTC_REFIN 0x1f01
-#define STM32F746_PB15_FUNC_TIM1_CH3N 0x1f02
-#define STM32F746_PB15_FUNC_TIM8_CH3N 0x1f04
-#define STM32F746_PB15_FUNC_SPI2_MOSI_I2S2_SD 0x1f06
-#define STM32F746_PB15_FUNC_TIM12_CH2 0x1f0a
-#define STM32F746_PB15_FUNC_OTG_HS_DP 0x1f0d
-#define STM32F746_PB15_FUNC_EVENTOUT 0x1f10
-#define STM32F746_PB15_FUNC_ANALOG 0x1f11
-
-
-#define STM32F746_PC0_FUNC_GPIO 0x2000
-#define STM32F746_PC0_FUNC_SAI2_FS_B 0x2009
-#define STM32F746_PC0_FUNC_OTG_HS_ULPI_STP 0x200b
-#define STM32F746_PC0_FUNC_FMC_SDNWE 0x200d
-#define STM32F746_PC0_FUNC_LCD_R5 0x200f
-#define STM32F746_PC0_FUNC_EVENTOUT 0x2010
-#define STM32F746_PC0_FUNC_ANALOG 0x2011
-
-#define STM32F746_PC1_FUNC_GPIO 0x2100
-#define STM32F746_PC1_FUNC_TRACED0 0x2101
-#define STM32F746_PC1_FUNC_SPI2_MOSI_I2S2_SD 0x2106
-#define STM32F746_PC1_FUNC_SAI1_SD_A 0x2107
-#define STM32F746_PC1_FUNC_ETH_MDC 0x210c
-#define STM32F746_PC1_FUNC_EVENTOUT 0x2110
-#define STM32F746_PC1_FUNC_ANALOG 0x2111
-
-#define STM32F746_PC2_FUNC_GPIO 0x2200
-#define STM32F746_PC2_FUNC_SPI2_MISO 0x2206
-#define STM32F746_PC2_FUNC_OTG_HS_ULPI_DIR 0x220b
-#define STM32F746_PC2_FUNC_ETH_MII_TXD2 0x220c
-#define STM32F746_PC2_FUNC_FMC_SDNE0 0x220d
-#define STM32F746_PC2_FUNC_EVENTOUT 0x2210
-#define STM32F746_PC2_FUNC_ANALOG 0x2211
-
-#define STM32F746_PC3_FUNC_GPIO 0x2300
-#define STM32F746_PC3_FUNC_SPI2_MOSI_I2S2_SD 0x2306
-#define STM32F746_PC3_FUNC_OTG_HS_ULPI_NXT 0x230b
-#define STM32F746_PC3_FUNC_ETH_MII_TX_CLK 0x230c
-#define STM32F746_PC3_FUNC_FMC_SDCKE0 0x230d
-#define STM32F746_PC3_FUNC_EVENTOUT 0x2310
-#define STM32F746_PC3_FUNC_ANALOG 0x2311
-
-#define STM32F746_PC4_FUNC_GPIO 0x2400
-#define STM32F746_PC4_FUNC_I2S1_MCK 0x2406
-#define STM32F746_PC4_FUNC_SPDIFRX_IN2 0x2409
-#define STM32F746_PC4_FUNC_ETH_MII_RXD0_ETH_RMII_RXD0 0x240c
-#define STM32F746_PC4_FUNC_FMC_SDNE0 0x240d
-#define STM32F746_PC4_FUNC_EVENTOUT 0x2410
-#define STM32F746_PC4_FUNC_ANALOG 0x2411
-
-#define STM32F746_PC5_FUNC_GPIO 0x2500
-#define STM32F746_PC5_FUNC_SPDIFRX_IN3 0x2509
-#define STM32F746_PC5_FUNC_ETH_MII_RXD1_ETH_RMII_RXD1 0x250c
-#define STM32F746_PC5_FUNC_FMC_SDCKE0 0x250d
-#define STM32F746_PC5_FUNC_EVENTOUT 0x2510
-#define STM32F746_PC5_FUNC_ANALOG 0x2511
-
-#define STM32F746_PC6_FUNC_GPIO 0x2600
-#define STM32F746_PC6_FUNC_TIM3_CH1 0x2603
-#define STM32F746_PC6_FUNC_TIM8_CH1 0x2604
-#define STM32F746_PC6_FUNC_I2S2_MCK 0x2606
-#define STM32F746_PC6_FUNC_USART6_TX 0x2609
-#define STM32F746_PC6_FUNC_SDMMC1_D6 0x260d
-#define STM32F746_PC6_FUNC_DCMI_D0 0x260e
-#define STM32F746_PC6_FUNC_LCD_HSYNC 0x260f
-#define STM32F746_PC6_FUNC_EVENTOUT 0x2610
-#define STM32F746_PC6_FUNC_ANALOG 0x2611
-
-#define STM32F746_PC7_FUNC_GPIO 0x2700
-#define STM32F746_PC7_FUNC_TIM3_CH2 0x2703
-#define STM32F746_PC7_FUNC_TIM8_CH2 0x2704
-#define STM32F746_PC7_FUNC_I2S3_MCK 0x2707
-#define STM32F746_PC7_FUNC_USART6_RX 0x2709
-#define STM32F746_PC7_FUNC_SDMMC1_D7 0x270d
-#define STM32F746_PC7_FUNC_DCMI_D1 0x270e
-#define STM32F746_PC7_FUNC_LCD_G6 0x270f
-#define STM32F746_PC7_FUNC_EVENTOUT 0x2710
-#define STM32F746_PC7_FUNC_ANALOG 0x2711
-
-#define STM32F746_PC8_FUNC_GPIO 0x2800
-#define STM32F746_PC8_FUNC_TRACED1 0x2801
-#define STM32F746_PC8_FUNC_TIM3_CH3 0x2803
-#define STM32F746_PC8_FUNC_TIM8_CH3 0x2804
-#define STM32F746_PC8_FUNC_UART5_RTS 0x2808
-#define STM32F746_PC8_FUNC_USART6_CK 0x2809
-#define STM32F746_PC8_FUNC_SDMMC1_D0 0x280d
-#define STM32F746_PC8_FUNC_DCMI_D2 0x280e
-#define STM32F746_PC8_FUNC_EVENTOUT 0x2810
-#define STM32F746_PC8_FUNC_ANALOG 0x2811
-
-#define STM32F746_PC9_FUNC_GPIO 0x2900
-#define STM32F746_PC9_FUNC_MCO2 0x2901
-#define STM32F746_PC9_FUNC_TIM3_CH4 0x2903
-#define STM32F746_PC9_FUNC_TIM8_CH4 0x2904
-#define STM32F746_PC9_FUNC_I2C3_SDA 0x2905
-#define STM32F746_PC9_FUNC_I2S_CKIN 0x2906
-#define STM32F746_PC9_FUNC_UART5_CTS 0x2908
-#define STM32F746_PC9_FUNC_QUADSPI_BK1_IO0 0x290a
-#define STM32F746_PC9_FUNC_SDMMC1_D1 0x290d
-#define STM32F746_PC9_FUNC_DCMI_D3 0x290e
-#define STM32F746_PC9_FUNC_EVENTOUT 0x2910
-#define STM32F746_PC9_FUNC_ANALOG 0x2911
-
-#define STM32F746_PC10_FUNC_GPIO 0x2a00
-#define STM32F746_PC10_FUNC_SPI3_SCK_I2S3_CK 0x2a07
-#define STM32F746_PC10_FUNC_USART3_TX 0x2a08
-#define STM32F746_PC10_FUNC_UART4_TX 0x2a09
-#define STM32F746_PC10_FUNC_QUADSPI_BK1_IO1 0x2a0a
-#define STM32F746_PC10_FUNC_SDMMC1_D2 0x2a0d
-#define STM32F746_PC10_FUNC_DCMI_D8 0x2a0e
-#define STM32F746_PC10_FUNC_LCD_R2 0x2a0f
-#define STM32F746_PC10_FUNC_EVENTOUT 0x2a10
-#define STM32F746_PC10_FUNC_ANALOG 0x2a11
-
-#define STM32F746_PC11_FUNC_GPIO 0x2b00
-#define STM32F746_PC11_FUNC_SPI3_MISO 0x2b07
-#define STM32F746_PC11_FUNC_USART3_RX 0x2b08
-#define STM32F746_PC11_FUNC_UART4_RX 0x2b09
-#define STM32F746_PC11_FUNC_QUADSPI_BK2_NCS 0x2b0a
-#define STM32F746_PC11_FUNC_SDMMC1_D3 0x2b0d
-#define STM32F746_PC11_FUNC_DCMI_D4 0x2b0e
-#define STM32F746_PC11_FUNC_EVENTOUT 0x2b10
-#define STM32F746_PC11_FUNC_ANALOG 0x2b11
-
-#define STM32F746_PC12_FUNC_GPIO 0x2c00
-#define STM32F746_PC12_FUNC_TRACED3 0x2c01
-#define STM32F746_PC12_FUNC_SPI3_MOSI_I2S3_SD 0x2c07
-#define STM32F746_PC12_FUNC_USART3_CK 0x2c08
-#define STM32F746_PC12_FUNC_UART5_TX 0x2c09
-#define STM32F746_PC12_FUNC_SDMMC1_CK 0x2c0d
-#define STM32F746_PC12_FUNC_DCMI_D9 0x2c0e
-#define STM32F746_PC12_FUNC_EVENTOUT 0x2c10
-#define STM32F746_PC12_FUNC_ANALOG 0x2c11
-
-#define STM32F746_PC13_FUNC_GPIO 0x2d00
-#define STM32F746_PC13_FUNC_EVENTOUT 0x2d10
-#define STM32F746_PC13_FUNC_ANALOG 0x2d11
-
-#define STM32F746_PC14_FUNC_GPIO 0x2e00
-#define STM32F746_PC14_FUNC_EVENTOUT 0x2e10
-#define STM32F746_PC14_FUNC_ANALOG 0x2e11
-
-#define STM32F746_PC15_FUNC_GPIO 0x2f00
-#define STM32F746_PC15_FUNC_EVENTOUT 0x2f10
-#define STM32F746_PC15_FUNC_ANALOG 0x2f11
-
-
-#define STM32F746_PD0_FUNC_GPIO 0x3000
-#define STM32F746_PD0_FUNC_CAN1_RX 0x300a
-#define STM32F746_PD0_FUNC_FMC_D2 0x300d
-#define STM32F746_PD0_FUNC_EVENTOUT 0x3010
-#define STM32F746_PD0_FUNC_ANALOG 0x3011
-
-#define STM32F746_PD1_FUNC_GPIO 0x3100
-#define STM32F746_PD1_FUNC_CAN1_TX 0x310a
-#define STM32F746_PD1_FUNC_FMC_D3 0x310d
-#define STM32F746_PD1_FUNC_EVENTOUT 0x3110
-#define STM32F746_PD1_FUNC_ANALOG 0x3111
-
-#define STM32F746_PD2_FUNC_GPIO 0x3200
-#define STM32F746_PD2_FUNC_TRACED2 0x3201
-#define STM32F746_PD2_FUNC_TIM3_ETR 0x3203
-#define STM32F746_PD2_FUNC_UART5_RX 0x3209
-#define STM32F746_PD2_FUNC_SDMMC1_CMD 0x320d
-#define STM32F746_PD2_FUNC_DCMI_D11 0x320e
-#define STM32F746_PD2_FUNC_EVENTOUT 0x3210
-#define STM32F746_PD2_FUNC_ANALOG 0x3211
-
-#define STM32F746_PD3_FUNC_GPIO 0x3300
-#define STM32F746_PD3_FUNC_SPI2_SCK_I2S2_CK 0x3306
-#define STM32F746_PD3_FUNC_USART2_CTS 0x3308
-#define STM32F746_PD3_FUNC_FMC_CLK 0x330d
-#define STM32F746_PD3_FUNC_DCMI_D5 0x330e
-#define STM32F746_PD3_FUNC_LCD_G7 0x330f
-#define STM32F746_PD3_FUNC_EVENTOUT 0x3310
-#define STM32F746_PD3_FUNC_ANALOG 0x3311
-
-#define STM32F746_PD4_FUNC_GPIO 0x3400
-#define STM32F746_PD4_FUNC_USART2_RTS 0x3408
-#define STM32F746_PD4_FUNC_FMC_NOE 0x340d
-#define STM32F746_PD4_FUNC_EVENTOUT 0x3410
-#define STM32F746_PD4_FUNC_ANALOG 0x3411
-
-#define STM32F746_PD5_FUNC_GPIO 0x3500
-#define STM32F746_PD5_FUNC_USART2_TX 0x3508
-#define STM32F746_PD5_FUNC_FMC_NWE 0x350d
-#define STM32F746_PD5_FUNC_EVENTOUT 0x3510
-#define STM32F746_PD5_FUNC_ANALOG 0x3511
-
-#define STM32F746_PD6_FUNC_GPIO 0x3600
-#define STM32F746_PD6_FUNC_SPI3_MOSI_I2S3_SD 0x3606
-#define STM32F746_PD6_FUNC_SAI1_SD_A 0x3607
-#define STM32F746_PD6_FUNC_USART2_RX 0x3608
-#define STM32F746_PD6_FUNC_FMC_NWAIT 0x360d
-#define STM32F746_PD6_FUNC_DCMI_D10 0x360e
-#define STM32F746_PD6_FUNC_LCD_B2 0x360f
-#define STM32F746_PD6_FUNC_EVENTOUT 0x3610
-#define STM32F746_PD6_FUNC_ANALOG 0x3611
-
-#define STM32F746_PD7_FUNC_GPIO 0x3700
-#define STM32F746_PD7_FUNC_USART2_CK 0x3708
-#define STM32F746_PD7_FUNC_SPDIFRX_IN0 0x3709
-#define STM32F746_PD7_FUNC_FMC_NE1 0x370d
-#define STM32F746_PD7_FUNC_EVENTOUT 0x3710
-#define STM32F746_PD7_FUNC_ANALOG 0x3711
-
-#define STM32F746_PD8_FUNC_GPIO 0x3800
-#define STM32F746_PD8_FUNC_USART3_TX 0x3808
-#define STM32F746_PD8_FUNC_SPDIFRX_IN1 0x3809
-#define STM32F746_PD8_FUNC_FMC_D13 0x380d
-#define STM32F746_PD8_FUNC_EVENTOUT 0x3810
-#define STM32F746_PD8_FUNC_ANALOG 0x3811
-
-#define STM32F746_PD9_FUNC_GPIO 0x3900
-#define STM32F746_PD9_FUNC_USART3_RX 0x3908
-#define STM32F746_PD9_FUNC_FMC_D14 0x390d
-#define STM32F746_PD9_FUNC_EVENTOUT 0x3910
-#define STM32F746_PD9_FUNC_ANALOG 0x3911
-
-#define STM32F746_PD10_FUNC_GPIO 0x3a00
-#define STM32F746_PD10_FUNC_USART3_CK 0x3a08
-#define STM32F746_PD10_FUNC_FMC_D15 0x3a0d
-#define STM32F746_PD10_FUNC_LCD_B3 0x3a0f
-#define STM32F746_PD10_FUNC_EVENTOUT 0x3a10
-#define STM32F746_PD10_FUNC_ANALOG 0x3a11
-
-#define STM32F746_PD11_FUNC_GPIO 0x3b00
-#define STM32F746_PD11_FUNC_I2C4_SMBA 0x3b05
-#define STM32F746_PD11_FUNC_USART3_CTS 0x3b08
-#define STM32F746_PD11_FUNC_QUADSPI_BK1_IO0 0x3b0a
-#define STM32F746_PD11_FUNC_SAI2_SD_A 0x3b0b
-#define STM32F746_PD11_FUNC_FMC_A16_FMC_CLE 0x3b0d
-#define STM32F746_PD11_FUNC_EVENTOUT 0x3b10
-#define STM32F746_PD11_FUNC_ANALOG 0x3b11
-
-#define STM32F746_PD12_FUNC_GPIO 0x3c00
-#define STM32F746_PD12_FUNC_TIM4_CH1 0x3c03
-#define STM32F746_PD12_FUNC_LPTIM1_IN1 0x3c04
-#define STM32F746_PD12_FUNC_I2C4_SCL 0x3c05
-#define STM32F746_PD12_FUNC_USART3_RTS 0x3c08
-#define STM32F746_PD12_FUNC_QUADSPI_BK1_IO1 0x3c0a
-#define STM32F746_PD12_FUNC_SAI2_FS_A 0x3c0b
-#define STM32F746_PD12_FUNC_FMC_A17_FMC_ALE 0x3c0d
-#define STM32F746_PD12_FUNC_EVENTOUT 0x3c10
-#define STM32F746_PD12_FUNC_ANALOG 0x3c11
-
-#define STM32F746_PD13_FUNC_GPIO 0x3d00
-#define STM32F746_PD13_FUNC_TIM4_CH2 0x3d03
-#define STM32F746_PD13_FUNC_LPTIM1_OUT 0x3d04
-#define STM32F746_PD13_FUNC_I2C4_SDA 0x3d05
-#define STM32F746_PD13_FUNC_QUADSPI_BK1_IO3 0x3d0a
-#define STM32F746_PD13_FUNC_SAI2_SCK_A 0x3d0b
-#define STM32F746_PD13_FUNC_FMC_A18 0x3d0d
-#define STM32F746_PD13_FUNC_EVENTOUT 0x3d10
-#define STM32F746_PD13_FUNC_ANALOG 0x3d11
-
-#define STM32F746_PD14_FUNC_GPIO 0x3e00
-#define STM32F746_PD14_FUNC_TIM4_CH3 0x3e03
-#define STM32F746_PD14_FUNC_UART8_CTS 0x3e09
-#define STM32F746_PD14_FUNC_FMC_D0 0x3e0d
-#define STM32F746_PD14_FUNC_EVENTOUT 0x3e10
-#define STM32F746_PD14_FUNC_ANALOG 0x3e11
-
-#define STM32F746_PD15_FUNC_GPIO 0x3f00
-#define STM32F746_PD15_FUNC_TIM4_CH4 0x3f03
-#define STM32F746_PD15_FUNC_UART8_RTS 0x3f09
-#define STM32F746_PD15_FUNC_FMC_D1 0x3f0d
-#define STM32F746_PD15_FUNC_EVENTOUT 0x3f10
-#define STM32F746_PD15_FUNC_ANALOG 0x3f11
-
-
-#define STM32F746_PE0_FUNC_GPIO 0x4000
-#define STM32F746_PE0_FUNC_TIM4_ETR 0x4003
-#define STM32F746_PE0_FUNC_LPTIM1_ETR 0x4004
-#define STM32F746_PE0_FUNC_UART8_RX 0x4009
-#define STM32F746_PE0_FUNC_SAI2_MCLK_A 0x400b
-#define STM32F746_PE0_FUNC_FMC_NBL0 0x400d
-#define STM32F746_PE0_FUNC_DCMI_D2 0x400e
-#define STM32F746_PE0_FUNC_EVENTOUT 0x4010
-#define STM32F746_PE0_FUNC_ANALOG 0x4011
-
-#define STM32F746_PE1_FUNC_GPIO 0x4100
-#define STM32F746_PE1_FUNC_LPTIM1_IN2 0x4104
-#define STM32F746_PE1_FUNC_UART8_TX 0x4109
-#define STM32F746_PE1_FUNC_FMC_NBL1 0x410d
-#define STM32F746_PE1_FUNC_DCMI_D3 0x410e
-#define STM32F746_PE1_FUNC_EVENTOUT 0x4110
-#define STM32F746_PE1_FUNC_ANALOG 0x4111
-
-#define STM32F746_PE2_FUNC_GPIO 0x4200
-#define STM32F746_PE2_FUNC_TRACECLK 0x4201
-#define STM32F746_PE2_FUNC_SPI4_SCK 0x4206
-#define STM32F746_PE2_FUNC_SAI1_MCLK_A 0x4207
-#define STM32F746_PE2_FUNC_QUADSPI_BK1_IO2 0x420a
-#define STM32F746_PE2_FUNC_ETH_MII_TXD3 0x420c
-#define STM32F746_PE2_FUNC_FMC_A23 0x420d
-#define STM32F746_PE2_FUNC_EVENTOUT 0x4210
-#define STM32F746_PE2_FUNC_ANALOG 0x4211
-
-#define STM32F746_PE3_FUNC_GPIO 0x4300
-#define STM32F746_PE3_FUNC_TRACED0 0x4301
-#define STM32F746_PE3_FUNC_SAI1_SD_B 0x4307
-#define STM32F746_PE3_FUNC_FMC_A19 0x430d
-#define STM32F746_PE3_FUNC_EVENTOUT 0x4310
-#define STM32F746_PE3_FUNC_ANALOG 0x4311
-
-#define STM32F746_PE4_FUNC_GPIO 0x4400
-#define STM32F746_PE4_FUNC_TRACED1 0x4401
-#define STM32F746_PE4_FUNC_SPI4_NSS 0x4406
-#define STM32F746_PE4_FUNC_SAI1_FS_A 0x4407
-#define STM32F746_PE4_FUNC_FMC_A20 0x440d
-#define STM32F746_PE4_FUNC_DCMI_D4 0x440e
-#define STM32F746_PE4_FUNC_LCD_B0 0x440f
-#define STM32F746_PE4_FUNC_EVENTOUT 0x4410
-#define STM32F746_PE4_FUNC_ANALOG 0x4411
-
-#define STM32F746_PE5_FUNC_GPIO 0x4500
-#define STM32F746_PE5_FUNC_TRACED2 0x4501
-#define STM32F746_PE5_FUNC_TIM9_CH1 0x4504
-#define STM32F746_PE5_FUNC_SPI4_MISO 0x4506
-#define STM32F746_PE5_FUNC_SAI1_SCK_A 0x4507
-#define STM32F746_PE5_FUNC_FMC_A21 0x450d
-#define STM32F746_PE5_FUNC_DCMI_D6 0x450e
-#define STM32F746_PE5_FUNC_LCD_G0 0x450f
-#define STM32F746_PE5_FUNC_EVENTOUT 0x4510
-#define STM32F746_PE5_FUNC_ANALOG 0x4511
-
-#define STM32F746_PE6_FUNC_GPIO 0x4600
-#define STM32F746_PE6_FUNC_TRACED3 0x4601
-#define STM32F746_PE6_FUNC_TIM1_BKIN2 0x4602
-#define STM32F746_PE6_FUNC_TIM9_CH2 0x4604
-#define STM32F746_PE6_FUNC_SPI4_MOSI 0x4606
-#define STM32F746_PE6_FUNC_SAI1_SD_A 0x4607
-#define STM32F746_PE6_FUNC_SAI2_MCLK_B 0x460b
-#define STM32F746_PE6_FUNC_FMC_A22 0x460d
-#define STM32F746_PE6_FUNC_DCMI_D7 0x460e
-#define STM32F746_PE6_FUNC_LCD_G1 0x460f
-#define STM32F746_PE6_FUNC_EVENTOUT 0x4610
-#define STM32F746_PE6_FUNC_ANALOG 0x4611
-
-#define STM32F746_PE7_FUNC_GPIO 0x4700
-#define STM32F746_PE7_FUNC_TIM1_ETR 0x4702
-#define STM32F746_PE7_FUNC_UART7_RX 0x4709
-#define STM32F746_PE7_FUNC_QUADSPI_BK2_IO0 0x470b
-#define STM32F746_PE7_FUNC_FMC_D4 0x470d
-#define STM32F746_PE7_FUNC_EVENTOUT 0x4710
-#define STM32F746_PE7_FUNC_ANALOG 0x4711
-
-#define STM32F746_PE8_FUNC_GPIO 0x4800
-#define STM32F746_PE8_FUNC_TIM1_CH1N 0x4802
-#define STM32F746_PE8_FUNC_UART7_TX 0x4809
-#define STM32F746_PE8_FUNC_QUADSPI_BK2_IO1 0x480b
-#define STM32F746_PE8_FUNC_FMC_D5 0x480d
-#define STM32F746_PE8_FUNC_EVENTOUT 0x4810
-#define STM32F746_PE8_FUNC_ANALOG 0x4811
-
-#define STM32F746_PE9_FUNC_GPIO 0x4900
-#define STM32F746_PE9_FUNC_TIM1_CH1 0x4902
-#define STM32F746_PE9_FUNC_UART7_RTS 0x4909
-#define STM32F746_PE9_FUNC_QUADSPI_BK2_IO2 0x490b
-#define STM32F746_PE9_FUNC_FMC_D6 0x490d
-#define STM32F746_PE9_FUNC_EVENTOUT 0x4910
-#define STM32F746_PE9_FUNC_ANALOG 0x4911
-
-#define STM32F746_PE10_FUNC_GPIO 0x4a00
-#define STM32F746_PE10_FUNC_TIM1_CH2N 0x4a02
-#define STM32F746_PE10_FUNC_UART7_CTS 0x4a09
-#define STM32F746_PE10_FUNC_QUADSPI_BK2_IO3 0x4a0b
-#define STM32F746_PE10_FUNC_FMC_D7 0x4a0d
-#define STM32F746_PE10_FUNC_EVENTOUT 0x4a10
-#define STM32F746_PE10_FUNC_ANALOG 0x4a11
-
-#define STM32F746_PE11_FUNC_GPIO 0x4b00
-#define STM32F746_PE11_FUNC_TIM1_CH2 0x4b02
-#define STM32F746_PE11_FUNC_SPI4_NSS 0x4b06
-#define STM32F746_PE11_FUNC_SAI2_SD_B 0x4b0b
-#define STM32F746_PE11_FUNC_FMC_D8 0x4b0d
-#define STM32F746_PE11_FUNC_LCD_G3 0x4b0f
-#define STM32F746_PE11_FUNC_EVENTOUT 0x4b10
-#define STM32F746_PE11_FUNC_ANALOG 0x4b11
-
-#define STM32F746_PE12_FUNC_GPIO 0x4c00
-#define STM32F746_PE12_FUNC_TIM1_CH3N 0x4c02
-#define STM32F746_PE12_FUNC_SPI4_SCK 0x4c06
-#define STM32F746_PE12_FUNC_SAI2_SCK_B 0x4c0b
-#define STM32F746_PE12_FUNC_FMC_D9 0x4c0d
-#define STM32F746_PE12_FUNC_LCD_B4 0x4c0f
-#define STM32F746_PE12_FUNC_EVENTOUT 0x4c10
-#define STM32F746_PE12_FUNC_ANALOG 0x4c11
-
-#define STM32F746_PE13_FUNC_GPIO 0x4d00
-#define STM32F746_PE13_FUNC_TIM1_CH3 0x4d02
-#define STM32F746_PE13_FUNC_SPI4_MISO 0x4d06
-#define STM32F746_PE13_FUNC_SAI2_FS_B 0x4d0b
-#define STM32F746_PE13_FUNC_FMC_D10 0x4d0d
-#define STM32F746_PE13_FUNC_LCD_DE 0x4d0f
-#define STM32F746_PE13_FUNC_EVENTOUT 0x4d10
-#define STM32F746_PE13_FUNC_ANALOG 0x4d11
-
-#define STM32F746_PE14_FUNC_GPIO 0x4e00
-#define STM32F746_PE14_FUNC_TIM1_CH4 0x4e02
-#define STM32F746_PE14_FUNC_SPI4_MOSI 0x4e06
-#define STM32F746_PE14_FUNC_SAI2_MCLK_B 0x4e0b
-#define STM32F746_PE14_FUNC_FMC_D11 0x4e0d
-#define STM32F746_PE14_FUNC_LCD_CLK 0x4e0f
-#define STM32F746_PE14_FUNC_EVENTOUT 0x4e10
-#define STM32F746_PE14_FUNC_ANALOG 0x4e11
-
-#define STM32F746_PE15_FUNC_GPIO 0x4f00
-#define STM32F746_PE15_FUNC_TIM1_BKIN 0x4f02
-#define STM32F746_PE15_FUNC_FMC_D12 0x4f0d
-#define STM32F746_PE15_FUNC_LCD_R7 0x4f0f
-#define STM32F746_PE15_FUNC_EVENTOUT 0x4f10
-#define STM32F746_PE15_FUNC_ANALOG 0x4f11
-
-
-#define STM32F746_PF0_FUNC_GPIO 0x5000
-#define STM32F746_PF0_FUNC_I2C2_SDA 0x5005
-#define STM32F746_PF0_FUNC_FMC_A0 0x500d
-#define STM32F746_PF0_FUNC_EVENTOUT 0x5010
-#define STM32F746_PF0_FUNC_ANALOG 0x5011
-
-#define STM32F746_PF1_FUNC_GPIO 0x5100
-#define STM32F746_PF1_FUNC_I2C2_SCL 0x5105
-#define STM32F746_PF1_FUNC_FMC_A1 0x510d
-#define STM32F746_PF1_FUNC_EVENTOUT 0x5110
-#define STM32F746_PF1_FUNC_ANALOG 0x5111
-
-#define STM32F746_PF2_FUNC_GPIO 0x5200
-#define STM32F746_PF2_FUNC_I2C2_SMBA 0x5205
-#define STM32F746_PF2_FUNC_FMC_A2 0x520d
-#define STM32F746_PF2_FUNC_EVENTOUT 0x5210
-#define STM32F746_PF2_FUNC_ANALOG 0x5211
-
-#define STM32F746_PF3_FUNC_GPIO 0x5300
-#define STM32F746_PF3_FUNC_FMC_A3 0x530d
-#define STM32F746_PF3_FUNC_EVENTOUT 0x5310
-#define STM32F746_PF3_FUNC_ANALOG 0x5311
-
-#define STM32F746_PF4_FUNC_GPIO 0x5400
-#define STM32F746_PF4_FUNC_FMC_A4 0x540d
-#define STM32F746_PF4_FUNC_EVENTOUT 0x5410
-#define STM32F746_PF4_FUNC_ANALOG 0x5411
-
-#define STM32F746_PF5_FUNC_GPIO 0x5500
-#define STM32F746_PF5_FUNC_FMC_A5 0x550d
-#define STM32F746_PF5_FUNC_EVENTOUT 0x5510
-#define STM32F746_PF5_FUNC_ANALOG 0x5511
-
-#define STM32F746_PF6_FUNC_GPIO 0x5600
-#define STM32F746_PF6_FUNC_TIM10_CH1 0x5604
-#define STM32F746_PF6_FUNC_SPI5_NSS 0x5606
-#define STM32F746_PF6_FUNC_SAI1_SD_B 0x5607
-#define STM32F746_PF6_FUNC_UART7_RX 0x5609
-#define STM32F746_PF6_FUNC_QUADSPI_BK1_IO3 0x560a
-#define STM32F746_PF6_FUNC_EVENTOUT 0x5610
-#define STM32F746_PF6_FUNC_ANALOG 0x5611
-
-#define STM32F746_PF7_FUNC_GPIO 0x5700
-#define STM32F746_PF7_FUNC_TIM11_CH1 0x5704
-#define STM32F746_PF7_FUNC_SPI5_SCK 0x5706
-#define STM32F746_PF7_FUNC_SAI1_MCLK_B 0x5707
-#define STM32F746_PF7_FUNC_UART7_TX 0x5709
-#define STM32F746_PF7_FUNC_QUADSPI_BK1_IO2 0x570a
-#define STM32F746_PF7_FUNC_EVENTOUT 0x5710
-#define STM32F746_PF7_FUNC_ANALOG 0x5711
-
-#define STM32F746_PF8_FUNC_GPIO 0x5800
-#define STM32F746_PF8_FUNC_SPI5_MISO 0x5806
-#define STM32F746_PF8_FUNC_SAI1_SCK_B 0x5807
-#define STM32F746_PF8_FUNC_UART7_RTS 0x5809
-#define STM32F746_PF8_FUNC_TIM13_CH1 0x580a
-#define STM32F746_PF8_FUNC_QUADSPI_BK1_IO0 0x580b
-#define STM32F746_PF8_FUNC_EVENTOUT 0x5810
-#define STM32F746_PF8_FUNC_ANALOG 0x5811
-
-#define STM32F746_PF9_FUNC_GPIO 0x5900
-#define STM32F746_PF9_FUNC_SPI5_MOSI 0x5906
-#define STM32F746_PF9_FUNC_SAI1_FS_B 0x5907
-#define STM32F746_PF9_FUNC_UART7_CTS 0x5909
-#define STM32F746_PF9_FUNC_TIM14_CH1 0x590a
-#define STM32F746_PF9_FUNC_QUADSPI_BK1_IO1 0x590b
-#define STM32F746_PF9_FUNC_EVENTOUT 0x5910
-#define STM32F746_PF9_FUNC_ANALOG 0x5911
-
-#define STM32F746_PF10_FUNC_GPIO 0x5a00
-#define STM32F746_PF10_FUNC_DCMI_D11 0x5a0e
-#define STM32F746_PF10_FUNC_LCD_DE 0x5a0f
-#define STM32F746_PF10_FUNC_EVENTOUT 0x5a10
-#define STM32F746_PF10_FUNC_ANALOG 0x5a11
-
-#define STM32F746_PF11_FUNC_GPIO 0x5b00
-#define STM32F746_PF11_FUNC_SPI5_MOSI 0x5b06
-#define STM32F746_PF11_FUNC_SAI2_SD_B 0x5b0b
-#define STM32F746_PF11_FUNC_FMC_SDNRAS 0x5b0d
-#define STM32F746_PF11_FUNC_DCMI_D12 0x5b0e
-#define STM32F746_PF11_FUNC_EVENTOUT 0x5b10
-#define STM32F746_PF11_FUNC_ANALOG 0x5b11
-
-#define STM32F746_PF12_FUNC_GPIO 0x5c00
-#define STM32F746_PF12_FUNC_FMC_A6 0x5c0d
-#define STM32F746_PF12_FUNC_EVENTOUT 0x5c10
-#define STM32F746_PF12_FUNC_ANALOG 0x5c11
-
-#define STM32F746_PF13_FUNC_GPIO 0x5d00
-#define STM32F746_PF13_FUNC_I2C4_SMBA 0x5d05
-#define STM32F746_PF13_FUNC_FMC_A7 0x5d0d
-#define STM32F746_PF13_FUNC_EVENTOUT 0x5d10
-#define STM32F746_PF13_FUNC_ANALOG 0x5d11
-
-#define STM32F746_PF14_FUNC_GPIO 0x5e00
-#define STM32F746_PF14_FUNC_I2C4_SCL 0x5e05
-#define STM32F746_PF14_FUNC_FMC_A8 0x5e0d
-#define STM32F746_PF14_FUNC_EVENTOUT 0x5e10
-#define STM32F746_PF14_FUNC_ANALOG 0x5e11
-
-#define STM32F746_PF15_FUNC_GPIO 0x5f00
-#define STM32F746_PF15_FUNC_I2C4_SDA 0x5f05
-#define STM32F746_PF15_FUNC_FMC_A9 0x5f0d
-#define STM32F746_PF15_FUNC_EVENTOUT 0x5f10
-#define STM32F746_PF15_FUNC_ANALOG 0x5f11
-
-
-#define STM32F746_PG0_FUNC_GPIO 0x6000
-#define STM32F746_PG0_FUNC_FMC_A10 0x600d
-#define STM32F746_PG0_FUNC_EVENTOUT 0x6010
-#define STM32F746_PG0_FUNC_ANALOG 0x6011
-
-#define STM32F746_PG1_FUNC_GPIO 0x6100
-#define STM32F746_PG1_FUNC_FMC_A11 0x610d
-#define STM32F746_PG1_FUNC_EVENTOUT 0x6110
-#define STM32F746_PG1_FUNC_ANALOG 0x6111
-
-#define STM32F746_PG2_FUNC_GPIO 0x6200
-#define STM32F746_PG2_FUNC_FMC_A12 0x620d
-#define STM32F746_PG2_FUNC_EVENTOUT 0x6210
-#define STM32F746_PG2_FUNC_ANALOG 0x6211
-
-#define STM32F746_PG3_FUNC_GPIO 0x6300
-#define STM32F746_PG3_FUNC_FMC_A13 0x630d
-#define STM32F746_PG3_FUNC_EVENTOUT 0x6310
-#define STM32F746_PG3_FUNC_ANALOG 0x6311
-
-#define STM32F746_PG4_FUNC_GPIO 0x6400
-#define STM32F746_PG4_FUNC_FMC_A14_FMC_BA0 0x640d
-#define STM32F746_PG4_FUNC_EVENTOUT 0x6410
-#define STM32F746_PG4_FUNC_ANALOG 0x6411
-
-#define STM32F746_PG5_FUNC_GPIO 0x6500
-#define STM32F746_PG5_FUNC_FMC_A15_FMC_BA1 0x650d
-#define STM32F746_PG5_FUNC_EVENTOUT 0x6510
-#define STM32F746_PG5_FUNC_ANALOG 0x6511
-
-#define STM32F746_PG6_FUNC_GPIO 0x6600
-#define STM32F746_PG6_FUNC_DCMI_D12 0x660e
-#define STM32F746_PG6_FUNC_LCD_R7 0x660f
-#define STM32F746_PG6_FUNC_EVENTOUT 0x6610
-#define STM32F746_PG6_FUNC_ANALOG 0x6611
-
-#define STM32F746_PG7_FUNC_GPIO 0x6700
-#define STM32F746_PG7_FUNC_USART6_CK 0x6709
-#define STM32F746_PG7_FUNC_FMC_INT 0x670d
-#define STM32F746_PG7_FUNC_DCMI_D13 0x670e
-#define STM32F746_PG7_FUNC_LCD_CLK 0x670f
-#define STM32F746_PG7_FUNC_EVENTOUT 0x6710
-#define STM32F746_PG7_FUNC_ANALOG 0x6711
-
-#define STM32F746_PG8_FUNC_GPIO 0x6800
-#define STM32F746_PG8_FUNC_SPI6_NSS 0x6806
-#define STM32F746_PG8_FUNC_SPDIFRX_IN2 0x6808
-#define STM32F746_PG8_FUNC_USART6_RTS 0x6809
-#define STM32F746_PG8_FUNC_ETH_PPS_OUT 0x680c
-#define STM32F746_PG8_FUNC_FMC_SDCLK 0x680d
-#define STM32F746_PG8_FUNC_EVENTOUT 0x6810
-#define STM32F746_PG8_FUNC_ANALOG 0x6811
-
-#define STM32F746_PG9_FUNC_GPIO 0x6900
-#define STM32F746_PG9_FUNC_SPDIFRX_IN3 0x6908
-#define STM32F746_PG9_FUNC_USART6_RX 0x6909
-#define STM32F746_PG9_FUNC_QUADSPI_BK2_IO2 0x690a
-#define STM32F746_PG9_FUNC_SAI2_FS_B 0x690b
-#define STM32F746_PG9_FUNC_FMC_NE2_FMC_NCE 0x690d
-#define STM32F746_PG9_FUNC_DCMI_VSYNC 0x690e
-#define STM32F746_PG9_FUNC_EVENTOUT 0x6910
-#define STM32F746_PG9_FUNC_ANALOG 0x6911
-
-#define STM32F746_PG10_FUNC_GPIO 0x6a00
-#define STM32F746_PG10_FUNC_LCD_G3 0x6a0a
-#define STM32F746_PG10_FUNC_SAI2_SD_B 0x6a0b
-#define STM32F746_PG10_FUNC_FMC_NE3 0x6a0d
-#define STM32F746_PG10_FUNC_DCMI_D2 0x6a0e
-#define STM32F746_PG10_FUNC_LCD_B2 0x6a0f
-#define STM32F746_PG10_FUNC_EVENTOUT 0x6a10
-#define STM32F746_PG10_FUNC_ANALOG 0x6a11
-
-#define STM32F746_PG11_FUNC_GPIO 0x6b00
-#define STM32F746_PG11_FUNC_SPDIFRX_IN0 0x6b08
-#define STM32F746_PG11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN 0x6b0c
-#define STM32F746_PG11_FUNC_DCMI_D3 0x6b0e
-#define STM32F746_PG11_FUNC_LCD_B3 0x6b0f
-#define STM32F746_PG11_FUNC_EVENTOUT 0x6b10
-#define STM32F746_PG11_FUNC_ANALOG 0x6b11
-
-#define STM32F746_PG12_FUNC_GPIO 0x6c00
-#define STM32F746_PG12_FUNC_LPTIM1_IN1 0x6c04
-#define STM32F746_PG12_FUNC_SPI6_MISO 0x6c06
-#define STM32F746_PG12_FUNC_SPDIFRX_IN1 0x6c08
-#define STM32F746_PG12_FUNC_USART6_RTS 0x6c09
-#define STM32F746_PG12_FUNC_LCD_B4 0x6c0a
-#define STM32F746_PG12_FUNC_FMC_NE4 0x6c0d
-#define STM32F746_PG12_FUNC_LCD_B1 0x6c0f
-#define STM32F746_PG12_FUNC_EVENTOUT 0x6c10
-#define STM32F746_PG12_FUNC_ANALOG 0x6c11
-
-#define STM32F746_PG13_FUNC_GPIO 0x6d00
-#define STM32F746_PG13_FUNC_TRACED0 0x6d01
-#define STM32F746_PG13_FUNC_LPTIM1_OUT 0x6d04
-#define STM32F746_PG13_FUNC_SPI6_SCK 0x6d06
-#define STM32F746_PG13_FUNC_USART6_CTS 0x6d09
-#define STM32F746_PG13_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0 0x6d0c
-#define STM32F746_PG13_FUNC_FMC_A24 0x6d0d
-#define STM32F746_PG13_FUNC_LCD_R0 0x6d0f
-#define STM32F746_PG13_FUNC_EVENTOUT 0x6d10
-#define STM32F746_PG13_FUNC_ANALOG 0x6d11
-
-#define STM32F746_PG14_FUNC_GPIO 0x6e00
-#define STM32F746_PG14_FUNC_TRACED1 0x6e01
-#define STM32F746_PG14_FUNC_LPTIM1_ETR 0x6e04
-#define STM32F746_PG14_FUNC_SPI6_MOSI 0x6e06
-#define STM32F746_PG14_FUNC_USART6_TX 0x6e09
-#define STM32F746_PG14_FUNC_QUADSPI_BK2_IO3 0x6e0a
-#define STM32F746_PG14_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x6e0c
-#define STM32F746_PG14_FUNC_FMC_A25 0x6e0d
-#define STM32F746_PG14_FUNC_LCD_B0 0x6e0f
-#define STM32F746_PG14_FUNC_EVENTOUT 0x6e10
-#define STM32F746_PG14_FUNC_ANALOG 0x6e11
-
-#define STM32F746_PG15_FUNC_GPIO 0x6f00
-#define STM32F746_PG15_FUNC_USART6_CTS 0x6f09
-#define STM32F746_PG15_FUNC_FMC_SDNCAS 0x6f0d
-#define STM32F746_PG15_FUNC_DCMI_D13 0x6f0e
-#define STM32F746_PG15_FUNC_EVENTOUT 0x6f10
-#define STM32F746_PG15_FUNC_ANALOG 0x6f11
-
-
-#define STM32F746_PH0_FUNC_GPIO 0x7000
-#define STM32F746_PH0_FUNC_EVENTOUT 0x7010
-#define STM32F746_PH0_FUNC_ANALOG 0x7011
-
-#define STM32F746_PH1_FUNC_GPIO 0x7100
-#define STM32F746_PH1_FUNC_EVENTOUT 0x7110
-#define STM32F746_PH1_FUNC_ANALOG 0x7111
-
-#define STM32F746_PH2_FUNC_GPIO 0x7200
-#define STM32F746_PH2_FUNC_LPTIM1_IN2 0x7204
-#define STM32F746_PH2_FUNC_QUADSPI_BK2_IO0 0x720a
-#define STM32F746_PH2_FUNC_SAI2_SCK_B 0x720b
-#define STM32F746_PH2_FUNC_ETH_MII_CRS 0x720c
-#define STM32F746_PH2_FUNC_FMC_SDCKE0 0x720d
-#define STM32F746_PH2_FUNC_LCD_R0 0x720f
-#define STM32F746_PH2_FUNC_EVENTOUT 0x7210
-#define STM32F746_PH2_FUNC_ANALOG 0x7211
-
-#define STM32F746_PH3_FUNC_GPIO 0x7300
-#define STM32F746_PH3_FUNC_QUADSPI_BK2_IO1 0x730a
-#define STM32F746_PH3_FUNC_SAI2_MCLK_B 0x730b
-#define STM32F746_PH3_FUNC_ETH_MII_COL 0x730c
-#define STM32F746_PH3_FUNC_FMC_SDNE0 0x730d
-#define STM32F746_PH3_FUNC_LCD_R1 0x730f
-#define STM32F746_PH3_FUNC_EVENTOUT 0x7310
-#define STM32F746_PH3_FUNC_ANALOG 0x7311
-
-#define STM32F746_PH4_FUNC_GPIO 0x7400
-#define STM32F746_PH4_FUNC_I2C2_SCL 0x7405
-#define STM32F746_PH4_FUNC_OTG_HS_ULPI_NXT 0x740b
-#define STM32F746_PH4_FUNC_EVENTOUT 0x7410
-#define STM32F746_PH4_FUNC_ANALOG 0x7411
-
-#define STM32F746_PH5_FUNC_GPIO 0x7500
-#define STM32F746_PH5_FUNC_I2C2_SDA 0x7505
-#define STM32F746_PH5_FUNC_SPI5_NSS 0x7506
-#define STM32F746_PH5_FUNC_FMC_SDNWE 0x750d
-#define STM32F746_PH5_FUNC_EVENTOUT 0x7510
-#define STM32F746_PH5_FUNC_ANALOG 0x7511
-
-#define STM32F746_PH6_FUNC_GPIO 0x7600
-#define STM32F746_PH6_FUNC_I2C2_SMBA 0x7605
-#define STM32F746_PH6_FUNC_SPI5_SCK 0x7606
-#define STM32F746_PH6_FUNC_TIM12_CH1 0x760a
-#define STM32F746_PH6_FUNC_ETH_MII_RXD2 0x760c
-#define STM32F746_PH6_FUNC_FMC_SDNE1 0x760d
-#define STM32F746_PH6_FUNC_DCMI_D8 0x760e
-#define STM32F746_PH6_FUNC_EVENTOUT 0x7610
-#define STM32F746_PH6_FUNC_ANALOG 0x7611
-
-#define STM32F746_PH7_FUNC_GPIO 0x7700
-#define STM32F746_PH7_FUNC_I2C3_SCL 0x7705
-#define STM32F746_PH7_FUNC_SPI5_MISO 0x7706
-#define STM32F746_PH7_FUNC_ETH_MII_RXD3 0x770c
-#define STM32F746_PH7_FUNC_FMC_SDCKE1 0x770d
-#define STM32F746_PH7_FUNC_DCMI_D9 0x770e
-#define STM32F746_PH7_FUNC_EVENTOUT 0x7710
-#define STM32F746_PH7_FUNC_ANALOG 0x7711
-
-#define STM32F746_PH8_FUNC_GPIO 0x7800
-#define STM32F746_PH8_FUNC_I2C3_SDA 0x7805
-#define STM32F746_PH8_FUNC_FMC_D16 0x780d
-#define STM32F746_PH8_FUNC_DCMI_HSYNC 0x780e
-#define STM32F746_PH8_FUNC_LCD_R2 0x780f
-#define STM32F746_PH8_FUNC_EVENTOUT 0x7810
-#define STM32F746_PH8_FUNC_ANALOG 0x7811
-
-#define STM32F746_PH9_FUNC_GPIO 0x7900
-#define STM32F746_PH9_FUNC_I2C3_SMBA 0x7905
-#define STM32F746_PH9_FUNC_TIM12_CH2 0x790a
-#define STM32F746_PH9_FUNC_FMC_D17 0x790d
-#define STM32F746_PH9_FUNC_DCMI_D0 0x790e
-#define STM32F746_PH9_FUNC_LCD_R3 0x790f
-#define STM32F746_PH9_FUNC_EVENTOUT 0x7910
-#define STM32F746_PH9_FUNC_ANALOG 0x7911
-
-#define STM32F746_PH10_FUNC_GPIO 0x7a00
-#define STM32F746_PH10_FUNC_TIM5_CH1 0x7a03
-#define STM32F746_PH10_FUNC_I2C4_SMBA 0x7a05
-#define STM32F746_PH10_FUNC_FMC_D18 0x7a0d
-#define STM32F746_PH10_FUNC_DCMI_D1 0x7a0e
-#define STM32F746_PH10_FUNC_LCD_R4 0x7a0f
-#define STM32F746_PH10_FUNC_EVENTOUT 0x7a10
-#define STM32F746_PH10_FUNC_ANALOG 0x7a11
-
-#define STM32F746_PH11_FUNC_GPIO 0x7b00
-#define STM32F746_PH11_FUNC_TIM5_CH2 0x7b03
-#define STM32F746_PH11_FUNC_I2C4_SCL 0x7b05
-#define STM32F746_PH11_FUNC_FMC_D19 0x7b0d
-#define STM32F746_PH11_FUNC_DCMI_D2 0x7b0e
-#define STM32F746_PH11_FUNC_LCD_R5 0x7b0f
-#define STM32F746_PH11_FUNC_EVENTOUT 0x7b10
-#define STM32F746_PH11_FUNC_ANALOG 0x7b11
-
-#define STM32F746_PH12_FUNC_GPIO 0x7c00
-#define STM32F746_PH12_FUNC_TIM5_CH3 0x7c03
-#define STM32F746_PH12_FUNC_I2C4_SDA 0x7c05
-#define STM32F746_PH12_FUNC_FMC_D20 0x7c0d
-#define STM32F746_PH12_FUNC_DCMI_D3 0x7c0e
-#define STM32F746_PH12_FUNC_LCD_R6 0x7c0f
-#define STM32F746_PH12_FUNC_EVENTOUT 0x7c10
-#define STM32F746_PH12_FUNC_ANALOG 0x7c11
-
-#define STM32F746_PH13_FUNC_GPIO 0x7d00
-#define STM32F746_PH13_FUNC_TIM8_CH1N 0x7d04
-#define STM32F746_PH13_FUNC_CAN1_TX 0x7d0a
-#define STM32F746_PH13_FUNC_FMC_D21 0x7d0d
-#define STM32F746_PH13_FUNC_LCD_G2 0x7d0f
-#define STM32F746_PH13_FUNC_EVENTOUT 0x7d10
-#define STM32F746_PH13_FUNC_ANALOG 0x7d11
-
-#define STM32F746_PH14_FUNC_GPIO 0x7e00
-#define STM32F746_PH14_FUNC_TIM8_CH2N 0x7e04
-#define STM32F746_PH14_FUNC_FMC_D22 0x7e0d
-#define STM32F746_PH14_FUNC_DCMI_D4 0x7e0e
-#define STM32F746_PH14_FUNC_LCD_G3 0x7e0f
-#define STM32F746_PH14_FUNC_EVENTOUT 0x7e10
-#define STM32F746_PH14_FUNC_ANALOG 0x7e11
-
-#define STM32F746_PH15_FUNC_GPIO 0x7f00
-#define STM32F746_PH15_FUNC_TIM8_CH3N 0x7f04
-#define STM32F746_PH15_FUNC_FMC_D23 0x7f0d
-#define STM32F746_PH15_FUNC_DCMI_D11 0x7f0e
-#define STM32F746_PH15_FUNC_LCD_G4 0x7f0f
-#define STM32F746_PH15_FUNC_EVENTOUT 0x7f10
-#define STM32F746_PH15_FUNC_ANALOG 0x7f11
-
-
-#define STM32F746_PI0_FUNC_GPIO 0x8000
-#define STM32F746_PI0_FUNC_TIM5_CH4 0x8003
-#define STM32F746_PI0_FUNC_SPI2_NSS_I2S2_WS 0x8006
-#define STM32F746_PI0_FUNC_FMC_D24 0x800d
-#define STM32F746_PI0_FUNC_DCMI_D13 0x800e
-#define STM32F746_PI0_FUNC_LCD_G5 0x800f
-#define STM32F746_PI0_FUNC_EVENTOUT 0x8010
-#define STM32F746_PI0_FUNC_ANALOG 0x8011
-
-#define STM32F746_PI1_FUNC_GPIO 0x8100
-#define STM32F746_PI1_FUNC_TIM8_BKIN2 0x8104
-#define STM32F746_PI1_FUNC_SPI2_SCK_I2S2_CK 0x8106
-#define STM32F746_PI1_FUNC_FMC_D25 0x810d
-#define STM32F746_PI1_FUNC_DCMI_D8 0x810e
-#define STM32F746_PI1_FUNC_LCD_G6 0x810f
-#define STM32F746_PI1_FUNC_EVENTOUT 0x8110
-#define STM32F746_PI1_FUNC_ANALOG 0x8111
-
-#define STM32F746_PI2_FUNC_GPIO 0x8200
-#define STM32F746_PI2_FUNC_TIM8_CH4 0x8204
-#define STM32F746_PI2_FUNC_SPI2_MISO 0x8206
-#define STM32F746_PI2_FUNC_FMC_D26 0x820d
-#define STM32F746_PI2_FUNC_DCMI_D9 0x820e
-#define STM32F746_PI2_FUNC_LCD_G7 0x820f
-#define STM32F746_PI2_FUNC_EVENTOUT 0x8210
-#define STM32F746_PI2_FUNC_ANALOG 0x8211
-
-#define STM32F746_PI3_FUNC_GPIO 0x8300
-#define STM32F746_PI3_FUNC_TIM8_ETR 0x8304
-#define STM32F746_PI3_FUNC_SPI2_MOSI_I2S2_SD 0x8306
-#define STM32F746_PI3_FUNC_FMC_D27 0x830d
-#define STM32F746_PI3_FUNC_DCMI_D10 0x830e
-#define STM32F746_PI3_FUNC_EVENTOUT 0x8310
-#define STM32F746_PI3_FUNC_ANALOG 0x8311
-
-#define STM32F746_PI4_FUNC_GPIO 0x8400
-#define STM32F746_PI4_FUNC_TIM8_BKIN 0x8404
-#define STM32F746_PI4_FUNC_SAI2_MCLK_A 0x840b
-#define STM32F746_PI4_FUNC_FMC_NBL2 0x840d
-#define STM32F746_PI4_FUNC_DCMI_D5 0x840e
-#define STM32F746_PI4_FUNC_LCD_B4 0x840f
-#define STM32F746_PI4_FUNC_EVENTOUT 0x8410
-#define STM32F746_PI4_FUNC_ANALOG 0x8411
-
-#define STM32F746_PI5_FUNC_GPIO 0x8500
-#define STM32F746_PI5_FUNC_TIM8_CH1 0x8504
-#define STM32F746_PI5_FUNC_SAI2_SCK_A 0x850b
-#define STM32F746_PI5_FUNC_FMC_NBL3 0x850d
-#define STM32F746_PI5_FUNC_DCMI_VSYNC 0x850e
-#define STM32F746_PI5_FUNC_LCD_B5 0x850f
-#define STM32F746_PI5_FUNC_EVENTOUT 0x8510
-#define STM32F746_PI5_FUNC_ANALOG 0x8511
-
-#define STM32F746_PI6_FUNC_GPIO 0x8600
-#define STM32F746_PI6_FUNC_TIM8_CH2 0x8604
-#define STM32F746_PI6_FUNC_SAI2_SD_A 0x860b
-#define STM32F746_PI6_FUNC_FMC_D28 0x860d
-#define STM32F746_PI6_FUNC_DCMI_D6 0x860e
-#define STM32F746_PI6_FUNC_LCD_B6 0x860f
-#define STM32F746_PI6_FUNC_EVENTOUT 0x8610
-#define STM32F746_PI6_FUNC_ANALOG 0x8611
-
-#define STM32F746_PI7_FUNC_GPIO 0x8700
-#define STM32F746_PI7_FUNC_TIM8_CH3 0x8704
-#define STM32F746_PI7_FUNC_SAI2_FS_A 0x870b
-#define STM32F746_PI7_FUNC_FMC_D29 0x870d
-#define STM32F746_PI7_FUNC_DCMI_D7 0x870e
-#define STM32F746_PI7_FUNC_LCD_B7 0x870f
-#define STM32F746_PI7_FUNC_EVENTOUT 0x8710
-#define STM32F746_PI7_FUNC_ANALOG 0x8711
-
-#define STM32F746_PI8_FUNC_GPIO 0x8800
-#define STM32F746_PI8_FUNC_EVENTOUT 0x8810
-#define STM32F746_PI8_FUNC_ANALOG 0x8811
-
-#define STM32F746_PI9_FUNC_GPIO 0x8900
-#define STM32F746_PI9_FUNC_CAN1_RX 0x890a
-#define STM32F746_PI9_FUNC_FMC_D30 0x890d
-#define STM32F746_PI9_FUNC_LCD_VSYNC 0x890f
-#define STM32F746_PI9_FUNC_EVENTOUT 0x8910
-#define STM32F746_PI9_FUNC_ANALOG 0x8911
-
-#define STM32F746_PI10_FUNC_GPIO 0x8a00
-#define STM32F746_PI10_FUNC_ETH_MII_RX_ER 0x8a0c
-#define STM32F746_PI10_FUNC_FMC_D31 0x8a0d
-#define STM32F746_PI10_FUNC_LCD_HSYNC 0x8a0f
-#define STM32F746_PI10_FUNC_EVENTOUT 0x8a10
-#define STM32F746_PI10_FUNC_ANALOG 0x8a11
-
-#define STM32F746_PI11_FUNC_GPIO 0x8b00
-#define STM32F746_PI11_FUNC_OTG_HS_ULPI_DIR 0x8b0b
-#define STM32F746_PI11_FUNC_EVENTOUT 0x8b10
-#define STM32F746_PI11_FUNC_ANALOG 0x8b11
-
-#define STM32F746_PI12_FUNC_GPIO 0x8c00
-#define STM32F746_PI12_FUNC_LCD_HSYNC 0x8c0f
-#define STM32F746_PI12_FUNC_EVENTOUT 0x8c10
-#define STM32F746_PI12_FUNC_ANALOG 0x8c11
-
-#define STM32F746_PI13_FUNC_GPIO 0x8d00
-#define STM32F746_PI13_FUNC_LCD_VSYNC 0x8d0f
-#define STM32F746_PI13_FUNC_EVENTOUT 0x8d10
-#define STM32F746_PI13_FUNC_ANALOG 0x8d11
-
-#define STM32F746_PI14_FUNC_GPIO 0x8e00
-#define STM32F746_PI14_FUNC_LCD_CLK 0x8e0f
-#define STM32F746_PI14_FUNC_EVENTOUT 0x8e10
-#define STM32F746_PI14_FUNC_ANALOG 0x8e11
-
-#define STM32F746_PI15_FUNC_GPIO 0x8f00
-#define STM32F746_PI15_FUNC_LCD_R0 0x8f0f
-#define STM32F746_PI15_FUNC_EVENTOUT 0x8f10
-#define STM32F746_PI15_FUNC_ANALOG 0x8f11
-
-
-#define STM32F746_PJ0_FUNC_GPIO 0x9000
-#define STM32F746_PJ0_FUNC_LCD_R1 0x900f
-#define STM32F746_PJ0_FUNC_EVENTOUT 0x9010
-#define STM32F746_PJ0_FUNC_ANALOG 0x9011
-
-#define STM32F746_PJ1_FUNC_GPIO 0x9100
-#define STM32F746_PJ1_FUNC_LCD_R2 0x910f
-#define STM32F746_PJ1_FUNC_EVENTOUT 0x9110
-#define STM32F746_PJ1_FUNC_ANALOG 0x9111
-
-#define STM32F746_PJ2_FUNC_GPIO 0x9200
-#define STM32F746_PJ2_FUNC_LCD_R3 0x920f
-#define STM32F746_PJ2_FUNC_EVENTOUT 0x9210
-#define STM32F746_PJ2_FUNC_ANALOG 0x9211
-
-#define STM32F746_PJ3_FUNC_GPIO 0x9300
-#define STM32F746_PJ3_FUNC_LCD_R4 0x930f
-#define STM32F746_PJ3_FUNC_EVENTOUT 0x9310
-#define STM32F746_PJ3_FUNC_ANALOG 0x9311
-
-#define STM32F746_PJ4_FUNC_GPIO 0x9400
-#define STM32F746_PJ4_FUNC_LCD_R5 0x940f
-#define STM32F746_PJ4_FUNC_EVENTOUT 0x9410
-#define STM32F746_PJ4_FUNC_ANALOG 0x9411
-
-#define STM32F746_PJ5_FUNC_GPIO 0x9500
-#define STM32F746_PJ5_FUNC_LCD_R6 0x950f
-#define STM32F746_PJ5_FUNC_EVENTOUT 0x9510
-#define STM32F746_PJ5_FUNC_ANALOG 0x9511
-
-#define STM32F746_PJ6_FUNC_GPIO 0x9600
-#define STM32F746_PJ6_FUNC_LCD_R7 0x960f
-#define STM32F746_PJ6_FUNC_EVENTOUT 0x9610
-#define STM32F746_PJ6_FUNC_ANALOG 0x9611
-
-#define STM32F746_PJ7_FUNC_GPIO 0x9700
-#define STM32F746_PJ7_FUNC_LCD_G0 0x970f
-#define STM32F746_PJ7_FUNC_EVENTOUT 0x9710
-#define STM32F746_PJ7_FUNC_ANALOG 0x9711
-
-#define STM32F746_PJ8_FUNC_GPIO 0x9800
-#define STM32F746_PJ8_FUNC_LCD_G1 0x980f
-#define STM32F746_PJ8_FUNC_EVENTOUT 0x9810
-#define STM32F746_PJ8_FUNC_ANALOG 0x9811
-
-#define STM32F746_PJ9_FUNC_GPIO 0x9900
-#define STM32F746_PJ9_FUNC_LCD_G2 0x990f
-#define STM32F746_PJ9_FUNC_EVENTOUT 0x9910
-#define STM32F746_PJ9_FUNC_ANALOG 0x9911
-
-#define STM32F746_PJ10_FUNC_GPIO 0x9a00
-#define STM32F746_PJ10_FUNC_LCD_G3 0x9a0f
-#define STM32F746_PJ10_FUNC_EVENTOUT 0x9a10
-#define STM32F746_PJ10_FUNC_ANALOG 0x9a11
-
-#define STM32F746_PJ11_FUNC_GPIO 0x9b00
-#define STM32F746_PJ11_FUNC_LCD_G4 0x9b0f
-#define STM32F746_PJ11_FUNC_EVENTOUT 0x9b10
-#define STM32F746_PJ11_FUNC_ANALOG 0x9b11
-
-#define STM32F746_PJ12_FUNC_GPIO 0x9c00
-#define STM32F746_PJ12_FUNC_LCD_B0 0x9c0f
-#define STM32F746_PJ12_FUNC_EVENTOUT 0x9c10
-#define STM32F746_PJ12_FUNC_ANALOG 0x9c11
-
-#define STM32F746_PJ13_FUNC_GPIO 0x9d00
-#define STM32F746_PJ13_FUNC_LCD_B1 0x9d0f
-#define STM32F746_PJ13_FUNC_EVENTOUT 0x9d10
-#define STM32F746_PJ13_FUNC_ANALOG 0x9d11
-
-#define STM32F746_PJ14_FUNC_GPIO 0x9e00
-#define STM32F746_PJ14_FUNC_LCD_B2 0x9e0f
-#define STM32F746_PJ14_FUNC_EVENTOUT 0x9e10
-#define STM32F746_PJ14_FUNC_ANALOG 0x9e11
-
-#define STM32F746_PJ15_FUNC_GPIO 0x9f00
-#define STM32F746_PJ15_FUNC_LCD_B3 0x9f0f
-#define STM32F746_PJ15_FUNC_EVENTOUT 0x9f10
-#define STM32F746_PJ15_FUNC_ANALOG 0x9f11
-
-
-#define STM32F746_PK0_FUNC_GPIO 0xa000
-#define STM32F746_PK0_FUNC_LCD_G5 0xa00f
-#define STM32F746_PK0_FUNC_EVENTOUT 0xa010
-#define STM32F746_PK0_FUNC_ANALOG 0xa011
-
-#define STM32F746_PK1_FUNC_GPIO 0xa100
-#define STM32F746_PK1_FUNC_LCD_G6 0xa10f
-#define STM32F746_PK1_FUNC_EVENTOUT 0xa110
-#define STM32F746_PK1_FUNC_ANALOG 0xa111
-
-#define STM32F746_PK2_FUNC_GPIO 0xa200
-#define STM32F746_PK2_FUNC_LCD_G7 0xa20f
-#define STM32F746_PK2_FUNC_EVENTOUT 0xa210
-#define STM32F746_PK2_FUNC_ANALOG 0xa211
-
-#define STM32F746_PK3_FUNC_GPIO 0xa300
-#define STM32F746_PK3_FUNC_LCD_B4 0xa30f
-#define STM32F746_PK3_FUNC_EVENTOUT 0xa310
-#define STM32F746_PK3_FUNC_ANALOG 0xa311
-
-#define STM32F746_PK4_FUNC_GPIO 0xa400
-#define STM32F746_PK4_FUNC_LCD_B5 0xa40f
-#define STM32F746_PK4_FUNC_EVENTOUT 0xa410
-#define STM32F746_PK4_FUNC_ANALOG 0xa411
-
-#define STM32F746_PK5_FUNC_GPIO 0xa500
-#define STM32F746_PK5_FUNC_LCD_B6 0xa50f
-#define STM32F746_PK5_FUNC_EVENTOUT 0xa510
-#define STM32F746_PK5_FUNC_ANALOG 0xa511
-
-#define STM32F746_PK6_FUNC_GPIO 0xa600
-#define STM32F746_PK6_FUNC_LCD_B7 0xa60f
-#define STM32F746_PK6_FUNC_EVENTOUT 0xa610
-#define STM32F746_PK6_FUNC_ANALOG 0xa611
-
-#define STM32F746_PK7_FUNC_GPIO 0xa700
-#define STM32F746_PK7_FUNC_LCD_DE 0xa70f
-#define STM32F746_PK7_FUNC_EVENTOUT 0xa710
-#define STM32F746_PK7_FUNC_ANALOG 0xa711
-
-#endif /* _DT_BINDINGS_STM32F746_PINFUNC_H */
diff --git a/include/dt-bindings/pinctrl/stm32h7-pinfunc.h b/include/dt-bindings/pinctrl/stm32h7-pinfunc.h
deleted file mode 100644 (file)
index 06d99a8..0000000
+++ /dev/null
@@ -1,1613 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _DT_BINDINGS_STM32H7_PINFUNC_H
-#define _DT_BINDINGS_STM32H7_PINFUNC_H
-
-#define STM32H7_PA0_FUNC_GPIO 0x0
-#define STM32H7_PA0_FUNC_TIM2_CH1_TIM2_ETR 0x2
-#define STM32H7_PA0_FUNC_TIM5_CH1 0x3
-#define STM32H7_PA0_FUNC_TIM8_ETR 0x4
-#define STM32H7_PA0_FUNC_TIM15_BKIN 0x5
-#define STM32H7_PA0_FUNC_USART2_CTS_NSS 0x8
-#define STM32H7_PA0_FUNC_UART4_TX 0x9
-#define STM32H7_PA0_FUNC_SDMMC2_CMD 0xa
-#define STM32H7_PA0_FUNC_SAI2_SD_B 0xb
-#define STM32H7_PA0_FUNC_ETH_MII_CRS 0xc
-#define STM32H7_PA0_FUNC_EVENTOUT 0x10
-#define STM32H7_PA0_FUNC_ANALOG 0x11
-
-#define STM32H7_PA1_FUNC_GPIO 0x100
-#define STM32H7_PA1_FUNC_TIM2_CH2 0x102
-#define STM32H7_PA1_FUNC_TIM5_CH2 0x103
-#define STM32H7_PA1_FUNC_LPTIM3_OUT 0x104
-#define STM32H7_PA1_FUNC_TIM15_CH1N 0x105
-#define STM32H7_PA1_FUNC_USART2_RTS 0x108
-#define STM32H7_PA1_FUNC_UART4_RX 0x109
-#define STM32H7_PA1_FUNC_QUADSPI_BK1_IO3 0x10a
-#define STM32H7_PA1_FUNC_SAI2_MCK_B 0x10b
-#define STM32H7_PA1_FUNC_ETH_MII_RX_CLK_ETH_RMII_REF_CLK 0x10c
-#define STM32H7_PA1_FUNC_LCD_R2 0x10f
-#define STM32H7_PA1_FUNC_EVENTOUT 0x110
-#define STM32H7_PA1_FUNC_ANALOG 0x111
-
-#define STM32H7_PA2_FUNC_GPIO 0x200
-#define STM32H7_PA2_FUNC_TIM2_CH3 0x202
-#define STM32H7_PA2_FUNC_TIM5_CH3 0x203
-#define STM32H7_PA2_FUNC_LPTIM4_OUT 0x204
-#define STM32H7_PA2_FUNC_TIM15_CH1 0x205
-#define STM32H7_PA2_FUNC_USART2_TX 0x208
-#define STM32H7_PA2_FUNC_SAI2_SCK_B 0x209
-#define STM32H7_PA2_FUNC_ETH_MDIO 0x20c
-#define STM32H7_PA2_FUNC_MDIOS_MDIO 0x20d
-#define STM32H7_PA2_FUNC_LCD_R1 0x20f
-#define STM32H7_PA2_FUNC_EVENTOUT 0x210
-#define STM32H7_PA2_FUNC_ANALOG 0x211
-
-#define STM32H7_PA3_FUNC_GPIO 0x300
-#define STM32H7_PA3_FUNC_TIM2_CH4 0x302
-#define STM32H7_PA3_FUNC_TIM5_CH4 0x303
-#define STM32H7_PA3_FUNC_LPTIM5_OUT 0x304
-#define STM32H7_PA3_FUNC_TIM15_CH2 0x305
-#define STM32H7_PA3_FUNC_USART2_RX 0x308
-#define STM32H7_PA3_FUNC_LCD_B2 0x30a
-#define STM32H7_PA3_FUNC_OTG_HS_ULPI_D0 0x30b
-#define STM32H7_PA3_FUNC_ETH_MII_COL 0x30c
-#define STM32H7_PA3_FUNC_LCD_B5 0x30f
-#define STM32H7_PA3_FUNC_EVENTOUT 0x310
-#define STM32H7_PA3_FUNC_ANALOG 0x311
-
-#define STM32H7_PA4_FUNC_GPIO 0x400
-#define STM32H7_PA4_FUNC_TIM5_ETR 0x403
-#define STM32H7_PA4_FUNC_SPI1_NSS_I2S1_WS 0x406
-#define STM32H7_PA4_FUNC_SPI3_NSS_I2S3_WS 0x407
-#define STM32H7_PA4_FUNC_USART2_CK 0x408
-#define STM32H7_PA4_FUNC_SPI6_NSS 0x409
-#define STM32H7_PA4_FUNC_OTG_HS_SOF 0x40d
-#define STM32H7_PA4_FUNC_DCMI_HSYNC 0x40e
-#define STM32H7_PA4_FUNC_LCD_VSYNC 0x40f
-#define STM32H7_PA4_FUNC_EVENTOUT 0x410
-#define STM32H7_PA4_FUNC_ANALOG 0x411
-
-#define STM32H7_PA5_FUNC_GPIO 0x500
-#define STM32H7_PA5_FUNC_TIM2_CH1_TIM2_ETR 0x502
-#define STM32H7_PA5_FUNC_TIM8_CH1N 0x504
-#define STM32H7_PA5_FUNC_SPI1_SCK_I2S1_CK 0x506
-#define STM32H7_PA5_FUNC_SPI6_SCK 0x509
-#define STM32H7_PA5_FUNC_OTG_HS_ULPI_CK 0x50b
-#define STM32H7_PA5_FUNC_LCD_R4 0x50f
-#define STM32H7_PA5_FUNC_EVENTOUT 0x510
-#define STM32H7_PA5_FUNC_ANALOG 0x511
-
-#define STM32H7_PA6_FUNC_GPIO 0x600
-#define STM32H7_PA6_FUNC_TIM1_BKIN 0x602
-#define STM32H7_PA6_FUNC_TIM3_CH1 0x603
-#define STM32H7_PA6_FUNC_TIM8_BKIN 0x604
-#define STM32H7_PA6_FUNC_SPI1_MISO_I2S1_SDI 0x606
-#define STM32H7_PA6_FUNC_SPI6_MISO 0x609
-#define STM32H7_PA6_FUNC_TIM13_CH1 0x60a
-#define STM32H7_PA6_FUNC_TIM8_BKIN_COMP12 0x60b
-#define STM32H7_PA6_FUNC_MDIOS_MDC 0x60c
-#define STM32H7_PA6_FUNC_TIM1_BKIN_COMP12 0x60d
-#define STM32H7_PA6_FUNC_DCMI_PIXCLK 0x60e
-#define STM32H7_PA6_FUNC_LCD_G2 0x60f
-#define STM32H7_PA6_FUNC_EVENTOUT 0x610
-#define STM32H7_PA6_FUNC_ANALOG 0x611
-
-#define STM32H7_PA7_FUNC_GPIO 0x700
-#define STM32H7_PA7_FUNC_TIM1_CH1N 0x702
-#define STM32H7_PA7_FUNC_TIM3_CH2 0x703
-#define STM32H7_PA7_FUNC_TIM8_CH1N 0x704
-#define STM32H7_PA7_FUNC_SPI1_MOSI_I2S1_SDO 0x706
-#define STM32H7_PA7_FUNC_SPI6_MOSI 0x709
-#define STM32H7_PA7_FUNC_TIM14_CH1 0x70a
-#define STM32H7_PA7_FUNC_ETH_MII_RX_DV_ETH_RMII_CRS_DV 0x70c
-#define STM32H7_PA7_FUNC_FMC_SDNWE 0x70d
-#define STM32H7_PA7_FUNC_EVENTOUT 0x710
-#define STM32H7_PA7_FUNC_ANALOG 0x711
-
-#define STM32H7_PA8_FUNC_GPIO 0x800
-#define STM32H7_PA8_FUNC_MCO1 0x801
-#define STM32H7_PA8_FUNC_TIM1_CH1 0x802
-#define STM32H7_PA8_FUNC_HRTIM_CHB2 0x803
-#define STM32H7_PA8_FUNC_TIM8_BKIN2 0x804
-#define STM32H7_PA8_FUNC_I2C3_SCL 0x805
-#define STM32H7_PA8_FUNC_USART1_CK 0x808
-#define STM32H7_PA8_FUNC_OTG_FS_SOF 0x80b
-#define STM32H7_PA8_FUNC_UART7_RX 0x80c
-#define STM32H7_PA8_FUNC_TIM8_BKIN2_COMP12 0x80d
-#define STM32H7_PA8_FUNC_LCD_B3 0x80e
-#define STM32H7_PA8_FUNC_LCD_R6 0x80f
-#define STM32H7_PA8_FUNC_EVENTOUT 0x810
-#define STM32H7_PA8_FUNC_ANALOG 0x811
-
-#define STM32H7_PA9_FUNC_GPIO 0x900
-#define STM32H7_PA9_FUNC_TIM1_CH2 0x902
-#define STM32H7_PA9_FUNC_HRTIM_CHC1 0x903
-#define STM32H7_PA9_FUNC_LPUART1_TX 0x904
-#define STM32H7_PA9_FUNC_I2C3_SMBA 0x905
-#define STM32H7_PA9_FUNC_SPI2_SCK_I2S2_CK 0x906
-#define STM32H7_PA9_FUNC_USART1_TX 0x908
-#define STM32H7_PA9_FUNC_CAN1_RXFD 0x90a
-#define STM32H7_PA9_FUNC_ETH_TX_ER 0x90c
-#define STM32H7_PA9_FUNC_DCMI_D0 0x90e
-#define STM32H7_PA9_FUNC_LCD_R5 0x90f
-#define STM32H7_PA9_FUNC_EVENTOUT 0x910
-#define STM32H7_PA9_FUNC_ANALOG 0x911
-
-#define STM32H7_PA10_FUNC_GPIO 0xa00
-#define STM32H7_PA10_FUNC_TIM1_CH3 0xa02
-#define STM32H7_PA10_FUNC_HRTIM_CHC2 0xa03
-#define STM32H7_PA10_FUNC_LPUART1_RX 0xa04
-#define STM32H7_PA10_FUNC_USART1_RX 0xa08
-#define STM32H7_PA10_FUNC_CAN1_TXFD 0xa0a
-#define STM32H7_PA10_FUNC_OTG_FS_ID 0xa0b
-#define STM32H7_PA10_FUNC_MDIOS_MDIO 0xa0c
-#define STM32H7_PA10_FUNC_LCD_B4 0xa0d
-#define STM32H7_PA10_FUNC_DCMI_D1 0xa0e
-#define STM32H7_PA10_FUNC_LCD_B1 0xa0f
-#define STM32H7_PA10_FUNC_EVENTOUT 0xa10
-#define STM32H7_PA10_FUNC_ANALOG 0xa11
-
-#define STM32H7_PA11_FUNC_GPIO 0xb00
-#define STM32H7_PA11_FUNC_TIM1_CH4 0xb02
-#define STM32H7_PA11_FUNC_HRTIM_CHD1 0xb03
-#define STM32H7_PA11_FUNC_LPUART1_CTS 0xb04
-#define STM32H7_PA11_FUNC_SPI2_NSS_I2S2_WS 0xb06
-#define STM32H7_PA11_FUNC_UART4_RX 0xb07
-#define STM32H7_PA11_FUNC_USART1_CTS_NSS 0xb08
-#define STM32H7_PA11_FUNC_CAN1_RX 0xb0a
-#define STM32H7_PA11_FUNC_OTG_FS_DM 0xb0b
-#define STM32H7_PA11_FUNC_LCD_R4 0xb0f
-#define STM32H7_PA11_FUNC_EVENTOUT 0xb10
-#define STM32H7_PA11_FUNC_ANALOG 0xb11
-
-#define STM32H7_PA12_FUNC_GPIO 0xc00
-#define STM32H7_PA12_FUNC_TIM1_ETR 0xc02
-#define STM32H7_PA12_FUNC_HRTIM_CHD2 0xc03
-#define STM32H7_PA12_FUNC_LPUART1_RTS 0xc04
-#define STM32H7_PA12_FUNC_SPI2_SCK_I2S2_CK 0xc06
-#define STM32H7_PA12_FUNC_UART4_TX 0xc07
-#define STM32H7_PA12_FUNC_USART1_RTS 0xc08
-#define STM32H7_PA12_FUNC_SAI2_FS_B 0xc09
-#define STM32H7_PA12_FUNC_CAN1_TX 0xc0a
-#define STM32H7_PA12_FUNC_OTG_FS_DP 0xc0b
-#define STM32H7_PA12_FUNC_LCD_R5 0xc0f
-#define STM32H7_PA12_FUNC_EVENTOUT 0xc10
-#define STM32H7_PA12_FUNC_ANALOG 0xc11
-
-#define STM32H7_PA13_FUNC_GPIO 0xd00
-#define STM32H7_PA13_FUNC_JTMS_SWDIO 0xd01
-#define STM32H7_PA13_FUNC_EVENTOUT 0xd10
-#define STM32H7_PA13_FUNC_ANALOG 0xd11
-
-#define STM32H7_PA14_FUNC_GPIO 0xe00
-#define STM32H7_PA14_FUNC_JTCK_SWCLK 0xe01
-#define STM32H7_PA14_FUNC_EVENTOUT 0xe10
-#define STM32H7_PA14_FUNC_ANALOG 0xe11
-
-#define STM32H7_PA15_FUNC_GPIO 0xf00
-#define STM32H7_PA15_FUNC_JTDI 0xf01
-#define STM32H7_PA15_FUNC_TIM2_CH1_TIM2_ETR 0xf02
-#define STM32H7_PA15_FUNC_HRTIM_FLT1 0xf03
-#define STM32H7_PA15_FUNC_HDMI_CEC 0xf05
-#define STM32H7_PA15_FUNC_SPI1_NSS_I2S1_WS 0xf06
-#define STM32H7_PA15_FUNC_SPI3_NSS_I2S3_WS 0xf07
-#define STM32H7_PA15_FUNC_SPI6_NSS 0xf08
-#define STM32H7_PA15_FUNC_UART4_RTS 0xf09
-#define STM32H7_PA15_FUNC_UART7_TX 0xf0c
-#define STM32H7_PA15_FUNC_DSI_TE 0xf0e
-#define STM32H7_PA15_FUNC_EVENTOUT 0xf10
-#define STM32H7_PA15_FUNC_ANALOG 0xf11
-
-#define STM32H7_PB0_FUNC_GPIO 0x1000
-#define STM32H7_PB0_FUNC_TIM1_CH2N 0x1002
-#define STM32H7_PB0_FUNC_TIM3_CH3 0x1003
-#define STM32H7_PB0_FUNC_TIM8_CH2N 0x1004
-#define STM32H7_PB0_FUNC_DFSDM_CKOUT 0x1007
-#define STM32H7_PB0_FUNC_UART4_CTS 0x1009
-#define STM32H7_PB0_FUNC_LCD_R3 0x100a
-#define STM32H7_PB0_FUNC_OTG_HS_ULPI_D1 0x100b
-#define STM32H7_PB0_FUNC_ETH_MII_RXD2 0x100c
-#define STM32H7_PB0_FUNC_LCD_G1 0x100f
-#define STM32H7_PB0_FUNC_EVENTOUT 0x1010
-#define STM32H7_PB0_FUNC_ANALOG 0x1011
-
-#define STM32H7_PB1_FUNC_GPIO 0x1100
-#define STM32H7_PB1_FUNC_TIM1_CH3N 0x1102
-#define STM32H7_PB1_FUNC_TIM3_CH4 0x1103
-#define STM32H7_PB1_FUNC_TIM8_CH3N 0x1104
-#define STM32H7_PB1_FUNC_DFSDM_DATIN1 0x1107
-#define STM32H7_PB1_FUNC_LCD_R6 0x110a
-#define STM32H7_PB1_FUNC_OTG_HS_ULPI_D2 0x110b
-#define STM32H7_PB1_FUNC_ETH_MII_RXD3 0x110c
-#define STM32H7_PB1_FUNC_LCD_G0 0x110f
-#define STM32H7_PB1_FUNC_EVENTOUT 0x1110
-#define STM32H7_PB1_FUNC_ANALOG 0x1111
-
-#define STM32H7_PB2_FUNC_GPIO 0x1200
-#define STM32H7_PB2_FUNC_SAI1_D1 0x1203
-#define STM32H7_PB2_FUNC_DFSDM_CKIN1 0x1205
-#define STM32H7_PB2_FUNC_SAI1_SD_A 0x1207
-#define STM32H7_PB2_FUNC_SPI3_MOSI_I2S3_SDO 0x1208
-#define STM32H7_PB2_FUNC_SAI4_SD_A 0x1209
-#define STM32H7_PB2_FUNC_QUADSPI_CLK 0x120a
-#define STM32H7_PB2_FUNC_SAI4_D1 0x120b
-#define STM32H7_PB2_FUNC_ETH_TX_ER 0x120c
-#define STM32H7_PB2_FUNC_EVENTOUT 0x1210
-#define STM32H7_PB2_FUNC_ANALOG 0x1211
-
-#define STM32H7_PB3_FUNC_GPIO 0x1300
-#define STM32H7_PB3_FUNC_JTDO_TRACESWO 0x1301
-#define STM32H7_PB3_FUNC_TIM2_CH2 0x1302
-#define STM32H7_PB3_FUNC_HRTIM_FLT4 0x1303
-#define STM32H7_PB3_FUNC_SPI1_SCK_I2S1_CK 0x1306
-#define STM32H7_PB3_FUNC_SPI3_SCK_I2S3_CK 0x1307
-#define STM32H7_PB3_FUNC_SPI6_SCK 0x1309
-#define STM32H7_PB3_FUNC_SDMMC2_D2 0x130a
-#define STM32H7_PB3_FUNC_UART7_RX 0x130c
-#define STM32H7_PB3_FUNC_EVENTOUT 0x1310
-#define STM32H7_PB3_FUNC_ANALOG 0x1311
-
-#define STM32H7_PB4_FUNC_GPIO 0x1400
-#define STM32H7_PB4_FUNC_NJTRST 0x1401
-#define STM32H7_PB4_FUNC_TIM16_BKIN 0x1402
-#define STM32H7_PB4_FUNC_TIM3_CH1 0x1403
-#define STM32H7_PB4_FUNC_HRTIM_EEV6 0x1404
-#define STM32H7_PB4_FUNC_SPI1_MISO_I2S1_SDI 0x1406
-#define STM32H7_PB4_FUNC_SPI3_MISO_I2S3_SDI 0x1407
-#define STM32H7_PB4_FUNC_SPI2_NSS_I2S2_WS 0x1408
-#define STM32H7_PB4_FUNC_SPI6_MISO 0x1409
-#define STM32H7_PB4_FUNC_SDMMC2_D3 0x140a
-#define STM32H7_PB4_FUNC_UART7_TX 0x140c
-#define STM32H7_PB4_FUNC_EVENTOUT 0x1410
-#define STM32H7_PB4_FUNC_ANALOG 0x1411
-
-#define STM32H7_PB5_FUNC_GPIO 0x1500
-#define STM32H7_PB5_FUNC_TIM17_BKIN 0x1502
-#define STM32H7_PB5_FUNC_TIM3_CH2 0x1503
-#define STM32H7_PB5_FUNC_HRTIM_EEV7 0x1504
-#define STM32H7_PB5_FUNC_I2C1_SMBA 0x1505
-#define STM32H7_PB5_FUNC_SPI1_MOSI_I2S1_SDO 0x1506
-#define STM32H7_PB5_FUNC_I2C4_SMBA 0x1507
-#define STM32H7_PB5_FUNC_SPI3_MOSI_I2S3_SDO 0x1508
-#define STM32H7_PB5_FUNC_SPI6_MOSI 0x1509
-#define STM32H7_PB5_FUNC_CAN2_RX 0x150a
-#define STM32H7_PB5_FUNC_OTG_HS_ULPI_D7 0x150b
-#define STM32H7_PB5_FUNC_ETH_PPS_OUT 0x150c
-#define STM32H7_PB5_FUNC_FMC_SDCKE1 0x150d
-#define STM32H7_PB5_FUNC_DCMI_D10 0x150e
-#define STM32H7_PB5_FUNC_UART5_RX 0x150f
-#define STM32H7_PB5_FUNC_EVENTOUT 0x1510
-#define STM32H7_PB5_FUNC_ANALOG 0x1511
-
-#define STM32H7_PB6_FUNC_GPIO 0x1600
-#define STM32H7_PB6_FUNC_TIM16_CH1N 0x1602
-#define STM32H7_PB6_FUNC_TIM4_CH1 0x1603
-#define STM32H7_PB6_FUNC_HRTIM_EEV8 0x1604
-#define STM32H7_PB6_FUNC_I2C1_SCL 0x1605
-#define STM32H7_PB6_FUNC_HDMI_CEC 0x1606
-#define STM32H7_PB6_FUNC_I2C4_SCL 0x1607
-#define STM32H7_PB6_FUNC_USART1_TX 0x1608
-#define STM32H7_PB6_FUNC_LPUART1_TX 0x1609
-#define STM32H7_PB6_FUNC_CAN2_TX 0x160a
-#define STM32H7_PB6_FUNC_QUADSPI_BK1_NCS 0x160b
-#define STM32H7_PB6_FUNC_DFSDM_DATIN5 0x160c
-#define STM32H7_PB6_FUNC_FMC_SDNE1 0x160d
-#define STM32H7_PB6_FUNC_DCMI_D5 0x160e
-#define STM32H7_PB6_FUNC_UART5_TX 0x160f
-#define STM32H7_PB6_FUNC_EVENTOUT 0x1610
-#define STM32H7_PB6_FUNC_ANALOG 0x1611
-
-#define STM32H7_PB7_FUNC_GPIO 0x1700
-#define STM32H7_PB7_FUNC_TIM17_CH1N 0x1702
-#define STM32H7_PB7_FUNC_TIM4_CH2 0x1703
-#define STM32H7_PB7_FUNC_HRTIM_EEV9 0x1704
-#define STM32H7_PB7_FUNC_I2C1_SDA 0x1705
-#define STM32H7_PB7_FUNC_I2C4_SDA 0x1707
-#define STM32H7_PB7_FUNC_USART1_RX 0x1708
-#define STM32H7_PB7_FUNC_LPUART1_RX 0x1709
-#define STM32H7_PB7_FUNC_CAN2_TXFD 0x170a
-#define STM32H7_PB7_FUNC_DFSDM_CKIN5 0x170c
-#define STM32H7_PB7_FUNC_FMC_NL 0x170d
-#define STM32H7_PB7_FUNC_DCMI_VSYNC 0x170e
-#define STM32H7_PB7_FUNC_EVENTOUT 0x1710
-#define STM32H7_PB7_FUNC_ANALOG 0x1711
-
-#define STM32H7_PB8_FUNC_GPIO 0x1800
-#define STM32H7_PB8_FUNC_TIM16_CH1 0x1802
-#define STM32H7_PB8_FUNC_TIM4_CH3 0x1803
-#define STM32H7_PB8_FUNC_DFSDM_CKIN7 0x1804
-#define STM32H7_PB8_FUNC_I2C1_SCL 0x1805
-#define STM32H7_PB8_FUNC_I2C4_SCL 0x1807
-#define STM32H7_PB8_FUNC_SDMMC1_CKIN 0x1808
-#define STM32H7_PB8_FUNC_UART4_RX 0x1809
-#define STM32H7_PB8_FUNC_CAN1_RX 0x180a
-#define STM32H7_PB8_FUNC_SDMMC2_D4 0x180b
-#define STM32H7_PB8_FUNC_ETH_MII_TXD3 0x180c
-#define STM32H7_PB8_FUNC_SDMMC1_D4 0x180d
-#define STM32H7_PB8_FUNC_DCMI_D6 0x180e
-#define STM32H7_PB8_FUNC_LCD_B6 0x180f
-#define STM32H7_PB8_FUNC_EVENTOUT 0x1810
-#define STM32H7_PB8_FUNC_ANALOG 0x1811
-
-#define STM32H7_PB9_FUNC_GPIO 0x1900
-#define STM32H7_PB9_FUNC_TIM17_CH1 0x1902
-#define STM32H7_PB9_FUNC_TIM4_CH4 0x1903
-#define STM32H7_PB9_FUNC_DFSDM_DATIN7 0x1904
-#define STM32H7_PB9_FUNC_I2C1_SDA 0x1905
-#define STM32H7_PB9_FUNC_SPI2_NSS_I2S2_WS 0x1906
-#define STM32H7_PB9_FUNC_I2C4_SDA 0x1907
-#define STM32H7_PB9_FUNC_SDMMC1_CDIR 0x1908
-#define STM32H7_PB9_FUNC_UART4_TX 0x1909
-#define STM32H7_PB9_FUNC_CAN1_TX 0x190a
-#define STM32H7_PB9_FUNC_SDMMC2_D5 0x190b
-#define STM32H7_PB9_FUNC_I2C4_SMBA 0x190c
-#define STM32H7_PB9_FUNC_SDMMC1_D5 0x190d
-#define STM32H7_PB9_FUNC_DCMI_D7 0x190e
-#define STM32H7_PB9_FUNC_LCD_B7 0x190f
-#define STM32H7_PB9_FUNC_EVENTOUT 0x1910
-#define STM32H7_PB9_FUNC_ANALOG 0x1911
-
-#define STM32H7_PB10_FUNC_GPIO 0x1a00
-#define STM32H7_PB10_FUNC_TIM2_CH3 0x1a02
-#define STM32H7_PB10_FUNC_HRTIM_SCOUT 0x1a03
-#define STM32H7_PB10_FUNC_LPTIM2_IN1 0x1a04
-#define STM32H7_PB10_FUNC_I2C2_SCL 0x1a05
-#define STM32H7_PB10_FUNC_SPI2_SCK_I2S2_CK 0x1a06
-#define STM32H7_PB10_FUNC_DFSDM_DATIN7 0x1a07
-#define STM32H7_PB10_FUNC_USART3_TX 0x1a08
-#define STM32H7_PB10_FUNC_QUADSPI_BK1_NCS 0x1a0a
-#define STM32H7_PB10_FUNC_OTG_HS_ULPI_D3 0x1a0b
-#define STM32H7_PB10_FUNC_ETH_MII_RX_ER 0x1a0c
-#define STM32H7_PB10_FUNC_LCD_G4 0x1a0f
-#define STM32H7_PB10_FUNC_EVENTOUT 0x1a10
-#define STM32H7_PB10_FUNC_ANALOG 0x1a11
-
-#define STM32H7_PB11_FUNC_GPIO 0x1b00
-#define STM32H7_PB11_FUNC_TIM2_CH4 0x1b02
-#define STM32H7_PB11_FUNC_HRTIM_SCIN 0x1b03
-#define STM32H7_PB11_FUNC_LPTIM2_ETR 0x1b04
-#define STM32H7_PB11_FUNC_I2C2_SDA 0x1b05
-#define STM32H7_PB11_FUNC_DFSDM_CKIN7 0x1b07
-#define STM32H7_PB11_FUNC_USART3_RX 0x1b08
-#define STM32H7_PB11_FUNC_OTG_HS_ULPI_D4 0x1b0b
-#define STM32H7_PB11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN 0x1b0c
-#define STM32H7_PB11_FUNC_DSI_TE 0x1b0e
-#define STM32H7_PB11_FUNC_LCD_G5 0x1b0f
-#define STM32H7_PB11_FUNC_EVENTOUT 0x1b10
-#define STM32H7_PB11_FUNC_ANALOG 0x1b11
-
-#define STM32H7_PB12_FUNC_GPIO 0x1c00
-#define STM32H7_PB12_FUNC_TIM1_BKIN 0x1c02
-#define STM32H7_PB12_FUNC_I2C2_SMBA 0x1c05
-#define STM32H7_PB12_FUNC_SPI2_NSS_I2S2_WS 0x1c06
-#define STM32H7_PB12_FUNC_DFSDM_DATIN1 0x1c07
-#define STM32H7_PB12_FUNC_USART3_CK 0x1c08
-#define STM32H7_PB12_FUNC_CAN2_RX 0x1c0a
-#define STM32H7_PB12_FUNC_OTG_HS_ULPI_D5 0x1c0b
-#define STM32H7_PB12_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0 0x1c0c
-#define STM32H7_PB12_FUNC_OTG_HS_ID 0x1c0d
-#define STM32H7_PB12_FUNC_TIM1_BKIN_COMP12 0x1c0e
-#define STM32H7_PB12_FUNC_UART5_RX 0x1c0f
-#define STM32H7_PB12_FUNC_EVENTOUT 0x1c10
-#define STM32H7_PB12_FUNC_ANALOG 0x1c11
-
-#define STM32H7_PB13_FUNC_GPIO 0x1d00
-#define STM32H7_PB13_FUNC_TIM1_CH1N 0x1d02
-#define STM32H7_PB13_FUNC_LPTIM2_OUT 0x1d04
-#define STM32H7_PB13_FUNC_SPI2_SCK_I2S2_CK 0x1d06
-#define STM32H7_PB13_FUNC_DFSDM_CKIN1 0x1d07
-#define STM32H7_PB13_FUNC_USART3_CTS_NSS 0x1d08
-#define STM32H7_PB13_FUNC_CAN2_TX 0x1d0a
-#define STM32H7_PB13_FUNC_OTG_HS_ULPI_D6 0x1d0b
-#define STM32H7_PB13_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x1d0c
-#define STM32H7_PB13_FUNC_UART5_TX 0x1d0f
-#define STM32H7_PB13_FUNC_EVENTOUT 0x1d10
-#define STM32H7_PB13_FUNC_ANALOG 0x1d11
-
-#define STM32H7_PB14_FUNC_GPIO 0x1e00
-#define STM32H7_PB14_FUNC_TIM1_CH2N 0x1e02
-#define STM32H7_PB14_FUNC_TIM8_CH2N 0x1e04
-#define STM32H7_PB14_FUNC_USART1_TX 0x1e05
-#define STM32H7_PB14_FUNC_SPI2_MISO_I2S2_SDI 0x1e06
-#define STM32H7_PB14_FUNC_DFSDM_DATIN2 0x1e07
-#define STM32H7_PB14_FUNC_USART3_RTS 0x1e08
-#define STM32H7_PB14_FUNC_UART4_RTS 0x1e09
-#define STM32H7_PB14_FUNC_SDMMC2_D0 0x1e0a
-#define STM32H7_PB14_FUNC_OTG_HS_DM 0x1e0d
-#define STM32H7_PB14_FUNC_EVENTOUT 0x1e10
-#define STM32H7_PB14_FUNC_ANALOG 0x1e11
-
-#define STM32H7_PB15_FUNC_GPIO 0x1f00
-#define STM32H7_PB15_FUNC_RTC_REFIN 0x1f01
-#define STM32H7_PB15_FUNC_TIM1_CH3N 0x1f02
-#define STM32H7_PB15_FUNC_TIM8_CH3N 0x1f04
-#define STM32H7_PB15_FUNC_USART1_RX 0x1f05
-#define STM32H7_PB15_FUNC_SPI2_MOSI_I2S2_SDO 0x1f06
-#define STM32H7_PB15_FUNC_DFSDM_CKIN2 0x1f07
-#define STM32H7_PB15_FUNC_UART4_CTS 0x1f09
-#define STM32H7_PB15_FUNC_SDMMC2_D1 0x1f0a
-#define STM32H7_PB15_FUNC_OTG_HS_DP 0x1f0d
-#define STM32H7_PB15_FUNC_EVENTOUT 0x1f10
-#define STM32H7_PB15_FUNC_ANALOG 0x1f11
-
-#define STM32H7_PC0_FUNC_GPIO 0x2000
-#define STM32H7_PC0_FUNC_DFSDM_CKIN0 0x2004
-#define STM32H7_PC0_FUNC_DFSDM_DATIN4 0x2007
-#define STM32H7_PC0_FUNC_SAI2_FS_B 0x2009
-#define STM32H7_PC0_FUNC_OTG_HS_ULPI_STP 0x200b
-#define STM32H7_PC0_FUNC_FMC_SDNWE 0x200d
-#define STM32H7_PC0_FUNC_LCD_R5 0x200f
-#define STM32H7_PC0_FUNC_EVENTOUT 0x2010
-#define STM32H7_PC0_FUNC_ANALOG 0x2011
-
-#define STM32H7_PC1_FUNC_GPIO 0x2100
-#define STM32H7_PC1_FUNC_TRACED0 0x2101
-#define STM32H7_PC1_FUNC_SAI1_D1 0x2103
-#define STM32H7_PC1_FUNC_DFSDM_DATIN0 0x2104
-#define STM32H7_PC1_FUNC_DFSDM_CKIN4 0x2105
-#define STM32H7_PC1_FUNC_SPI2_MOSI_I2S2_SDO 0x2106
-#define STM32H7_PC1_FUNC_SAI1_SD_A 0x2107
-#define STM32H7_PC1_FUNC_SAI4_SD_A 0x2109
-#define STM32H7_PC1_FUNC_SDMMC2_CK 0x210a
-#define STM32H7_PC1_FUNC_SAI4_D1 0x210b
-#define STM32H7_PC1_FUNC_ETH_MDC 0x210c
-#define STM32H7_PC1_FUNC_MDIOS_MDC 0x210d
-#define STM32H7_PC1_FUNC_EVENTOUT 0x2110
-#define STM32H7_PC1_FUNC_ANALOG 0x2111
-
-#define STM32H7_PC2_FUNC_GPIO 0x2200
-#define STM32H7_PC2_FUNC_DFSDM_CKIN1 0x2204
-#define STM32H7_PC2_FUNC_SPI2_MISO_I2S2_SDI 0x2206
-#define STM32H7_PC2_FUNC_DFSDM_CKOUT 0x2207
-#define STM32H7_PC2_FUNC_OTG_HS_ULPI_DIR 0x220b
-#define STM32H7_PC2_FUNC_ETH_MII_TXD2 0x220c
-#define STM32H7_PC2_FUNC_FMC_SDNE0 0x220d
-#define STM32H7_PC2_FUNC_EVENTOUT 0x2210
-#define STM32H7_PC2_FUNC_ANALOG 0x2211
-
-#define STM32H7_PC3_FUNC_GPIO 0x2300
-#define STM32H7_PC3_FUNC_DFSDM_DATIN1 0x2304
-#define STM32H7_PC3_FUNC_SPI2_MOSI_I2S2_SDO 0x2306
-#define STM32H7_PC3_FUNC_OTG_HS_ULPI_NXT 0x230b
-#define STM32H7_PC3_FUNC_ETH_MII_TX_CLK 0x230c
-#define STM32H7_PC3_FUNC_FMC_SDCKE0 0x230d
-#define STM32H7_PC3_FUNC_EVENTOUT 0x2310
-#define STM32H7_PC3_FUNC_ANALOG 0x2311
-
-#define STM32H7_PC4_FUNC_GPIO 0x2400
-#define STM32H7_PC4_FUNC_DFSDM_CKIN2 0x2404
-#define STM32H7_PC4_FUNC_I2S1_MCK 0x2406
-#define STM32H7_PC4_FUNC_SPDIFRX_IN2 0x240a
-#define STM32H7_PC4_FUNC_ETH_MII_RXD0_ETH_RMII_RXD0 0x240c
-#define STM32H7_PC4_FUNC_FMC_SDNE0 0x240d
-#define STM32H7_PC4_FUNC_EVENTOUT 0x2410
-#define STM32H7_PC4_FUNC_ANALOG 0x2411
-
-#define STM32H7_PC5_FUNC_GPIO 0x2500
-#define STM32H7_PC5_FUNC_SAI1_D3 0x2503
-#define STM32H7_PC5_FUNC_DFSDM_DATIN2 0x2504
-#define STM32H7_PC5_FUNC_SPDIFRX_IN3 0x250a
-#define STM32H7_PC5_FUNC_SAI4_D3 0x250b
-#define STM32H7_PC5_FUNC_ETH_MII_RXD1_ETH_RMII_RXD1 0x250c
-#define STM32H7_PC5_FUNC_FMC_SDCKE0 0x250d
-#define STM32H7_PC5_FUNC_COMP_1_OUT 0x250e
-#define STM32H7_PC5_FUNC_EVENTOUT 0x2510
-#define STM32H7_PC5_FUNC_ANALOG 0x2511
-
-#define STM32H7_PC6_FUNC_GPIO 0x2600
-#define STM32H7_PC6_FUNC_HRTIM_CHA1 0x2602
-#define STM32H7_PC6_FUNC_TIM3_CH1 0x2603
-#define STM32H7_PC6_FUNC_TIM8_CH1 0x2604
-#define STM32H7_PC6_FUNC_DFSDM_CKIN3 0x2605
-#define STM32H7_PC6_FUNC_I2S2_MCK 0x2606
-#define STM32H7_PC6_FUNC_USART6_TX 0x2608
-#define STM32H7_PC6_FUNC_SDMMC1_D0DIR 0x2609
-#define STM32H7_PC6_FUNC_FMC_NWAIT 0x260a
-#define STM32H7_PC6_FUNC_SDMMC2_D6 0x260b
-#define STM32H7_PC6_FUNC_SDMMC1_D6 0x260d
-#define STM32H7_PC6_FUNC_DCMI_D0 0x260e
-#define STM32H7_PC6_FUNC_LCD_HSYNC 0x260f
-#define STM32H7_PC6_FUNC_EVENTOUT 0x2610
-#define STM32H7_PC6_FUNC_ANALOG 0x2611
-
-#define STM32H7_PC7_FUNC_GPIO 0x2700
-#define STM32H7_PC7_FUNC_TRGIO 0x2701
-#define STM32H7_PC7_FUNC_HRTIM_CHA2 0x2702
-#define STM32H7_PC7_FUNC_TIM3_CH2 0x2703
-#define STM32H7_PC7_FUNC_TIM8_CH2 0x2704
-#define STM32H7_PC7_FUNC_DFSDM_DATIN3 0x2705
-#define STM32H7_PC7_FUNC_I2S3_MCK 0x2707
-#define STM32H7_PC7_FUNC_USART6_RX 0x2708
-#define STM32H7_PC7_FUNC_SDMMC1_D123DIR 0x2709
-#define STM32H7_PC7_FUNC_FMC_NE1 0x270a
-#define STM32H7_PC7_FUNC_SDMMC2_D7 0x270b
-#define STM32H7_PC7_FUNC_SWPMI_TX 0x270c
-#define STM32H7_PC7_FUNC_SDMMC1_D7 0x270d
-#define STM32H7_PC7_FUNC_DCMI_D1 0x270e
-#define STM32H7_PC7_FUNC_LCD_G6 0x270f
-#define STM32H7_PC7_FUNC_EVENTOUT 0x2710
-#define STM32H7_PC7_FUNC_ANALOG 0x2711
-
-#define STM32H7_PC8_FUNC_GPIO 0x2800
-#define STM32H7_PC8_FUNC_TRACED1 0x2801
-#define STM32H7_PC8_FUNC_HRTIM_CHB1 0x2802
-#define STM32H7_PC8_FUNC_TIM3_CH3 0x2803
-#define STM32H7_PC8_FUNC_TIM8_CH3 0x2804
-#define STM32H7_PC8_FUNC_USART6_CK 0x2808
-#define STM32H7_PC8_FUNC_UART5_RTS 0x2809
-#define STM32H7_PC8_FUNC_FMC_NE2_FMC_NCE 0x280a
-#define STM32H7_PC8_FUNC_SWPMI_RX 0x280c
-#define STM32H7_PC8_FUNC_SDMMC1_D0 0x280d
-#define STM32H7_PC8_FUNC_DCMI_D2 0x280e
-#define STM32H7_PC8_FUNC_EVENTOUT 0x2810
-#define STM32H7_PC8_FUNC_ANALOG 0x2811
-
-#define STM32H7_PC9_FUNC_GPIO 0x2900
-#define STM32H7_PC9_FUNC_MCO2 0x2901
-#define STM32H7_PC9_FUNC_TIM3_CH4 0x2903
-#define STM32H7_PC9_FUNC_TIM8_CH4 0x2904
-#define STM32H7_PC9_FUNC_I2C3_SDA 0x2905
-#define STM32H7_PC9_FUNC_I2S_CKIN 0x2906
-#define STM32H7_PC9_FUNC_UART5_CTS 0x2909
-#define STM32H7_PC9_FUNC_QUADSPI_BK1_IO0 0x290a
-#define STM32H7_PC9_FUNC_LCD_G3 0x290b
-#define STM32H7_PC9_FUNC_SWPMI_SUSPEND 0x290c
-#define STM32H7_PC9_FUNC_SDMMC1_D1 0x290d
-#define STM32H7_PC9_FUNC_DCMI_D3 0x290e
-#define STM32H7_PC9_FUNC_LCD_B2 0x290f
-#define STM32H7_PC9_FUNC_EVENTOUT 0x2910
-#define STM32H7_PC9_FUNC_ANALOG 0x2911
-
-#define STM32H7_PC10_FUNC_GPIO 0x2a00
-#define STM32H7_PC10_FUNC_HRTIM_EEV1 0x2a03
-#define STM32H7_PC10_FUNC_DFSDM_CKIN5 0x2a04
-#define STM32H7_PC10_FUNC_SPI3_SCK_I2S3_CK 0x2a07
-#define STM32H7_PC10_FUNC_USART3_TX 0x2a08
-#define STM32H7_PC10_FUNC_UART4_TX 0x2a09
-#define STM32H7_PC10_FUNC_QUADSPI_BK1_IO1 0x2a0a
-#define STM32H7_PC10_FUNC_SDMMC1_D2 0x2a0d
-#define STM32H7_PC10_FUNC_DCMI_D8 0x2a0e
-#define STM32H7_PC10_FUNC_LCD_R2 0x2a0f
-#define STM32H7_PC10_FUNC_EVENTOUT 0x2a10
-#define STM32H7_PC10_FUNC_ANALOG 0x2a11
-
-#define STM32H7_PC11_FUNC_GPIO 0x2b00
-#define STM32H7_PC11_FUNC_HRTIM_FLT2 0x2b03
-#define STM32H7_PC11_FUNC_DFSDM_DATIN5 0x2b04
-#define STM32H7_PC11_FUNC_SPI3_MISO_I2S3_SDI 0x2b07
-#define STM32H7_PC11_FUNC_USART3_RX 0x2b08
-#define STM32H7_PC11_FUNC_UART4_RX 0x2b09
-#define STM32H7_PC11_FUNC_QUADSPI_BK2_NCS 0x2b0a
-#define STM32H7_PC11_FUNC_SDMMC1_D3 0x2b0d
-#define STM32H7_PC11_FUNC_DCMI_D4 0x2b0e
-#define STM32H7_PC11_FUNC_EVENTOUT 0x2b10
-#define STM32H7_PC11_FUNC_ANALOG 0x2b11
-
-#define STM32H7_PC12_FUNC_GPIO 0x2c00
-#define STM32H7_PC12_FUNC_TRACED3 0x2c01
-#define STM32H7_PC12_FUNC_HRTIM_EEV2 0x2c03
-#define STM32H7_PC12_FUNC_SPI3_MOSI_I2S3_SDO 0x2c07
-#define STM32H7_PC12_FUNC_USART3_CK 0x2c08
-#define STM32H7_PC12_FUNC_UART5_TX 0x2c09
-#define STM32H7_PC12_FUNC_SDMMC1_CK 0x2c0d
-#define STM32H7_PC12_FUNC_DCMI_D9 0x2c0e
-#define STM32H7_PC12_FUNC_EVENTOUT 0x2c10
-#define STM32H7_PC12_FUNC_ANALOG 0x2c11
-
-#define STM32H7_PC13_FUNC_GPIO 0x2d00
-#define STM32H7_PC13_FUNC_EVENTOUT 0x2d10
-#define STM32H7_PC13_FUNC_ANALOG 0x2d11
-
-#define STM32H7_PC14_FUNC_GPIO 0x2e00
-#define STM32H7_PC14_FUNC_EVENTOUT 0x2e10
-#define STM32H7_PC14_FUNC_ANALOG 0x2e11
-
-#define STM32H7_PC15_FUNC_GPIO 0x2f00
-#define STM32H7_PC15_FUNC_EVENTOUT 0x2f10
-#define STM32H7_PC15_FUNC_ANALOG 0x2f11
-
-#define STM32H7_PD0_FUNC_GPIO 0x3000
-#define STM32H7_PD0_FUNC_DFSDM_CKIN6 0x3004
-#define STM32H7_PD0_FUNC_SAI3_SCK_A 0x3007
-#define STM32H7_PD0_FUNC_UART4_RX 0x3009
-#define STM32H7_PD0_FUNC_CAN1_RX 0x300a
-#define STM32H7_PD0_FUNC_FMC_D2_FMC_DA2 0x300d
-#define STM32H7_PD0_FUNC_EVENTOUT 0x3010
-#define STM32H7_PD0_FUNC_ANALOG 0x3011
-
-#define STM32H7_PD1_FUNC_GPIO 0x3100
-#define STM32H7_PD1_FUNC_DFSDM_DATIN6 0x3104
-#define STM32H7_PD1_FUNC_SAI3_SD_A 0x3107
-#define STM32H7_PD1_FUNC_UART4_TX 0x3109
-#define STM32H7_PD1_FUNC_CAN1_TX 0x310a
-#define STM32H7_PD1_FUNC_FMC_D3_FMC_DA3 0x310d
-#define STM32H7_PD1_FUNC_EVENTOUT 0x3110
-#define STM32H7_PD1_FUNC_ANALOG 0x3111
-
-#define STM32H7_PD2_FUNC_GPIO 0x3200
-#define STM32H7_PD2_FUNC_TRACED2 0x3201
-#define STM32H7_PD2_FUNC_TIM3_ETR 0x3203
-#define STM32H7_PD2_FUNC_UART5_RX 0x3209
-#define STM32H7_PD2_FUNC_SDMMC1_CMD 0x320d
-#define STM32H7_PD2_FUNC_DCMI_D11 0x320e
-#define STM32H7_PD2_FUNC_EVENTOUT 0x3210
-#define STM32H7_PD2_FUNC_ANALOG 0x3211
-
-#define STM32H7_PD3_FUNC_GPIO 0x3300
-#define STM32H7_PD3_FUNC_DFSDM_CKOUT 0x3304
-#define STM32H7_PD3_FUNC_SPI2_SCK_I2S2_CK 0x3306
-#define STM32H7_PD3_FUNC_USART2_CTS_NSS 0x3308
-#define STM32H7_PD3_FUNC_FMC_CLK 0x330d
-#define STM32H7_PD3_FUNC_DCMI_D5 0x330e
-#define STM32H7_PD3_FUNC_LCD_G7 0x330f
-#define STM32H7_PD3_FUNC_EVENTOUT 0x3310
-#define STM32H7_PD3_FUNC_ANALOG 0x3311
-
-#define STM32H7_PD4_FUNC_GPIO 0x3400
-#define STM32H7_PD4_FUNC_HRTIM_FLT3 0x3403
-#define STM32H7_PD4_FUNC_SAI3_FS_A 0x3407
-#define STM32H7_PD4_FUNC_USART2_RTS 0x3408
-#define STM32H7_PD4_FUNC_CAN1_RXFD 0x340a
-#define STM32H7_PD4_FUNC_FMC_NOE 0x340d
-#define STM32H7_PD4_FUNC_EVENTOUT 0x3410
-#define STM32H7_PD4_FUNC_ANALOG 0x3411
-
-#define STM32H7_PD5_FUNC_GPIO 0x3500
-#define STM32H7_PD5_FUNC_HRTIM_EEV3 0x3503
-#define STM32H7_PD5_FUNC_USART2_TX 0x3508
-#define STM32H7_PD5_FUNC_CAN1_TXFD 0x350a
-#define STM32H7_PD5_FUNC_FMC_NWE 0x350d
-#define STM32H7_PD5_FUNC_EVENTOUT 0x3510
-#define STM32H7_PD5_FUNC_ANALOG 0x3511
-
-#define STM32H7_PD6_FUNC_GPIO 0x3600
-#define STM32H7_PD6_FUNC_SAI1_D1 0x3603
-#define STM32H7_PD6_FUNC_DFSDM_CKIN4 0x3604
-#define STM32H7_PD6_FUNC_DFSDM_DATIN1 0x3605
-#define STM32H7_PD6_FUNC_SPI3_MOSI_I2S3_SDO 0x3606
-#define STM32H7_PD6_FUNC_SAI1_SD_A 0x3607
-#define STM32H7_PD6_FUNC_USART2_RX 0x3608
-#define STM32H7_PD6_FUNC_SAI4_SD_A 0x3609
-#define STM32H7_PD6_FUNC_CAN2_RXFD 0x360a
-#define STM32H7_PD6_FUNC_SAI4_D1 0x360b
-#define STM32H7_PD6_FUNC_SDMMC2_CK 0x360c
-#define STM32H7_PD6_FUNC_FMC_NWAIT 0x360d
-#define STM32H7_PD6_FUNC_DCMI_D10 0x360e
-#define STM32H7_PD6_FUNC_LCD_B2 0x360f
-#define STM32H7_PD6_FUNC_EVENTOUT 0x3610
-#define STM32H7_PD6_FUNC_ANALOG 0x3611
-
-#define STM32H7_PD7_FUNC_GPIO 0x3700
-#define STM32H7_PD7_FUNC_DFSDM_DATIN4 0x3704
-#define STM32H7_PD7_FUNC_SPI1_MOSI_I2S1_SDO 0x3706
-#define STM32H7_PD7_FUNC_DFSDM_CKIN1 0x3707
-#define STM32H7_PD7_FUNC_USART2_CK 0x3708
-#define STM32H7_PD7_FUNC_SPDIFRX_IN0 0x370a
-#define STM32H7_PD7_FUNC_SDMMC2_CMD 0x370c
-#define STM32H7_PD7_FUNC_FMC_NE1 0x370d
-#define STM32H7_PD7_FUNC_EVENTOUT 0x3710
-#define STM32H7_PD7_FUNC_ANALOG 0x3711
-
-#define STM32H7_PD8_FUNC_GPIO 0x3800
-#define STM32H7_PD8_FUNC_DFSDM_CKIN3 0x3804
-#define STM32H7_PD8_FUNC_SAI3_SCK_B 0x3807
-#define STM32H7_PD8_FUNC_USART3_TX 0x3808
-#define STM32H7_PD8_FUNC_SPDIFRX_IN1 0x380a
-#define STM32H7_PD8_FUNC_FMC_D13_FMC_DA13 0x380d
-#define STM32H7_PD8_FUNC_EVENTOUT 0x3810
-#define STM32H7_PD8_FUNC_ANALOG 0x3811
-
-#define STM32H7_PD9_FUNC_GPIO 0x3900
-#define STM32H7_PD9_FUNC_DFSDM_DATIN3 0x3904
-#define STM32H7_PD9_FUNC_SAI3_SD_B 0x3907
-#define STM32H7_PD9_FUNC_USART3_RX 0x3908
-#define STM32H7_PD9_FUNC_CAN2_RXFD 0x390a
-#define STM32H7_PD9_FUNC_FMC_D14_FMC_DA14 0x390d
-#define STM32H7_PD9_FUNC_EVENTOUT 0x3910
-#define STM32H7_PD9_FUNC_ANALOG 0x3911
-
-#define STM32H7_PD10_FUNC_GPIO 0x3a00
-#define STM32H7_PD10_FUNC_DFSDM_CKOUT 0x3a04
-#define STM32H7_PD10_FUNC_SAI3_FS_B 0x3a07
-#define STM32H7_PD10_FUNC_USART3_CK 0x3a08
-#define STM32H7_PD10_FUNC_CAN2_TXFD 0x3a0a
-#define STM32H7_PD10_FUNC_FMC_D15_FMC_DA15 0x3a0d
-#define STM32H7_PD10_FUNC_LCD_B3 0x3a0f
-#define STM32H7_PD10_FUNC_EVENTOUT 0x3a10
-#define STM32H7_PD10_FUNC_ANALOG 0x3a11
-
-#define STM32H7_PD11_FUNC_GPIO 0x3b00
-#define STM32H7_PD11_FUNC_LPTIM2_IN2 0x3b04
-#define STM32H7_PD11_FUNC_I2C4_SMBA 0x3b05
-#define STM32H7_PD11_FUNC_USART3_CTS_NSS 0x3b08
-#define STM32H7_PD11_FUNC_QUADSPI_BK1_IO0 0x3b0a
-#define STM32H7_PD11_FUNC_SAI2_SD_A 0x3b0b
-#define STM32H7_PD11_FUNC_FMC_A16 0x3b0d
-#define STM32H7_PD11_FUNC_EVENTOUT 0x3b10
-#define STM32H7_PD11_FUNC_ANALOG 0x3b11
-
-#define STM32H7_PD12_FUNC_GPIO 0x3c00
-#define STM32H7_PD12_FUNC_LPTIM1_IN1 0x3c02
-#define STM32H7_PD12_FUNC_TIM4_CH1 0x3c03
-#define STM32H7_PD12_FUNC_LPTIM2_IN1 0x3c04
-#define STM32H7_PD12_FUNC_I2C4_SCL 0x3c05
-#define STM32H7_PD12_FUNC_USART3_RTS 0x3c08
-#define STM32H7_PD12_FUNC_QUADSPI_BK1_IO1 0x3c0a
-#define STM32H7_PD12_FUNC_SAI2_FS_A 0x3c0b
-#define STM32H7_PD12_FUNC_FMC_A17 0x3c0d
-#define STM32H7_PD12_FUNC_EVENTOUT 0x3c10
-#define STM32H7_PD12_FUNC_ANALOG 0x3c11
-
-#define STM32H7_PD13_FUNC_GPIO 0x3d00
-#define STM32H7_PD13_FUNC_LPTIM1_OUT 0x3d02
-#define STM32H7_PD13_FUNC_TIM4_CH2 0x3d03
-#define STM32H7_PD13_FUNC_I2C4_SDA 0x3d05
-#define STM32H7_PD13_FUNC_QUADSPI_BK1_IO3 0x3d0a
-#define STM32H7_PD13_FUNC_SAI2_SCK_A 0x3d0b
-#define STM32H7_PD13_FUNC_FMC_A18 0x3d0d
-#define STM32H7_PD13_FUNC_EVENTOUT 0x3d10
-#define STM32H7_PD13_FUNC_ANALOG 0x3d11
-
-#define STM32H7_PD14_FUNC_GPIO 0x3e00
-#define STM32H7_PD14_FUNC_TIM4_CH3 0x3e03
-#define STM32H7_PD14_FUNC_SAI3_MCLK_B 0x3e07
-#define STM32H7_PD14_FUNC_UART8_CTS 0x3e09
-#define STM32H7_PD14_FUNC_FMC_D0_FMC_DA0 0x3e0d
-#define STM32H7_PD14_FUNC_EVENTOUT 0x3e10
-#define STM32H7_PD14_FUNC_ANALOG 0x3e11
-
-#define STM32H7_PD15_FUNC_GPIO 0x3f00
-#define STM32H7_PD15_FUNC_TIM4_CH4 0x3f03
-#define STM32H7_PD15_FUNC_SAI3_MCLK_A 0x3f07
-#define STM32H7_PD15_FUNC_UART8_RTS 0x3f09
-#define STM32H7_PD15_FUNC_FMC_D1_FMC_DA1 0x3f0d
-#define STM32H7_PD15_FUNC_EVENTOUT 0x3f10
-#define STM32H7_PD15_FUNC_ANALOG 0x3f11
-
-#define STM32H7_PE0_FUNC_GPIO 0x4000
-#define STM32H7_PE0_FUNC_LPTIM1_ETR 0x4002
-#define STM32H7_PE0_FUNC_TIM4_ETR 0x4003
-#define STM32H7_PE0_FUNC_HRTIM_SCIN 0x4004
-#define STM32H7_PE0_FUNC_LPTIM2_ETR 0x4005
-#define STM32H7_PE0_FUNC_UART8_RX 0x4009
-#define STM32H7_PE0_FUNC_CAN1_RXFD 0x400a
-#define STM32H7_PE0_FUNC_SAI2_MCK_A 0x400b
-#define STM32H7_PE0_FUNC_FMC_NBL0 0x400d
-#define STM32H7_PE0_FUNC_DCMI_D2 0x400e
-#define STM32H7_PE0_FUNC_EVENTOUT 0x4010
-#define STM32H7_PE0_FUNC_ANALOG 0x4011
-
-#define STM32H7_PE1_FUNC_GPIO 0x4100
-#define STM32H7_PE1_FUNC_LPTIM1_IN2 0x4102
-#define STM32H7_PE1_FUNC_HRTIM_SCOUT 0x4104
-#define STM32H7_PE1_FUNC_UART8_TX 0x4109
-#define STM32H7_PE1_FUNC_CAN1_TXFD 0x410a
-#define STM32H7_PE1_FUNC_FMC_NBL1 0x410d
-#define STM32H7_PE1_FUNC_DCMI_D3 0x410e
-#define STM32H7_PE1_FUNC_EVENTOUT 0x4110
-#define STM32H7_PE1_FUNC_ANALOG 0x4111
-
-#define STM32H7_PE2_FUNC_GPIO 0x4200
-#define STM32H7_PE2_FUNC_TRACECLK 0x4201
-#define STM32H7_PE2_FUNC_SAI1_CK1 0x4203
-#define STM32H7_PE2_FUNC_SPI4_SCK 0x4206
-#define STM32H7_PE2_FUNC_SAI1_MCLK_A 0x4207
-#define STM32H7_PE2_FUNC_SAI4_MCLK_A 0x4209
-#define STM32H7_PE2_FUNC_QUADSPI_BK1_IO2 0x420a
-#define STM32H7_PE2_FUNC_SAI4_CK1 0x420b
-#define STM32H7_PE2_FUNC_ETH_MII_TXD3 0x420c
-#define STM32H7_PE2_FUNC_FMC_A23 0x420d
-#define STM32H7_PE2_FUNC_EVENTOUT 0x4210
-#define STM32H7_PE2_FUNC_ANALOG 0x4211
-
-#define STM32H7_PE3_FUNC_GPIO 0x4300
-#define STM32H7_PE3_FUNC_TRACED0 0x4301
-#define STM32H7_PE3_FUNC_TIM15_BKIN 0x4305
-#define STM32H7_PE3_FUNC_SAI1_SD_B 0x4307
-#define STM32H7_PE3_FUNC_SAI4_SD_B 0x4309
-#define STM32H7_PE3_FUNC_FMC_A19 0x430d
-#define STM32H7_PE3_FUNC_EVENTOUT 0x4310
-#define STM32H7_PE3_FUNC_ANALOG 0x4311
-
-#define STM32H7_PE4_FUNC_GPIO 0x4400
-#define STM32H7_PE4_FUNC_TRACED1 0x4401
-#define STM32H7_PE4_FUNC_SAI1_D2 0x4403
-#define STM32H7_PE4_FUNC_DFSDM_DATIN3 0x4404
-#define STM32H7_PE4_FUNC_TIM15_CH1N 0x4405
-#define STM32H7_PE4_FUNC_SPI4_NSS 0x4406
-#define STM32H7_PE4_FUNC_SAI1_FS_A 0x4407
-#define STM32H7_PE4_FUNC_SAI4_FS_A 0x4409
-#define STM32H7_PE4_FUNC_SAI4_D2 0x440b
-#define STM32H7_PE4_FUNC_FMC_A20 0x440d
-#define STM32H7_PE4_FUNC_DCMI_D4 0x440e
-#define STM32H7_PE4_FUNC_LCD_B0 0x440f
-#define STM32H7_PE4_FUNC_EVENTOUT 0x4410
-#define STM32H7_PE4_FUNC_ANALOG 0x4411
-
-#define STM32H7_PE5_FUNC_GPIO 0x4500
-#define STM32H7_PE5_FUNC_TRACED2 0x4501
-#define STM32H7_PE5_FUNC_SAI1_CK2 0x4503
-#define STM32H7_PE5_FUNC_DFSDM_CKIN3 0x4504
-#define STM32H7_PE5_FUNC_TIM15_CH1 0x4505
-#define STM32H7_PE5_FUNC_SPI4_MISO 0x4506
-#define STM32H7_PE5_FUNC_SAI1_SCK_A 0x4507
-#define STM32H7_PE5_FUNC_SAI4_SCK_A 0x4509
-#define STM32H7_PE5_FUNC_SAI4_CK2 0x450b
-#define STM32H7_PE5_FUNC_FMC_A21 0x450d
-#define STM32H7_PE5_FUNC_DCMI_D6 0x450e
-#define STM32H7_PE5_FUNC_LCD_G0 0x450f
-#define STM32H7_PE5_FUNC_EVENTOUT 0x4510
-#define STM32H7_PE5_FUNC_ANALOG 0x4511
-
-#define STM32H7_PE6_FUNC_GPIO 0x4600
-#define STM32H7_PE6_FUNC_TRACED3 0x4601
-#define STM32H7_PE6_FUNC_TIM1_BKIN2 0x4602
-#define STM32H7_PE6_FUNC_SAI1_D1 0x4603
-#define STM32H7_PE6_FUNC_TIM15_CH2 0x4605
-#define STM32H7_PE6_FUNC_SPI4_MOSI 0x4606
-#define STM32H7_PE6_FUNC_SAI1_SD_A 0x4607
-#define STM32H7_PE6_FUNC_SAI4_SD_A 0x4609
-#define STM32H7_PE6_FUNC_SAI4_D1 0x460a
-#define STM32H7_PE6_FUNC_SAI2_MCK_B 0x460b
-#define STM32H7_PE6_FUNC_TIM1_BKIN2_COMP12 0x460c
-#define STM32H7_PE6_FUNC_FMC_A22 0x460d
-#define STM32H7_PE6_FUNC_DCMI_D7 0x460e
-#define STM32H7_PE6_FUNC_LCD_G1 0x460f
-#define STM32H7_PE6_FUNC_EVENTOUT 0x4610
-#define STM32H7_PE6_FUNC_ANALOG 0x4611
-
-#define STM32H7_PE7_FUNC_GPIO 0x4700
-#define STM32H7_PE7_FUNC_TIM1_ETR 0x4702
-#define STM32H7_PE7_FUNC_DFSDM_DATIN2 0x4704
-#define STM32H7_PE7_FUNC_UART7_RX 0x4708
-#define STM32H7_PE7_FUNC_QUADSPI_BK2_IO0 0x470b
-#define STM32H7_PE7_FUNC_FMC_D4_FMC_DA4 0x470d
-#define STM32H7_PE7_FUNC_EVENTOUT 0x4710
-#define STM32H7_PE7_FUNC_ANALOG 0x4711
-
-#define STM32H7_PE8_FUNC_GPIO 0x4800
-#define STM32H7_PE8_FUNC_TIM1_CH1N 0x4802
-#define STM32H7_PE8_FUNC_DFSDM_CKIN2 0x4804
-#define STM32H7_PE8_FUNC_UART7_TX 0x4808
-#define STM32H7_PE8_FUNC_QUADSPI_BK2_IO1 0x480b
-#define STM32H7_PE8_FUNC_FMC_D5_FMC_DA5 0x480d
-#define STM32H7_PE8_FUNC_COMP_2_OUT 0x480e
-#define STM32H7_PE8_FUNC_EVENTOUT 0x4810
-#define STM32H7_PE8_FUNC_ANALOG 0x4811
-
-#define STM32H7_PE9_FUNC_GPIO 0x4900
-#define STM32H7_PE9_FUNC_TIM1_CH1 0x4902
-#define STM32H7_PE9_FUNC_DFSDM_CKOUT 0x4904
-#define STM32H7_PE9_FUNC_UART7_RTS 0x4908
-#define STM32H7_PE9_FUNC_QUADSPI_BK2_IO2 0x490b
-#define STM32H7_PE9_FUNC_FMC_D6_FMC_DA6 0x490d
-#define STM32H7_PE9_FUNC_EVENTOUT 0x4910
-#define STM32H7_PE9_FUNC_ANALOG 0x4911
-
-#define STM32H7_PE10_FUNC_GPIO 0x4a00
-#define STM32H7_PE10_FUNC_TIM1_CH2N 0x4a02
-#define STM32H7_PE10_FUNC_DFSDM_DATIN4 0x4a04
-#define STM32H7_PE10_FUNC_UART7_CTS 0x4a08
-#define STM32H7_PE10_FUNC_QUADSPI_BK2_IO3 0x4a0b
-#define STM32H7_PE10_FUNC_FMC_D7_FMC_DA7 0x4a0d
-#define STM32H7_PE10_FUNC_EVENTOUT 0x4a10
-#define STM32H7_PE10_FUNC_ANALOG 0x4a11
-
-#define STM32H7_PE11_FUNC_GPIO 0x4b00
-#define STM32H7_PE11_FUNC_TIM1_CH2 0x4b02
-#define STM32H7_PE11_FUNC_DFSDM_CKIN4 0x4b04
-#define STM32H7_PE11_FUNC_SPI4_NSS 0x4b06
-#define STM32H7_PE11_FUNC_SAI2_SD_B 0x4b0b
-#define STM32H7_PE11_FUNC_FMC_D8_FMC_DA8 0x4b0d
-#define STM32H7_PE11_FUNC_LCD_G3 0x4b0f
-#define STM32H7_PE11_FUNC_EVENTOUT 0x4b10
-#define STM32H7_PE11_FUNC_ANALOG 0x4b11
-
-#define STM32H7_PE12_FUNC_GPIO 0x4c00
-#define STM32H7_PE12_FUNC_TIM1_CH3N 0x4c02
-#define STM32H7_PE12_FUNC_DFSDM_DATIN5 0x4c04
-#define STM32H7_PE12_FUNC_SPI4_SCK 0x4c06
-#define STM32H7_PE12_FUNC_SAI2_SCK_B 0x4c0b
-#define STM32H7_PE12_FUNC_FMC_D9_FMC_DA9 0x4c0d
-#define STM32H7_PE12_FUNC_COMP_1_OUT 0x4c0e
-#define STM32H7_PE12_FUNC_LCD_B4 0x4c0f
-#define STM32H7_PE12_FUNC_EVENTOUT 0x4c10
-#define STM32H7_PE12_FUNC_ANALOG 0x4c11
-
-#define STM32H7_PE13_FUNC_GPIO 0x4d00
-#define STM32H7_PE13_FUNC_TIM1_CH3 0x4d02
-#define STM32H7_PE13_FUNC_DFSDM_CKIN5 0x4d04
-#define STM32H7_PE13_FUNC_SPI4_MISO 0x4d06
-#define STM32H7_PE13_FUNC_SAI2_FS_B 0x4d0b
-#define STM32H7_PE13_FUNC_FMC_D10_FMC_DA10 0x4d0d
-#define STM32H7_PE13_FUNC_COMP_2_OUT 0x4d0e
-#define STM32H7_PE13_FUNC_LCD_DE 0x4d0f
-#define STM32H7_PE13_FUNC_EVENTOUT 0x4d10
-#define STM32H7_PE13_FUNC_ANALOG 0x4d11
-
-#define STM32H7_PE14_FUNC_GPIO 0x4e00
-#define STM32H7_PE14_FUNC_TIM1_CH4 0x4e02
-#define STM32H7_PE14_FUNC_SPI4_MOSI 0x4e06
-#define STM32H7_PE14_FUNC_SAI2_MCK_B 0x4e0b
-#define STM32H7_PE14_FUNC_FMC_D11_FMC_DA11 0x4e0d
-#define STM32H7_PE14_FUNC_LCD_CLK 0x4e0f
-#define STM32H7_PE14_FUNC_EVENTOUT 0x4e10
-#define STM32H7_PE14_FUNC_ANALOG 0x4e11
-
-#define STM32H7_PE15_FUNC_GPIO 0x4f00
-#define STM32H7_PE15_FUNC_TIM1_BKIN 0x4f02
-#define STM32H7_PE15_FUNC_HDMI__TIM1_BKIN 0x4f06
-#define STM32H7_PE15_FUNC_FMC_D12_FMC_DA12 0x4f0d
-#define STM32H7_PE15_FUNC_TIM1_BKIN_COMP12 0x4f0e
-#define STM32H7_PE15_FUNC_LCD_R7 0x4f0f
-#define STM32H7_PE15_FUNC_EVENTOUT 0x4f10
-#define STM32H7_PE15_FUNC_ANALOG 0x4f11
-
-#define STM32H7_PF0_FUNC_GPIO 0x5000
-#define STM32H7_PF0_FUNC_I2C2_SDA 0x5005
-#define STM32H7_PF0_FUNC_FMC_A0 0x500d
-#define STM32H7_PF0_FUNC_EVENTOUT 0x5010
-#define STM32H7_PF0_FUNC_ANALOG 0x5011
-
-#define STM32H7_PF1_FUNC_GPIO 0x5100
-#define STM32H7_PF1_FUNC_I2C2_SCL 0x5105
-#define STM32H7_PF1_FUNC_FMC_A1 0x510d
-#define STM32H7_PF1_FUNC_EVENTOUT 0x5110
-#define STM32H7_PF1_FUNC_ANALOG 0x5111
-
-#define STM32H7_PF2_FUNC_GPIO 0x5200
-#define STM32H7_PF2_FUNC_I2C2_SMBA 0x5205
-#define STM32H7_PF2_FUNC_FMC_A2 0x520d
-#define STM32H7_PF2_FUNC_EVENTOUT 0x5210
-#define STM32H7_PF2_FUNC_ANALOG 0x5211
-
-#define STM32H7_PF3_FUNC_GPIO 0x5300
-#define STM32H7_PF3_FUNC_FMC_A3 0x530d
-#define STM32H7_PF3_FUNC_EVENTOUT 0x5310
-#define STM32H7_PF3_FUNC_ANALOG 0x5311
-
-#define STM32H7_PF4_FUNC_GPIO 0x5400
-#define STM32H7_PF4_FUNC_FMC_A4 0x540d
-#define STM32H7_PF4_FUNC_EVENTOUT 0x5410
-#define STM32H7_PF4_FUNC_ANALOG 0x5411
-
-#define STM32H7_PF5_FUNC_GPIO 0x5500
-#define STM32H7_PF5_FUNC_FMC_A5 0x550d
-#define STM32H7_PF5_FUNC_EVENTOUT 0x5510
-#define STM32H7_PF5_FUNC_ANALOG 0x5511
-
-#define STM32H7_PF6_FUNC_GPIO 0x5600
-#define STM32H7_PF6_FUNC_TIM16_CH1 0x5602
-#define STM32H7_PF6_FUNC_SPI5_NSS 0x5606
-#define STM32H7_PF6_FUNC_SAI1_SD_B 0x5607
-#define STM32H7_PF6_FUNC_UART7_RX 0x5608
-#define STM32H7_PF6_FUNC_SAI4_SD_B 0x5609
-#define STM32H7_PF6_FUNC_QUADSPI_BK1_IO3 0x560a
-#define STM32H7_PF6_FUNC_EVENTOUT 0x5610
-#define STM32H7_PF6_FUNC_ANALOG 0x5611
-
-#define STM32H7_PF7_FUNC_GPIO 0x5700
-#define STM32H7_PF7_FUNC_TIM17_CH1 0x5702
-#define STM32H7_PF7_FUNC_SPI5_SCK 0x5706
-#define STM32H7_PF7_FUNC_SAI1_MCLK_B 0x5707
-#define STM32H7_PF7_FUNC_UART7_TX 0x5708
-#define STM32H7_PF7_FUNC_SAI4_MCLK_B 0x5709
-#define STM32H7_PF7_FUNC_QUADSPI_BK1_IO2 0x570a
-#define STM32H7_PF7_FUNC_EVENTOUT 0x5710
-#define STM32H7_PF7_FUNC_ANALOG 0x5711
-
-#define STM32H7_PF8_FUNC_GPIO 0x5800
-#define STM32H7_PF8_FUNC_TIM16_CH1N 0x5802
-#define STM32H7_PF8_FUNC_SPI5_MISO 0x5806
-#define STM32H7_PF8_FUNC_SAI1_SCK_B 0x5807
-#define STM32H7_PF8_FUNC_UART7_RTS 0x5808
-#define STM32H7_PF8_FUNC_SAI4_SCK_B 0x5809
-#define STM32H7_PF8_FUNC_TIM13_CH1 0x580a
-#define STM32H7_PF8_FUNC_QUADSPI_BK1_IO0 0x580b
-#define STM32H7_PF8_FUNC_EVENTOUT 0x5810
-#define STM32H7_PF8_FUNC_ANALOG 0x5811
-
-#define STM32H7_PF9_FUNC_GPIO 0x5900
-#define STM32H7_PF9_FUNC_TIM17_CH1N 0x5902
-#define STM32H7_PF9_FUNC_SPI5_MOSI 0x5906
-#define STM32H7_PF9_FUNC_SAI1_FS_B 0x5907
-#define STM32H7_PF9_FUNC_UART7_CTS 0x5908
-#define STM32H7_PF9_FUNC_SAI4_FS_B 0x5909
-#define STM32H7_PF9_FUNC_TIM14_CH1 0x590a
-#define STM32H7_PF9_FUNC_QUADSPI_BK1_IO1 0x590b
-#define STM32H7_PF9_FUNC_EVENTOUT 0x5910
-#define STM32H7_PF9_FUNC_ANALOG 0x5911
-
-#define STM32H7_PF10_FUNC_GPIO 0x5a00
-#define STM32H7_PF10_FUNC_TIM16_BKIN 0x5a02
-#define STM32H7_PF10_FUNC_SAI1_D3 0x5a03
-#define STM32H7_PF10_FUNC_QUADSPI_CLK 0x5a0a
-#define STM32H7_PF10_FUNC_SAI4_D3 0x5a0b
-#define STM32H7_PF10_FUNC_DCMI_D11 0x5a0e
-#define STM32H7_PF10_FUNC_LCD_DE 0x5a0f
-#define STM32H7_PF10_FUNC_EVENTOUT 0x5a10
-#define STM32H7_PF10_FUNC_ANALOG 0x5a11
-
-#define STM32H7_PF11_FUNC_GPIO 0x5b00
-#define STM32H7_PF11_FUNC_SPI5_MOSI 0x5b06
-#define STM32H7_PF11_FUNC_SAI2_SD_B 0x5b0b
-#define STM32H7_PF11_FUNC_FMC_SDNRAS 0x5b0d
-#define STM32H7_PF11_FUNC_DCMI_D12 0x5b0e
-#define STM32H7_PF11_FUNC_EVENTOUT 0x5b10
-#define STM32H7_PF11_FUNC_ANALOG 0x5b11
-
-#define STM32H7_PF12_FUNC_GPIO 0x5c00
-#define STM32H7_PF12_FUNC_FMC_A6 0x5c0d
-#define STM32H7_PF12_FUNC_EVENTOUT 0x5c10
-#define STM32H7_PF12_FUNC_ANALOG 0x5c11
-
-#define STM32H7_PF13_FUNC_GPIO 0x5d00
-#define STM32H7_PF13_FUNC_DFSDM_DATIN6 0x5d04
-#define STM32H7_PF13_FUNC_I2C4_SMBA 0x5d05
-#define STM32H7_PF13_FUNC_FMC_A7 0x5d0d
-#define STM32H7_PF13_FUNC_EVENTOUT 0x5d10
-#define STM32H7_PF13_FUNC_ANALOG 0x5d11
-
-#define STM32H7_PF14_FUNC_GPIO 0x5e00
-#define STM32H7_PF14_FUNC_DFSDM_CKIN6 0x5e04
-#define STM32H7_PF14_FUNC_I2C4_SCL 0x5e05
-#define STM32H7_PF14_FUNC_FMC_A8 0x5e0d
-#define STM32H7_PF14_FUNC_EVENTOUT 0x5e10
-#define STM32H7_PF14_FUNC_ANALOG 0x5e11
-
-#define STM32H7_PF15_FUNC_GPIO 0x5f00
-#define STM32H7_PF15_FUNC_I2C4_SDA 0x5f05
-#define STM32H7_PF15_FUNC_FMC_A9 0x5f0d
-#define STM32H7_PF15_FUNC_EVENTOUT 0x5f10
-#define STM32H7_PF15_FUNC_ANALOG 0x5f11
-
-#define STM32H7_PG0_FUNC_GPIO 0x6000
-#define STM32H7_PG0_FUNC_FMC_A10 0x600d
-#define STM32H7_PG0_FUNC_EVENTOUT 0x6010
-#define STM32H7_PG0_FUNC_ANALOG 0x6011
-
-#define STM32H7_PG1_FUNC_GPIO 0x6100
-#define STM32H7_PG1_FUNC_FMC_A11 0x610d
-#define STM32H7_PG1_FUNC_EVENTOUT 0x6110
-#define STM32H7_PG1_FUNC_ANALOG 0x6111
-
-#define STM32H7_PG2_FUNC_GPIO 0x6200
-#define STM32H7_PG2_FUNC_TIM8_BKIN 0x6204
-#define STM32H7_PG2_FUNC_TIM8_BKIN_COMP12 0x620c
-#define STM32H7_PG2_FUNC_FMC_A12 0x620d
-#define STM32H7_PG2_FUNC_EVENTOUT 0x6210
-#define STM32H7_PG2_FUNC_ANALOG 0x6211
-
-#define STM32H7_PG3_FUNC_GPIO 0x6300
-#define STM32H7_PG3_FUNC_TIM8_BKIN2 0x6304
-#define STM32H7_PG3_FUNC_TIM8_BKIN2_COMP12 0x630c
-#define STM32H7_PG3_FUNC_FMC_A13 0x630d
-#define STM32H7_PG3_FUNC_EVENTOUT 0x6310
-#define STM32H7_PG3_FUNC_ANALOG 0x6311
-
-#define STM32H7_PG4_FUNC_GPIO 0x6400
-#define STM32H7_PG4_FUNC_TIM1_BKIN2 0x6402
-#define STM32H7_PG4_FUNC_TIM1_BKIN2_COMP12 0x640c
-#define STM32H7_PG4_FUNC_FMC_A14_FMC_BA0 0x640d
-#define STM32H7_PG4_FUNC_EVENTOUT 0x6410
-#define STM32H7_PG4_FUNC_ANALOG 0x6411
-
-#define STM32H7_PG5_FUNC_GPIO 0x6500
-#define STM32H7_PG5_FUNC_TIM1_ETR 0x6502
-#define STM32H7_PG5_FUNC_FMC_A15_FMC_BA1 0x650d
-#define STM32H7_PG5_FUNC_EVENTOUT 0x6510
-#define STM32H7_PG5_FUNC_ANALOG 0x6511
-
-#define STM32H7_PG6_FUNC_GPIO 0x6600
-#define STM32H7_PG6_FUNC_TIM17_BKIN 0x6602
-#define STM32H7_PG6_FUNC_HRTIM_CHE1 0x6603
-#define STM32H7_PG6_FUNC_QUADSPI_BK1_NCS 0x660b
-#define STM32H7_PG6_FUNC_FMC_NE3 0x660d
-#define STM32H7_PG6_FUNC_DCMI_D12 0x660e
-#define STM32H7_PG6_FUNC_LCD_R7 0x660f
-#define STM32H7_PG6_FUNC_EVENTOUT 0x6610
-#define STM32H7_PG6_FUNC_ANALOG 0x6611
-
-#define STM32H7_PG7_FUNC_GPIO 0x6700
-#define STM32H7_PG7_FUNC_HRTIM_CHE2 0x6703
-#define STM32H7_PG7_FUNC_SAI1_MCLK_A 0x6707
-#define STM32H7_PG7_FUNC_USART6_CK 0x6708
-#define STM32H7_PG7_FUNC_FMC_INT 0x670d
-#define STM32H7_PG7_FUNC_DCMI_D13 0x670e
-#define STM32H7_PG7_FUNC_LCD_CLK 0x670f
-#define STM32H7_PG7_FUNC_EVENTOUT 0x6710
-#define STM32H7_PG7_FUNC_ANALOG 0x6711
-
-#define STM32H7_PG8_FUNC_GPIO 0x6800
-#define STM32H7_PG8_FUNC_TIM8_ETR 0x6804
-#define STM32H7_PG8_FUNC_SPI6_NSS 0x6806
-#define STM32H7_PG8_FUNC_USART6_RTS 0x6808
-#define STM32H7_PG8_FUNC_SPDIFRX_IN2 0x6809
-#define STM32H7_PG8_FUNC_ETH_PPS_OUT 0x680c
-#define STM32H7_PG8_FUNC_FMC_SDCLK 0x680d
-#define STM32H7_PG8_FUNC_LCD_G7 0x680f
-#define STM32H7_PG8_FUNC_EVENTOUT 0x6810
-#define STM32H7_PG8_FUNC_ANALOG 0x6811
-
-#define STM32H7_PG9_FUNC_GPIO 0x6900
-#define STM32H7_PG9_FUNC_SPI1_MISO_I2S1_SDI 0x6906
-#define STM32H7_PG9_FUNC_USART6_RX 0x6908
-#define STM32H7_PG9_FUNC_SPDIFRX_IN3 0x6909
-#define STM32H7_PG9_FUNC_QUADSPI_BK2_IO2 0x690a
-#define STM32H7_PG9_FUNC_SAI2_FS_B 0x690b
-#define STM32H7_PG9_FUNC_FMC_NE2_FMC_NCE 0x690d
-#define STM32H7_PG9_FUNC_DCMI_VSYNC 0x690e
-#define STM32H7_PG9_FUNC_EVENTOUT 0x6910
-#define STM32H7_PG9_FUNC_ANALOG 0x6911
-
-#define STM32H7_PG10_FUNC_GPIO 0x6a00
-#define STM32H7_PG10_FUNC_HRTIM_FLT5 0x6a03
-#define STM32H7_PG10_FUNC_SPI1_NSS_I2S1_WS 0x6a06
-#define STM32H7_PG10_FUNC_LCD_G3 0x6a0a
-#define STM32H7_PG10_FUNC_SAI2_SD_B 0x6a0b
-#define STM32H7_PG10_FUNC_FMC_NE3 0x6a0d
-#define STM32H7_PG10_FUNC_DCMI_D2 0x6a0e
-#define STM32H7_PG10_FUNC_LCD_B2 0x6a0f
-#define STM32H7_PG10_FUNC_EVENTOUT 0x6a10
-#define STM32H7_PG10_FUNC_ANALOG 0x6a11
-
-#define STM32H7_PG11_FUNC_GPIO 0x6b00
-#define STM32H7_PG11_FUNC_HRTIM_EEV4 0x6b03
-#define STM32H7_PG11_FUNC_SPI1_SCK_I2S1_CK 0x6b06
-#define STM32H7_PG11_FUNC_SPDIFRX_IN0 0x6b09
-#define STM32H7_PG11_FUNC_SDMMC2_D2 0x6b0b
-#define STM32H7_PG11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN 0x6b0c
-#define STM32H7_PG11_FUNC_DCMI_D3 0x6b0e
-#define STM32H7_PG11_FUNC_LCD_B3 0x6b0f
-#define STM32H7_PG11_FUNC_EVENTOUT 0x6b10
-#define STM32H7_PG11_FUNC_ANALOG 0x6b11
-
-#define STM32H7_PG12_FUNC_GPIO 0x6c00
-#define STM32H7_PG12_FUNC_LPTIM1_IN1 0x6c02
-#define STM32H7_PG12_FUNC_HRTIM_EEV5 0x6c03
-#define STM32H7_PG12_FUNC_SPI6_MISO 0x6c06
-#define STM32H7_PG12_FUNC_USART6_RTS 0x6c08
-#define STM32H7_PG12_FUNC_SPDIFRX_IN1 0x6c09
-#define STM32H7_PG12_FUNC_LCD_B4 0x6c0a
-#define STM32H7_PG12_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x6c0c
-#define STM32H7_PG12_FUNC_FMC_NE4 0x6c0d
-#define STM32H7_PG12_FUNC_LCD_B1 0x6c0f
-#define STM32H7_PG12_FUNC_EVENTOUT 0x6c10
-#define STM32H7_PG12_FUNC_ANALOG 0x6c11
-
-#define STM32H7_PG13_FUNC_GPIO 0x6d00
-#define STM32H7_PG13_FUNC_TRACED0 0x6d01
-#define STM32H7_PG13_FUNC_LPTIM1_OUT 0x6d02
-#define STM32H7_PG13_FUNC_HRTIM_EEV10 0x6d03
-#define STM32H7_PG13_FUNC_SPI6_SCK 0x6d06
-#define STM32H7_PG13_FUNC_USART6_CTS_NSS 0x6d08
-#define STM32H7_PG13_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0 0x6d0c
-#define STM32H7_PG13_FUNC_FMC_A24 0x6d0d
-#define STM32H7_PG13_FUNC_LCD_R0 0x6d0f
-#define STM32H7_PG13_FUNC_EVENTOUT 0x6d10
-#define STM32H7_PG13_FUNC_ANALOG 0x6d11
-
-#define STM32H7_PG14_FUNC_GPIO 0x6e00
-#define STM32H7_PG14_FUNC_TRACED1 0x6e01
-#define STM32H7_PG14_FUNC_LPTIM1_ETR 0x6e02
-#define STM32H7_PG14_FUNC_SPI6_MOSI 0x6e06
-#define STM32H7_PG14_FUNC_USART6_TX 0x6e08
-#define STM32H7_PG14_FUNC_QUADSPI_BK2_IO3 0x6e0a
-#define STM32H7_PG14_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1 0x6e0c
-#define STM32H7_PG14_FUNC_FMC_A25 0x6e0d
-#define STM32H7_PG14_FUNC_LCD_B0 0x6e0f
-#define STM32H7_PG14_FUNC_EVENTOUT 0x6e10
-#define STM32H7_PG14_FUNC_ANALOG 0x6e11
-
-#define STM32H7_PG15_FUNC_GPIO 0x6f00
-#define STM32H7_PG15_FUNC_USART6_CTS_NSS 0x6f08
-#define STM32H7_PG15_FUNC_FMC_SDNCAS 0x6f0d
-#define STM32H7_PG15_FUNC_DCMI_D13 0x6f0e
-#define STM32H7_PG15_FUNC_EVENTOUT 0x6f10
-#define STM32H7_PG15_FUNC_ANALOG 0x6f11
-
-#define STM32H7_PH0_FUNC_GPIO 0x7000
-#define STM32H7_PH0_FUNC_EVENTOUT 0x7010
-#define STM32H7_PH0_FUNC_ANALOG 0x7011
-
-#define STM32H7_PH1_FUNC_GPIO 0x7100
-#define STM32H7_PH1_FUNC_EVENTOUT 0x7110
-#define STM32H7_PH1_FUNC_ANALOG 0x7111
-
-#define STM32H7_PH2_FUNC_GPIO 0x7200
-#define STM32H7_PH2_FUNC_LPTIM1_IN2 0x7202
-#define STM32H7_PH2_FUNC_QUADSPI_BK2_IO0 0x720a
-#define STM32H7_PH2_FUNC_SAI2_SCK_B 0x720b
-#define STM32H7_PH2_FUNC_ETH_MII_CRS 0x720c
-#define STM32H7_PH2_FUNC_FMC_SDCKE0 0x720d
-#define STM32H7_PH2_FUNC_LCD_R0 0x720f
-#define STM32H7_PH2_FUNC_EVENTOUT 0x7210
-#define STM32H7_PH2_FUNC_ANALOG 0x7211
-
-#define STM32H7_PH3_FUNC_GPIO 0x7300
-#define STM32H7_PH3_FUNC_QUADSPI_BK2_IO1 0x730a
-#define STM32H7_PH3_FUNC_SAI2_MCK_B 0x730b
-#define STM32H7_PH3_FUNC_ETH_MII_COL 0x730c
-#define STM32H7_PH3_FUNC_FMC_SDNE0 0x730d
-#define STM32H7_PH3_FUNC_LCD_R1 0x730f
-#define STM32H7_PH3_FUNC_EVENTOUT 0x7310
-#define STM32H7_PH3_FUNC_ANALOG 0x7311
-
-#define STM32H7_PH4_FUNC_GPIO 0x7400
-#define STM32H7_PH4_FUNC_I2C2_SCL 0x7405
-#define STM32H7_PH4_FUNC_LCD_G5 0x740a
-#define STM32H7_PH4_FUNC_OTG_HS_ULPI_NXT 0x740b
-#define STM32H7_PH4_FUNC_LCD_G4 0x740f
-#define STM32H7_PH4_FUNC_EVENTOUT 0x7410
-#define STM32H7_PH4_FUNC_ANALOG 0x7411
-
-#define STM32H7_PH5_FUNC_GPIO 0x7500
-#define STM32H7_PH5_FUNC_I2C2_SDA 0x7505
-#define STM32H7_PH5_FUNC_SPI5_NSS 0x7506
-#define STM32H7_PH5_FUNC_FMC_SDNWE 0x750d
-#define STM32H7_PH5_FUNC_EVENTOUT 0x7510
-#define STM32H7_PH5_FUNC_ANALOG 0x7511
-
-#define STM32H7_PH6_FUNC_GPIO 0x7600
-#define STM32H7_PH6_FUNC_I2C2_SMBA 0x7605
-#define STM32H7_PH6_FUNC_SPI5_SCK 0x7606
-#define STM32H7_PH6_FUNC_ETH_MII_RXD2 0x760c
-#define STM32H7_PH6_FUNC_FMC_SDNE1 0x760d
-#define STM32H7_PH6_FUNC_DCMI_D8 0x760e
-#define STM32H7_PH6_FUNC_EVENTOUT 0x7610
-#define STM32H7_PH6_FUNC_ANALOG 0x7611
-
-#define STM32H7_PH7_FUNC_GPIO 0x7700
-#define STM32H7_PH7_FUNC_I2C3_SCL 0x7705
-#define STM32H7_PH7_FUNC_SPI5_MISO 0x7706
-#define STM32H7_PH7_FUNC_ETH_MII_RXD3 0x770c
-#define STM32H7_PH7_FUNC_FMC_SDCKE1 0x770d
-#define STM32H7_PH7_FUNC_DCMI_D9 0x770e
-#define STM32H7_PH7_FUNC_EVENTOUT 0x7710
-#define STM32H7_PH7_FUNC_ANALOG 0x7711
-
-#define STM32H7_PH8_FUNC_GPIO 0x7800
-#define STM32H7_PH8_FUNC_TIM5_ETR 0x7803
-#define STM32H7_PH8_FUNC_I2C3_SDA 0x7805
-#define STM32H7_PH8_FUNC_FMC_D16 0x780d
-#define STM32H7_PH8_FUNC_DCMI_HSYNC 0x780e
-#define STM32H7_PH8_FUNC_LCD_R2 0x780f
-#define STM32H7_PH8_FUNC_EVENTOUT 0x7810
-#define STM32H7_PH8_FUNC_ANALOG 0x7811
-
-#define STM32H7_PH9_FUNC_GPIO 0x7900
-#define STM32H7_PH9_FUNC_I2C3_SMBA 0x7905
-#define STM32H7_PH9_FUNC_FMC_D17 0x790d
-#define STM32H7_PH9_FUNC_DCMI_D0 0x790e
-#define STM32H7_PH9_FUNC_LCD_R3 0x790f
-#define STM32H7_PH9_FUNC_EVENTOUT 0x7910
-#define STM32H7_PH9_FUNC_ANALOG 0x7911
-
-#define STM32H7_PH10_FUNC_GPIO 0x7a00
-#define STM32H7_PH10_FUNC_TIM5_CH1 0x7a03
-#define STM32H7_PH10_FUNC_I2C4_SMBA 0x7a05
-#define STM32H7_PH10_FUNC_FMC_D18 0x7a0d
-#define STM32H7_PH10_FUNC_DCMI_D1 0x7a0e
-#define STM32H7_PH10_FUNC_LCD_R4 0x7a0f
-#define STM32H7_PH10_FUNC_EVENTOUT 0x7a10
-#define STM32H7_PH10_FUNC_ANALOG 0x7a11
-
-#define STM32H7_PH11_FUNC_GPIO 0x7b00
-#define STM32H7_PH11_FUNC_TIM5_CH2 0x7b03
-#define STM32H7_PH11_FUNC_I2C4_SCL 0x7b05
-#define STM32H7_PH11_FUNC_FMC_D19 0x7b0d
-#define STM32H7_PH11_FUNC_DCMI_D2 0x7b0e
-#define STM32H7_PH11_FUNC_LCD_R5 0x7b0f
-#define STM32H7_PH11_FUNC_EVENTOUT 0x7b10
-#define STM32H7_PH11_FUNC_ANALOG 0x7b11
-
-#define STM32H7_PH12_FUNC_GPIO 0x7c00
-#define STM32H7_PH12_FUNC_TIM5_CH3 0x7c03
-#define STM32H7_PH12_FUNC_I2C4_SDA 0x7c05
-#define STM32H7_PH12_FUNC_FMC_D20 0x7c0d
-#define STM32H7_PH12_FUNC_DCMI_D3 0x7c0e
-#define STM32H7_PH12_FUNC_LCD_R6 0x7c0f
-#define STM32H7_PH12_FUNC_EVENTOUT 0x7c10
-#define STM32H7_PH12_FUNC_ANALOG 0x7c11
-
-#define STM32H7_PH13_FUNC_GPIO 0x7d00
-#define STM32H7_PH13_FUNC_TIM8_CH1N 0x7d04
-#define STM32H7_PH13_FUNC_UART4_TX 0x7d09
-#define STM32H7_PH13_FUNC_CAN1_TX 0x7d0a
-#define STM32H7_PH13_FUNC_FMC_D21 0x7d0d
-#define STM32H7_PH13_FUNC_LCD_G2 0x7d0f
-#define STM32H7_PH13_FUNC_EVENTOUT 0x7d10
-#define STM32H7_PH13_FUNC_ANALOG 0x7d11
-
-#define STM32H7_PH14_FUNC_GPIO 0x7e00
-#define STM32H7_PH14_FUNC_TIM8_CH2N 0x7e04
-#define STM32H7_PH14_FUNC_UART4_RX 0x7e09
-#define STM32H7_PH14_FUNC_CAN1_RX 0x7e0a
-#define STM32H7_PH14_FUNC_FMC_D22 0x7e0d
-#define STM32H7_PH14_FUNC_DCMI_D4 0x7e0e
-#define STM32H7_PH14_FUNC_LCD_G3 0x7e0f
-#define STM32H7_PH14_FUNC_EVENTOUT 0x7e10
-#define STM32H7_PH14_FUNC_ANALOG 0x7e11
-
-#define STM32H7_PH15_FUNC_GPIO 0x7f00
-#define STM32H7_PH15_FUNC_TIM8_CH3N 0x7f04
-#define STM32H7_PH15_FUNC_CAN1_TXFD 0x7f0a
-#define STM32H7_PH15_FUNC_FMC_D23 0x7f0d
-#define STM32H7_PH15_FUNC_DCMI_D11 0x7f0e
-#define STM32H7_PH15_FUNC_LCD_G4 0x7f0f
-#define STM32H7_PH15_FUNC_EVENTOUT 0x7f10
-#define STM32H7_PH15_FUNC_ANALOG 0x7f11
-
-#define STM32H7_PI0_FUNC_GPIO 0x8000
-#define STM32H7_PI0_FUNC_TIM5_CH4 0x8003
-#define STM32H7_PI0_FUNC_SPI2_NSS_I2S2_WS 0x8006
-#define STM32H7_PI0_FUNC_CAN1_RXFD 0x800a
-#define STM32H7_PI0_FUNC_FMC_D24 0x800d
-#define STM32H7_PI0_FUNC_DCMI_D13 0x800e
-#define STM32H7_PI0_FUNC_LCD_G5 0x800f
-#define STM32H7_PI0_FUNC_EVENTOUT 0x8010
-#define STM32H7_PI0_FUNC_ANALOG 0x8011
-
-#define STM32H7_PI1_FUNC_GPIO 0x8100
-#define STM32H7_PI1_FUNC_TIM8_BKIN2 0x8104
-#define STM32H7_PI1_FUNC_SPI2_SCK_I2S2_CK 0x8106
-#define STM32H7_PI1_FUNC_TIM8_BKIN2_COMP12 0x810c
-#define STM32H7_PI1_FUNC_FMC_D25 0x810d
-#define STM32H7_PI1_FUNC_DCMI_D8 0x810e
-#define STM32H7_PI1_FUNC_LCD_G6 0x810f
-#define STM32H7_PI1_FUNC_EVENTOUT 0x8110
-#define STM32H7_PI1_FUNC_ANALOG 0x8111
-
-#define STM32H7_PI2_FUNC_GPIO 0x8200
-#define STM32H7_PI2_FUNC_TIM8_CH4 0x8204
-#define STM32H7_PI2_FUNC_SPI2_MISO_I2S2_SDI 0x8206
-#define STM32H7_PI2_FUNC_FMC_D26 0x820d
-#define STM32H7_PI2_FUNC_DCMI_D9 0x820e
-#define STM32H7_PI2_FUNC_LCD_G7 0x820f
-#define STM32H7_PI2_FUNC_EVENTOUT 0x8210
-#define STM32H7_PI2_FUNC_ANALOG 0x8211
-
-#define STM32H7_PI3_FUNC_GPIO 0x8300
-#define STM32H7_PI3_FUNC_TIM8_ETR 0x8304
-#define STM32H7_PI3_FUNC_SPI2_MOSI_I2S2_SDO 0x8306
-#define STM32H7_PI3_FUNC_FMC_D27 0x830d
-#define STM32H7_PI3_FUNC_DCMI_D10 0x830e
-#define STM32H7_PI3_FUNC_EVENTOUT 0x8310
-#define STM32H7_PI3_FUNC_ANALOG 0x8311
-
-#define STM32H7_PI4_FUNC_GPIO 0x8400
-#define STM32H7_PI4_FUNC_TIM8_BKIN 0x8404
-#define STM32H7_PI4_FUNC_SAI2_MCK_A 0x840b
-#define STM32H7_PI4_FUNC_TIM8_BKIN_COMP12 0x840c
-#define STM32H7_PI4_FUNC_FMC_NBL2 0x840d
-#define STM32H7_PI4_FUNC_DCMI_D5 0x840e
-#define STM32H7_PI4_FUNC_LCD_B4 0x840f
-#define STM32H7_PI4_FUNC_EVENTOUT 0x8410
-#define STM32H7_PI4_FUNC_ANALOG 0x8411
-
-#define STM32H7_PI5_FUNC_GPIO 0x8500
-#define STM32H7_PI5_FUNC_TIM8_CH1 0x8504
-#define STM32H7_PI5_FUNC_SAI2_SCK_A 0x850b
-#define STM32H7_PI5_FUNC_FMC_NBL3 0x850d
-#define STM32H7_PI5_FUNC_DCMI_VSYNC 0x850e
-#define STM32H7_PI5_FUNC_LCD_B5 0x850f
-#define STM32H7_PI5_FUNC_EVENTOUT 0x8510
-#define STM32H7_PI5_FUNC_ANALOG 0x8511
-
-#define STM32H7_PI6_FUNC_GPIO 0x8600
-#define STM32H7_PI6_FUNC_TIM8_CH2 0x8604
-#define STM32H7_PI6_FUNC_SAI2_SD_A 0x860b
-#define STM32H7_PI6_FUNC_FMC_D28 0x860d
-#define STM32H7_PI6_FUNC_DCMI_D6 0x860e
-#define STM32H7_PI6_FUNC_LCD_B6 0x860f
-#define STM32H7_PI6_FUNC_EVENTOUT 0x8610
-#define STM32H7_PI6_FUNC_ANALOG 0x8611
-
-#define STM32H7_PI7_FUNC_GPIO 0x8700
-#define STM32H7_PI7_FUNC_TIM8_CH3 0x8704
-#define STM32H7_PI7_FUNC_SAI2_FS_A 0x870b
-#define STM32H7_PI7_FUNC_FMC_D29 0x870d
-#define STM32H7_PI7_FUNC_DCMI_D7 0x870e
-#define STM32H7_PI7_FUNC_LCD_B7 0x870f
-#define STM32H7_PI7_FUNC_EVENTOUT 0x8710
-#define STM32H7_PI7_FUNC_ANALOG 0x8711
-
-#define STM32H7_PI8_FUNC_GPIO 0x8800
-#define STM32H7_PI8_FUNC_EVENTOUT 0x8810
-#define STM32H7_PI8_FUNC_ANALOG 0x8811
-
-#define STM32H7_PI9_FUNC_GPIO 0x8900
-#define STM32H7_PI9_FUNC_UART4_RX 0x8909
-#define STM32H7_PI9_FUNC_CAN1_RX 0x890a
-#define STM32H7_PI9_FUNC_FMC_D30 0x890d
-#define STM32H7_PI9_FUNC_LCD_VSYNC 0x890f
-#define STM32H7_PI9_FUNC_EVENTOUT 0x8910
-#define STM32H7_PI9_FUNC_ANALOG 0x8911
-
-#define STM32H7_PI10_FUNC_GPIO 0x8a00
-#define STM32H7_PI10_FUNC_CAN1_RXFD 0x8a0a
-#define STM32H7_PI10_FUNC_ETH_MII_RX_ER 0x8a0c
-#define STM32H7_PI10_FUNC_FMC_D31 0x8a0d
-#define STM32H7_PI10_FUNC_LCD_HSYNC 0x8a0f
-#define STM32H7_PI10_FUNC_EVENTOUT 0x8a10
-#define STM32H7_PI10_FUNC_ANALOG 0x8a11
-
-#define STM32H7_PI11_FUNC_GPIO 0x8b00
-#define STM32H7_PI11_FUNC_LCD_G6 0x8b0a
-#define STM32H7_PI11_FUNC_OTG_HS_ULPI_DIR 0x8b0b
-#define STM32H7_PI11_FUNC_EVENTOUT 0x8b10
-#define STM32H7_PI11_FUNC_ANALOG 0x8b11
-
-#define STM32H7_PI12_FUNC_GPIO 0x8c00
-#define STM32H7_PI12_FUNC_ETH_TX_ER 0x8c0c
-#define STM32H7_PI12_FUNC_LCD_HSYNC 0x8c0f
-#define STM32H7_PI12_FUNC_EVENTOUT 0x8c10
-#define STM32H7_PI12_FUNC_ANALOG 0x8c11
-
-#define STM32H7_PI13_FUNC_GPIO 0x8d00
-#define STM32H7_PI13_FUNC_LCD_VSYNC 0x8d0f
-#define STM32H7_PI13_FUNC_EVENTOUT 0x8d10
-#define STM32H7_PI13_FUNC_ANALOG 0x8d11
-
-#define STM32H7_PI14_FUNC_GPIO 0x8e00
-#define STM32H7_PI14_FUNC_LCD_CLK 0x8e0f
-#define STM32H7_PI14_FUNC_EVENTOUT 0x8e10
-#define STM32H7_PI14_FUNC_ANALOG 0x8e11
-
-#define STM32H7_PI15_FUNC_GPIO 0x8f00
-#define STM32H7_PI15_FUNC_LCD_G2 0x8f0a
-#define STM32H7_PI15_FUNC_LCD_R0 0x8f0f
-#define STM32H7_PI15_FUNC_EVENTOUT 0x8f10
-#define STM32H7_PI15_FUNC_ANALOG 0x8f11
-
-#define STM32H7_PJ0_FUNC_GPIO 0x9000
-#define STM32H7_PJ0_FUNC_LCD_R7 0x900a
-#define STM32H7_PJ0_FUNC_LCD_R1 0x900f
-#define STM32H7_PJ0_FUNC_EVENTOUT 0x9010
-#define STM32H7_PJ0_FUNC_ANALOG 0x9011
-
-#define STM32H7_PJ1_FUNC_GPIO 0x9100
-#define STM32H7_PJ1_FUNC_LCD_R2 0x910f
-#define STM32H7_PJ1_FUNC_EVENTOUT 0x9110
-#define STM32H7_PJ1_FUNC_ANALOG 0x9111
-
-#define STM32H7_PJ2_FUNC_GPIO 0x9200
-#define STM32H7_PJ2_FUNC_DSI_TE 0x920e
-#define STM32H7_PJ2_FUNC_LCD_R3 0x920f
-#define STM32H7_PJ2_FUNC_EVENTOUT 0x9210
-#define STM32H7_PJ2_FUNC_ANALOG 0x9211
-
-#define STM32H7_PJ3_FUNC_GPIO 0x9300
-#define STM32H7_PJ3_FUNC_LCD_R4 0x930f
-#define STM32H7_PJ3_FUNC_EVENTOUT 0x9310
-#define STM32H7_PJ3_FUNC_ANALOG 0x9311
-
-#define STM32H7_PJ4_FUNC_GPIO 0x9400
-#define STM32H7_PJ4_FUNC_LCD_R5 0x940f
-#define STM32H7_PJ4_FUNC_EVENTOUT 0x9410
-#define STM32H7_PJ4_FUNC_ANALOG 0x9411
-
-#define STM32H7_PJ5_FUNC_GPIO 0x9500
-#define STM32H7_PJ5_FUNC_LCD_R6 0x950f
-#define STM32H7_PJ5_FUNC_EVENTOUT 0x9510
-#define STM32H7_PJ5_FUNC_ANALOG 0x9511
-
-#define STM32H7_PJ6_FUNC_GPIO 0x9600
-#define STM32H7_PJ6_FUNC_TIM8_CH2 0x9604
-#define STM32H7_PJ6_FUNC_LCD_R7 0x960f
-#define STM32H7_PJ6_FUNC_EVENTOUT 0x9610
-#define STM32H7_PJ6_FUNC_ANALOG 0x9611
-
-#define STM32H7_PJ7_FUNC_GPIO 0x9700
-#define STM32H7_PJ7_FUNC_TRGIN 0x9701
-#define STM32H7_PJ7_FUNC_TIM8_CH2N 0x9704
-#define STM32H7_PJ7_FUNC_LCD_G0 0x970f
-#define STM32H7_PJ7_FUNC_EVENTOUT 0x9710
-#define STM32H7_PJ7_FUNC_ANALOG 0x9711
-
-#define STM32H7_PJ8_FUNC_GPIO 0x9800
-#define STM32H7_PJ8_FUNC_TIM1_CH3N 0x9802
-#define STM32H7_PJ8_FUNC_TIM8_CH1 0x9804
-#define STM32H7_PJ8_FUNC_UART8_TX 0x9809
-#define STM32H7_PJ8_FUNC_LCD_G1 0x980f
-#define STM32H7_PJ8_FUNC_EVENTOUT 0x9810
-#define STM32H7_PJ8_FUNC_ANALOG 0x9811
-
-#define STM32H7_PJ9_FUNC_GPIO 0x9900
-#define STM32H7_PJ9_FUNC_TIM1_CH3 0x9902
-#define STM32H7_PJ9_FUNC_TIM8_CH1N 0x9904
-#define STM32H7_PJ9_FUNC_UART8_RX 0x9909
-#define STM32H7_PJ9_FUNC_LCD_G2 0x990f
-#define STM32H7_PJ9_FUNC_EVENTOUT 0x9910
-#define STM32H7_PJ9_FUNC_ANALOG 0x9911
-
-#define STM32H7_PJ10_FUNC_GPIO 0x9a00
-#define STM32H7_PJ10_FUNC_TIM1_CH2N 0x9a02
-#define STM32H7_PJ10_FUNC_TIM8_CH2 0x9a04
-#define STM32H7_PJ10_FUNC_SPI5_MOSI 0x9a06
-#define STM32H7_PJ10_FUNC_LCD_G3 0x9a0f
-#define STM32H7_PJ10_FUNC_EVENTOUT 0x9a10
-#define STM32H7_PJ10_FUNC_ANALOG 0x9a11
-
-#define STM32H7_PJ11_FUNC_GPIO 0x9b00
-#define STM32H7_PJ11_FUNC_TIM1_CH2 0x9b02
-#define STM32H7_PJ11_FUNC_TIM8_CH2N 0x9b04
-#define STM32H7_PJ11_FUNC_SPI5_MISO 0x9b06
-#define STM32H7_PJ11_FUNC_LCD_G4 0x9b0f
-#define STM32H7_PJ11_FUNC_EVENTOUT 0x9b10
-#define STM32H7_PJ11_FUNC_ANALOG 0x9b11
-
-#define STM32H7_PJ12_FUNC_GPIO 0x9c00
-#define STM32H7_PJ12_FUNC_TRGOUT 0x9c01
-#define STM32H7_PJ12_FUNC_LCD_G3 0x9c0a
-#define STM32H7_PJ12_FUNC_LCD_B0 0x9c0f
-#define STM32H7_PJ12_FUNC_EVENTOUT 0x9c10
-#define STM32H7_PJ12_FUNC_ANALOG 0x9c11
-
-#define STM32H7_PJ13_FUNC_GPIO 0x9d00
-#define STM32H7_PJ13_FUNC_LCD_B4 0x9d0a
-#define STM32H7_PJ13_FUNC_LCD_B1 0x9d0f
-#define STM32H7_PJ13_FUNC_EVENTOUT 0x9d10
-#define STM32H7_PJ13_FUNC_ANALOG 0x9d11
-
-#define STM32H7_PJ14_FUNC_GPIO 0x9e00
-#define STM32H7_PJ14_FUNC_LCD_B2 0x9e0f
-#define STM32H7_PJ14_FUNC_EVENTOUT 0x9e10
-#define STM32H7_PJ14_FUNC_ANALOG 0x9e11
-
-#define STM32H7_PJ15_FUNC_GPIO 0x9f00
-#define STM32H7_PJ15_FUNC_LCD_B3 0x9f0f
-#define STM32H7_PJ15_FUNC_EVENTOUT 0x9f10
-#define STM32H7_PJ15_FUNC_ANALOG 0x9f11
-
-#define STM32H7_PK0_FUNC_GPIO 0xa000
-#define STM32H7_PK0_FUNC_TIM1_CH1N 0xa002
-#define STM32H7_PK0_FUNC_TIM8_CH3 0xa004
-#define STM32H7_PK0_FUNC_SPI5_SCK 0xa006
-#define STM32H7_PK0_FUNC_LCD_G5 0xa00f
-#define STM32H7_PK0_FUNC_EVENTOUT 0xa010
-#define STM32H7_PK0_FUNC_ANALOG 0xa011
-
-#define STM32H7_PK1_FUNC_GPIO 0xa100
-#define STM32H7_PK1_FUNC_TIM1_CH1 0xa102
-#define STM32H7_PK1_FUNC_TIM8_CH3N 0xa104
-#define STM32H7_PK1_FUNC_SPI5_NSS 0xa106
-#define STM32H7_PK1_FUNC_LCD_G6 0xa10f
-#define STM32H7_PK1_FUNC_EVENTOUT 0xa110
-#define STM32H7_PK1_FUNC_ANALOG 0xa111
-
-#define STM32H7_PK2_FUNC_GPIO 0xa200
-#define STM32H7_PK2_FUNC_TIM1_BKIN 0xa202
-#define STM32H7_PK2_FUNC_TIM8_BKIN 0xa204
-#define STM32H7_PK2_FUNC_TIM8_BKIN_COMP12 0xa20b
-#define STM32H7_PK2_FUNC_TIM1_BKIN_COMP12 0xa20c
-#define STM32H7_PK2_FUNC_LCD_G7 0xa20f
-#define STM32H7_PK2_FUNC_EVENTOUT 0xa210
-#define STM32H7_PK2_FUNC_ANALOG 0xa211
-
-#define STM32H7_PK3_FUNC_GPIO 0xa300
-#define STM32H7_PK3_FUNC_LCD_B4 0xa30f
-#define STM32H7_PK3_FUNC_EVENTOUT 0xa310
-#define STM32H7_PK3_FUNC_ANALOG 0xa311
-
-#define STM32H7_PK4_FUNC_GPIO 0xa400
-#define STM32H7_PK4_FUNC_LCD_B5 0xa40f
-#define STM32H7_PK4_FUNC_EVENTOUT 0xa410
-#define STM32H7_PK4_FUNC_ANALOG 0xa411
-
-#define STM32H7_PK5_FUNC_GPIO 0xa500
-#define STM32H7_PK5_FUNC_LCD_B6 0xa50f
-#define STM32H7_PK5_FUNC_EVENTOUT 0xa510
-#define STM32H7_PK5_FUNC_ANALOG 0xa511
-
-#define STM32H7_PK6_FUNC_GPIO 0xa600
-#define STM32H7_PK6_FUNC_LCD_B7 0xa60f
-#define STM32H7_PK6_FUNC_EVENTOUT 0xa610
-#define STM32H7_PK6_FUNC_ANALOG 0xa611
-
-#define STM32H7_PK7_FUNC_GPIO 0xa700
-#define STM32H7_PK7_FUNC_LCD_DE 0xa70f
-#define STM32H7_PK7_FUNC_EVENTOUT 0xa710
-#define STM32H7_PK7_FUNC_ANALOG 0xa711
-
-#endif /* _DT_BINDINGS_STM32H7_PINFUNC_H */
diff --git a/include/dt-bindings/power/r8a77970-sysc.h b/include/dt-bindings/power/r8a77970-sysc.h
new file mode 100644 (file)
index 0000000..bf54779
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2017 Cogent Embedded Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __DT_BINDINGS_POWER_R8A77970_SYSC_H__
+#define __DT_BINDINGS_POWER_R8A77970_SYSC_H__
+
+/*
+ * These power domain indices match the numbers of the interrupt bits
+ * representing the power areas in the various Interrupt Registers
+ * (e.g. SYSCISR, Interrupt Status Register)
+ */
+
+#define R8A77970_PD_CA53_CPU0           5
+#define R8A77970_PD_CA53_CPU1           6
+#define R8A77970_PD_CR7                        13
+#define R8A77970_PD_CA53_SCU           21
+#define R8A77970_PD_A2IR0              23
+#define R8A77970_PD_A3IR                       24
+#define R8A77970_PD_A2IR1              27
+#define R8A77970_PD_A2IR2              28
+#define R8A77970_PD_A2IR3              29
+#define R8A77970_PD_A2SC0              30
+#define R8A77970_PD_A2SC1              31
+
+/* Always-on power area */
+#define R8A77970_PD_ALWAYS_ON          32
+
+#endif /* __DT_BINDINGS_POWER_R8A77970_SYSC_H__ */
diff --git a/include/dt-bindings/thermal/tegra186-bpmp-thermal.h b/include/dt-bindings/thermal/tegra186-bpmp-thermal.h
new file mode 100644 (file)
index 0000000..a96b8fa
--- /dev/null
@@ -0,0 +1,14 @@
+/*
+ * This header provides constants for binding nvidia,tegra186-bpmp-thermal.
+ */
+
+#ifndef _DT_BINDINGS_THERMAL_TEGRA186_BPMP_THERMAL_H
+#define _DT_BINDINGS_THERMAL_TEGRA186_BPMP_THERMAL_H
+
+#define TEGRA186_BPMP_THERMAL_ZONE_CPU 2
+#define TEGRA186_BPMP_THERMAL_ZONE_GPU 3
+#define TEGRA186_BPMP_THERMAL_ZONE_AUX 4
+#define TEGRA186_BPMP_THERMAL_ZONE_PLLX 5
+#define TEGRA186_BPMP_THERMAL_ZONE_AO 6
+
+#endif