1279377Simp/*
2279377Simp * Copyright (C) 2013 STMicroelectronics (R&D) Limited.
3279377Simp * Author: Srinivas Kandagatla <srinivas.kandagatla@st.com>
4279377Simp *
5279377Simp * This program is free software; you can redistribute it and/or modify
6279377Simp * it under the terms of the GNU General Public License version 2 as
7279377Simp * publishhed by the Free Software Foundation.
8279377Simp */
9279377Simp#include "stih41x.dtsi"
10279377Simp#include "stih415-clock.dtsi"
11279377Simp#include "stih415-pinctrl.dtsi"
12279377Simp#include <dt-bindings/interrupt-controller/arm-gic.h>
13279377Simp#include <dt-bindings/reset-controller/stih415-resets.h>
14279377Simp/ {
15279377Simp
16279377Simp	L2: cache-controller {
17279377Simp		compatible = "arm,pl310-cache";
18279377Simp		reg = <0xfffe2000 0x1000>;
19279377Simp		arm,data-latency = <3 2 2>;
20279377Simp		arm,tag-latency = <1 1 1>;
21279377Simp		cache-unified;
22279377Simp		cache-level = <2>;
23279377Simp	};
24279377Simp
25279377Simp	soc {
26279377Simp		#address-cells = <1>;
27279377Simp		#size-cells = <1>;
28279377Simp		interrupt-parent = <&intc>;
29279377Simp		ranges;
30279377Simp		compatible	= "simple-bus";
31279377Simp
32279377Simp		powerdown: powerdown-controller {
33279377Simp			#reset-cells = <1>;
34279377Simp			compatible = "st,stih415-powerdown";
35279377Simp		};
36279377Simp
37279377Simp		softreset: softreset-controller {
38279377Simp			#reset-cells = <1>;
39279377Simp			compatible = "st,stih415-softreset";
40279377Simp		};
41279377Simp
42279377Simp		syscfg_sbc: sbc-syscfg@fe600000{
43279377Simp			compatible      = "st,stih415-sbc-syscfg", "syscon";
44279377Simp			reg		= <0xfe600000 0xb4>;
45279377Simp		};
46279377Simp
47279377Simp		syscfg_front: front-syscfg@fee10000{
48279377Simp			compatible      = "st,stih415-front-syscfg", "syscon";
49279377Simp			reg		= <0xfee10000 0x194>;
50279377Simp		};
51279377Simp
52279377Simp		syscfg_rear: rear-syscfg@fe830000{
53279377Simp			compatible      = "st,stih415-rear-syscfg", "syscon";
54279377Simp			reg		= <0xfe830000 0x190>;
55279377Simp		};
56279377Simp
57279377Simp		/* MPE syscfgs */
58279377Simp		syscfg_left: left-syscfg@fd690000{
59279377Simp			compatible      = "st,stih415-left-syscfg", "syscon";
60279377Simp			reg		= <0xfd690000 0x78>;
61279377Simp		};
62279377Simp
63279377Simp		syscfg_right: right-syscfg@fd320000{
64279377Simp			compatible      = "st,stih415-right-syscfg", "syscon";
65279377Simp			reg		= <0xfd320000 0x180>;
66279377Simp		};
67279377Simp
68279377Simp		syscfg_system: system-syscfg@fdde0000  {
69279377Simp			compatible      = "st,stih415-system-syscfg", "syscon";
70279377Simp			reg		= <0xfdde0000 0x15c>;
71279377Simp		};
72279377Simp
73279377Simp		syscfg_lpm: lpm-syscfg@fe4b5100{
74279377Simp			compatible      = "st,stih415-lpm-syscfg", "syscon";
75279377Simp			reg		= <0xfe4b5100 0x08>;
76279377Simp		};
77279377Simp
78279377Simp		serial2: serial@fed32000 {
79279377Simp			compatible	= "st,asc";
80279377Simp			status 		= "disabled";
81279377Simp			reg		= <0xfed32000 0x2c>;
82279377Simp			interrupts	= <0 197 0>;
83279377Simp			pinctrl-names 	= "default";
84279377Simp			pinctrl-0 	= <&pinctrl_serial2>;
85279377Simp			clocks		= <&clk_s_a0_ls CLK_ICN_REG>;
86279377Simp		};
87279377Simp
88279377Simp		/* SBC comms block ASCs in SASG1 */
89279377Simp		sbc_serial1: serial@fe531000 {
90279377Simp			compatible	= "st,asc";
91279377Simp			status 		= "disabled";
92279377Simp			reg		= <0xfe531000 0x2c>;
93279377Simp			interrupts	= <0 210 0>;
94279377Simp			clocks		= <&clk_sysin>;
95279377Simp			pinctrl-names 	= "default";
96279377Simp			pinctrl-0	= <&pinctrl_sbc_serial1>;
97279377Simp		};
98279377Simp
99279377Simp		i2c@fed40000 {
100279377Simp			compatible	= "st,comms-ssc4-i2c";
101279377Simp			reg		= <0xfed40000 0x110>;
102279377Simp			interrupts	= <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
103279377Simp			clocks		= <&clk_s_a0_ls CLK_ICN_REG>;
104279377Simp			clock-names	= "ssc";
105279377Simp			clock-frequency = <400000>;
106279377Simp			pinctrl-names	= "default";
107279377Simp			pinctrl-0	= <&pinctrl_i2c0_default>;
108279377Simp
109279377Simp			status		= "disabled";
110279377Simp		};
111279377Simp
112279377Simp		i2c@fed41000 {
113279377Simp			compatible	= "st,comms-ssc4-i2c";
114279377Simp			reg		= <0xfed41000 0x110>;
115279377Simp			interrupts	= <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
116279377Simp			clocks		= <&clk_s_a0_ls CLK_ICN_REG>;
117279377Simp			clock-names	= "ssc";
118279377Simp			clock-frequency = <400000>;
119279377Simp			pinctrl-names	= "default";
120279377Simp			pinctrl-0	= <&pinctrl_i2c1_default>;
121279377Simp
122279377Simp			status		= "disabled";
123279377Simp		};
124279377Simp
125279377Simp		i2c@fe540000 {
126279377Simp			compatible	= "st,comms-ssc4-i2c";
127279377Simp			reg		= <0xfe540000 0x110>;
128279377Simp			interrupts	= <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
129279377Simp			clocks		= <&clk_sysin>;
130279377Simp			clock-names	= "ssc";
131279377Simp			clock-frequency = <400000>;
132279377Simp			pinctrl-names	= "default";
133279377Simp			pinctrl-0	= <&pinctrl_sbc_i2c0_default>;
134279377Simp
135279377Simp			status		= "disabled";
136279377Simp		};
137279377Simp
138279377Simp		i2c@fe541000 {
139279377Simp			compatible	= "st,comms-ssc4-i2c";
140279377Simp			reg		= <0xfe541000 0x110>;
141279377Simp			interrupts	= <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
142279377Simp			clocks		= <&clk_sysin>;
143279377Simp			clock-names	= "ssc";
144279377Simp			clock-frequency = <400000>;
145279377Simp			pinctrl-names	= "default";
146279377Simp			pinctrl-0	= <&pinctrl_sbc_i2c1_default>;
147279377Simp
148279377Simp			status		= "disabled";
149279377Simp		};
150279377Simp
151279377Simp		ethernet0: dwmac@fe810000 {
152279377Simp			device_type 	= "network";
153279377Simp			compatible	= "st,stih415-dwmac", "snps,dwmac", "snps,dwmac-3.610";
154279377Simp			status 		= "disabled";
155279377Simp
156279377Simp			reg		= <0xfe810000 0x8000>;
157279377Simp			reg-names	= "stmmaceth";
158279377Simp
159279377Simp			interrupts 	= <0 147 0>, <0 148 0>, <0 149 0>;
160279377Simp			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
161279377Simp			resets			= <&softreset STIH415_ETH0_SOFTRESET>;
162279377Simp			reset-names		= "stmmaceth";
163279377Simp
164279377Simp			snps,pbl 	= <32>;
165279377Simp			snps,mixed-burst;
166279377Simp			snps,force_sf_dma_mode;
167279377Simp
168279377Simp			st,syscon	= <&syscfg_rear 0x148>;
169279377Simp
170279377Simp			pinctrl-names 	= "default";
171279377Simp			pinctrl-0	= <&pinctrl_mii0>;
172279377Simp			clock-names	= "stmmaceth", "sti-ethclk";
173279377Simp			clocks		= <&clk_s_a1_ls CLK_ICN_IF_2>, <&clk_s_a1_ls CLK_GMAC0_PHY>;
174279377Simp		};
175279377Simp
176279377Simp		ethernet1: dwmac@fef08000 {
177279377Simp			device_type = "network";
178279377Simp			compatible	= "st,stih415-dwmac", "snps,dwmac", "snps,dwmac-3.610";
179279377Simp			status 		= "disabled";
180279377Simp			reg		= <0xfef08000 0x8000>;
181279377Simp			reg-names	= "stmmaceth";
182279377Simp			interrupts 	= <0 150 0>, <0 151 0>, <0 152 0>;
183279377Simp			interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
184279377Simp
185279377Simp			snps,pbl	= <32>;
186279377Simp			snps,mixed-burst;
187279377Simp			snps,force_sf_dma_mode;
188279377Simp
189279377Simp			st,syscon		= <&syscfg_sbc 0x74>;
190279377Simp
191279377Simp			resets			= <&softreset STIH415_ETH1_SOFTRESET>;
192279377Simp			reset-names		= "stmmaceth";
193279377Simp			pinctrl-names 	= "default";
194279377Simp			pinctrl-0	= <&pinctrl_mii1>;
195279377Simp			clock-names	= "stmmaceth", "sti-ethclk";
196279377Simp			clocks		= <&clk_s_a0_ls CLK_ICN_REG>, <&clk_s_a0_ls CLK_ETH1_PHY>;
197279377Simp		};
198279377Simp
199279377Simp		rc: rc@fe518000 {
200279377Simp			compatible	= "st,comms-irb";
201279377Simp			reg		= <0xfe518000 0x234>;
202279377Simp			interrupts	=  <0 203 0>;
203279377Simp			clocks		= <&clk_sysin>;
204279377Simp			rx-mode		= "infrared";
205279377Simp			pinctrl-names 	= "default";
206279377Simp			pinctrl-0	= <&pinctrl_ir>;
207279377Simp			resets		= <&softreset STIH415_IRB_SOFTRESET>;
208279377Simp		};
209279377Simp
210279377Simp		keyscan: keyscan@fe4b0000 {
211279377Simp			compatible = "st,sti-keyscan";
212279377Simp			status = "disabled";
213279377Simp			reg = <0xfe4b0000 0x2000>;
214279377Simp			interrupts = <GIC_SPI 212 IRQ_TYPE_NONE>;
215279377Simp			clocks = <&clk_sysin>;
216279377Simp			pinctrl-names = "default";
217279377Simp			pinctrl-0 = <&pinctrl_keyscan>;
218279377Simp			resets	= <&powerdown STIH415_KEYSCAN_POWERDOWN>,
219279377Simp				  <&softreset STIH415_KEYSCAN_SOFTRESET>;
220279377Simp		};
221279377Simp
222279377Simp		mmc0: sdhci@fe81e000 {
223279377Simp			compatible      = "st,sdhci";
224279377Simp			status          = "disabled";
225279377Simp			reg             = <0xfe81e000 0x1000>;
226279377Simp			interrupts      = <GIC_SPI 145 IRQ_TYPE_NONE>;
227279377Simp			interrupt-names = "mmcirq";
228279377Simp			pinctrl-names   = "default";
229279377Simp			pinctrl-0       = <&pinctrl_mmc0>;
230279377Simp			clock-names     = "mmc";
231279377Simp			clocks          = <&clk_s_a1_ls 1>;
232279377Simp		};
233279377Simp	};
234279377Simp};
235