xref: /freebsd-src/sys/contrib/device-tree/src/arm/intel/ixp/intel-ixp42x-netgear-wg302v1.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: ISC
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Device Tree file for Netgear WG302v2 based on IXP422BB
4*f126890aSEmmanuel Vadot * Derived from boardfiles written by Imre Kaloz
5*f126890aSEmmanuel Vadot */
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot/dts-v1/;
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot#include "intel-ixp42x.dtsi"
10*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot/ {
13*f126890aSEmmanuel Vadot	model = "Netgear WG302 v1";
14*f126890aSEmmanuel Vadot	compatible = "netgear,wg302v1", "intel,ixp42x";
15*f126890aSEmmanuel Vadot	#address-cells = <1>;
16*f126890aSEmmanuel Vadot	#size-cells = <1>;
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot	memory@0 {
19*f126890aSEmmanuel Vadot		/* 32 MB SDRAM according to boot arguments */
20*f126890aSEmmanuel Vadot		device_type = "memory";
21*f126890aSEmmanuel Vadot		reg = <0x00000000 0x02000000>;
22*f126890aSEmmanuel Vadot	};
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot	chosen {
25*f126890aSEmmanuel Vadot		/* The RedBoot comes up in 9600 baud so let's keep this */
26*f126890aSEmmanuel Vadot		bootargs = "console=ttyS0,9600n8";
27*f126890aSEmmanuel Vadot		stdout-path = "uart1:9600n8";
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	};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot	soc {
36*f126890aSEmmanuel Vadot		bus@c4000000 {
37*f126890aSEmmanuel Vadot			flash@0,0 {
38*f126890aSEmmanuel Vadot				compatible = "intel,ixp4xx-flash", "cfi-flash";
39*f126890aSEmmanuel Vadot				bank-width = <2>;
40*f126890aSEmmanuel Vadot				/*
41*f126890aSEmmanuel Vadot				 * 8 MB of Flash in 64 0x20000 sized blocks
42*f126890aSEmmanuel Vadot				 * mapped in at CS0.
43*f126890aSEmmanuel Vadot				 */
44*f126890aSEmmanuel Vadot				reg = <0 0x00000000 0x800000>;
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot				/* Configure expansion bus to allow writes */
47*f126890aSEmmanuel Vadot				intel,ixp4xx-eb-write-enable = <1>;
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot				partitions {
50*f126890aSEmmanuel Vadot					compatible = "redboot-fis";
51*f126890aSEmmanuel Vadot					fis-index-block = <0x3f>;
52*f126890aSEmmanuel Vadot				};
53*f126890aSEmmanuel Vadot			};
54*f126890aSEmmanuel Vadot		};
55*f126890aSEmmanuel Vadot
56*f126890aSEmmanuel Vadot		pci@c0000000 {
57*f126890aSEmmanuel Vadot			status = "okay";
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot			/*
60*f126890aSEmmanuel Vadot			 * Taken from WG302 v2 PCI boardfile (wg302v2-pci.c)
61*f126890aSEmmanuel Vadot			 * We have slots (IDSEL) 1 and 2 with one assigned IRQ
62*f126890aSEmmanuel Vadot			 * each handling all IRQs.
63*f126890aSEmmanuel Vadot			 */
64*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
65*f126890aSEmmanuel Vadot			interrupt-map-mask = <0xf800 0 0 7>;
66*f126890aSEmmanuel Vadot			interrupt-map =
67*f126890aSEmmanuel Vadot			/* IDSEL 1 */
68*f126890aSEmmanuel Vadot			<0x0800 0 0 1 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 1 is irq 8 */
69*f126890aSEmmanuel Vadot			<0x0800 0 0 2 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 1 is irq 8 */
70*f126890aSEmmanuel Vadot			<0x0800 0 0 3 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 8 */
71*f126890aSEmmanuel Vadot			<0x0800 0 0 4 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 8 */
72*f126890aSEmmanuel Vadot			/* IDSEL 2 */
73*f126890aSEmmanuel Vadot			<0x1000 0 0 1 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 9 */
74*f126890aSEmmanuel Vadot			<0x1000 0 0 2 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 9 */
75*f126890aSEmmanuel Vadot			<0x1000 0 0 3 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 9 */
76*f126890aSEmmanuel Vadot			<0x1000 0 0 4 &gpio0 9 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 9 */
77*f126890aSEmmanuel Vadot		};
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot		ethernet@c8009000 {
80*f126890aSEmmanuel Vadot			status = "okay";
81*f126890aSEmmanuel Vadot			queue-rx = <&qmgr 3>;
82*f126890aSEmmanuel Vadot			queue-txready = <&qmgr 20>;
83*f126890aSEmmanuel Vadot			phy-mode = "rgmii";
84*f126890aSEmmanuel Vadot			phy-handle = <&phy30>;
85*f126890aSEmmanuel Vadot
86*f126890aSEmmanuel Vadot			mdio {
87*f126890aSEmmanuel Vadot				#address-cells = <1>;
88*f126890aSEmmanuel Vadot				#size-cells = <0>;
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot				phy30: ethernet-phy@30 {
91*f126890aSEmmanuel Vadot					reg = <30>;
92*f126890aSEmmanuel Vadot				};
93*f126890aSEmmanuel Vadot			};
94*f126890aSEmmanuel Vadot		};
95*f126890aSEmmanuel Vadot	};
96*f126890aSEmmanuel Vadot};
97