1/*
2 * at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board
3 *
4 *  Copyright (C) 2017 Microchip Technology Inc,
5 *		       Ludovic Desroches <ludovic.desroches@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 "sama5d2.dtsi"
48#include "sama5d2-pinfunc.h"
49
50/ {
51	model = "Atmel SAMA5D2 PTC EK";
52	compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
53
54	chosen {
55		u-boot,dm-pre-reloc;
56		stdout-path = &uart0;
57	};
58
59	onewire_tm: onewire {
60		gpios = <&pioA PIN_PB31 0>;
61		pinctrl-names = "default";
62		pinctrl-0 = <&pinctrl_onewire_tm_default>;
63		status = "okay";
64
65		w1_eeprom: w1_eeprom@0 {
66			compatible = "maxim,ds24b33";
67			status = "okay";
68		};
69	};
70
71	ahb {
72		usb0: gadget@00300000 {
73			atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
74			pinctrl-names = "default";
75			pinctrl-0 = <&pinctrl_usba_vbus>;
76			status = "okay";
77		};
78
79		usb1: ohci@00400000 {
80			num-ports = <3>;
81			atmel,vbus-gpio = <0
82					   &pioA PIN_PB12 GPIO_ACTIVE_HIGH
83					   0
84					  >;
85			pinctrl-names = "default";
86			pinctrl-0 = <&pinctrl_usb_default>;
87			status = "okay";
88		};
89
90		usb2: ehci@00500000 {
91			status = "okay";
92		};
93
94		sdmmc0: sdio-host@a0000000 {
95			bus-width = <8>;
96			pinctrl-names = "default";
97			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
98			status = "okay";
99			u-boot,dm-pre-reloc;
100		};
101
102		sdmmc1: sdio-host@b0000000 {
103			bus-width = <4>;
104			pinctrl-names = "default";
105			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
106			status = "disabled"; /* conflicts with nand and qspi0*/
107			u-boot,dm-pre-reloc;
108		};
109
110		apb {
111			macb0: ethernet@f8008000 {
112				pinctrl-names = "default";
113				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
114				phy-mode = "rmii";
115				status = "okay";
116
117				ethernet-phy@1 {
118					reg = <0x1>;
119				};
120			};
121
122			uart0: serial@f801c000 {
123				pinctrl-names = "default";
124				pinctrl-0 = <&pinctrl_uart0_default>;
125				status = "okay";
126				u-boot,dm-pre-reloc;
127			};
128
129			i2c1: i2c@fc028000 {
130				pinctrl-names = "default";
131				pinctrl-0 = <&pinctrl_i2c1_default>;
132				status = "okay";
133
134				i2c_eeprom: i2c_eeprom@50 {
135					compatible = "atmel,24mac402";
136					reg = <0x50>;
137				};
138			};
139
140			pioA: gpio@fc038000 {
141				pinctrl {
142					pinctrl_i2c1_default: i2c1_default {
143						pinmux = <PIN_PC6__TWD1>,
144							 <PIN_PC7__TWCK1>;
145						bias-disable;
146					};
147
148					pinctrl_macb0_phy_irq: macb0_phy_irq {
149						pinmux = <PIN_PB24__GPIO>;
150						bias-disable;
151					};
152
153					pinctrl_macb0_rmii: macb0_rmii {
154						pinmux = <PIN_PB14__GTXCK>,
155							 <PIN_PB15__GTXEN>,
156							 <PIN_PB16__GRXDV>,
157							 <PIN_PB17__GRXER>,
158							 <PIN_PB18__GRX0>,
159							 <PIN_PB19__GRX1>,
160							 <PIN_PB20__GTX0>,
161							 <PIN_PB21__GTX1>,
162							 <PIN_PB22__GMDC>,
163							 <PIN_PB23__GMDIO>;
164						bias-disable;
165					};
166
167					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
168						pinmux = <PIN_PA1__SDMMC0_CMD>,
169							 <PIN_PA2__SDMMC0_DAT0>,
170							 <PIN_PA3__SDMMC0_DAT1>,
171							 <PIN_PA4__SDMMC0_DAT2>,
172							 <PIN_PA5__SDMMC0_DAT3>,
173							 <PIN_PA6__SDMMC0_DAT4>,
174							 <PIN_PA7__SDMMC0_DAT5>,
175							 <PIN_PA8__SDMMC0_DAT6>,
176							 <PIN_PA9__SDMMC0_DAT7>;
177						bias-pull-up;
178						u-boot,dm-pre-reloc;
179					};
180
181					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
182						pinmux = <PIN_PA0__SDMMC0_CK>,
183							 <PIN_PA10__SDMMC0_RSTN>,
184							 <PIN_PA11__SDMMC0_VDDSEL>,
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_uart0_default: uart0_default {
208						pinmux = <PIN_PB26__URXD0>,
209							 <PIN_PB27__UTXD0>;
210						bias-disable;
211						u-boot,dm-pre-reloc;
212					};
213
214					pinctrl_usb_default: usb_default {
215						pinmux = <PIN_PB12__GPIO>;
216						bias-disable;
217					};
218
219					pinctrl_usba_vbus: usba_vbus {
220						pinmux = <PIN_PB11__GPIO>;
221						bias-disable;
222					};
223
224					pinctrl_onewire_tm_default: onewire_tm_default {
225						pinmux = <PIN_PB31__GPIO>;
226						bias-pull-up;
227					};
228				};
229			};
230		};
231	};
232};
233