162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci// Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16)) 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci/ { 762306a36Sopenharmony_ci #address-cells = <1>; 862306a36Sopenharmony_ci #size-cells = <1>; 962306a36Sopenharmony_ci model = "Marvell Orion5x SoC"; 1062306a36Sopenharmony_ci compatible = "marvell,orion5x"; 1162306a36Sopenharmony_ci interrupt-parent = <&intc>; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci aliases { 1462306a36Sopenharmony_ci gpio0 = &gpio0; 1562306a36Sopenharmony_ci }; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci soc { 1862306a36Sopenharmony_ci #address-cells = <2>; 1962306a36Sopenharmony_ci #size-cells = <1>; 2062306a36Sopenharmony_ci controller = <&mbusc>; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci devbus_bootcs: devbus-bootcs { 2362306a36Sopenharmony_ci compatible = "marvell,orion-devbus"; 2462306a36Sopenharmony_ci reg = <MBUS_ID(0xf0, 0x01) 0x1046C 0x4>; 2562306a36Sopenharmony_ci ranges = <0 MBUS_ID(0x01, 0x0f) 0 0xffffffff>; 2662306a36Sopenharmony_ci #address-cells = <1>; 2762306a36Sopenharmony_ci #size-cells = <1>; 2862306a36Sopenharmony_ci clocks = <&core_clk 0>; 2962306a36Sopenharmony_ci status = "disabled"; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci devbus_cs0: devbus-cs0 { 3362306a36Sopenharmony_ci compatible = "marvell,orion-devbus"; 3462306a36Sopenharmony_ci reg = <MBUS_ID(0xf0, 0x01) 0x1045C 0x4>; 3562306a36Sopenharmony_ci ranges = <0 MBUS_ID(0x01, 0x1e) 0 0xffffffff>; 3662306a36Sopenharmony_ci #address-cells = <1>; 3762306a36Sopenharmony_ci #size-cells = <1>; 3862306a36Sopenharmony_ci clocks = <&core_clk 0>; 3962306a36Sopenharmony_ci status = "disabled"; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci devbus_cs1: devbus-cs1 { 4362306a36Sopenharmony_ci compatible = "marvell,orion-devbus"; 4462306a36Sopenharmony_ci reg = <MBUS_ID(0xf0, 0x01) 0x10460 0x4>; 4562306a36Sopenharmony_ci ranges = <0 MBUS_ID(0x01, 0x1d) 0 0xffffffff>; 4662306a36Sopenharmony_ci #address-cells = <1>; 4762306a36Sopenharmony_ci #size-cells = <1>; 4862306a36Sopenharmony_ci clocks = <&core_clk 0>; 4962306a36Sopenharmony_ci status = "disabled"; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci devbus_cs2: devbus-cs2 { 5362306a36Sopenharmony_ci compatible = "marvell,orion-devbus"; 5462306a36Sopenharmony_ci reg = <MBUS_ID(0xf0, 0x01) 0x10464 0x4>; 5562306a36Sopenharmony_ci ranges = <0 MBUS_ID(0x01, 0x1b) 0 0xffffffff>; 5662306a36Sopenharmony_ci #address-cells = <1>; 5762306a36Sopenharmony_ci #size-cells = <1>; 5862306a36Sopenharmony_ci clocks = <&core_clk 0>; 5962306a36Sopenharmony_ci status = "disabled"; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci internal-regs { 6362306a36Sopenharmony_ci compatible = "simple-bus"; 6462306a36Sopenharmony_ci #address-cells = <1>; 6562306a36Sopenharmony_ci #size-cells = <1>; 6662306a36Sopenharmony_ci ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci gpio0: gpio@10100 { 6962306a36Sopenharmony_ci compatible = "marvell,orion-gpio"; 7062306a36Sopenharmony_ci #gpio-cells = <2>; 7162306a36Sopenharmony_ci gpio-controller; 7262306a36Sopenharmony_ci reg = <0x10100 0x40>; 7362306a36Sopenharmony_ci ngpios = <32>; 7462306a36Sopenharmony_ci interrupt-controller; 7562306a36Sopenharmony_ci #interrupt-cells = <2>; 7662306a36Sopenharmony_ci interrupts = <6>, <7>, <8>, <9>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci spi: spi@10600 { 8062306a36Sopenharmony_ci compatible = "marvell,orion-spi"; 8162306a36Sopenharmony_ci #address-cells = <1>; 8262306a36Sopenharmony_ci #size-cells = <0>; 8362306a36Sopenharmony_ci cell-index = <0>; 8462306a36Sopenharmony_ci reg = <0x10600 0x28>; 8562306a36Sopenharmony_ci status = "disabled"; 8662306a36Sopenharmony_ci }; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci i2c: i2c@11000 { 8962306a36Sopenharmony_ci compatible = "marvell,mv64xxx-i2c"; 9062306a36Sopenharmony_ci reg = <0x11000 0x20>; 9162306a36Sopenharmony_ci #address-cells = <1>; 9262306a36Sopenharmony_ci #size-cells = <0>; 9362306a36Sopenharmony_ci interrupts = <5>; 9462306a36Sopenharmony_ci clocks = <&core_clk 0>; 9562306a36Sopenharmony_ci status = "disabled"; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci uart0: serial@12000 { 9962306a36Sopenharmony_ci compatible = "ns16550a"; 10062306a36Sopenharmony_ci reg = <0x12000 0x100>; 10162306a36Sopenharmony_ci reg-shift = <2>; 10262306a36Sopenharmony_ci interrupts = <3>; 10362306a36Sopenharmony_ci clocks = <&core_clk 0>; 10462306a36Sopenharmony_ci status = "disabled"; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci uart1: serial@12100 { 10862306a36Sopenharmony_ci compatible = "ns16550a"; 10962306a36Sopenharmony_ci reg = <0x12100 0x100>; 11062306a36Sopenharmony_ci reg-shift = <2>; 11162306a36Sopenharmony_ci interrupts = <4>; 11262306a36Sopenharmony_ci clocks = <&core_clk 0>; 11362306a36Sopenharmony_ci status = "disabled"; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci bridge_intc: bridge-interrupt-ctrl@20110 { 11762306a36Sopenharmony_ci compatible = "marvell,orion-bridge-intc"; 11862306a36Sopenharmony_ci interrupt-controller; 11962306a36Sopenharmony_ci #interrupt-cells = <1>; 12062306a36Sopenharmony_ci reg = <0x20110 0x8>; 12162306a36Sopenharmony_ci interrupts = <0>; 12262306a36Sopenharmony_ci marvell,#interrupts = <4>; 12362306a36Sopenharmony_ci }; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci intc: interrupt-controller@20200 { 12662306a36Sopenharmony_ci compatible = "marvell,orion-intc"; 12762306a36Sopenharmony_ci interrupt-controller; 12862306a36Sopenharmony_ci #interrupt-cells = <1>; 12962306a36Sopenharmony_ci reg = <0x20200 0x08>; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci timer: timer@20300 { 13362306a36Sopenharmony_ci compatible = "marvell,orion-timer"; 13462306a36Sopenharmony_ci reg = <0x20300 0x20>; 13562306a36Sopenharmony_ci interrupt-parent = <&bridge_intc>; 13662306a36Sopenharmony_ci interrupts = <1>, <2>; 13762306a36Sopenharmony_ci clocks = <&core_clk 0>; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci wdt: wdt@20300 { 14162306a36Sopenharmony_ci compatible = "marvell,orion-wdt"; 14262306a36Sopenharmony_ci reg = <0x20300 0x28>, <0x20108 0x4>; 14362306a36Sopenharmony_ci interrupt-parent = <&bridge_intc>; 14462306a36Sopenharmony_ci interrupts = <3>; 14562306a36Sopenharmony_ci clocks = <&core_clk 0>; 14662306a36Sopenharmony_ci status = "okay"; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci ehci0: ehci@50000 { 15062306a36Sopenharmony_ci compatible = "marvell,orion-ehci"; 15162306a36Sopenharmony_ci reg = <0x50000 0x1000>; 15262306a36Sopenharmony_ci interrupts = <17>; 15362306a36Sopenharmony_ci status = "disabled"; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci xor: dma-controller@60900 { 15762306a36Sopenharmony_ci compatible = "marvell,orion-xor"; 15862306a36Sopenharmony_ci reg = <0x60900 0x100 15962306a36Sopenharmony_ci 0x60b00 0x100>; 16062306a36Sopenharmony_ci status = "okay"; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci xor00 { 16362306a36Sopenharmony_ci interrupts = <30>; 16462306a36Sopenharmony_ci dmacap,memcpy; 16562306a36Sopenharmony_ci dmacap,xor; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci xor01 { 16862306a36Sopenharmony_ci interrupts = <31>; 16962306a36Sopenharmony_ci dmacap,memcpy; 17062306a36Sopenharmony_ci dmacap,xor; 17162306a36Sopenharmony_ci dmacap,memset; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci eth: ethernet-controller@72000 { 17662306a36Sopenharmony_ci compatible = "marvell,orion-eth"; 17762306a36Sopenharmony_ci #address-cells = <1>; 17862306a36Sopenharmony_ci #size-cells = <0>; 17962306a36Sopenharmony_ci reg = <0x72000 0x4000>; 18062306a36Sopenharmony_ci marvell,tx-checksum-limit = <1600>; 18162306a36Sopenharmony_ci status = "disabled"; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci ethport: ethernet-port@0 { 18462306a36Sopenharmony_ci compatible = "marvell,orion-eth-port"; 18562306a36Sopenharmony_ci reg = <0>; 18662306a36Sopenharmony_ci interrupts = <21>; 18762306a36Sopenharmony_ci /* overwrite MAC address in bootloader */ 18862306a36Sopenharmony_ci local-mac-address = [00 00 00 00 00 00]; 18962306a36Sopenharmony_ci /* set phy-handle property in board file */ 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci mdio: mdio-bus@72004 { 19462306a36Sopenharmony_ci compatible = "marvell,orion-mdio"; 19562306a36Sopenharmony_ci #address-cells = <1>; 19662306a36Sopenharmony_ci #size-cells = <0>; 19762306a36Sopenharmony_ci reg = <0x72004 0x84>; 19862306a36Sopenharmony_ci interrupts = <22>; 19962306a36Sopenharmony_ci status = "disabled"; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci /* add phy nodes in board file */ 20262306a36Sopenharmony_ci }; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci sata: sata@80000 { 20562306a36Sopenharmony_ci compatible = "marvell,orion-sata"; 20662306a36Sopenharmony_ci reg = <0x80000 0x5000>; 20762306a36Sopenharmony_ci interrupts = <29>; 20862306a36Sopenharmony_ci status = "disabled"; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci cesa: crypto@90000 { 21262306a36Sopenharmony_ci compatible = "marvell,orion-crypto"; 21362306a36Sopenharmony_ci reg = <0x90000 0x10000>; 21462306a36Sopenharmony_ci reg-names = "regs"; 21562306a36Sopenharmony_ci interrupts = <28>; 21662306a36Sopenharmony_ci marvell,crypto-srams = <&crypto_sram>; 21762306a36Sopenharmony_ci marvell,crypto-sram-size = <0x800>; 21862306a36Sopenharmony_ci status = "okay"; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci ehci1: ehci@a0000 { 22262306a36Sopenharmony_ci compatible = "marvell,orion-ehci"; 22362306a36Sopenharmony_ci reg = <0xa0000 0x1000>; 22462306a36Sopenharmony_ci interrupts = <12>; 22562306a36Sopenharmony_ci status = "disabled"; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci }; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci crypto_sram: sa-sram { 23062306a36Sopenharmony_ci compatible = "mmio-sram"; 23162306a36Sopenharmony_ci reg = <MBUS_ID(0x09, 0x00) 0x0 0x800>; 23262306a36Sopenharmony_ci #address-cells = <1>; 23362306a36Sopenharmony_ci #size-cells = <1>; 23462306a36Sopenharmony_ci }; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci}; 237