1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*c66ec88fSEmmanuel Vadot/*
3*c66ec88fSEmmanuel Vadot * XLP3XX Device Tree Source for SVP boards
4*c66ec88fSEmmanuel Vadot */
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel Vadot/dts-v1/;
7*c66ec88fSEmmanuel Vadot/ {
8*c66ec88fSEmmanuel Vadot	model = "netlogic,XLP-SVP";
9*c66ec88fSEmmanuel Vadot	compatible = "netlogic,xlp";
10*c66ec88fSEmmanuel Vadot	#address-cells = <2>;
11*c66ec88fSEmmanuel Vadot	#size-cells = <2>;
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot	soc {
14*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
15*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
16*c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
17*c66ec88fSEmmanuel Vadot		ranges = <0 0  0 0x18000000  0x04000000   // PCIe CFG
18*c66ec88fSEmmanuel Vadot			  1 0  0 0x16000000  0x02000000>; // GBU chipselects
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadot		serial0: serial@30000 {
21*c66ec88fSEmmanuel Vadot			device_type = "serial";
22*c66ec88fSEmmanuel Vadot			compatible = "ns16550";
23*c66ec88fSEmmanuel Vadot			reg = <0 0x30100 0xa00>;
24*c66ec88fSEmmanuel Vadot			reg-shift = <2>;
25*c66ec88fSEmmanuel Vadot			reg-io-width = <4>;
26*c66ec88fSEmmanuel Vadot			clock-frequency = <133333333>;
27*c66ec88fSEmmanuel Vadot			interrupt-parent = <&pic>;
28*c66ec88fSEmmanuel Vadot			interrupts = <17>;
29*c66ec88fSEmmanuel Vadot		};
30*c66ec88fSEmmanuel Vadot		serial1: serial@31000 {
31*c66ec88fSEmmanuel Vadot			device_type = "serial";
32*c66ec88fSEmmanuel Vadot			compatible = "ns16550";
33*c66ec88fSEmmanuel Vadot			reg = <0 0x31100 0xa00>;
34*c66ec88fSEmmanuel Vadot			reg-shift = <2>;
35*c66ec88fSEmmanuel Vadot			reg-io-width = <4>;
36*c66ec88fSEmmanuel Vadot			clock-frequency = <133333333>;
37*c66ec88fSEmmanuel Vadot			interrupt-parent = <&pic>;
38*c66ec88fSEmmanuel Vadot			interrupts = <18>;
39*c66ec88fSEmmanuel Vadot		};
40*c66ec88fSEmmanuel Vadot		i2c0: ocores@32000 {
41*c66ec88fSEmmanuel Vadot			compatible = "opencores,i2c-ocores";
42*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
43*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
44*c66ec88fSEmmanuel Vadot			reg = <0 0x32100 0xa00>;
45*c66ec88fSEmmanuel Vadot			reg-shift = <2>;
46*c66ec88fSEmmanuel Vadot			reg-io-width = <4>;
47*c66ec88fSEmmanuel Vadot			clock-frequency = <32000000>;
48*c66ec88fSEmmanuel Vadot			interrupt-parent = <&pic>;
49*c66ec88fSEmmanuel Vadot			interrupts = <30>;
50*c66ec88fSEmmanuel Vadot		};
51*c66ec88fSEmmanuel Vadot		i2c1: ocores@33000 {
52*c66ec88fSEmmanuel Vadot			compatible = "opencores,i2c-ocores";
53*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
54*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
55*c66ec88fSEmmanuel Vadot			reg = <0 0x33100 0xa00>;
56*c66ec88fSEmmanuel Vadot			reg-shift = <2>;
57*c66ec88fSEmmanuel Vadot			reg-io-width = <4>;
58*c66ec88fSEmmanuel Vadot			clock-frequency = <32000000>;
59*c66ec88fSEmmanuel Vadot			interrupt-parent = <&pic>;
60*c66ec88fSEmmanuel Vadot			interrupts = <31>;
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel Vadot			rtc@68 {
63*c66ec88fSEmmanuel Vadot				compatible = "dallas,ds1374";
64*c66ec88fSEmmanuel Vadot				reg = <0x68>;
65*c66ec88fSEmmanuel Vadot			};
66*c66ec88fSEmmanuel Vadot
67*c66ec88fSEmmanuel Vadot			dtt@4c {
68*c66ec88fSEmmanuel Vadot				compatible = "national,lm90";
69*c66ec88fSEmmanuel Vadot				reg = <0x4c>;
70*c66ec88fSEmmanuel Vadot			};
71*c66ec88fSEmmanuel Vadot		};
72*c66ec88fSEmmanuel Vadot		pic: pic@4000 {
73*c66ec88fSEmmanuel Vadot			compatible = "netlogic,xlp-pic";
74*c66ec88fSEmmanuel Vadot			#address-cells = <0>;
75*c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
76*c66ec88fSEmmanuel Vadot			reg = <0 0x4000 0x200>;
77*c66ec88fSEmmanuel Vadot			interrupt-controller;
78*c66ec88fSEmmanuel Vadot		};
79*c66ec88fSEmmanuel Vadot
80*c66ec88fSEmmanuel Vadot		nor_flash@1,0 {
81*c66ec88fSEmmanuel Vadot			compatible = "cfi-flash";
82*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
83*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
84*c66ec88fSEmmanuel Vadot			bank-width = <2>;
85*c66ec88fSEmmanuel Vadot			reg = <1 0 0x1000000>;
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot			partition@0 {
88*c66ec88fSEmmanuel Vadot				label = "x-loader";
89*c66ec88fSEmmanuel Vadot				reg = <0x0 0x100000>; /* 1M */
90*c66ec88fSEmmanuel Vadot				read-only;
91*c66ec88fSEmmanuel Vadot			};
92*c66ec88fSEmmanuel Vadot
93*c66ec88fSEmmanuel Vadot			partition@100000 {
94*c66ec88fSEmmanuel Vadot				label = "u-boot";
95*c66ec88fSEmmanuel Vadot				reg = <0x100000 0x100000>; /* 1M */
96*c66ec88fSEmmanuel Vadot			};
97*c66ec88fSEmmanuel Vadot
98*c66ec88fSEmmanuel Vadot			partition@200000 {
99*c66ec88fSEmmanuel Vadot				label = "kernel";
100*c66ec88fSEmmanuel Vadot				reg = <0x200000 0x500000>; /* 5M */
101*c66ec88fSEmmanuel Vadot			};
102*c66ec88fSEmmanuel Vadot
103*c66ec88fSEmmanuel Vadot			partition@700000 {
104*c66ec88fSEmmanuel Vadot				label = "rootfs";
105*c66ec88fSEmmanuel Vadot				reg = <0x700000 0x800000>; /* 8M */
106*c66ec88fSEmmanuel Vadot			};
107*c66ec88fSEmmanuel Vadot
108*c66ec88fSEmmanuel Vadot			partition@f00000 {
109*c66ec88fSEmmanuel Vadot				label = "env";
110*c66ec88fSEmmanuel Vadot				reg = <0xf00000 0x100000>; /* 1M */
111*c66ec88fSEmmanuel Vadot				read-only;
112*c66ec88fSEmmanuel Vadot			};
113*c66ec88fSEmmanuel Vadot		};
114*c66ec88fSEmmanuel Vadot
115*c66ec88fSEmmanuel Vadot		gpio: xlp_gpio@34100 {
116*c66ec88fSEmmanuel Vadot			compatible = "netlogic,xlp316-gpio";
117*c66ec88fSEmmanuel Vadot			reg = <0 0x34100 0x1000>;
118*c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
119*c66ec88fSEmmanuel Vadot			gpio-controller;
120*c66ec88fSEmmanuel Vadot
121*c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
122*c66ec88fSEmmanuel Vadot			interrupt-parent = <&pic>;
123*c66ec88fSEmmanuel Vadot			interrupts = <39>;
124*c66ec88fSEmmanuel Vadot			interrupt-controller;
125*c66ec88fSEmmanuel Vadot		};
126*c66ec88fSEmmanuel Vadot	};
127*c66ec88fSEmmanuel Vadot
128*c66ec88fSEmmanuel Vadot	chosen {
129*c66ec88fSEmmanuel Vadot		bootargs = "console=ttyS0,115200 rdinit=/sbin/init";
130*c66ec88fSEmmanuel Vadot	};
131*c66ec88fSEmmanuel Vadot};
132