1// SPDX-License-Identifier: ISC 2/* 3 * Device Tree file for Intel XScale Network Processors 4 * in the IXP 4xx series. 5 */ 6#include <dt-bindings/interrupt-controller/irq.h> 7#include <dt-bindings/gpio/gpio.h> 8 9/ { 10 soc { 11 #address-cells = <1>; 12 #size-cells = <1>; 13 ranges; 14 compatible = "simple-bus"; 15 interrupt-parent = <&intcon>; 16 17 qmgr: queue-manager@60000000 { 18 compatible = "intel,ixp4xx-ahb-queue-manager"; 19 reg = <0x60000000 0x4000>; 20 interrupts = <3 IRQ_TYPE_LEVEL_HIGH>, <4 IRQ_TYPE_LEVEL_HIGH>; 21 }; 22 23 uart0: serial@c8000000 { 24 compatible = "intel,xscale-uart"; 25 reg = <0xc8000000 0x1000>; 26 /* 27 * The reg-offset and reg-shift is a side effect 28 * of running the platform in big endian mode. 29 */ 30 reg-offset = <3>; 31 reg-shift = <2>; 32 interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; 33 clock-frequency = <14745600>; 34 no-loopback-test; 35 }; 36 37 gpio0: gpio@c8004000 { 38 compatible = "intel,ixp4xx-gpio"; 39 reg = <0xc8004000 0x1000>; 40 gpio-controller; 41 #gpio-cells = <2>; 42 interrupt-controller; 43 #interrupt-cells = <2>; 44 }; 45 46 intcon: interrupt-controller@c8003000 { 47 /* 48 * Note: no compatible string. The subvariant of the 49 * chip needs to define what version it is. The 50 * location of the interrupt controller is fixed in 51 * memory across all variants. 52 */ 53 reg = <0xc8003000 0x100>; 54 interrupt-controller; 55 #interrupt-cells = <2>; 56 }; 57 58 timer@c8005000 { 59 compatible = "intel,ixp4xx-timer"; 60 reg = <0xc8005000 0x100>; 61 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 62 }; 63 64 npe@c8006000 { 65 compatible = "intel,ixp4xx-network-processing-engine"; 66 reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>; 67 }; 68 }; 69}; 70