1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: ISC 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Device Tree file for ADI Engineering Coyote platform. 4*f126890aSEmmanuel Vadot * Derived from boardfiles written by MontaVista software. 5*f126890aSEmmanuel Vadot * Ethernet set-up from OpenWrt. 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot/dts-v1/; 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot#include "intel-ixp42x.dtsi" 11*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 12*f126890aSEmmanuel Vadot 13*f126890aSEmmanuel Vadot/ { 14*f126890aSEmmanuel Vadot model = "ADI Engineering Coyote reference design"; 15*f126890aSEmmanuel Vadot compatible = "adieng,coyote", "intel,ixp42x"; 16*f126890aSEmmanuel Vadot #address-cells = <1>; 17*f126890aSEmmanuel Vadot #size-cells = <1>; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot memory@0 { 20*f126890aSEmmanuel Vadot /* CHECKME: 16 MB SDRAM minimum, maybe the Coyote actually has more */ 21*f126890aSEmmanuel Vadot device_type = "memory"; 22*f126890aSEmmanuel Vadot reg = <0x00000000 0x01000000>; 23*f126890aSEmmanuel Vadot }; 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot chosen { 26*f126890aSEmmanuel Vadot bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait"; 27*f126890aSEmmanuel Vadot stdout-path = "uart1:115200n8"; 28*f126890aSEmmanuel Vadot }; 29*f126890aSEmmanuel Vadot 30*f126890aSEmmanuel Vadot aliases { 31*f126890aSEmmanuel Vadot /* These are switched around */ 32*f126890aSEmmanuel Vadot serial0 = &uart1; 33*f126890aSEmmanuel Vadot serial1 = &uart0; 34*f126890aSEmmanuel Vadot }; 35*f126890aSEmmanuel Vadot 36*f126890aSEmmanuel Vadot soc { 37*f126890aSEmmanuel Vadot bus@c4000000 { 38*f126890aSEmmanuel Vadot flash@0,0 { 39*f126890aSEmmanuel Vadot compatible = "intel,ixp4xx-flash", "cfi-flash"; 40*f126890aSEmmanuel Vadot bank-width = <2>; 41*f126890aSEmmanuel Vadot /* 42*f126890aSEmmanuel Vadot * 32 MB of Flash in 128 0x20000 sized blocks 43*f126890aSEmmanuel Vadot * mapped in at CS0 and CS1 44*f126890aSEmmanuel Vadot */ 45*f126890aSEmmanuel Vadot reg = <0 0x00000000 0x2000000>; 46*f126890aSEmmanuel Vadot 47*f126890aSEmmanuel Vadot /* Configure expansion bus to allow writes */ 48*f126890aSEmmanuel Vadot intel,ixp4xx-eb-write-enable = <1>; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot partitions { 51*f126890aSEmmanuel Vadot compatible = "redboot-fis"; 52*f126890aSEmmanuel Vadot /* CHECKME: guess this is Redboot FIS */ 53*f126890aSEmmanuel Vadot fis-index-block = <0x1ff>; 54*f126890aSEmmanuel Vadot }; 55*f126890aSEmmanuel Vadot }; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot 58*f126890aSEmmanuel Vadot pci@c0000000 { 59*f126890aSEmmanuel Vadot status = "okay"; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot /* 62*f126890aSEmmanuel Vadot * Taken from Coyote PCI boardfile. 63*f126890aSEmmanuel Vadot * We have slots (IDSEL) 1 and 2 with one assigned IRQ 64*f126890aSEmmanuel Vadot * each handling all IRQs. 65*f126890aSEmmanuel Vadot */ 66*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 67*f126890aSEmmanuel Vadot interrupt-map-mask = <0xf800 0 0 7>; 68*f126890aSEmmanuel Vadot interrupt-map = 69*f126890aSEmmanuel Vadot /* IDSEL 1 */ 70*f126890aSEmmanuel Vadot <0x0800 0 0 1 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 6 */ 71*f126890aSEmmanuel Vadot <0x0800 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 1 is irq 6 */ 72*f126890aSEmmanuel Vadot <0x0800 0 0 3 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 6 */ 73*f126890aSEmmanuel Vadot <0x0800 0 0 4 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 6 */ 74*f126890aSEmmanuel Vadot /* IDSEL 2 */ 75*f126890aSEmmanuel Vadot <0x1000 0 0 1 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 11 */ 76*f126890aSEmmanuel Vadot <0x1000 0 0 2 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 11 */ 77*f126890aSEmmanuel Vadot <0x1000 0 0 3 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 11 */ 78*f126890aSEmmanuel Vadot <0x1000 0 0 4 &gpio0 11 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 11 */ 79*f126890aSEmmanuel Vadot }; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot /* EthB */ 82*f126890aSEmmanuel Vadot ethernet@c8009000 { 83*f126890aSEmmanuel Vadot status = "okay"; 84*f126890aSEmmanuel Vadot queue-rx = <&qmgr 3>; 85*f126890aSEmmanuel Vadot queue-txready = <&qmgr 20>; 86*f126890aSEmmanuel Vadot phy-mode = "rgmii"; 87*f126890aSEmmanuel Vadot phy-handle = <&phy5>; 88*f126890aSEmmanuel Vadot 89*f126890aSEmmanuel Vadot mdio { 90*f126890aSEmmanuel Vadot #address-cells = <1>; 91*f126890aSEmmanuel Vadot #size-cells = <0>; 92*f126890aSEmmanuel Vadot 93*f126890aSEmmanuel Vadot phy4: ethernet-phy@4 { 94*f126890aSEmmanuel Vadot reg = <4>; 95*f126890aSEmmanuel Vadot }; 96*f126890aSEmmanuel Vadot 97*f126890aSEmmanuel Vadot phy5: ethernet-phy@5 { 98*f126890aSEmmanuel Vadot reg = <5>; 99*f126890aSEmmanuel Vadot }; 100*f126890aSEmmanuel Vadot }; 101*f126890aSEmmanuel Vadot }; 102*f126890aSEmmanuel Vadot 103*f126890aSEmmanuel Vadot /* EthC */ 104*f126890aSEmmanuel Vadot ethernet@c800a000 { 105*f126890aSEmmanuel Vadot status = "okay"; 106*f126890aSEmmanuel Vadot queue-rx = <&qmgr 4>; 107*f126890aSEmmanuel Vadot queue-txready = <&qmgr 21>; 108*f126890aSEmmanuel Vadot phy-mode = "rgmii"; 109*f126890aSEmmanuel Vadot phy-handle = <&phy4>; 110*f126890aSEmmanuel Vadot }; 111*f126890aSEmmanuel Vadot }; 112*f126890aSEmmanuel Vadot}; 113