162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ OR MIT 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2019 Lubomir Rintel <lkundrak@v3.sk> 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/clock/marvell,mmp2.h> 762306a36Sopenharmony_ci#include <dt-bindings/power/marvell,mmp2.h> 862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/ { 1162306a36Sopenharmony_ci #address-cells = <1>; 1262306a36Sopenharmony_ci #size-cells = <1>; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci cpus { 1562306a36Sopenharmony_ci #address-cells = <1>; 1662306a36Sopenharmony_ci #size-cells = <0>; 1762306a36Sopenharmony_ci enable-method = "marvell,mmp3-smp"; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci cpu@0 { 2062306a36Sopenharmony_ci compatible = "marvell,pj4b"; 2162306a36Sopenharmony_ci device_type = "cpu"; 2262306a36Sopenharmony_ci next-level-cache = <&l2>; 2362306a36Sopenharmony_ci reg = <0>; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci cpu@1 { 2762306a36Sopenharmony_ci compatible = "marvell,pj4b"; 2862306a36Sopenharmony_ci device_type = "cpu"; 2962306a36Sopenharmony_ci next-level-cache = <&l2>; 3062306a36Sopenharmony_ci reg = <1>; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci soc { 3562306a36Sopenharmony_ci #address-cells = <1>; 3662306a36Sopenharmony_ci #size-cells = <1>; 3762306a36Sopenharmony_ci compatible = "simple-bus"; 3862306a36Sopenharmony_ci interrupt-parent = <&gic>; 3962306a36Sopenharmony_ci ranges; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci axi@d4200000 { 4262306a36Sopenharmony_ci compatible = "simple-bus"; 4362306a36Sopenharmony_ci #address-cells = <1>; 4462306a36Sopenharmony_ci #size-cells = <1>; 4562306a36Sopenharmony_ci reg = <0xd4200000 0x00200000>; 4662306a36Sopenharmony_ci ranges; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci interrupt-controller@d4282000 { 4962306a36Sopenharmony_ci compatible = "marvell,mmp3-intc"; 5062306a36Sopenharmony_ci interrupt-controller; 5162306a36Sopenharmony_ci #interrupt-cells = <1>; 5262306a36Sopenharmony_ci reg = <0xd4282000 0x1000>, 5362306a36Sopenharmony_ci <0xd4284000 0x100>; 5462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <64>; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci pmic_mux: interrupt-controller@d4282150 { 5862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 5962306a36Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 6062306a36Sopenharmony_ci interrupt-controller; 6162306a36Sopenharmony_ci #interrupt-cells = <1>; 6262306a36Sopenharmony_ci reg = <0x150 0x4>, <0x168 0x4>; 6362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 6462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <4>; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci rtc_mux: interrupt-controller@d4282154 { 6862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 6962306a36Sopenharmony_ci interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 7062306a36Sopenharmony_ci interrupt-controller; 7162306a36Sopenharmony_ci #interrupt-cells = <1>; 7262306a36Sopenharmony_ci reg = <0x154 0x4>, <0x16c 0x4>; 7362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 7462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <2>; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci hsi3_mux: interrupt-controller@d42821bc { 7862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 7962306a36Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 8062306a36Sopenharmony_ci interrupt-controller; 8162306a36Sopenharmony_ci #interrupt-cells = <1>; 8262306a36Sopenharmony_ci reg = <0x1bc 0x4>, <0x1a4 0x4>; 8362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 8462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <3>; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci gpu_mux: interrupt-controller@d42821c0 { 8862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 8962306a36Sopenharmony_ci interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 9062306a36Sopenharmony_ci interrupt-controller; 9162306a36Sopenharmony_ci #interrupt-cells = <1>; 9262306a36Sopenharmony_ci reg = <0x1c0 0x4>, <0x1a8 0x4>; 9362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 9462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <3>; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci twsi_mux: interrupt-controller@d4282158 { 9862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 9962306a36Sopenharmony_ci interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 10062306a36Sopenharmony_ci interrupt-controller; 10162306a36Sopenharmony_ci #interrupt-cells = <1>; 10262306a36Sopenharmony_ci reg = <0x158 0x4>, <0x170 0x4>; 10362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 10462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <5>; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci hsi2_mux: interrupt-controller@d42821c4 { 10862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 10962306a36Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 11062306a36Sopenharmony_ci interrupt-controller; 11162306a36Sopenharmony_ci #interrupt-cells = <1>; 11262306a36Sopenharmony_ci reg = <0x1c4 0x4>, <0x1ac 0x4>; 11362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 11462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <2>; 11562306a36Sopenharmony_ci }; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci dxo_mux: interrupt-controller@d42821c8 { 11862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 11962306a36Sopenharmony_ci interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 12062306a36Sopenharmony_ci interrupt-controller; 12162306a36Sopenharmony_ci #interrupt-cells = <1>; 12262306a36Sopenharmony_ci reg = <0x1c8 0x4>, <0x1b0 0x4>; 12362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 12462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <2>; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci misc1_mux: interrupt-controller@d428215c { 12862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 12962306a36Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 13062306a36Sopenharmony_ci interrupt-controller; 13162306a36Sopenharmony_ci #interrupt-cells = <1>; 13262306a36Sopenharmony_ci reg = <0x15c 0x4>, <0x174 0x4>; 13362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 13462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <31>; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci ci_mux: interrupt-controller@d42821cc { 13862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 13962306a36Sopenharmony_ci interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 14062306a36Sopenharmony_ci interrupt-controller; 14162306a36Sopenharmony_ci #interrupt-cells = <1>; 14262306a36Sopenharmony_ci reg = <0x1cc 0x4>, <0x1b4 0x4>; 14362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 14462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <2>; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci ssp_mux: interrupt-controller@d4282160 { 14862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 14962306a36Sopenharmony_ci interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 15062306a36Sopenharmony_ci interrupt-controller; 15162306a36Sopenharmony_ci #interrupt-cells = <1>; 15262306a36Sopenharmony_ci reg = <0x160 0x4>, <0x178 0x4>; 15362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 15462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <2>; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci hsi1_mux: interrupt-controller@d4282184 { 15862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 15962306a36Sopenharmony_ci interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 16062306a36Sopenharmony_ci interrupt-controller; 16162306a36Sopenharmony_ci #interrupt-cells = <1>; 16262306a36Sopenharmony_ci reg = <0x184 0x4>, <0x17c 0x4>; 16362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 16462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <4>; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci misc2_mux: interrupt-controller@d4282188 { 16862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 16962306a36Sopenharmony_ci interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 17062306a36Sopenharmony_ci interrupt-controller; 17162306a36Sopenharmony_ci #interrupt-cells = <1>; 17262306a36Sopenharmony_ci reg = <0x188 0x4>, <0x180 0x4>; 17362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 17462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <20>; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci hsi0_mux: interrupt-controller@d42821d0 { 17862306a36Sopenharmony_ci compatible = "mrvl,mmp2-mux-intc"; 17962306a36Sopenharmony_ci interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 18062306a36Sopenharmony_ci interrupt-controller; 18162306a36Sopenharmony_ci #interrupt-cells = <1>; 18262306a36Sopenharmony_ci reg = <0x1d0 0x4>, <0x1b8 0x4>; 18362306a36Sopenharmony_ci reg-names = "mux status", "mux mask"; 18462306a36Sopenharmony_ci mrvl,intc-nr-irqs = <5>; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci usb_otg_phy0: usb-phy@d4207000 { 18862306a36Sopenharmony_ci compatible = "marvell,mmp3-usb-phy"; 18962306a36Sopenharmony_ci reg = <0xd4207000 0x40>; 19062306a36Sopenharmony_ci #phy-cells = <0>; 19162306a36Sopenharmony_ci status = "disabled"; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci usb_otg0: usb@d4208000 { 19562306a36Sopenharmony_ci compatible = "marvell,pxau2o-ehci"; 19662306a36Sopenharmony_ci reg = <0xd4208000 0x200>; 19762306a36Sopenharmony_ci interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 19862306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_USB>; 19962306a36Sopenharmony_ci clock-names = "USBCLK"; 20062306a36Sopenharmony_ci phys = <&usb_otg_phy0>; 20162306a36Sopenharmony_ci phy-names = "usb"; 20262306a36Sopenharmony_ci status = "disabled"; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci hsic_phy0: usb-phy@f0001800 { 20662306a36Sopenharmony_ci compatible = "marvell,mmp3-hsic-phy"; 20762306a36Sopenharmony_ci reg = <0xf0001800 0x40>; 20862306a36Sopenharmony_ci #phy-cells = <0>; 20962306a36Sopenharmony_ci status = "disabled"; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci hsic0: usb@f0001000 { 21362306a36Sopenharmony_ci compatible = "marvell,pxau2o-ehci"; 21462306a36Sopenharmony_ci reg = <0xf0001000 0x200>; 21562306a36Sopenharmony_ci interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 21662306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_USBHSIC0>; 21762306a36Sopenharmony_ci clock-names = "USBCLK"; 21862306a36Sopenharmony_ci phys = <&hsic_phy0>; 21962306a36Sopenharmony_ci phy-names = "usb"; 22062306a36Sopenharmony_ci phy_type = "hsic"; 22162306a36Sopenharmony_ci #address-cells = <0x01>; 22262306a36Sopenharmony_ci #size-cells = <0x00>; 22362306a36Sopenharmony_ci status = "disabled"; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci hsic_phy1: usb-phy@f0002800 { 22762306a36Sopenharmony_ci compatible = "marvell,mmp3-hsic-phy"; 22862306a36Sopenharmony_ci reg = <0xf0002800 0x40>; 22962306a36Sopenharmony_ci #phy-cells = <0>; 23062306a36Sopenharmony_ci status = "disabled"; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci hsic1: usb@f0002000 { 23462306a36Sopenharmony_ci compatible = "marvell,pxau2o-ehci"; 23562306a36Sopenharmony_ci reg = <0xf0002000 0x200>; 23662306a36Sopenharmony_ci interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 23762306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_USBHSIC1>; 23862306a36Sopenharmony_ci clock-names = "USBCLK"; 23962306a36Sopenharmony_ci phys = <&hsic_phy1>; 24062306a36Sopenharmony_ci phy-names = "usb"; 24162306a36Sopenharmony_ci phy_type = "hsic"; 24262306a36Sopenharmony_ci #address-cells = <0x01>; 24362306a36Sopenharmony_ci #size-cells = <0x00>; 24462306a36Sopenharmony_ci status = "disabled"; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci mmc1: mmc@d4280000 { 24862306a36Sopenharmony_ci compatible = "mrvl,pxav3-mmc"; 24962306a36Sopenharmony_ci reg = <0xd4280000 0x120>; 25062306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SDH0>; 25162306a36Sopenharmony_ci clock-names = "io"; 25262306a36Sopenharmony_ci interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 25362306a36Sopenharmony_ci status = "disabled"; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci mmc2: mmc@d4280800 { 25762306a36Sopenharmony_ci compatible = "mrvl,pxav3-mmc"; 25862306a36Sopenharmony_ci reg = <0xd4280800 0x120>; 25962306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SDH1>; 26062306a36Sopenharmony_ci clock-names = "io"; 26162306a36Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 26262306a36Sopenharmony_ci status = "disabled"; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci mmc3: mmc@d4281000 { 26662306a36Sopenharmony_ci compatible = "mrvl,pxav3-mmc"; 26762306a36Sopenharmony_ci reg = <0xd4281000 0x120>; 26862306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SDH2>; 26962306a36Sopenharmony_ci clock-names = "io"; 27062306a36Sopenharmony_ci interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 27162306a36Sopenharmony_ci status = "disabled"; 27262306a36Sopenharmony_ci }; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci mmc4: mmc@d4281800 { 27562306a36Sopenharmony_ci compatible = "mrvl,pxav3-mmc"; 27662306a36Sopenharmony_ci reg = <0xd4281800 0x120>; 27762306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SDH3>; 27862306a36Sopenharmony_ci clock-names = "io"; 27962306a36Sopenharmony_ci interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 28062306a36Sopenharmony_ci status = "disabled"; 28162306a36Sopenharmony_ci }; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci mmc5: mmc@d4217000 { 28462306a36Sopenharmony_ci compatible = "mrvl,pxav3-mmc"; 28562306a36Sopenharmony_ci reg = <0xd4217000 0x120>; 28662306a36Sopenharmony_ci clocks = <&soc_clocks MMP3_CLK_SDH4>; 28762306a36Sopenharmony_ci clock-names = "io"; 28862306a36Sopenharmony_ci interrupt-parent = <&hsi1_mux>; 28962306a36Sopenharmony_ci interrupts = <0>; 29062306a36Sopenharmony_ci status = "disabled"; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci camera0: camera@d420a000 { 29462306a36Sopenharmony_ci compatible = "marvell,mmp2-ccic"; 29562306a36Sopenharmony_ci reg = <0xd420a000 0x800>; 29662306a36Sopenharmony_ci interrupts = <1>; 29762306a36Sopenharmony_ci interrupt-parent = <&ci_mux>; 29862306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_CCIC0>; 29962306a36Sopenharmony_ci clock-names = "axi"; 30062306a36Sopenharmony_ci power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>; 30162306a36Sopenharmony_ci #clock-cells = <0>; 30262306a36Sopenharmony_ci clock-output-names = "mclk"; 30362306a36Sopenharmony_ci status = "disabled"; 30462306a36Sopenharmony_ci }; 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci camera1: camera@d420a800 { 30762306a36Sopenharmony_ci compatible = "marvell,mmp2-ccic"; 30862306a36Sopenharmony_ci reg = <0xd420a800 0x800>; 30962306a36Sopenharmony_ci interrupts = <2>; 31062306a36Sopenharmony_ci interrupt-parent = <&ci_mux>; 31162306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_CCIC1>; 31262306a36Sopenharmony_ci clock-names = "axi"; 31362306a36Sopenharmony_ci power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>; 31462306a36Sopenharmony_ci #clock-cells = <0>; 31562306a36Sopenharmony_ci clock-output-names = "mclk"; 31662306a36Sopenharmony_ci status = "disabled"; 31762306a36Sopenharmony_ci }; 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci gpu_3d: gpu@d420d000 { 32062306a36Sopenharmony_ci compatible = "vivante,gc"; 32162306a36Sopenharmony_ci reg = <0xd420d000 0x2000>; 32262306a36Sopenharmony_ci interrupt-parent = <&gpu_mux>; 32362306a36Sopenharmony_ci interrupts = <0>; 32462306a36Sopenharmony_ci status = "disabled"; 32562306a36Sopenharmony_ci clocks = <&soc_clocks MMP3_CLK_GPU_3D>, 32662306a36Sopenharmony_ci <&soc_clocks MMP3_CLK_GPU_BUS>; 32762306a36Sopenharmony_ci clock-names = "core", "bus"; 32862306a36Sopenharmony_ci power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>; 32962306a36Sopenharmony_ci }; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci gpu_2d: gpu@d420f000 { 33262306a36Sopenharmony_ci compatible = "vivante,gc"; 33362306a36Sopenharmony_ci reg = <0xd420f000 0x2000>; 33462306a36Sopenharmony_ci interrupt-parent = <&gpu_mux>; 33562306a36Sopenharmony_ci interrupts = <2>; 33662306a36Sopenharmony_ci status = "disabled"; 33762306a36Sopenharmony_ci clocks = <&soc_clocks MMP3_CLK_GPU_2D>, 33862306a36Sopenharmony_ci <&soc_clocks MMP3_CLK_GPU_BUS>; 33962306a36Sopenharmony_ci clock-names = "core", "bus"; 34062306a36Sopenharmony_ci power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>; 34162306a36Sopenharmony_ci }; 34262306a36Sopenharmony_ci }; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci apb@d4000000 { 34562306a36Sopenharmony_ci compatible = "simple-bus"; 34662306a36Sopenharmony_ci #address-cells = <1>; 34762306a36Sopenharmony_ci #size-cells = <1>; 34862306a36Sopenharmony_ci reg = <0xd4000000 0x00200000>; 34962306a36Sopenharmony_ci ranges; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci timer: timer@d4014000 { 35262306a36Sopenharmony_ci compatible = "mrvl,mmp-timer"; 35362306a36Sopenharmony_ci reg = <0xd4014000 0x100>; 35462306a36Sopenharmony_ci interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 35562306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TIMER>; 35662306a36Sopenharmony_ci }; 35762306a36Sopenharmony_ci 35862306a36Sopenharmony_ci uart1: serial@d4030000 { 35962306a36Sopenharmony_ci compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 36062306a36Sopenharmony_ci reg = <0xd4030000 0x1000>; 36162306a36Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 36262306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_UART0>; 36362306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_UART0>; 36462306a36Sopenharmony_ci reg-shift = <2>; 36562306a36Sopenharmony_ci status = "disabled"; 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci uart2: serial@d4017000 { 36962306a36Sopenharmony_ci compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 37062306a36Sopenharmony_ci reg = <0xd4017000 0x1000>; 37162306a36Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 37262306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_UART1>; 37362306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_UART1>; 37462306a36Sopenharmony_ci reg-shift = <2>; 37562306a36Sopenharmony_ci status = "disabled"; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci uart3: serial@d4018000 { 37962306a36Sopenharmony_ci compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 38062306a36Sopenharmony_ci reg = <0xd4018000 0x1000>; 38162306a36Sopenharmony_ci interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 38262306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_UART2>; 38362306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_UART2>; 38462306a36Sopenharmony_ci reg-shift = <2>; 38562306a36Sopenharmony_ci status = "disabled"; 38662306a36Sopenharmony_ci }; 38762306a36Sopenharmony_ci 38862306a36Sopenharmony_ci uart4: serial@d4016000 { 38962306a36Sopenharmony_ci compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 39062306a36Sopenharmony_ci reg = <0xd4016000 0x1000>; 39162306a36Sopenharmony_ci interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 39262306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_UART3>; 39362306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_UART3>; 39462306a36Sopenharmony_ci reg-shift = <2>; 39562306a36Sopenharmony_ci status = "disabled"; 39662306a36Sopenharmony_ci }; 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci gpio: gpio@d4019000 { 39962306a36Sopenharmony_ci compatible = "marvell,mmp2-gpio"; 40062306a36Sopenharmony_ci #address-cells = <1>; 40162306a36Sopenharmony_ci #size-cells = <1>; 40262306a36Sopenharmony_ci reg = <0xd4019000 0x1000>; 40362306a36Sopenharmony_ci gpio-controller; 40462306a36Sopenharmony_ci #gpio-cells = <2>; 40562306a36Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 40662306a36Sopenharmony_ci interrupt-names = "gpio_mux"; 40762306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_GPIO>; 40862306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_GPIO>; 40962306a36Sopenharmony_ci interrupt-controller; 41062306a36Sopenharmony_ci #interrupt-cells = <2>; 41162306a36Sopenharmony_ci ranges; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci gcb0: gpio@d4019000 { 41462306a36Sopenharmony_ci reg = <0xd4019000 0x4>; 41562306a36Sopenharmony_ci }; 41662306a36Sopenharmony_ci 41762306a36Sopenharmony_ci gcb1: gpio@d4019004 { 41862306a36Sopenharmony_ci reg = <0xd4019004 0x4>; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci gcb2: gpio@d4019008 { 42262306a36Sopenharmony_ci reg = <0xd4019008 0x4>; 42362306a36Sopenharmony_ci }; 42462306a36Sopenharmony_ci 42562306a36Sopenharmony_ci gcb3: gpio@d4019100 { 42662306a36Sopenharmony_ci reg = <0xd4019100 0x4>; 42762306a36Sopenharmony_ci }; 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ci gcb4: gpio@d4019104 { 43062306a36Sopenharmony_ci reg = <0xd4019104 0x4>; 43162306a36Sopenharmony_ci }; 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci gcb5: gpio@d4019108 { 43462306a36Sopenharmony_ci reg = <0xd4019108 0x4>; 43562306a36Sopenharmony_ci }; 43662306a36Sopenharmony_ci }; 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_ci twsi1: i2c@d4011000 { 43962306a36Sopenharmony_ci compatible = "mrvl,mmp-twsi"; 44062306a36Sopenharmony_ci reg = <0xd4011000 0x70>; 44162306a36Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 44262306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TWSI0>; 44362306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_TWSI0>; 44462306a36Sopenharmony_ci #address-cells = <1>; 44562306a36Sopenharmony_ci #size-cells = <0>; 44662306a36Sopenharmony_ci mrvl,i2c-fast-mode; 44762306a36Sopenharmony_ci status = "disabled"; 44862306a36Sopenharmony_ci }; 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_ci twsi2: i2c@d4031000 { 45162306a36Sopenharmony_ci compatible = "mrvl,mmp-twsi"; 45262306a36Sopenharmony_ci reg = <0xd4031000 0x70>; 45362306a36Sopenharmony_ci interrupt-parent = <&twsi_mux>; 45462306a36Sopenharmony_ci interrupts = <0>; 45562306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TWSI1>; 45662306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_TWSI1>; 45762306a36Sopenharmony_ci #address-cells = <1>; 45862306a36Sopenharmony_ci #size-cells = <0>; 45962306a36Sopenharmony_ci status = "disabled"; 46062306a36Sopenharmony_ci }; 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci twsi3: i2c@d4032000 { 46362306a36Sopenharmony_ci compatible = "mrvl,mmp-twsi"; 46462306a36Sopenharmony_ci reg = <0xd4032000 0x70>; 46562306a36Sopenharmony_ci interrupt-parent = <&twsi_mux>; 46662306a36Sopenharmony_ci interrupts = <1>; 46762306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TWSI2>; 46862306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_TWSI2>; 46962306a36Sopenharmony_ci #address-cells = <1>; 47062306a36Sopenharmony_ci #size-cells = <0>; 47162306a36Sopenharmony_ci status = "disabled"; 47262306a36Sopenharmony_ci }; 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci twsi4: i2c@d4033000 { 47562306a36Sopenharmony_ci compatible = "mrvl,mmp-twsi"; 47662306a36Sopenharmony_ci reg = <0xd4033000 0x70>; 47762306a36Sopenharmony_ci interrupt-parent = <&twsi_mux>; 47862306a36Sopenharmony_ci interrupts = <2>; 47962306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TWSI3>; 48062306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_TWSI3>; 48162306a36Sopenharmony_ci #address-cells = <1>; 48262306a36Sopenharmony_ci #size-cells = <0>; 48362306a36Sopenharmony_ci status = "disabled"; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci twsi5: i2c@d4033800 { 48862306a36Sopenharmony_ci compatible = "mrvl,mmp-twsi"; 48962306a36Sopenharmony_ci reg = <0xd4033800 0x70>; 49062306a36Sopenharmony_ci interrupt-parent = <&twsi_mux>; 49162306a36Sopenharmony_ci interrupts = <3>; 49262306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TWSI4>; 49362306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_TWSI4>; 49462306a36Sopenharmony_ci #address-cells = <1>; 49562306a36Sopenharmony_ci #size-cells = <0>; 49662306a36Sopenharmony_ci status = "disabled"; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci twsi6: i2c@d4034000 { 50062306a36Sopenharmony_ci compatible = "mrvl,mmp-twsi"; 50162306a36Sopenharmony_ci reg = <0xd4034000 0x70>; 50262306a36Sopenharmony_ci interrupt-parent = <&twsi_mux>; 50362306a36Sopenharmony_ci interrupts = <4>; 50462306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_TWSI5>; 50562306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_TWSI5>; 50662306a36Sopenharmony_ci #address-cells = <1>; 50762306a36Sopenharmony_ci #size-cells = <0>; 50862306a36Sopenharmony_ci status = "disabled"; 50962306a36Sopenharmony_ci }; 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ci rtc: rtc@d4010000 { 51262306a36Sopenharmony_ci compatible = "mrvl,mmp-rtc"; 51362306a36Sopenharmony_ci reg = <0xd4010000 0x1000>; 51462306a36Sopenharmony_ci interrupts = <1>, <0>; 51562306a36Sopenharmony_ci interrupt-names = "rtc 1Hz", "rtc alarm"; 51662306a36Sopenharmony_ci interrupt-parent = <&rtc_mux>; 51762306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_RTC>; 51862306a36Sopenharmony_ci resets = <&soc_clocks MMP2_CLK_RTC>; 51962306a36Sopenharmony_ci status = "disabled"; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci ssp1: spi@d4035000 { 52362306a36Sopenharmony_ci compatible = "marvell,mmp2-ssp"; 52462306a36Sopenharmony_ci reg = <0xd4035000 0x1000>; 52562306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SSP0>; 52662306a36Sopenharmony_ci interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 52762306a36Sopenharmony_ci #address-cells = <1>; 52862306a36Sopenharmony_ci #size-cells = <0>; 52962306a36Sopenharmony_ci status = "disabled"; 53062306a36Sopenharmony_ci }; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci ssp2: spi@d4036000 { 53362306a36Sopenharmony_ci compatible = "marvell,mmp2-ssp"; 53462306a36Sopenharmony_ci reg = <0xd4036000 0x1000>; 53562306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SSP1>; 53662306a36Sopenharmony_ci interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 53762306a36Sopenharmony_ci #address-cells = <1>; 53862306a36Sopenharmony_ci #size-cells = <0>; 53962306a36Sopenharmony_ci status = "disabled"; 54062306a36Sopenharmony_ci }; 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_ci ssp3: spi@d4037000 { 54362306a36Sopenharmony_ci compatible = "marvell,mmp2-ssp"; 54462306a36Sopenharmony_ci reg = <0xd4037000 0x1000>; 54562306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SSP2>; 54662306a36Sopenharmony_ci interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 54762306a36Sopenharmony_ci #address-cells = <1>; 54862306a36Sopenharmony_ci #size-cells = <0>; 54962306a36Sopenharmony_ci status = "disabled"; 55062306a36Sopenharmony_ci }; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci ssp4: spi@d4039000 { 55362306a36Sopenharmony_ci compatible = "marvell,mmp2-ssp"; 55462306a36Sopenharmony_ci reg = <0xd4039000 0x1000>; 55562306a36Sopenharmony_ci clocks = <&soc_clocks MMP2_CLK_SSP3>; 55662306a36Sopenharmony_ci interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 55762306a36Sopenharmony_ci #address-cells = <1>; 55862306a36Sopenharmony_ci #size-cells = <0>; 55962306a36Sopenharmony_ci status = "disabled"; 56062306a36Sopenharmony_ci }; 56162306a36Sopenharmony_ci }; 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci l2: cache-controller@d0020000 { 56462306a36Sopenharmony_ci compatible = "marvell,tauros3-cache", "arm,pl310-cache"; 56562306a36Sopenharmony_ci reg = <0xd0020000 0x1000>; 56662306a36Sopenharmony_ci cache-unified; 56762306a36Sopenharmony_ci cache-level = <2>; 56862306a36Sopenharmony_ci }; 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_ci soc_clocks: clocks@d4050000 { 57162306a36Sopenharmony_ci compatible = "marvell,mmp3-clock"; 57262306a36Sopenharmony_ci reg = <0xd4050000 0x2000>, 57362306a36Sopenharmony_ci <0xd4282800 0x400>, 57462306a36Sopenharmony_ci <0xd4015000 0x1000>; 57562306a36Sopenharmony_ci reg-names = "mpmu", "apmu", "apbc"; 57662306a36Sopenharmony_ci #clock-cells = <1>; 57762306a36Sopenharmony_ci #reset-cells = <1>; 57862306a36Sopenharmony_ci #power-domain-cells = <1>; 57962306a36Sopenharmony_ci }; 58062306a36Sopenharmony_ci 58162306a36Sopenharmony_ci snoop-control-unit@e0000000 { 58262306a36Sopenharmony_ci compatible = "arm,arm11mp-scu"; 58362306a36Sopenharmony_ci reg = <0xe0000000 0x100>; 58462306a36Sopenharmony_ci }; 58562306a36Sopenharmony_ci 58662306a36Sopenharmony_ci gic: interrupt-controller@e0001000 { 58762306a36Sopenharmony_ci compatible = "arm,arm11mp-gic"; 58862306a36Sopenharmony_ci interrupt-controller; 58962306a36Sopenharmony_ci #interrupt-cells = <3>; 59062306a36Sopenharmony_ci reg = <0xe0001000 0x1000>, 59162306a36Sopenharmony_ci <0xe0000100 0x100>; 59262306a36Sopenharmony_ci }; 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_ci local-timer@e0000600 { 59562306a36Sopenharmony_ci compatible = "arm,arm11mp-twd-timer"; 59662306a36Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | 59762306a36Sopenharmony_ci IRQ_TYPE_EDGE_RISING)>; 59862306a36Sopenharmony_ci reg = <0xe0000600 0x20>; 59962306a36Sopenharmony_ci }; 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ci watchdog@e0000620 { 60262306a36Sopenharmony_ci compatible = "arm,arm11mp-twd-wdt"; 60362306a36Sopenharmony_ci reg = <0xe0000620 0x20>; 60462306a36Sopenharmony_ci interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | 60562306a36Sopenharmony_ci IRQ_TYPE_EDGE_RISING)>; 60662306a36Sopenharmony_ci }; 60762306a36Sopenharmony_ci }; 60862306a36Sopenharmony_ci}; 609