xref: /freebsd-src/sys/contrib/device-tree/src/arm/st/spear320.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * DTS file for SPEAr320 SoC
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot/include/ "spear3xx.dtsi"
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	ahb {
12*f126890aSEmmanuel Vadot		#address-cells = <1>;
13*f126890aSEmmanuel Vadot		#size-cells = <1>;
14*f126890aSEmmanuel Vadot		compatible = "simple-bus";
15*f126890aSEmmanuel Vadot		ranges = <0x40000000 0x40000000 0x80000000
16*f126890aSEmmanuel Vadot			  0xd0000000 0xd0000000 0x30000000>;
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot		pinmux: pinmux@b3000000 {
19*f126890aSEmmanuel Vadot			compatible = "st,spear320-pinmux";
20*f126890aSEmmanuel Vadot			reg = <0xb3000000 0x1000>;
21*f126890aSEmmanuel Vadot			#gpio-range-cells = <3>;
22*f126890aSEmmanuel Vadot		};
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot		clcd@90000000 {
25*f126890aSEmmanuel Vadot			compatible = "arm,pl110", "arm,primecell";
26*f126890aSEmmanuel Vadot			reg = <0x90000000 0x1000>;
27*f126890aSEmmanuel Vadot			interrupts = <8>;
28*f126890aSEmmanuel Vadot			interrupt-parent = <&shirq>;
29*f126890aSEmmanuel Vadot			status = "disabled";
30*f126890aSEmmanuel Vadot		};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot		fsmc: flash@4c000000 {
33*f126890aSEmmanuel Vadot			compatible = "st,spear600-fsmc-nand";
34*f126890aSEmmanuel Vadot			#address-cells = <1>;
35*f126890aSEmmanuel Vadot			#size-cells = <1>;
36*f126890aSEmmanuel Vadot			reg = <0x4c000000 0x1000	/* FSMC Register */
37*f126890aSEmmanuel Vadot			       0x50000000 0x0010	/* NAND Base DATA */
38*f126890aSEmmanuel Vadot			       0x50020000 0x0010	/* NAND Base ADDR */
39*f126890aSEmmanuel Vadot			       0x50010000 0x0010>;	/* NAND Base CMD */
40*f126890aSEmmanuel Vadot			reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
41*f126890aSEmmanuel Vadot			status = "disabled";
42*f126890aSEmmanuel Vadot		};
43*f126890aSEmmanuel Vadot
44*f126890aSEmmanuel Vadot		sdhci@70000000 {
45*f126890aSEmmanuel Vadot			compatible = "st,sdhci-spear";
46*f126890aSEmmanuel Vadot			reg = <0x70000000 0x100>;
47*f126890aSEmmanuel Vadot			interrupts = <10>;
48*f126890aSEmmanuel Vadot			interrupt-parent = <&shirq>;
49*f126890aSEmmanuel Vadot			status = "disabled";
50*f126890aSEmmanuel Vadot		};
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot		shirq: interrupt-controller@b3000000 {
53*f126890aSEmmanuel Vadot			compatible = "st,spear320-shirq";
54*f126890aSEmmanuel Vadot			reg = <0xb3000000 0x1000>;
55*f126890aSEmmanuel Vadot			interrupts = <30 28 29 1>;
56*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
57*f126890aSEmmanuel Vadot			interrupt-controller;
58*f126890aSEmmanuel Vadot		};
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot		spi1: spi@a5000000 {
61*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
62*f126890aSEmmanuel Vadot			reg = <0xa5000000 0x1000>;
63*f126890aSEmmanuel Vadot			interrupts = <15>;
64*f126890aSEmmanuel Vadot			interrupt-parent = <&shirq>;
65*f126890aSEmmanuel Vadot			#address-cells = <1>;
66*f126890aSEmmanuel Vadot			#size-cells = <0>;
67*f126890aSEmmanuel Vadot			status = "disabled";
68*f126890aSEmmanuel Vadot		};
69*f126890aSEmmanuel Vadot
70*f126890aSEmmanuel Vadot		spi2: spi@a6000000 {
71*f126890aSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
72*f126890aSEmmanuel Vadot			reg = <0xa6000000 0x1000>;
73*f126890aSEmmanuel Vadot			interrupts = <16>;
74*f126890aSEmmanuel Vadot			interrupt-parent = <&shirq>;
75*f126890aSEmmanuel Vadot			#address-cells = <1>;
76*f126890aSEmmanuel Vadot			#size-cells = <0>;
77*f126890aSEmmanuel Vadot			status = "disabled";
78*f126890aSEmmanuel Vadot		};
79*f126890aSEmmanuel Vadot
80*f126890aSEmmanuel Vadot		pwm: pwm@a8000000 {
81*f126890aSEmmanuel Vadot			compatible = "st,spear-pwm";
82*f126890aSEmmanuel Vadot			reg = <0xa8000000 0x1000>;
83*f126890aSEmmanuel Vadot			#pwm-cells = <2>;
84*f126890aSEmmanuel Vadot			status = "disabled";
85*f126890aSEmmanuel Vadot                };
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot		apb {
88*f126890aSEmmanuel Vadot			#address-cells = <1>;
89*f126890aSEmmanuel Vadot			#size-cells = <1>;
90*f126890aSEmmanuel Vadot			compatible = "simple-bus";
91*f126890aSEmmanuel Vadot			ranges = <0xa0000000 0xa0000000 0x20000000
92*f126890aSEmmanuel Vadot				  0xd0000000 0xd0000000 0x30000000>;
93*f126890aSEmmanuel Vadot
94*f126890aSEmmanuel Vadot			i2c1: i2c@a7000000 {
95*f126890aSEmmanuel Vadot				#address-cells = <1>;
96*f126890aSEmmanuel Vadot				#size-cells = <0>;
97*f126890aSEmmanuel Vadot				compatible = "snps,designware-i2c";
98*f126890aSEmmanuel Vadot				reg = <0xa7000000 0x1000>;
99*f126890aSEmmanuel Vadot				interrupts = <21>;
100*f126890aSEmmanuel Vadot				interrupt-parent = <&shirq>;
101*f126890aSEmmanuel Vadot				status = "disabled";
102*f126890aSEmmanuel Vadot			};
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot			serial@a3000000 {
105*f126890aSEmmanuel Vadot				compatible = "arm,pl011", "arm,primecell";
106*f126890aSEmmanuel Vadot				reg = <0xa3000000 0x1000>;
107*f126890aSEmmanuel Vadot				interrupts = <13>;
108*f126890aSEmmanuel Vadot				interrupt-parent = <&shirq>;
109*f126890aSEmmanuel Vadot				status = "disabled";
110*f126890aSEmmanuel Vadot			};
111*f126890aSEmmanuel Vadot
112*f126890aSEmmanuel Vadot			serial@a4000000 {
113*f126890aSEmmanuel Vadot				compatible = "arm,pl011", "arm,primecell";
114*f126890aSEmmanuel Vadot				reg = <0xa4000000 0x1000>;
115*f126890aSEmmanuel Vadot				interrupts = <14>;
116*f126890aSEmmanuel Vadot				interrupt-parent = <&shirq>;
117*f126890aSEmmanuel Vadot				status = "disabled";
118*f126890aSEmmanuel Vadot			};
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot			gpiopinctrl: gpio@b3000000 {
121*f126890aSEmmanuel Vadot				compatible = "st,spear-plgpio";
122*f126890aSEmmanuel Vadot				reg = <0xb3000000 0x1000>;
123*f126890aSEmmanuel Vadot				regmap = <&pinmux>;
124*f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
125*f126890aSEmmanuel Vadot				interrupt-controller;
126*f126890aSEmmanuel Vadot				gpio-controller;
127*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
128*f126890aSEmmanuel Vadot				gpio-ranges = <&pinmux 0 0 102>;
129*f126890aSEmmanuel Vadot				status = "disabled";
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot				st-plgpio,ngpio = <102>;
132*f126890aSEmmanuel Vadot				st-plgpio,enb-reg = <0x24>;
133*f126890aSEmmanuel Vadot				st-plgpio,wdata-reg = <0x34>;
134*f126890aSEmmanuel Vadot				st-plgpio,dir-reg = <0x44>;
135*f126890aSEmmanuel Vadot				st-plgpio,ie-reg = <0x64>;
136*f126890aSEmmanuel Vadot				st-plgpio,rdata-reg = <0x54>;
137*f126890aSEmmanuel Vadot				st-plgpio,mis-reg = <0x84>;
138*f126890aSEmmanuel Vadot				st-plgpio,eit-reg = <0x94>;
139*f126890aSEmmanuel Vadot			};
140*f126890aSEmmanuel Vadot		};
141*f126890aSEmmanuel Vadot	};
142*f126890aSEmmanuel Vadot};
143