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