12c4b2dd2SWenyou Yang/dts-v1/;
22c4b2dd2SWenyou Yang#include "sama5d2.dtsi"
32c4b2dd2SWenyou Yang#include "sama5d2-pinfunc.h"
42c4b2dd2SWenyou Yang
52c4b2dd2SWenyou Yang/ {
62c4b2dd2SWenyou Yang	model = "Atmel SAMA5D2 Xplained";
72c4b2dd2SWenyou Yang	compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
82c4b2dd2SWenyou Yang
92c4b2dd2SWenyou Yang	chosen {
104529ee3bSWenyou Yang		u-boot,dm-pre-reloc;
112c4b2dd2SWenyou Yang		stdout-path = &uart1;
122c4b2dd2SWenyou Yang	};
132c4b2dd2SWenyou Yang
14*7f0110d4SEugen Hristev	onewire_tm: onewire {
15*7f0110d4SEugen Hristev		gpios = <&pioA PIN_PB0 0>;
16*7f0110d4SEugen Hristev		pinctrl-names = "default";
17*7f0110d4SEugen Hristev		pinctrl-0 = <&pinctrl_onewire_tm_default>;
18*7f0110d4SEugen Hristev		status = "okay";
19*7f0110d4SEugen Hristev
20*7f0110d4SEugen Hristev		w1_eeprom: w1_eeprom@0 {
21*7f0110d4SEugen Hristev			compatible = "maxim,ds24b33";
22*7f0110d4SEugen Hristev			status = "okay";
23*7f0110d4SEugen Hristev		};
24*7f0110d4SEugen Hristev	};
25*7f0110d4SEugen Hristev
262c4b2dd2SWenyou Yang	ahb {
272c4b2dd2SWenyou Yang		usb1: ohci@00400000 {
282c4b2dd2SWenyou Yang			num-ports = <3>;
292c4b2dd2SWenyou Yang			atmel,vbus-gpio = <&pioA 42 0>;
302c4b2dd2SWenyou Yang			pinctrl-names = "default";
312c4b2dd2SWenyou Yang			pinctrl-0 = <&pinctrl_usb_default>;
322c4b2dd2SWenyou Yang			status = "okay";
332c4b2dd2SWenyou Yang		};
342c4b2dd2SWenyou Yang
352c4b2dd2SWenyou Yang		usb2: ehci@00500000 {
362c4b2dd2SWenyou Yang			status = "okay";
372c4b2dd2SWenyou Yang		};
382c4b2dd2SWenyou Yang
392c4b2dd2SWenyou Yang		sdmmc0: sdio-host@a0000000 {
402c4b2dd2SWenyou Yang			bus-width = <8>;
412c4b2dd2SWenyou Yang			pinctrl-names = "default";
422c4b2dd2SWenyou Yang			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
432c4b2dd2SWenyou Yang			status = "okay";
444529ee3bSWenyou Yang			u-boot,dm-pre-reloc;
452c4b2dd2SWenyou Yang		};
462c4b2dd2SWenyou Yang
472c4b2dd2SWenyou Yang		sdmmc1: sdio-host@b0000000 {
482c4b2dd2SWenyou Yang			bus-width = <4>;
492c4b2dd2SWenyou Yang			pinctrl-names = "default";
502c4b2dd2SWenyou Yang			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
512c4b2dd2SWenyou Yang			status = "okay"; /* conflict with qspi0 */
524529ee3bSWenyou Yang			u-boot,dm-pre-reloc;
532c4b2dd2SWenyou Yang		};
542c4b2dd2SWenyou Yang
552c4b2dd2SWenyou Yang		apb {
56d2cd09bbSWenyou Yang			hlcdc: hlcdc@f0000000 {
57d2cd09bbSWenyou Yang				atmel,vl-bpix = <4>;
58d2cd09bbSWenyou Yang				atmel,guard-time = <1>;
59d2cd09bbSWenyou Yang				pinctrl-names = "default";
60d2cd09bbSWenyou Yang				pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
61d2cd09bbSWenyou Yang				status = "okay";
62d2cd09bbSWenyou Yang				u-boot,dm-pre-reloc;
63d2cd09bbSWenyou Yang
64d2cd09bbSWenyou Yang				display-timings {
65d2cd09bbSWenyou Yang					u-boot,dm-pre-reloc;
66d2cd09bbSWenyou Yang					480x272 {
67d2cd09bbSWenyou Yang						clock-frequency = <9000000>;
68d2cd09bbSWenyou Yang						hactive = <480>;
69d2cd09bbSWenyou Yang						vactive = <272>;
70d2cd09bbSWenyou Yang						hsync-len = <41>;
71d2cd09bbSWenyou Yang						hfront-porch = <2>;
72d2cd09bbSWenyou Yang						hback-porch = <2>;
73d2cd09bbSWenyou Yang						vfront-porch = <2>;
74d2cd09bbSWenyou Yang						vback-porch = <2>;
75d2cd09bbSWenyou Yang						vsync-len = <11>;
76d2cd09bbSWenyou Yang						u-boot,dm-pre-reloc;
77d2cd09bbSWenyou Yang					};
78d2cd09bbSWenyou Yang				};
79d2cd09bbSWenyou Yang			};
80d2cd09bbSWenyou Yang
812c4b2dd2SWenyou Yang			qspi0: spi@f0020000 {
822c4b2dd2SWenyou Yang				status = "okay";
832c4b2dd2SWenyou Yang
842c4b2dd2SWenyou Yang				flash@0 {
852c4b2dd2SWenyou Yang					compatible = "atmel,sama5d2-qspi-flash";
862c4b2dd2SWenyou Yang					reg = <0>;
872c4b2dd2SWenyou Yang					#address-cells = <1>;
882c4b2dd2SWenyou Yang					#size-cells = <1>;
892c4b2dd2SWenyou Yang					pinctrl-names = "default";
902c4b2dd2SWenyou Yang					pinctrl-0 = <&pinctrl_qspi0_default>;
912c4b2dd2SWenyou Yang					spi-max-frequency = <83000000>;
922c4b2dd2SWenyou Yang
932c4b2dd2SWenyou Yang					partition@00000000 {
942c4b2dd2SWenyou Yang						label = "boot";
952c4b2dd2SWenyou Yang						reg = <0x00000000 0x00c00000>;
962c4b2dd2SWenyou Yang					};
972c4b2dd2SWenyou Yang
982c4b2dd2SWenyou Yang					partition@00c00000 {
992c4b2dd2SWenyou Yang						label = "rootfs";
1002c4b2dd2SWenyou Yang						reg = <0x00c00000 0x00000000>;
1012c4b2dd2SWenyou Yang					};
1022c4b2dd2SWenyou Yang				};
1032c4b2dd2SWenyou Yang			};
1042c4b2dd2SWenyou Yang
1052c4b2dd2SWenyou Yang			spi0: spi@f8000000 {
1062c4b2dd2SWenyou Yang				cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
1072c4b2dd2SWenyou Yang				pinctrl-names = "default";
1082c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_spi0_default>;
1092c4b2dd2SWenyou Yang				status = "okay";
1104529ee3bSWenyou Yang				u-boot,dm-pre-reloc;
1112c4b2dd2SWenyou Yang
1122c4b2dd2SWenyou Yang				spi_flash@0 {
1132c4b2dd2SWenyou Yang					compatible = "spi-flash";
1142c4b2dd2SWenyou Yang					reg = <0>;
1152c4b2dd2SWenyou Yang					spi-max-frequency = <50000000>;
1164529ee3bSWenyou Yang					u-boot,dm-pre-reloc;
1172c4b2dd2SWenyou Yang				};
1182c4b2dd2SWenyou Yang			};
1192c4b2dd2SWenyou Yang
1202c4b2dd2SWenyou Yang			macb0: ethernet@f8008000 {
1212c4b2dd2SWenyou Yang				pinctrl-names = "default";
1222c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
1232c4b2dd2SWenyou Yang				phy-mode = "rmii";
1242c4b2dd2SWenyou Yang				status = "okay";
1252c4b2dd2SWenyou Yang
1262c4b2dd2SWenyou Yang				ethernet-phy@1 {
1272c4b2dd2SWenyou Yang					reg = <0x1>;
1282c4b2dd2SWenyou Yang				};
1292c4b2dd2SWenyou Yang			};
1302c4b2dd2SWenyou Yang
1312c4b2dd2SWenyou Yang			uart1: serial@f8020000 {
1322c4b2dd2SWenyou Yang				pinctrl-names = "default";
1332c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_uart1_default>;
1342c4b2dd2SWenyou Yang				status = "okay";
1354529ee3bSWenyou Yang				u-boot,dm-pre-reloc;
1362c4b2dd2SWenyou Yang			};
1372c4b2dd2SWenyou Yang
1382c4b2dd2SWenyou Yang			i2c1: i2c@fc028000 {
1392c4b2dd2SWenyou Yang				pinctrl-names = "default";
1402c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_i2c1_default>;
1412c4b2dd2SWenyou Yang				status = "okay";
14234e2819dSWenyou Yang
14334e2819dSWenyou Yang				i2c_eeprom: i2c_eeprom@5c {
14434e2819dSWenyou Yang					compatible = "atmel,24mac402";
14534e2819dSWenyou Yang					reg = <0x5c>;
14634e2819dSWenyou Yang				};
1472c4b2dd2SWenyou Yang			};
1482c4b2dd2SWenyou Yang
1492c4b2dd2SWenyou Yang			pioA: gpio@fc038000 {
1502c4b2dd2SWenyou Yang				pinctrl {
1512c4b2dd2SWenyou Yang					pinctrl_i2c1_default: i2c1_default {
1522c4b2dd2SWenyou Yang						pinmux = <PIN_PD4__TWD1>,
1532c4b2dd2SWenyou Yang							 <PIN_PD5__TWCK1>;
1542c4b2dd2SWenyou Yang						bias-disable;
1552c4b2dd2SWenyou Yang					};
1562c4b2dd2SWenyou Yang
157d2cd09bbSWenyou Yang					pinctrl_lcd_base: pinctrl_lcd_base {
158d2cd09bbSWenyou Yang						pinmux = <PIN_PC30__LCDVSYNC>,
159d2cd09bbSWenyou Yang							<PIN_PC31__LCDHSYNC>,
160d2cd09bbSWenyou Yang							<PIN_PD1__LCDDEN>,
161d2cd09bbSWenyou Yang							<PIN_PD0__LCDPCK>;
162d2cd09bbSWenyou Yang						bias-disable;
163d2cd09bbSWenyou Yang					};
164d2cd09bbSWenyou Yang
165d2cd09bbSWenyou Yang					pinctrl_lcd_pwm: pinctrl_lcd_pwm {
166d2cd09bbSWenyou Yang						pinmux = <PIN_PC28__LCDPWM>;
167d2cd09bbSWenyou Yang						bias-disable;
168d2cd09bbSWenyou Yang					};
169d2cd09bbSWenyou Yang
170d2cd09bbSWenyou Yang					pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
171d2cd09bbSWenyou Yang						pinmux = <PIN_PC10__LCDDAT2>,
172d2cd09bbSWenyou Yang							<PIN_PC11__LCDDAT3>,
173d2cd09bbSWenyou Yang							<PIN_PC12__LCDDAT4>,
174d2cd09bbSWenyou Yang							<PIN_PC13__LCDDAT5>,
175d2cd09bbSWenyou Yang							<PIN_PC14__LCDDAT6>,
176d2cd09bbSWenyou Yang							<PIN_PC15__LCDDAT7>,
177d2cd09bbSWenyou Yang							<PIN_PC16__LCDDAT10>,
178d2cd09bbSWenyou Yang							<PIN_PC17__LCDDAT11>,
179d2cd09bbSWenyou Yang							<PIN_PC18__LCDDAT12>,
180d2cd09bbSWenyou Yang							<PIN_PC19__LCDDAT13>,
181d2cd09bbSWenyou Yang							<PIN_PC20__LCDDAT14>,
182d2cd09bbSWenyou Yang							<PIN_PC21__LCDDAT15>,
183d2cd09bbSWenyou Yang							<PIN_PC22__LCDDAT18>,
184d2cd09bbSWenyou Yang							<PIN_PC23__LCDDAT19>,
185d2cd09bbSWenyou Yang							<PIN_PC24__LCDDAT20>,
186d2cd09bbSWenyou Yang							<PIN_PC25__LCDDAT21>,
187d2cd09bbSWenyou Yang							<PIN_PC26__LCDDAT22>,
188d2cd09bbSWenyou Yang							<PIN_PC27__LCDDAT23>;
189d2cd09bbSWenyou Yang						bias-disable;
190d2cd09bbSWenyou Yang					};
191d2cd09bbSWenyou Yang
1922c4b2dd2SWenyou Yang					pinctrl_macb0_phy_irq: macb0_phy_irq {
1932c4b2dd2SWenyou Yang						pinmux = <PIN_PC9__GPIO>;
1942c4b2dd2SWenyou Yang						bias-disable;
1952c4b2dd2SWenyou Yang					};
1962c4b2dd2SWenyou Yang
1972c4b2dd2SWenyou Yang					pinctrl_macb0_rmii: macb0_rmii {
1982c4b2dd2SWenyou Yang						pinmux = <PIN_PB14__GTXCK>,
1992c4b2dd2SWenyou Yang							 <PIN_PB15__GTXEN>,
2002c4b2dd2SWenyou Yang							 <PIN_PB16__GRXDV>,
2012c4b2dd2SWenyou Yang							 <PIN_PB17__GRXER>,
2022c4b2dd2SWenyou Yang							 <PIN_PB18__GRX0>,
2032c4b2dd2SWenyou Yang							 <PIN_PB19__GRX1>,
2042c4b2dd2SWenyou Yang							 <PIN_PB20__GTX0>,
2052c4b2dd2SWenyou Yang							 <PIN_PB21__GTX1>,
2062c4b2dd2SWenyou Yang							 <PIN_PB22__GMDC>,
2072c4b2dd2SWenyou Yang							 <PIN_PB23__GMDIO>;
2082c4b2dd2SWenyou Yang						bias-disable;
2092c4b2dd2SWenyou Yang					};
2102c4b2dd2SWenyou Yang
2112c4b2dd2SWenyou Yang					pinctrl_qspi0_default: qspi0_default {
2122c4b2dd2SWenyou Yang						pinmux = <PIN_PA22__QSPI0_SCK>,
2132c4b2dd2SWenyou Yang							 <PIN_PA23__QSPI0_CS>,
2142c4b2dd2SWenyou Yang							 <PIN_PA24__QSPI0_IO0>,
2152c4b2dd2SWenyou Yang							 <PIN_PA25__QSPI0_IO1>,
2162c4b2dd2SWenyou Yang							 <PIN_PA26__QSPI0_IO2>,
2172c4b2dd2SWenyou Yang							 <PIN_PA27__QSPI0_IO3>;
2182c4b2dd2SWenyou Yang						bias-disable;
2192c4b2dd2SWenyou Yang					};
2202c4b2dd2SWenyou Yang
2212c4b2dd2SWenyou Yang					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
2222c4b2dd2SWenyou Yang						pinmux = <PIN_PA1__SDMMC0_CMD>,
2232c4b2dd2SWenyou Yang							 <PIN_PA2__SDMMC0_DAT0>,
2242c4b2dd2SWenyou Yang							 <PIN_PA3__SDMMC0_DAT1>,
2252c4b2dd2SWenyou Yang							 <PIN_PA4__SDMMC0_DAT2>,
2262c4b2dd2SWenyou Yang							 <PIN_PA5__SDMMC0_DAT3>,
2272c4b2dd2SWenyou Yang							 <PIN_PA6__SDMMC0_DAT4>,
2282c4b2dd2SWenyou Yang							 <PIN_PA7__SDMMC0_DAT5>,
2292c4b2dd2SWenyou Yang							 <PIN_PA8__SDMMC0_DAT6>,
2302c4b2dd2SWenyou Yang							 <PIN_PA9__SDMMC0_DAT7>;
2312c4b2dd2SWenyou Yang						bias-pull-up;
2324529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
2332c4b2dd2SWenyou Yang					};
2342c4b2dd2SWenyou Yang
2352c4b2dd2SWenyou Yang					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
2362c4b2dd2SWenyou Yang						pinmux = <PIN_PA0__SDMMC0_CK>,
2372c4b2dd2SWenyou Yang							 <PIN_PA10__SDMMC0_RSTN>,
2382c4b2dd2SWenyou Yang							 <PIN_PA11__SDMMC0_VDDSEL>,
2392c4b2dd2SWenyou Yang							 <PIN_PA13__SDMMC0_CD>;
2402c4b2dd2SWenyou Yang						bias-disable;
2414529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
2422c4b2dd2SWenyou Yang					};
2432c4b2dd2SWenyou Yang
2442c4b2dd2SWenyou Yang					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
2452c4b2dd2SWenyou Yang						pinmux = <PIN_PA28__SDMMC1_CMD>,
2462c4b2dd2SWenyou Yang							 <PIN_PA18__SDMMC1_DAT0>,
2472c4b2dd2SWenyou Yang							 <PIN_PA19__SDMMC1_DAT1>,
2482c4b2dd2SWenyou Yang							 <PIN_PA20__SDMMC1_DAT2>,
2492c4b2dd2SWenyou Yang							 <PIN_PA21__SDMMC1_DAT3>;
2502c4b2dd2SWenyou Yang						bias-pull-up;
2514529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
2522c4b2dd2SWenyou Yang					};
2532c4b2dd2SWenyou Yang
2542c4b2dd2SWenyou Yang					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
2552c4b2dd2SWenyou Yang						pinmux = <PIN_PA22__SDMMC1_CK>,
2562c4b2dd2SWenyou Yang							 <PIN_PA30__SDMMC1_CD>;
2572c4b2dd2SWenyou Yang						bias-disable;
2584529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
2592c4b2dd2SWenyou Yang					};
2602c4b2dd2SWenyou Yang
2612c4b2dd2SWenyou Yang					pinctrl_spi0_default: spi0_default {
2622c4b2dd2SWenyou Yang						pinmux = <PIN_PA14__SPI0_SPCK>,
2632c4b2dd2SWenyou Yang							 <PIN_PA15__SPI0_MOSI>,
2642c4b2dd2SWenyou Yang							 <PIN_PA16__SPI0_MISO>;
2652c4b2dd2SWenyou Yang						bias-disable;
2664529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
2672c4b2dd2SWenyou Yang					};
2682c4b2dd2SWenyou Yang
2692c4b2dd2SWenyou Yang					pinctrl_uart1_default: uart1_default {
2702c4b2dd2SWenyou Yang						pinmux = <PIN_PD2__URXD1>,
2712c4b2dd2SWenyou Yang							 <PIN_PD3__UTXD1>;
2722c4b2dd2SWenyou Yang						bias-disable;
2734529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
2742c4b2dd2SWenyou Yang					};
2752c4b2dd2SWenyou Yang
2762c4b2dd2SWenyou Yang					pinctrl_usb_default: usb_default {
2772c4b2dd2SWenyou Yang						pinmux = <PIN_PB10__GPIO>;
2782c4b2dd2SWenyou Yang						bias-disable;
2792c4b2dd2SWenyou Yang					};
2802c4b2dd2SWenyou Yang
2812c4b2dd2SWenyou Yang					pinctrl_usba_vbus: usba_vbus {
2822c4b2dd2SWenyou Yang						pinmux = <PIN_PA31__GPIO>;
2832c4b2dd2SWenyou Yang						bias-disable;
2842c4b2dd2SWenyou Yang					};
285*7f0110d4SEugen Hristev
286*7f0110d4SEugen Hristev					pinctrl_onewire_tm_default: onewire_tm_default {
287*7f0110d4SEugen Hristev						pinmux = <PIN_PB0__GPIO>;
288*7f0110d4SEugen Hristev						bias-pull-up;
289*7f0110d4SEugen Hristev					};
2902c4b2dd2SWenyou Yang				};
2912c4b2dd2SWenyou Yang			};
2922c4b2dd2SWenyou Yang		};
2932c4b2dd2SWenyou Yang	};
2942c4b2dd2SWenyou Yang};
295