1/*
2 * at91-sama5d27_som1_ek.dts - Device Tree file for SAMA5D27 SOM1 EK board
3 *
4 *  Copyright (C) 2017 Microchip Corporation
5 *                     Wenyou Yang <wenyou.yang@microchip.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 *  a) This file is free software; you can redistribute it and/or
13 *     modify it under the terms of the GNU General Public License as
14 *     published by the Free Software Foundation; either version 2 of the
15 *     License, or (at your option) any later version.
16 *
17 *     This file is distributed in the hope that it will be useful,
18 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
19 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 *     GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 *  b) Permission is hereby granted, free of charge, to any person
25 *     obtaining a copy of this software and associated documentation
26 *     files (the "Software"), to deal in the Software without
27 *     restriction, including without limitation the rights to use,
28 *     copy, modify, merge, publish, distribute, sublicense, and/or
29 *     sell copies of the Software, and to permit persons to whom the
30 *     Software is furnished to do so, subject to the following
31 *     conditions:
32 *
33 *     The above copyright notice and this permission notice shall be
34 *     included in all copies or substantial portions of the Software.
35 *
36 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 *     OTHER DEALINGS IN THE SOFTWARE.
44 */
45/dts-v1/;
46#include "sama5d27_som1.dtsi"
47
48/ {
49	model = "Atmel SAMA5D27 SOM1 EK";
50	compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d2", "atmel,sama5";
51
52	chosen {
53		u-boot,dm-pre-reloc;
54		stdout-path = &uart1;
55	};
56
57	onewire_tm: onewire {
58		gpios = <&pioA 17 0>;
59		pinctrl-names = "default";
60		pinctrl-0 = <&pinctrl_onewire_tm_default>;
61		status = "okay";
62
63		w1_eeprom: w1_eeprom@0 {
64			compatible = "maxim,ds24b33";
65			status = "okay";
66		};
67	};
68
69	ahb {
70		usb1: ohci@00400000 {
71			num-ports = <3>;
72			atmel,vbus-gpio = <&pioA 42 0>;
73			pinctrl-names = "default";
74			pinctrl-0 = <&pinctrl_usb_default>;
75			status = "okay";
76		};
77
78		usb2: ehci@00500000 {
79			status = "okay";
80		};
81
82		sdmmc0: sdio-host@a0000000 {
83			bus-width = <8>;
84			pinctrl-names = "default";
85			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
86			status = "okay";
87			u-boot,dm-pre-reloc;
88		};
89
90		sdmmc1: sdio-host@b0000000 {
91			bus-width = <4>;
92			pinctrl-names = "default";
93			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
94			status = "okay"; /* conflict with qspi0 */
95			u-boot,dm-pre-reloc;
96		};
97
98		apb {
99			hlcdc: hlcdc@f0000000 {
100				atmel,vl-bpix = <4>;
101				atmel,guard-time = <1>;
102				pinctrl-names = "default";
103				pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
104				status = "okay";
105				u-boot,dm-pre-reloc;
106
107				display-timings {
108					u-boot,dm-pre-reloc;
109					480x272 {
110						clock-frequency = <9000000>;
111						hactive = <480>;
112						vactive = <272>;
113						hsync-len = <41>;
114						hfront-porch = <2>;
115						hback-porch = <2>;
116						vfront-porch = <2>;
117						vback-porch = <2>;
118						vsync-len = <11>;
119						u-boot,dm-pre-reloc;
120					};
121				};
122			};
123
124			uart1: serial@f8020000 {
125				pinctrl-names = "default";
126				pinctrl-0 = <&pinctrl_uart1_default>;
127				status = "okay";
128				u-boot,dm-pre-reloc;
129			};
130
131			pioA: gpio@fc038000 {
132				pinctrl {
133					pinctrl_lcd_base: pinctrl_lcd_base {
134						pinmux = <PIN_PC5__LCDVSYNC>,
135							 <PIN_PC6__LCDHSYNC>,
136							 <PIN_PC8__LCDDEN>,
137							 <PIN_PC7__LCDPCK>;
138						bias-disable;
139					};
140
141					pinctrl_lcd_pwm: pinctrl_lcd_pwm {
142						pinmux = <PIN_PC3__LCDPWM>;
143						bias-disable;
144					};
145
146					pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
147						pinmux = <PIN_PB13__LCDDAT2>,
148							 <PIN_PB14__LCDDAT3>,
149							 <PIN_PB15__LCDDAT4>,
150							 <PIN_PB16__LCDDAT5>,
151							 <PIN_PB17__LCDDAT6>,
152							 <PIN_PB18__LCDDAT7>,
153							 <PIN_PB21__LCDDAT10>,
154							 <PIN_PB22__LCDDAT11>,
155							 <PIN_PB23__LCDDAT12>,
156							 <PIN_PB24__LCDDAT13>,
157							 <PIN_PB25__LCDDAT14>,
158							 <PIN_PB26__LCDDAT15>,
159							 <PIN_PB29__LCDDAT18>,
160							 <PIN_PB30__LCDDAT19>,
161							 <PIN_PB31__LCDDAT20>,
162							 <PIN_PC0__LCDDAT21>,
163							 <PIN_PC1__LCDDAT22>,
164							 <PIN_PC2__LCDDAT23>;
165						bias-disable;
166					};
167
168					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
169						pinmux = <PIN_PA1__SDMMC0_CMD>,
170							 <PIN_PA2__SDMMC0_DAT0>,
171							 <PIN_PA3__SDMMC0_DAT1>,
172							 <PIN_PA4__SDMMC0_DAT2>,
173							 <PIN_PA5__SDMMC0_DAT3>,
174							 <PIN_PA6__SDMMC0_DAT4>,
175							 <PIN_PA7__SDMMC0_DAT5>,
176							 <PIN_PA8__SDMMC0_DAT6>,
177							 <PIN_PA9__SDMMC0_DAT7>;
178						bias-pull-up;
179						u-boot,dm-pre-reloc;
180					};
181
182					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
183						pinmux = <PIN_PA0__SDMMC0_CK>,
184							 <PIN_PA10__SDMMC0_RSTN>,
185							 <PIN_PA13__SDMMC0_CD>;
186						bias-disable;
187						u-boot,dm-pre-reloc;
188					};
189
190					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
191						pinmux = <PIN_PA28__SDMMC1_CMD>,
192							 <PIN_PA18__SDMMC1_DAT0>,
193							 <PIN_PA19__SDMMC1_DAT1>,
194							 <PIN_PA20__SDMMC1_DAT2>,
195							 <PIN_PA21__SDMMC1_DAT3>;
196						bias-pull-up;
197						u-boot,dm-pre-reloc;
198					};
199
200					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
201						pinmux = <PIN_PA22__SDMMC1_CK>,
202							 <PIN_PA30__SDMMC1_CD>;
203						bias-disable;
204						u-boot,dm-pre-reloc;
205					};
206
207					pinctrl_uart1_default: uart1_default {
208						pinmux = <PIN_PD2__URXD1>,
209							 <PIN_PD3__UTXD1>;
210						bias-disable;
211						u-boot,dm-pre-reloc;
212					};
213
214					pinctrl_usb_default: usb_default {
215						pinmux = <PIN_PB10__GPIO>;
216						bias-disable;
217					};
218
219					pinctrl_usba_vbus: usba_vbus {
220						pinmux = <PIN_PA31__GPIO>;
221						bias-disable;
222					};
223
224					pinctrl_onewire_tm_default: onewire_tm_default {
225						pinmux = <PIN_PA17__GPIO>;
226						bias-pull-up;
227					};
228				};
229			};
230		};
231	};
232};
233