summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/spear320.dtsi
blob: 47ac4474ed96e6a9ef30ea198912faaf18af8493 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * DTS file for SPEAr320 SoC
 *
 * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
 */

/include/ "spear3xx.dtsi"

/ {
	ahb {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges = <0x40000000 0x40000000 0x80000000
			  0xd0000000 0xd0000000 0x30000000>;

		pinmux: pinmux@b3000000 {
			compatible = "st,spear320-pinmux";
			reg = <0xb3000000 0x1000>;
			#gpio-range-cells = <3>;
		};

		clcd@90000000 {
			compatible = "arm,pl110", "arm,primecell";
			reg = <0x90000000 0x1000>;
			interrupts = <8>;
			interrupt-parent = <&shirq>;
			status = "disabled";
		};

		fsmc: flash@4c000000 {
			compatible = "st,spear600-fsmc-nand";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x4c000000 0x1000	/* FSMC Register */
			       0x50000000 0x0010	/* NAND Base DATA */
			       0x50020000 0x0010	/* NAND Base ADDR */
			       0x50010000 0x0010>;	/* NAND Base CMD */
			reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
			status = "disabled";
		};

		sdhci@70000000 {
			compatible = "st,sdhci-spear";
			reg = <0x70000000 0x100>;
			interrupts = <10>;
			interrupt-parent = <&shirq>;
			status = "disabled";
		};

		shirq: interrupt-controller@0xb3000000 {
			compatible = "st,spear320-shirq";
			reg = <0xb3000000 0x1000>;
			interrupts = <30 28 29 1>;
			#interrupt-cells = <1>;
			interrupt-controller;
		};

		spi1: spi@a5000000 {
			compatible = "arm,pl022", "arm,primecell";
			reg = <0xa5000000 0x1000>;
			interrupts = <15>;
			interrupt-parent = <&shirq>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		spi2: spi@a6000000 {
			compatible = "arm,pl022", "arm,primecell";
			reg = <0xa6000000 0x1000>;
			interrupts = <16>;
			interrupt-parent = <&shirq>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
		};

		pwm: pwm@a8000000 {
			compatible ="st,spear-pwm";
			reg = <0xa8000000 0x1000>;
			#pwm-cells = <2>;
			status = "disabled";
                };

		apb {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "simple-bus";
			ranges = <0xa0000000 0xa0000000 0x20000000
				  0xd0000000 0xd0000000 0x30000000>;

			i2c1: i2c@a7000000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "snps,designware-i2c";
				reg = <0xa7000000 0x1000>;
				interrupts = <21>;
				interrupt-parent = <&shirq>;
				status = "disabled";
			};

			serial@a3000000 {
				compatible = "arm,pl011", "arm,primecell";
				reg = <0xa3000000 0x1000>;
				interrupts = <13>;
				interrupt-parent = <&shirq>;
				status = "disabled";
			};

			serial@a4000000 {
				compatible = "arm,pl011", "arm,primecell";
				reg = <0xa4000000 0x1000>;
				interrupts = <14>;
				interrupt-parent = <&shirq>;
				status = "disabled";
			};

			gpiopinctrl: gpio@b3000000 {
				compatible = "st,spear-plgpio";
				reg = <0xb3000000 0x1000>;
				regmap = <&pinmux>;
				#interrupt-cells = <1>;
				interrupt-controller;
				gpio-controller;
				#gpio-cells = <2>;
				gpio-ranges = <&pinmux 0 0 102>;
				status = "disabled";

				st-plgpio,ngpio = <102>;
				st-plgpio,enb-reg = <0x24>;
				st-plgpio,wdata-reg = <0x34>;
				st-plgpio,dir-reg = <0x44>;
				st-plgpio,ie-reg = <0x64>;
				st-plgpio,rdata-reg = <0x54>;
				st-plgpio,mis-reg = <0x84>;
				st-plgpio,eit-reg = <0x94>;
			};
		};
	};
};