xref: /optee_os/core/arch/arm/dts/at91-sama5d27_wlsom1.dtsi (revision ebd78ba88bd6f59eb7108acd20cbdfbe644103f1)
1130b51d3SClément Léger// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2130b51d3SClément Léger/*
3130b51d3SClément Léger * at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1
4130b51d3SClément Léger *
5130b51d3SClément Léger * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6130b51d3SClément Léger *
7130b51d3SClément Léger * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
8130b51d3SClément Léger * Author: Eugen Hristev <eugen.hristev@microcihp.com>
9130b51d3SClément Léger */
10130b51d3SClément Léger#include "sama5d2.dtsi"
11130b51d3SClément Léger#include "sama5d2-pinfunc.h"
12130b51d3SClément Léger#include <dt-bindings/gpio/gpio.h>
13130b51d3SClément Léger#include <dt-bindings/mfd/atmel-flexcom.h>
14130b51d3SClément Léger
15130b51d3SClément Léger/ {
16130b51d3SClément Léger	model = "Microchip SAMA5D27 WLSOM1";
17130b51d3SClément Léger	compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
18130b51d3SClément Léger
19130b51d3SClément Léger	aliases {
20130b51d3SClément Léger		i2c0 = &i2c0;
21130b51d3SClément Léger	};
22130b51d3SClément Léger
23130b51d3SClément Léger	clocks {
24130b51d3SClément Léger		slow_xtal {
25130b51d3SClément Léger			clock-frequency = <32768>;
26130b51d3SClément Léger		};
27130b51d3SClément Léger
28130b51d3SClément Léger		main_xtal {
29130b51d3SClément Léger			clock-frequency = <24000000>;
30130b51d3SClément Léger		};
31130b51d3SClément Léger	};
32130b51d3SClément Léger};
33130b51d3SClément Léger
34130b51d3SClément Léger&flx1 {
35130b51d3SClément Léger	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
36130b51d3SClément Léger
37130b51d3SClément Léger	uart6: serial@200 {
38130b51d3SClément Léger		pinctrl-0 = <&pinctrl_flx1_default>;
39130b51d3SClément Léger		pinctrl-names = "default";
40130b51d3SClément Léger	};
41130b51d3SClément Léger};
42130b51d3SClément Léger
43130b51d3SClément Léger&i2c0 {
44130b51d3SClément Léger	pinctrl-0 = <&pinctrl_i2c0_default>;
45130b51d3SClément Léger	pinctrl-1 = <&pinctrl_i2c0_gpio>;
46130b51d3SClément Léger	pinctrl-names = "default", "gpio";
47130b51d3SClément Léger	sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
48130b51d3SClément Léger	scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
49130b51d3SClément Léger	status = "okay";
50130b51d3SClément Léger};
51130b51d3SClément Léger
52130b51d3SClément Léger&i2c1 {
53130b51d3SClément Léger	dmas = <0>, <0>;
54130b51d3SClément Léger	pinctrl-names = "default", "gpio";
55130b51d3SClément Léger	pinctrl-0 = <&pinctrl_i2c1_default>;
56130b51d3SClément Léger	pinctrl-1 = <&pinctrl_i2c1_gpio>;
57130b51d3SClément Léger	sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>;
58130b51d3SClément Léger	scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
59*ebd78ba8SClément Léger	status = "disable";
60*ebd78ba8SClément Léger	secure-status = "okay";
61130b51d3SClément Léger
62130b51d3SClément Léger	mcp16502@5b {
63130b51d3SClément Léger		compatible = "microchip,mcp16502";
64130b51d3SClément Léger		reg = <0x5b>;
65130b51d3SClément Léger		status = "okay";
66130b51d3SClément Léger		lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;
67130b51d3SClément Léger
68130b51d3SClément Léger		regulators {
69130b51d3SClément Léger			vdd_3v3: VDD_IO {
70130b51d3SClément Léger				regulator-name = "VDD_IO";
71130b51d3SClément Léger				regulator-min-microvolt = <1200000>;
72130b51d3SClément Léger				regulator-max-microvolt = <3700000>;
73130b51d3SClément Léger				regulator-initial-mode = <2>;
74130b51d3SClément Léger				regulator-allowed-modes = <2>, <4>;
75130b51d3SClément Léger				regulator-always-on;
76130b51d3SClément Léger
77130b51d3SClément Léger				regulator-state-standby {
78130b51d3SClément Léger					regulator-on-in-suspend;
79130b51d3SClément Léger					regulator-mode = <4>;
80130b51d3SClément Léger				};
81130b51d3SClément Léger
82130b51d3SClément Léger				regulator-state-mem {
83130b51d3SClément Léger					regulator-off-in-suspend;
84130b51d3SClément Léger					regulator-mode = <4>;
85130b51d3SClément Léger				};
86130b51d3SClément Léger			};
87130b51d3SClément Léger
88130b51d3SClément Léger			vddio_ddr: VDD_DDR {
89130b51d3SClément Léger				regulator-name = "VDD_DDR";
90130b51d3SClément Léger				regulator-min-microvolt = <600000>;
91130b51d3SClément Léger				regulator-max-microvolt = <1850000>;
92130b51d3SClément Léger				regulator-initial-mode = <2>;
93130b51d3SClément Léger				regulator-allowed-modes = <2>, <4>;
94130b51d3SClément Léger				regulator-always-on;
95130b51d3SClément Léger
96130b51d3SClément Léger				regulator-state-standby {
97130b51d3SClément Léger					regulator-on-in-suspend;
98130b51d3SClément Léger					regulator-suspend-microvolt = <1200000>;
99130b51d3SClément Léger					regulator-changeable-in-suspend;
100130b51d3SClément Léger					regulator-mode = <4>;
101130b51d3SClément Léger				};
102130b51d3SClément Léger
103130b51d3SClément Léger				regulator-state-mem {
104130b51d3SClément Léger					regulator-on-in-suspend;
105130b51d3SClément Léger					regulator-suspend-microvolt = <1200000>;
106130b51d3SClément Léger					regulator-changeable-in-suspend;
107130b51d3SClément Léger					regulator-mode = <4>;
108130b51d3SClément Léger				};
109130b51d3SClément Léger			};
110130b51d3SClément Léger
111130b51d3SClément Léger			vdd_core: VDD_CORE {
112130b51d3SClément Léger				regulator-name = "VDD_CORE";
113130b51d3SClément Léger				regulator-min-microvolt = <600000>;
114130b51d3SClément Léger				regulator-max-microvolt = <1850000>;
115130b51d3SClément Léger				regulator-initial-mode = <2>;
116130b51d3SClément Léger				regulator-allowed-modes = <2>, <4>;
117130b51d3SClément Léger				regulator-always-on;
118130b51d3SClément Léger
119130b51d3SClément Léger				regulator-state-standby {
120130b51d3SClément Léger					regulator-on-in-suspend;
121130b51d3SClément Léger					regulator-mode = <4>;
122130b51d3SClément Léger				};
123130b51d3SClément Léger
124130b51d3SClément Léger				regulator-state-mem {
125130b51d3SClément Léger					regulator-off-in-suspend;
126130b51d3SClément Léger					regulator-mode = <4>;
127130b51d3SClément Léger				};
128130b51d3SClément Léger			};
129130b51d3SClément Léger
130130b51d3SClément Léger			vdd_ddr: VDD_OTHER {
131130b51d3SClément Léger				regulator-name = "VDD_OTHER";
132130b51d3SClément Léger				regulator-min-microvolt = <1800000>;
133130b51d3SClément Léger				regulator-max-microvolt = <1800000>;
134130b51d3SClément Léger				regulator-initial-mode = <2>;
135130b51d3SClément Léger				regulator-allowed-modes = <2>, <4>;
136130b51d3SClément Léger				regulator-always-on;
137130b51d3SClément Léger
138130b51d3SClément Léger				regulator-state-standby {
139130b51d3SClément Léger					regulator-on-in-suspend;
140130b51d3SClément Léger					regulator-suspend-microvolt = <1800000>;
141130b51d3SClément Léger					regulator-changeable-in-suspend;
142130b51d3SClément Léger					regulator-mode = <4>;
143130b51d3SClément Léger				};
144130b51d3SClément Léger
145130b51d3SClément Léger				regulator-state-mem {
146130b51d3SClément Léger					regulator-on-in-suspend;
147130b51d3SClément Léger					regulator-suspend-microvolt = <1800000>;
148130b51d3SClément Léger					regulator-changeable-in-suspend;
149130b51d3SClément Léger					regulator-mode = <4>;
150130b51d3SClément Léger				};
151130b51d3SClément Léger			};
152130b51d3SClément Léger
153130b51d3SClément Léger			LDO1 {
154130b51d3SClément Léger				regulator-name = "LDO1";
155130b51d3SClément Léger				regulator-min-microvolt = <1200000>;
156130b51d3SClément Léger				regulator-max-microvolt = <3700000>;
157130b51d3SClément Léger				regulator-always-on;
158130b51d3SClément Léger
159130b51d3SClément Léger				regulator-state-standby {
160130b51d3SClément Léger					regulator-on-in-suspend;
161130b51d3SClément Léger				};
162130b51d3SClément Léger
163130b51d3SClément Léger				regulator-state-mem {
164130b51d3SClément Léger					regulator-off-in-suspend;
165130b51d3SClément Léger				};
166130b51d3SClément Léger			};
167130b51d3SClément Léger
168130b51d3SClément Léger			LDO2 {
169130b51d3SClément Léger				regulator-name = "LDO2";
170130b51d3SClément Léger				regulator-min-microvolt = <1200000>;
171130b51d3SClément Léger				regulator-max-microvolt = <3700000>;
172130b51d3SClément Léger				regulator-always-on;
173130b51d3SClément Léger
174130b51d3SClément Léger				regulator-state-standby {
175130b51d3SClément Léger					regulator-on-in-suspend;
176130b51d3SClément Léger				};
177130b51d3SClément Léger
178130b51d3SClément Léger				regulator-state-mem {
179130b51d3SClément Léger					regulator-off-in-suspend;
180130b51d3SClément Léger				};
181130b51d3SClément Léger			};
182130b51d3SClément Léger		};
183130b51d3SClément Léger	};
184130b51d3SClément Léger};
185130b51d3SClément Léger
186130b51d3SClément Léger&macb0 {
187130b51d3SClément Léger	pinctrl-names = "default";
188130b51d3SClément Léger	pinctrl-0 = <&pinctrl_macb0_default>;
189130b51d3SClément Léger	phy-mode = "rmii";
190130b51d3SClément Léger
191130b51d3SClément Léger	ethernet-phy@0 {
192130b51d3SClément Léger		reg = <0x0>;
193130b51d3SClément Léger		interrupt-parent = <&pioA>;
194130b51d3SClément Léger		interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>;
195130b51d3SClément Léger		pinctrl-names = "default";
196130b51d3SClément Léger		pinctrl-0 = <&pinctrl_macb0_phy_irq>;
197130b51d3SClément Léger	};
198130b51d3SClément Léger};
199130b51d3SClément Léger
200130b51d3SClément Léger&pmc {
201130b51d3SClément Léger	atmel,osc-bypass;
202130b51d3SClément Léger};
203130b51d3SClément Léger
204130b51d3SClément Léger&qspi1 {
205130b51d3SClément Léger	pinctrl-names = "default";
206130b51d3SClément Léger	pinctrl-0 = <&pinctrl_qspi1_default>;
207130b51d3SClément Léger	status = "disabled";
208130b51d3SClément Léger
209130b51d3SClément Léger	qspi1_flash: spi_flash@0 {
210130b51d3SClément Léger		#address-cells = <1>;
211130b51d3SClément Léger		#size-cells = <1>;
212130b51d3SClément Léger		compatible = "jedec,spi-nor";
213130b51d3SClément Léger		reg = <0>;
214130b51d3SClément Léger		spi-max-frequency = <80000000>;
215130b51d3SClément Léger		spi-rx-bus-width = <4>;
216130b51d3SClément Léger		spi-tx-bus-width = <4>;
217130b51d3SClément Léger		m25p,fast-read;
218130b51d3SClément Léger		status = "disabled";
219130b51d3SClément Léger
220130b51d3SClément Léger		at91bootstrap@0 {
221130b51d3SClément Léger			label = "at91bootstrap";
222130b51d3SClément Léger			reg = <0x0 0x40000>;
223130b51d3SClément Léger		};
224130b51d3SClément Léger
225130b51d3SClément Léger		bootloader@40000 {
226130b51d3SClément Léger			label = "bootloader";
227130b51d3SClément Léger			reg = <0x40000 0xc0000>;
228130b51d3SClément Léger		};
229130b51d3SClément Léger
230130b51d3SClément Léger		bootloaderenvred@100000 {
231130b51d3SClément Léger			label = "bootloader env redundant";
232130b51d3SClément Léger			reg = <0x100000 0x40000>;
233130b51d3SClément Léger		};
234130b51d3SClément Léger
235130b51d3SClément Léger		bootloaderenv@140000 {
236130b51d3SClément Léger			label = "bootloader env";
237130b51d3SClément Léger			reg = <0x140000 0x40000>;
238130b51d3SClément Léger		};
239130b51d3SClément Léger
240130b51d3SClément Léger		dtb@180000 {
241130b51d3SClément Léger			label = "device tree";
242130b51d3SClément Léger			reg = <0x180000 0x80000>;
243130b51d3SClément Léger		};
244130b51d3SClément Léger
245130b51d3SClément Léger		kernel@200000 {
246130b51d3SClément Léger			label = "kernel";
247130b51d3SClément Léger			reg = <0x200000 0x600000>;
248130b51d3SClément Léger		};
249130b51d3SClément Léger	};
250130b51d3SClément Léger};
251130b51d3SClément Léger
252130b51d3SClément Léger&pioA {
253130b51d3SClément Léger	pinctrl_flx1_default: flx1_usart_default {
254130b51d3SClément Léger		pinmux = <PIN_PA24__FLEXCOM1_IO0>,
255130b51d3SClément Léger			 <PIN_PA23__FLEXCOM1_IO1>,
256130b51d3SClément Léger			 <PIN_PA25__FLEXCOM1_IO3>,
257130b51d3SClément Léger			 <PIN_PA26__FLEXCOM1_IO4>;
258130b51d3SClément Léger		bias-disable;
259130b51d3SClément Léger	};
260130b51d3SClément Léger
261130b51d3SClément Léger	pinctrl_i2c0_default: i2c0_default {
262130b51d3SClément Léger		pinmux = <PIN_PD21__TWD0>,
263130b51d3SClément Léger			 <PIN_PD22__TWCK0>;
264130b51d3SClément Léger		bias-disable;
265130b51d3SClément Léger	};
266130b51d3SClément Léger
267130b51d3SClément Léger	pinctrl_i2c0_gpio: i2c0_gpio {
268130b51d3SClément Léger		pinmux = <PIN_PD21__GPIO>,
269130b51d3SClément Léger			 <PIN_PD22__GPIO>;
270130b51d3SClément Léger		bias-disable;
271130b51d3SClément Léger	};
272130b51d3SClément Léger
273130b51d3SClément Léger	pinctrl_i2c1_default: i2c1_default {
274130b51d3SClément Léger		pinmux = <PIN_PD19__TWD1>,
275130b51d3SClément Léger			 <PIN_PD20__TWCK1>;
276130b51d3SClément Léger		bias-disable;
277130b51d3SClément Léger	};
278130b51d3SClément Léger
279130b51d3SClément Léger	pinctrl_i2c1_gpio: i2c1_gpio {
280130b51d3SClément Léger		pinmux = <PIN_PD19__GPIO>,
281130b51d3SClément Léger			 <PIN_PD20__GPIO>;
282130b51d3SClément Léger		bias-disable;
283130b51d3SClément Léger	};
284130b51d3SClément Léger
285130b51d3SClément Léger	pinctrl_macb0_default: macb0_default {
286130b51d3SClément Léger		pinmux = <PIN_PB14__GTXCK>,
287130b51d3SClément Léger			 <PIN_PB15__GTXEN>,
288130b51d3SClément Léger			 <PIN_PB16__GRXDV>,
289130b51d3SClément Léger			 <PIN_PB17__GRXER>,
290130b51d3SClément Léger			 <PIN_PB18__GRX0>,
291130b51d3SClément Léger			 <PIN_PB19__GRX1>,
292130b51d3SClément Léger			 <PIN_PB20__GTX0>,
293130b51d3SClément Léger			 <PIN_PB21__GTX1>,
294130b51d3SClément Léger			 <PIN_PB22__GMDC>,
295130b51d3SClément Léger			 <PIN_PB23__GMDIO>;
296130b51d3SClément Léger		bias-disable;
297130b51d3SClément Léger	};
298130b51d3SClément Léger
299130b51d3SClément Léger	pinctrl_macb0_phy_irq: macb0_phy_irq {
300130b51d3SClément Léger		pinmux = <PIN_PB24__GPIO>;
301130b51d3SClément Léger		bias-disable;
302130b51d3SClément Léger	};
303130b51d3SClément Léger
304130b51d3SClément Léger	pinctrl_qspi1_default: qspi1_default {
305130b51d3SClément Léger		pinmux = <PIN_PB5__QSPI1_SCK>,
306130b51d3SClément Léger			 <PIN_PB6__QSPI1_CS>,
307130b51d3SClément Léger			 <PIN_PB7__QSPI1_IO0>,
308130b51d3SClément Léger			 <PIN_PB8__QSPI1_IO1>,
309130b51d3SClément Léger			 <PIN_PB9__QSPI1_IO2>,
310130b51d3SClément Léger			 <PIN_PB10__QSPI1_IO3>;
311130b51d3SClément Léger		bias-pull-up;
312130b51d3SClément Léger	};
313130b51d3SClément Léger};
314130b51d3SClément Léger
315