162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * BSD LICENSE 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright(c) 2014 Broadcom Corporation. All rights reserved. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Redistribution and use in source and binary forms, with or without 762306a36Sopenharmony_ci * modification, are permitted provided that the following conditions 862306a36Sopenharmony_ci * are met: 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * * Redistributions of source code must retain the above copyright 1162306a36Sopenharmony_ci * notice, this list of conditions and the following disclaimer. 1262306a36Sopenharmony_ci * * Redistributions in binary form must reproduce the above copyright 1362306a36Sopenharmony_ci * notice, this list of conditions and the following disclaimer in 1462306a36Sopenharmony_ci * the documentation and/or other materials provided with the 1562306a36Sopenharmony_ci * distribution. 1662306a36Sopenharmony_ci * * Neither the name of Broadcom Corporation nor the names of its 1762306a36Sopenharmony_ci * contributors may be used to endorse or promote products derived 1862306a36Sopenharmony_ci * from this software without specific prior written permission. 1962306a36Sopenharmony_ci * 2062306a36Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2162306a36Sopenharmony_ci * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2262306a36Sopenharmony_ci * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2362306a36Sopenharmony_ci * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2462306a36Sopenharmony_ci * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2562306a36Sopenharmony_ci * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2662306a36Sopenharmony_ci * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2762306a36Sopenharmony_ci * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2862306a36Sopenharmony_ci * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2962306a36Sopenharmony_ci * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3062306a36Sopenharmony_ci * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 3462306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 3562306a36Sopenharmony_ci#include <dt-bindings/clock/bcm-cygnus.h> 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci/ { 3862306a36Sopenharmony_ci #address-cells = <1>; 3962306a36Sopenharmony_ci #size-cells = <1>; 4062306a36Sopenharmony_ci compatible = "brcm,cygnus"; 4162306a36Sopenharmony_ci model = "Broadcom Cygnus SoC"; 4262306a36Sopenharmony_ci interrupt-parent = <&gic>; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci aliases { 4562306a36Sopenharmony_ci ethernet0 = ð0; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci memory@0 { 4962306a36Sopenharmony_ci device_type = "memory"; 5062306a36Sopenharmony_ci reg = <0 0>; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci cpus { 5462306a36Sopenharmony_ci #address-cells = <1>; 5562306a36Sopenharmony_ci #size-cells = <0>; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci cpu@0 { 5862306a36Sopenharmony_ci device_type = "cpu"; 5962306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 6062306a36Sopenharmony_ci next-level-cache = <&L2>; 6162306a36Sopenharmony_ci reg = <0x0>; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci /include/ "bcm-cygnus-clock.dtsi" 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci pmu { 6862306a36Sopenharmony_ci compatible = "arm,cortex-a9-pmu"; 6962306a36Sopenharmony_ci interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci core@19000000 { 7362306a36Sopenharmony_ci compatible = "simple-bus"; 7462306a36Sopenharmony_ci ranges = <0x00000000 0x19000000 0x1000000>; 7562306a36Sopenharmony_ci #address-cells = <1>; 7662306a36Sopenharmony_ci #size-cells = <1>; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci timer@20200 { 7962306a36Sopenharmony_ci compatible = "arm,cortex-a9-global-timer"; 8062306a36Sopenharmony_ci reg = <0x20200 0x100>; 8162306a36Sopenharmony_ci interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>; 8262306a36Sopenharmony_ci clocks = <&periph_clk>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci gic: interrupt-controller@21000 { 8662306a36Sopenharmony_ci compatible = "arm,cortex-a9-gic"; 8762306a36Sopenharmony_ci #interrupt-cells = <3>; 8862306a36Sopenharmony_ci #address-cells = <0>; 8962306a36Sopenharmony_ci interrupt-controller; 9062306a36Sopenharmony_ci reg = <0x21000 0x1000>, 9162306a36Sopenharmony_ci <0x20100 0x100>; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci L2: cache-controller@22000 { 9562306a36Sopenharmony_ci compatible = "arm,pl310-cache"; 9662306a36Sopenharmony_ci reg = <0x22000 0x1000>; 9762306a36Sopenharmony_ci cache-unified; 9862306a36Sopenharmony_ci cache-level = <2>; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci axi { 10362306a36Sopenharmony_ci compatible = "simple-bus"; 10462306a36Sopenharmony_ci ranges; 10562306a36Sopenharmony_ci #address-cells = <1>; 10662306a36Sopenharmony_ci #size-cells = <1>; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci otp: otp@301c800 { 10962306a36Sopenharmony_ci compatible = "brcm,ocotp"; 11062306a36Sopenharmony_ci reg = <0x0301c800 0x2c>; 11162306a36Sopenharmony_ci brcm,ocotp-size = <2048>; 11262306a36Sopenharmony_ci status = "disabled"; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci pcie_phy: pcie_phy@301d0a0 { 11662306a36Sopenharmony_ci compatible = "brcm,cygnus-pcie-phy"; 11762306a36Sopenharmony_ci reg = <0x0301d0a0 0x14>; 11862306a36Sopenharmony_ci #address-cells = <1>; 11962306a36Sopenharmony_ci #size-cells = <0>; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci pcie0_phy: pcie-phy@0 { 12262306a36Sopenharmony_ci reg = <0>; 12362306a36Sopenharmony_ci #phy-cells = <0>; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci pcie1_phy: pcie-phy@1 { 12762306a36Sopenharmony_ci reg = <1>; 12862306a36Sopenharmony_ci #phy-cells = <0>; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci pinctrl: pinctrl@301d0c8 { 13362306a36Sopenharmony_ci compatible = "brcm,cygnus-pinmux"; 13462306a36Sopenharmony_ci reg = <0x0301d0c8 0x30>, 13562306a36Sopenharmony_ci <0x0301d24c 0x2c>; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci spi_0: spi_0 { 13862306a36Sopenharmony_ci function = "spi0"; 13962306a36Sopenharmony_ci groups = "spi0_grp"; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci spi_1: spi_1 { 14362306a36Sopenharmony_ci function = "spi1"; 14462306a36Sopenharmony_ci groups = "spi1_grp"; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci spi_2: spi_2 { 14862306a36Sopenharmony_ci function = "spi2"; 14962306a36Sopenharmony_ci groups = "spi2_grp"; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci mailbox: mailbox@3024024 { 15462306a36Sopenharmony_ci compatible = "brcm,iproc-mailbox"; 15562306a36Sopenharmony_ci reg = <0x03024024 0x40>; 15662306a36Sopenharmony_ci interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 15762306a36Sopenharmony_ci #interrupt-cells = <1>; 15862306a36Sopenharmony_ci interrupt-controller; 15962306a36Sopenharmony_ci #mbox-cells = <1>; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci gpio_crmu: gpio@3024800 { 16362306a36Sopenharmony_ci compatible = "brcm,cygnus-crmu-gpio"; 16462306a36Sopenharmony_ci reg = <0x03024800 0x50>, 16562306a36Sopenharmony_ci <0x03024008 0x18>; 16662306a36Sopenharmony_ci ngpios = <6>; 16762306a36Sopenharmony_ci #gpio-cells = <2>; 16862306a36Sopenharmony_ci gpio-controller; 16962306a36Sopenharmony_ci interrupt-controller; 17062306a36Sopenharmony_ci #interrupt-cells = <2>; 17162306a36Sopenharmony_ci interrupt-parent = <&mailbox>; 17262306a36Sopenharmony_ci interrupts = <0>; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci mdio: mdio@18002000 { 17662306a36Sopenharmony_ci compatible = "brcm,iproc-mdio"; 17762306a36Sopenharmony_ci reg = <0x18002000 0x8>; 17862306a36Sopenharmony_ci #size-cells = <0>; 17962306a36Sopenharmony_ci #address-cells = <1>; 18062306a36Sopenharmony_ci status = "disabled"; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci gphy0: ethernet-phy@0 { 18362306a36Sopenharmony_ci reg = <0>; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci gphy1: ethernet-phy@1 { 18762306a36Sopenharmony_ci reg = <1>; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci }; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci switch: switch@18007000 { 19262306a36Sopenharmony_ci compatible = "brcm,bcm11360-srab", "brcm,cygnus-srab"; 19362306a36Sopenharmony_ci reg = <0x18007000 0x1000>; 19462306a36Sopenharmony_ci status = "disabled"; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci ports { 19762306a36Sopenharmony_ci #address-cells = <1>; 19862306a36Sopenharmony_ci #size-cells = <0>; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci port@0 { 20162306a36Sopenharmony_ci reg = <0>; 20262306a36Sopenharmony_ci phy-handle = <&gphy0>; 20362306a36Sopenharmony_ci phy-mode = "rgmii"; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci port@1 { 20762306a36Sopenharmony_ci reg = <1>; 20862306a36Sopenharmony_ci phy-handle = <&gphy1>; 20962306a36Sopenharmony_ci phy-mode = "rgmii"; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci port@8 { 21362306a36Sopenharmony_ci reg = <8>; 21462306a36Sopenharmony_ci label = "cpu"; 21562306a36Sopenharmony_ci ethernet = <ð0>; 21662306a36Sopenharmony_ci fixed-link { 21762306a36Sopenharmony_ci speed = <1000>; 21862306a36Sopenharmony_ci full-duplex; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci }; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci i2c0: i2c@18008000 { 22562306a36Sopenharmony_ci compatible = "brcm,cygnus-iproc-i2c", "brcm,iproc-i2c"; 22662306a36Sopenharmony_ci reg = <0x18008000 0x100>; 22762306a36Sopenharmony_ci #address-cells = <1>; 22862306a36Sopenharmony_ci #size-cells = <0>; 22962306a36Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 23062306a36Sopenharmony_ci clock-frequency = <100000>; 23162306a36Sopenharmony_ci status = "disabled"; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci wdt0: wdt@18009000 { 23562306a36Sopenharmony_ci compatible = "arm,sp805" , "arm,primecell"; 23662306a36Sopenharmony_ci reg = <0x18009000 0x1000>; 23762306a36Sopenharmony_ci interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 23862306a36Sopenharmony_ci clocks = <&axi81_clk>, <&axi81_clk>; 23962306a36Sopenharmony_ci clock-names = "wdog_clk", "apb_pclk"; 24062306a36Sopenharmony_ci }; 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci gpio_ccm: gpio@1800a000 { 24362306a36Sopenharmony_ci compatible = "brcm,cygnus-ccm-gpio"; 24462306a36Sopenharmony_ci reg = <0x1800a000 0x50>, 24562306a36Sopenharmony_ci <0x0301d164 0x20>; 24662306a36Sopenharmony_ci ngpios = <24>; 24762306a36Sopenharmony_ci #gpio-cells = <2>; 24862306a36Sopenharmony_ci gpio-controller; 24962306a36Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 25062306a36Sopenharmony_ci interrupt-controller; 25162306a36Sopenharmony_ci #interrupt-cells = <2>; 25262306a36Sopenharmony_ci }; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci i2c1: i2c@1800b000 { 25562306a36Sopenharmony_ci compatible = "brcm,cygnus-iproc-i2c", "brcm,iproc-i2c"; 25662306a36Sopenharmony_ci reg = <0x1800b000 0x100>; 25762306a36Sopenharmony_ci #address-cells = <1>; 25862306a36Sopenharmony_ci #size-cells = <0>; 25962306a36Sopenharmony_ci interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 26062306a36Sopenharmony_ci clock-frequency = <100000>; 26162306a36Sopenharmony_ci status = "disabled"; 26262306a36Sopenharmony_ci }; 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci pcie0: pcie@18012000 { 26562306a36Sopenharmony_ci compatible = "brcm,iproc-pcie"; 26662306a36Sopenharmony_ci reg = <0x18012000 0x1000>; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci #interrupt-cells = <1>; 26962306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 27062306a36Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci linux,pci-domain = <0>; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci bus-range = <0x00 0xff>; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci #address-cells = <3>; 27762306a36Sopenharmony_ci #size-cells = <2>; 27862306a36Sopenharmony_ci device_type = "pci"; 27962306a36Sopenharmony_ci ranges = <0x81000000 0 0 0x28000000 0 0x00010000>, 28062306a36Sopenharmony_ci <0x82000000 0 0x20000000 0x20000000 0 0x04000000>; 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci phys = <&pcie0_phy>; 28362306a36Sopenharmony_ci phy-names = "pcie-phy"; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci status = "disabled"; 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci msi-parent = <&msi0>; 28862306a36Sopenharmony_ci msi0: msi { 28962306a36Sopenharmony_ci compatible = "brcm,iproc-msi"; 29062306a36Sopenharmony_ci msi-controller; 29162306a36Sopenharmony_ci interrupt-parent = <&gic>; 29262306a36Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 29362306a36Sopenharmony_ci <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 29462306a36Sopenharmony_ci <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 29562306a36Sopenharmony_ci <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci }; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci pcie1: pcie@18013000 { 30062306a36Sopenharmony_ci compatible = "brcm,iproc-pcie"; 30162306a36Sopenharmony_ci reg = <0x18013000 0x1000>; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci #interrupt-cells = <1>; 30462306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 30562306a36Sopenharmony_ci interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ci linux,pci-domain = <1>; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci bus-range = <0x00 0xff>; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci #address-cells = <3>; 31262306a36Sopenharmony_ci #size-cells = <2>; 31362306a36Sopenharmony_ci device_type = "pci"; 31462306a36Sopenharmony_ci ranges = <0x81000000 0 0 0x48000000 0 0x00010000>, 31562306a36Sopenharmony_ci <0x82000000 0 0x40000000 0x40000000 0 0x04000000>; 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci phys = <&pcie1_phy>; 31862306a36Sopenharmony_ci phy-names = "pcie-phy"; 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_ci status = "disabled"; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci msi-parent = <&msi1>; 32362306a36Sopenharmony_ci msi1: msi { 32462306a36Sopenharmony_ci compatible = "brcm,iproc-msi"; 32562306a36Sopenharmony_ci msi-controller; 32662306a36Sopenharmony_ci interrupt-parent = <&gic>; 32762306a36Sopenharmony_ci interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 32862306a36Sopenharmony_ci <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 32962306a36Sopenharmony_ci <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 33062306a36Sopenharmony_ci <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 33162306a36Sopenharmony_ci }; 33262306a36Sopenharmony_ci }; 33362306a36Sopenharmony_ci 33462306a36Sopenharmony_ci dma0: dma@18018000 { 33562306a36Sopenharmony_ci compatible = "arm,pl330", "arm,primecell"; 33662306a36Sopenharmony_ci reg = <0x18018000 0x1000>; 33762306a36Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 33862306a36Sopenharmony_ci <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 33962306a36Sopenharmony_ci <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 34062306a36Sopenharmony_ci <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 34162306a36Sopenharmony_ci <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 34262306a36Sopenharmony_ci <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 34362306a36Sopenharmony_ci <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 34462306a36Sopenharmony_ci <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 34562306a36Sopenharmony_ci <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 34662306a36Sopenharmony_ci clocks = <&apb_clk>; 34762306a36Sopenharmony_ci clock-names = "apb_pclk"; 34862306a36Sopenharmony_ci #dma-cells = <1>; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci uart0: serial@18020000 { 35262306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 35362306a36Sopenharmony_ci reg = <0x18020000 0x100>; 35462306a36Sopenharmony_ci reg-shift = <2>; 35562306a36Sopenharmony_ci reg-io-width = <4>; 35662306a36Sopenharmony_ci interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 35762306a36Sopenharmony_ci clocks = <&axi81_clk>; 35862306a36Sopenharmony_ci clock-frequency = <100000000>; 35962306a36Sopenharmony_ci status = "disabled"; 36062306a36Sopenharmony_ci }; 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ci uart1: serial@18021000 { 36362306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 36462306a36Sopenharmony_ci reg = <0x18021000 0x100>; 36562306a36Sopenharmony_ci reg-shift = <2>; 36662306a36Sopenharmony_ci reg-io-width = <4>; 36762306a36Sopenharmony_ci interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 36862306a36Sopenharmony_ci clocks = <&axi81_clk>; 36962306a36Sopenharmony_ci clock-frequency = <100000000>; 37062306a36Sopenharmony_ci status = "disabled"; 37162306a36Sopenharmony_ci }; 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci uart2: serial@18022000 { 37462306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 37562306a36Sopenharmony_ci reg = <0x18022000 0x100>; 37662306a36Sopenharmony_ci reg-shift = <2>; 37762306a36Sopenharmony_ci reg-io-width = <4>; 37862306a36Sopenharmony_ci interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 37962306a36Sopenharmony_ci clocks = <&axi81_clk>; 38062306a36Sopenharmony_ci clock-frequency = <100000000>; 38162306a36Sopenharmony_ci status = "disabled"; 38262306a36Sopenharmony_ci }; 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ci uart3: serial@18023000 { 38562306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 38662306a36Sopenharmony_ci reg = <0x18023000 0x100>; 38762306a36Sopenharmony_ci reg-shift = <2>; 38862306a36Sopenharmony_ci reg-io-width = <4>; 38962306a36Sopenharmony_ci interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 39062306a36Sopenharmony_ci clocks = <&axi81_clk>; 39162306a36Sopenharmony_ci clock-frequency = <100000000>; 39262306a36Sopenharmony_ci status = "disabled"; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci spi0: spi@18028000 { 39662306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 39762306a36Sopenharmony_ci reg = <0x18028000 0x1000>; 39862306a36Sopenharmony_ci #address-cells = <1>; 39962306a36Sopenharmony_ci #size-cells = <0>; 40062306a36Sopenharmony_ci interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 40162306a36Sopenharmony_ci pinctrl-0 = <&spi_0>; 40262306a36Sopenharmony_ci clocks = <&axi81_clk>, <&axi81_clk>; 40362306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 40462306a36Sopenharmony_ci status = "disabled"; 40562306a36Sopenharmony_ci }; 40662306a36Sopenharmony_ci 40762306a36Sopenharmony_ci spi1: spi@18029000 { 40862306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 40962306a36Sopenharmony_ci reg = <0x18029000 0x1000>; 41062306a36Sopenharmony_ci #address-cells = <1>; 41162306a36Sopenharmony_ci #size-cells = <0>; 41262306a36Sopenharmony_ci interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 41362306a36Sopenharmony_ci pinctrl-0 = <&spi_1>; 41462306a36Sopenharmony_ci clocks = <&axi81_clk>, <&axi81_clk>; 41562306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 41662306a36Sopenharmony_ci status = "disabled"; 41762306a36Sopenharmony_ci }; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci spi2: spi@1802a000 { 42062306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 42162306a36Sopenharmony_ci reg = <0x1802a000 0x1000>; 42262306a36Sopenharmony_ci #address-cells = <1>; 42362306a36Sopenharmony_ci #size-cells = <0>; 42462306a36Sopenharmony_ci interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 42562306a36Sopenharmony_ci pinctrl-0 = <&spi_2>; 42662306a36Sopenharmony_ci clocks = <&axi81_clk>, <&axi81_clk>; 42762306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 42862306a36Sopenharmony_ci status = "disabled"; 42962306a36Sopenharmony_ci }; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci rng: rng@18032000 { 43262306a36Sopenharmony_ci compatible = "brcm,iproc-rng200"; 43362306a36Sopenharmony_ci reg = <0x18032000 0x28>; 43462306a36Sopenharmony_ci }; 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci sdhci0: sdhci@18041000 { 43762306a36Sopenharmony_ci compatible = "brcm,sdhci-iproc-cygnus"; 43862306a36Sopenharmony_ci reg = <0x18041000 0x100>; 43962306a36Sopenharmony_ci interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 44062306a36Sopenharmony_ci clocks = <&lcpll0 BCM_CYGNUS_LCPLL0_SDIO_CLK>; 44162306a36Sopenharmony_ci bus-width = <4>; 44262306a36Sopenharmony_ci sdhci,auto-cmd12; 44362306a36Sopenharmony_ci status = "disabled"; 44462306a36Sopenharmony_ci }; 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci eth0: ethernet@18042000 { 44762306a36Sopenharmony_ci compatible = "brcm,amac"; 44862306a36Sopenharmony_ci reg = <0x18042000 0x1000>, 44962306a36Sopenharmony_ci <0x18110000 0x1000>; 45062306a36Sopenharmony_ci reg-names = "amac_base", "idm_base"; 45162306a36Sopenharmony_ci interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 45262306a36Sopenharmony_ci status = "disabled"; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ci sdhci1: sdhci@18043000 { 45662306a36Sopenharmony_ci compatible = "brcm,sdhci-iproc-cygnus"; 45762306a36Sopenharmony_ci reg = <0x18043000 0x100>; 45862306a36Sopenharmony_ci interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 45962306a36Sopenharmony_ci clocks = <&lcpll0 BCM_CYGNUS_LCPLL0_SDIO_CLK>; 46062306a36Sopenharmony_ci bus-width = <4>; 46162306a36Sopenharmony_ci sdhci,auto-cmd12; 46262306a36Sopenharmony_ci status = "disabled"; 46362306a36Sopenharmony_ci }; 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci nand_controller: nand-controller@18046000 { 46662306a36Sopenharmony_ci compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1"; 46762306a36Sopenharmony_ci reg = <0x18046000 0x600>, <0xf8105408 0x600>, 46862306a36Sopenharmony_ci <0x18046f00 0x20>; 46962306a36Sopenharmony_ci reg-names = "nand", "iproc-idm", "iproc-ext"; 47062306a36Sopenharmony_ci interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci #address-cells = <1>; 47362306a36Sopenharmony_ci #size-cells = <0>; 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci brcm,nand-has-wp; 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci ehci0: usb@18048000 { 47962306a36Sopenharmony_ci compatible = "generic-ehci"; 48062306a36Sopenharmony_ci reg = <0x18048000 0x100>; 48162306a36Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 48262306a36Sopenharmony_ci status = "disabled"; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_ci ohci0: usb@18048800 { 48662306a36Sopenharmony_ci compatible = "generic-ohci"; 48762306a36Sopenharmony_ci reg = <0x18048800 0x100>; 48862306a36Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 48962306a36Sopenharmony_ci status = "disabled"; 49062306a36Sopenharmony_ci }; 49162306a36Sopenharmony_ci 49262306a36Sopenharmony_ci clcd: clcd@180a0000 { 49362306a36Sopenharmony_ci compatible = "arm,pl111", "arm,primecell"; 49462306a36Sopenharmony_ci reg = <0x180a0000 0x1000>; 49562306a36Sopenharmony_ci interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 49662306a36Sopenharmony_ci interrupt-names = "combined"; 49762306a36Sopenharmony_ci clocks = <&axi41_clk>, <&apb_clk>; 49862306a36Sopenharmony_ci clock-names = "clcdclk", "apb_pclk"; 49962306a36Sopenharmony_ci status = "disabled"; 50062306a36Sopenharmony_ci }; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ci v3d: v3d@180a2000 { 50362306a36Sopenharmony_ci compatible = "brcm,cygnus-v3d"; 50462306a36Sopenharmony_ci reg = <0x180a2000 0x1000>; 50562306a36Sopenharmony_ci clocks = <&mipipll BCM_CYGNUS_MIPIPLL_CH2_V3D>; 50662306a36Sopenharmony_ci clock-names = "v3d_clk"; 50762306a36Sopenharmony_ci interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>; 50862306a36Sopenharmony_ci status = "disabled"; 50962306a36Sopenharmony_ci }; 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ci vc4: gpu { 51262306a36Sopenharmony_ci compatible = "brcm,cygnus-vc4"; 51362306a36Sopenharmony_ci }; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci gpio_asiu: gpio@180a5000 { 51662306a36Sopenharmony_ci compatible = "brcm,cygnus-asiu-gpio"; 51762306a36Sopenharmony_ci reg = <0x180a5000 0x668>; 51862306a36Sopenharmony_ci ngpios = <146>; 51962306a36Sopenharmony_ci #gpio-cells = <2>; 52062306a36Sopenharmony_ci gpio-controller; 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci interrupt-controller; 52362306a36Sopenharmony_ci #interrupt-cells = <2>; 52462306a36Sopenharmony_ci interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 52562306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 42 1>, 52662306a36Sopenharmony_ci <&pinctrl 1 44 3>, 52762306a36Sopenharmony_ci <&pinctrl 4 48 1>, 52862306a36Sopenharmony_ci <&pinctrl 5 50 3>, 52962306a36Sopenharmony_ci <&pinctrl 8 126 1>, 53062306a36Sopenharmony_ci <&pinctrl 9 155 1>, 53162306a36Sopenharmony_ci <&pinctrl 10 152 1>, 53262306a36Sopenharmony_ci <&pinctrl 11 154 1>, 53362306a36Sopenharmony_ci <&pinctrl 12 153 1>, 53462306a36Sopenharmony_ci <&pinctrl 13 127 3>, 53562306a36Sopenharmony_ci <&pinctrl 16 140 1>, 53662306a36Sopenharmony_ci <&pinctrl 17 145 7>, 53762306a36Sopenharmony_ci <&pinctrl 24 130 10>, 53862306a36Sopenharmony_ci <&pinctrl 34 141 4>, 53962306a36Sopenharmony_ci <&pinctrl 38 54 1>, 54062306a36Sopenharmony_ci <&pinctrl 39 56 3>, 54162306a36Sopenharmony_ci <&pinctrl 42 60 3>, 54262306a36Sopenharmony_ci <&pinctrl 45 64 3>, 54362306a36Sopenharmony_ci <&pinctrl 48 68 2>, 54462306a36Sopenharmony_ci <&pinctrl 50 84 6>, 54562306a36Sopenharmony_ci <&pinctrl 56 94 6>, 54662306a36Sopenharmony_ci <&pinctrl 62 72 1>, 54762306a36Sopenharmony_ci <&pinctrl 63 70 1>, 54862306a36Sopenharmony_ci <&pinctrl 64 80 1>, 54962306a36Sopenharmony_ci <&pinctrl 65 74 3>, 55062306a36Sopenharmony_ci <&pinctrl 68 78 1>, 55162306a36Sopenharmony_ci <&pinctrl 69 82 1>, 55262306a36Sopenharmony_ci <&pinctrl 70 156 17>, 55362306a36Sopenharmony_ci <&pinctrl 87 104 12>, 55462306a36Sopenharmony_ci <&pinctrl 99 102 2>, 55562306a36Sopenharmony_ci <&pinctrl 101 90 4>, 55662306a36Sopenharmony_ci <&pinctrl 105 116 6>, 55762306a36Sopenharmony_ci <&pinctrl 111 100 2>, 55862306a36Sopenharmony_ci <&pinctrl 113 122 4>, 55962306a36Sopenharmony_ci <&pinctrl 123 11 1>, 56062306a36Sopenharmony_ci <&pinctrl 124 38 4>, 56162306a36Sopenharmony_ci <&pinctrl 128 43 1>, 56262306a36Sopenharmony_ci <&pinctrl 129 47 1>, 56362306a36Sopenharmony_ci <&pinctrl 130 49 1>, 56462306a36Sopenharmony_ci <&pinctrl 131 53 1>, 56562306a36Sopenharmony_ci <&pinctrl 132 55 1>, 56662306a36Sopenharmony_ci <&pinctrl 133 59 1>, 56762306a36Sopenharmony_ci <&pinctrl 134 63 1>, 56862306a36Sopenharmony_ci <&pinctrl 135 67 1>, 56962306a36Sopenharmony_ci <&pinctrl 136 71 1>, 57062306a36Sopenharmony_ci <&pinctrl 137 73 1>, 57162306a36Sopenharmony_ci <&pinctrl 138 77 1>, 57262306a36Sopenharmony_ci <&pinctrl 139 79 1>, 57362306a36Sopenharmony_ci <&pinctrl 140 81 1>, 57462306a36Sopenharmony_ci <&pinctrl 141 83 1>, 57562306a36Sopenharmony_ci <&pinctrl 142 10 1>; 57662306a36Sopenharmony_ci }; 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ci ts_adc_syscon: ts_adc_syscon@180a6000 { 57962306a36Sopenharmony_ci compatible = "brcm,iproc-ts-adc-syscon", "syscon"; 58062306a36Sopenharmony_ci reg = <0x180a6000 0xc30>; 58162306a36Sopenharmony_ci }; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci touchscreen: touchscreen@180a6000 { 58462306a36Sopenharmony_ci compatible = "brcm,iproc-touchscreen"; 58562306a36Sopenharmony_ci #address-cells = <1>; 58662306a36Sopenharmony_ci #size-cells = <1>; 58762306a36Sopenharmony_ci ts_syscon = <&ts_adc_syscon>; 58862306a36Sopenharmony_ci clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>; 58962306a36Sopenharmony_ci clock-names = "tsc_clk"; 59062306a36Sopenharmony_ci interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 59162306a36Sopenharmony_ci status = "disabled"; 59262306a36Sopenharmony_ci }; 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_ci adc: adc@180a6000 { 59562306a36Sopenharmony_ci compatible = "brcm,iproc-static-adc"; 59662306a36Sopenharmony_ci #io-channel-cells = <1>; 59762306a36Sopenharmony_ci adc-syscon = <&ts_adc_syscon>; 59862306a36Sopenharmony_ci clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>; 59962306a36Sopenharmony_ci clock-names = "tsc_clk"; 60062306a36Sopenharmony_ci interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 60162306a36Sopenharmony_ci status = "disabled"; 60262306a36Sopenharmony_ci }; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci pwm: pwm@180aa500 { 60562306a36Sopenharmony_ci compatible = "brcm,kona-pwm"; 60662306a36Sopenharmony_ci reg = <0x180aa500 0xc4>; 60762306a36Sopenharmony_ci #pwm-cells = <3>; 60862306a36Sopenharmony_ci clocks = <&asiu_clks BCM_CYGNUS_ASIU_PWM_CLK>; 60962306a36Sopenharmony_ci status = "disabled"; 61062306a36Sopenharmony_ci }; 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci keypad: keypad@180ac000 { 61362306a36Sopenharmony_ci compatible = "brcm,bcm-keypad"; 61462306a36Sopenharmony_ci reg = <0x180ac000 0x14c>; 61562306a36Sopenharmony_ci interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 61662306a36Sopenharmony_ci clocks = <&asiu_clks BCM_CYGNUS_ASIU_KEYPAD_CLK>; 61762306a36Sopenharmony_ci clock-names = "peri_clk"; 61862306a36Sopenharmony_ci clock-frequency = <31250>; 61962306a36Sopenharmony_ci pull-up-enabled; 62062306a36Sopenharmony_ci col-debounce-filter-period = <0>; 62162306a36Sopenharmony_ci status-debounce-filter-period = <0>; 62262306a36Sopenharmony_ci row-output-enabled; 62362306a36Sopenharmony_ci status = "disabled"; 62462306a36Sopenharmony_ci }; 62562306a36Sopenharmony_ci }; 62662306a36Sopenharmony_ci}; 627