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 <dt-bindings/gpio/gpio.h>
47#include "sama5d27_som1.dtsi"
48
49/ {
50	model = "Atmel SAMA5D27 SOM1 EK";
51	compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d2", "atmel,sama5";
52
53	chosen {
54		u-boot,dm-pre-reloc;
55		stdout-path = &uart1;
56	};
57
58	onewire_tm: onewire {
59		gpios = <&pioA 17 GPIO_ACTIVE_HIGH>;
60		pinctrl-names = "default";
61		pinctrl-0 = <&pinctrl_onewire_tm_default>;
62		status = "okay";
63
64		w1_eeprom: w1_eeprom@0 {
65			compatible = "maxim,ds24b33";
66			status = "okay";
67		};
68	};
69
70	ahb {
71		usb1: ohci@400000 {
72			num-ports = <3>;
73			atmel,vbus-gpio = <&pioA 42 0>;
74			pinctrl-names = "default";
75			pinctrl-0 = <&pinctrl_usb_default>;
76			status = "okay";
77		};
78
79		usb2: ehci@500000 {
80			status = "okay";
81		};
82
83		sdmmc0: sdio-host@a0000000 {
84			bus-width = <8>;
85			pinctrl-names = "default";
86			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
87			status = "okay";
88			u-boot,dm-pre-reloc;
89		};
90
91		sdmmc1: sdio-host@b0000000 {
92			bus-width = <4>;
93			pinctrl-names = "default";
94			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
95			status = "okay"; /* conflict with qspi0 */
96			u-boot,dm-pre-reloc;
97		};
98
99		apb {
100			hlcdc: hlcdc@f0000000 {
101				atmel,vl-bpix = <4>;
102				atmel,guard-time = <1>;
103				pinctrl-names = "default";
104				pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
105				status = "okay";
106				u-boot,dm-pre-reloc;
107
108				display-timings {
109					u-boot,dm-pre-reloc;
110					480x272 {
111						clock-frequency = <9000000>;
112						hactive = <480>;
113						vactive = <272>;
114						hsync-len = <41>;
115						hfront-porch = <2>;
116						hback-porch = <2>;
117						vfront-porch = <2>;
118						vback-porch = <2>;
119						vsync-len = <11>;
120						u-boot,dm-pre-reloc;
121					};
122				};
123			};
124
125			uart1: serial@f8020000 {
126				pinctrl-names = "default";
127				pinctrl-0 = <&pinctrl_uart1_default>;
128				status = "okay";
129				u-boot,dm-pre-reloc;
130			};
131
132			pioA: gpio@fc038000 {
133				pinctrl {
134					pinctrl_lcd_base: pinctrl_lcd_base {
135						pinmux = <PIN_PC5__LCDVSYNC>,
136							 <PIN_PC6__LCDHSYNC>,
137							 <PIN_PC8__LCDDEN>,
138							 <PIN_PC7__LCDPCK>;
139						bias-disable;
140					};
141
142					pinctrl_lcd_pwm: pinctrl_lcd_pwm {
143						pinmux = <PIN_PC3__LCDPWM>;
144						bias-disable;
145					};
146
147					pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
148						pinmux = <PIN_PB13__LCDDAT2>,
149							 <PIN_PB14__LCDDAT3>,
150							 <PIN_PB15__LCDDAT4>,
151							 <PIN_PB16__LCDDAT5>,
152							 <PIN_PB17__LCDDAT6>,
153							 <PIN_PB18__LCDDAT7>,
154							 <PIN_PB21__LCDDAT10>,
155							 <PIN_PB22__LCDDAT11>,
156							 <PIN_PB23__LCDDAT12>,
157							 <PIN_PB24__LCDDAT13>,
158							 <PIN_PB25__LCDDAT14>,
159							 <PIN_PB26__LCDDAT15>,
160							 <PIN_PB29__LCDDAT18>,
161							 <PIN_PB30__LCDDAT19>,
162							 <PIN_PB31__LCDDAT20>,
163							 <PIN_PC0__LCDDAT21>,
164							 <PIN_PC1__LCDDAT22>,
165							 <PIN_PC2__LCDDAT23>;
166						bias-disable;
167					};
168
169					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
170						pinmux = <PIN_PA1__SDMMC0_CMD>,
171							 <PIN_PA2__SDMMC0_DAT0>,
172							 <PIN_PA3__SDMMC0_DAT1>,
173							 <PIN_PA4__SDMMC0_DAT2>,
174							 <PIN_PA5__SDMMC0_DAT3>,
175							 <PIN_PA6__SDMMC0_DAT4>,
176							 <PIN_PA7__SDMMC0_DAT5>,
177							 <PIN_PA8__SDMMC0_DAT6>,
178							 <PIN_PA9__SDMMC0_DAT7>;
179						bias-pull-up;
180						u-boot,dm-pre-reloc;
181					};
182
183					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
184						pinmux = <PIN_PA0__SDMMC0_CK>,
185							 <PIN_PA10__SDMMC0_RSTN>,
186							 <PIN_PA13__SDMMC0_CD>;
187						bias-disable;
188						u-boot,dm-pre-reloc;
189					};
190
191					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
192						pinmux = <PIN_PA28__SDMMC1_CMD>,
193							 <PIN_PA18__SDMMC1_DAT0>,
194							 <PIN_PA19__SDMMC1_DAT1>,
195							 <PIN_PA20__SDMMC1_DAT2>,
196							 <PIN_PA21__SDMMC1_DAT3>;
197						bias-pull-up;
198						u-boot,dm-pre-reloc;
199					};
200
201					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
202						pinmux = <PIN_PA22__SDMMC1_CK>,
203							 <PIN_PA30__SDMMC1_CD>;
204						bias-disable;
205						u-boot,dm-pre-reloc;
206					};
207
208					pinctrl_uart1_default: uart1_default {
209						pinmux = <PIN_PD2__URXD1>,
210							 <PIN_PD3__UTXD1>;
211						bias-disable;
212						u-boot,dm-pre-reloc;
213					};
214
215					pinctrl_usb_default: usb_default {
216						pinmux = <PIN_PB10__GPIO>;
217						bias-disable;
218					};
219
220					pinctrl_usba_vbus: usba_vbus {
221						pinmux = <PIN_PA31__GPIO>;
222						bias-disable;
223					};
224
225					pinctrl_onewire_tm_default: onewire_tm_default {
226						pinmux = <PIN_PA17__GPIO>;
227						bias-pull-up;
228					};
229				};
230			};
231		};
232	};
233};
234