Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
  1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2/*
  3 * at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1
  4 *
  5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
  6 *
  7 * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
  8 * Author: Eugen Hristev <eugen.hristev@microcihp.com>
  9 */
 10#include "sama5d2.dtsi"
 11#include "sama5d2-pinfunc.h"
 12#include <dt-bindings/gpio/gpio.h>
 13#include <dt-bindings/mfd/atmel-flexcom.h>
 14#include <dt-bindings/pinctrl/at91.h>
 15
 16/ {
 17	model = "Microchip SAMA5D27 WLSOM1";
 18	compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
 19
 20	aliases {
 21		i2c0 = &i2c0;
 22	};
 23
 24	clocks {
 25		slow_xtal {
 26			clock-frequency = <32768>;
 27		};
 28
 29		main_xtal {
 30			clock-frequency = <24000000>;
 31		};
 32	};
 33};
 34
 35&flx1 {
 36	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
 37
 38	uart6: serial@200 {
 39		pinctrl-0 = <&pinctrl_flx1_default>;
 40		pinctrl-names = "default";
 41	};
 42};
 43
 44&i2c0 {
 45	pinctrl-0 = <&pinctrl_i2c0_default>;
 46	pinctrl-1 = <&pinctrl_i2c0_gpio>;
 47	pinctrl-names = "default", "gpio";
 48	sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
 49	scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 50	status = "okay";
 51};
 52
 53&i2c1 {
 54	dmas = <0>, <0>;
 55	pinctrl-names = "default", "gpio";
 56	pinctrl-0 = <&pinctrl_i2c1_default>;
 57	pinctrl-1 = <&pinctrl_i2c1_gpio>;
 58	sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>;
 59	scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 60	status = "okay";
 61
 62	mcp16502@5b {
 63		compatible = "microchip,mcp16502";
 64		reg = <0x5b>;
 65		status = "okay";
 66		lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;
 67
 68		regulators {
 69			vdd_3v3: VDD_IO {
 70				regulator-name = "VDD_IO";
 71				regulator-min-microvolt = <1200000>;
 72				regulator-max-microvolt = <3700000>;
 73				regulator-initial-mode = <2>;
 74				regulator-allowed-modes = <2>, <4>;
 75				regulator-always-on;
 76
 77				regulator-state-standby {
 78					regulator-on-in-suspend;
 79					regulator-mode = <4>;
 80				};
 81
 82				regulator-state-mem {
 83					regulator-off-in-suspend;
 84					regulator-mode = <4>;
 85				};
 86			};
 87
 88			vddio_ddr: VDD_DDR {
 89				regulator-name = "VDD_DDR";
 90				regulator-min-microvolt = <600000>;
 91				regulator-max-microvolt = <1850000>;
 92				regulator-initial-mode = <2>;
 93				regulator-allowed-modes = <2>, <4>;
 94				regulator-always-on;
 95
 96				regulator-state-standby {
 97					regulator-on-in-suspend;
 98					regulator-suspend-microvolt = <1200000>;
 99					regulator-changeable-in-suspend;
100					regulator-mode = <4>;
101				};
102
103				regulator-state-mem {
104					regulator-on-in-suspend;
105					regulator-suspend-microvolt = <1200000>;
106					regulator-changeable-in-suspend;
107					regulator-mode = <4>;
108				};
109			};
110
111			vdd_core: VDD_CORE {
112				regulator-name = "VDD_CORE";
113				regulator-min-microvolt = <600000>;
114				regulator-max-microvolt = <1850000>;
115				regulator-initial-mode = <2>;
116				regulator-allowed-modes = <2>, <4>;
117				regulator-always-on;
118
119				regulator-state-standby {
120					regulator-on-in-suspend;
121					regulator-mode = <4>;
122				};
123
124				regulator-state-mem {
125					regulator-off-in-suspend;
126					regulator-mode = <4>;
127				};
128			};
129
130			vdd_ddr: VDD_OTHER {
131				regulator-name = "VDD_OTHER";
132				regulator-min-microvolt = <1800000>;
133				regulator-max-microvolt = <1800000>;
134				regulator-initial-mode = <2>;
135				regulator-allowed-modes = <2>, <4>;
136				regulator-always-on;
137
138				regulator-state-standby {
139					regulator-on-in-suspend;
140					regulator-suspend-microvolt = <1800000>;
141					regulator-changeable-in-suspend;
142					regulator-mode = <4>;
143				};
144
145				regulator-state-mem {
146					regulator-on-in-suspend;
147					regulator-suspend-microvolt = <1800000>;
148					regulator-changeable-in-suspend;
149					regulator-mode = <4>;
150				};
151			};
152
153			LDO1 {
154				regulator-name = "LDO1";
155				regulator-min-microvolt = <1200000>;
156				regulator-max-microvolt = <3700000>;
157				regulator-always-on;
158
159				regulator-state-standby {
160					regulator-on-in-suspend;
161				};
162
163				regulator-state-mem {
164					regulator-off-in-suspend;
165				};
166			};
167
168			LDO2 {
169				regulator-name = "LDO2";
170				regulator-min-microvolt = <1200000>;
171				regulator-max-microvolt = <3700000>;
172				regulator-always-on;
173
174				regulator-state-standby {
175					regulator-on-in-suspend;
176				};
177
178				regulator-state-mem {
179					regulator-off-in-suspend;
180				};
181			};
182		};
183	};
184};
185
186&macb0 {
187	pinctrl-names = "default";
188	pinctrl-0 = <&pinctrl_macb0_default>;
189	phy-mode = "rmii";
190
191	ethernet-phy@0 {
192		reg = <0x0>;
193		interrupt-parent = <&pioA>;
194		interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>;
195		pinctrl-names = "default";
196		pinctrl-0 = <&pinctrl_macb0_phy_irq>;
197	};
198};
199
200&pmc {
201	atmel,osc-bypass;
202};
203
204&qspi1 {
205	pinctrl-names = "default";
206	pinctrl-0 = <&pinctrl_qspi1_default>;
207	status = "disabled";
208
209	qspi1_flash: spi_flash@0 {
210		#address-cells = <1>;
211		#size-cells = <1>;
212		compatible = "jedec,spi-nor";
213		reg = <0>;
214		spi-max-frequency = <80000000>;
215		spi-rx-bus-width = <4>;
216		spi-tx-bus-width = <4>;
217		m25p,fast-read;
218		status = "disabled";
219
220		at91bootstrap@0 {
221			label = "at91bootstrap";
222			reg = <0x0 0x40000>;
223		};
224
225		bootloader@40000 {
226			label = "bootloader";
227			reg = <0x40000 0xc0000>;
228		};
229
230		bootloaderenvred@100000 {
231			label = "bootloader env redundant";
232			reg = <0x100000 0x40000>;
233		};
234
235		bootloaderenv@140000 {
236			label = "bootloader env";
237			reg = <0x140000 0x40000>;
238		};
239
240		dtb@180000 {
241			label = "device tree";
242			reg = <0x180000 0x80000>;
243		};
244
245		kernel@200000 {
246			label = "kernel";
247			reg = <0x200000 0x600000>;
248		};
249	};
250};
251
252&pioA {
253	pinctrl_flx1_default: flx1_usart_default {
254		pinmux = <PIN_PA24__FLEXCOM1_IO0>,
255			 <PIN_PA23__FLEXCOM1_IO1>,
256			 <PIN_PA25__FLEXCOM1_IO3>,
257			 <PIN_PA26__FLEXCOM1_IO4>;
258		bias-disable;
259	};
260
261	pinctrl_i2c0_default: i2c0_default {
262		pinmux = <PIN_PD21__TWD0>,
263			 <PIN_PD22__TWCK0>;
264		bias-disable;
265	};
266
267	pinctrl_i2c0_gpio: i2c0_gpio {
268		pinmux = <PIN_PD21__GPIO>,
269			 <PIN_PD22__GPIO>;
270		bias-disable;
271	};
272
273	pinctrl_i2c1_default: i2c1_default {
274		pinmux = <PIN_PD19__TWD1>,
275			 <PIN_PD20__TWCK1>;
276		bias-disable;
277	};
278
279	pinctrl_i2c1_gpio: i2c1_gpio {
280		pinmux = <PIN_PD19__GPIO>,
281			 <PIN_PD20__GPIO>;
282		bias-disable;
283	};
284
285	pinctrl_macb0_default: macb0_default {
286		pinmux = <PIN_PB14__GTXCK>,
287			 <PIN_PB15__GTXEN>,
288			 <PIN_PB16__GRXDV>,
289			 <PIN_PB17__GRXER>,
290			 <PIN_PB18__GRX0>,
291			 <PIN_PB19__GRX1>,
292			 <PIN_PB20__GTX0>,
293			 <PIN_PB21__GTX1>,
294			 <PIN_PB22__GMDC>,
295			 <PIN_PB23__GMDIO>;
296		bias-disable;
297	};
298
299	pinctrl_macb0_phy_irq: macb0_phy_irq {
300		pinmux = <PIN_PB24__GPIO>;
301		bias-disable;
302	};
303
304	pinctrl_qspi1_default: qspi1_default {
305		pinmux = <PIN_PB5__QSPI1_SCK>,
306			 <PIN_PB6__QSPI1_CS>,
307			 <PIN_PB7__QSPI1_IO0>,
308			 <PIN_PB8__QSPI1_IO1>,
309			 <PIN_PB9__QSPI1_IO2>,
310			 <PIN_PB10__QSPI1_IO3>;
311		bias-pull-up;
312	};
313};
314