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 {
10*4529ee3bSWenyou Yang		u-boot,dm-pre-reloc;
112c4b2dd2SWenyou Yang		stdout-path = &uart1;
122c4b2dd2SWenyou Yang	};
132c4b2dd2SWenyou Yang
142c4b2dd2SWenyou Yang	ahb {
152c4b2dd2SWenyou Yang		usb1: ohci@00400000 {
162c4b2dd2SWenyou Yang			num-ports = <3>;
172c4b2dd2SWenyou Yang			atmel,vbus-gpio = <&pioA 42 0>;
182c4b2dd2SWenyou Yang			pinctrl-names = "default";
192c4b2dd2SWenyou Yang			pinctrl-0 = <&pinctrl_usb_default>;
202c4b2dd2SWenyou Yang			status = "okay";
212c4b2dd2SWenyou Yang		};
222c4b2dd2SWenyou Yang
232c4b2dd2SWenyou Yang		usb2: ehci@00500000 {
242c4b2dd2SWenyou Yang			status = "okay";
252c4b2dd2SWenyou Yang		};
262c4b2dd2SWenyou Yang
272c4b2dd2SWenyou Yang		sdmmc0: sdio-host@a0000000 {
282c4b2dd2SWenyou Yang			bus-width = <8>;
292c4b2dd2SWenyou Yang			pinctrl-names = "default";
302c4b2dd2SWenyou Yang			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
312c4b2dd2SWenyou Yang			status = "okay";
32*4529ee3bSWenyou Yang			u-boot,dm-pre-reloc;
332c4b2dd2SWenyou Yang		};
342c4b2dd2SWenyou Yang
352c4b2dd2SWenyou Yang		sdmmc1: sdio-host@b0000000 {
362c4b2dd2SWenyou Yang			bus-width = <4>;
372c4b2dd2SWenyou Yang			pinctrl-names = "default";
382c4b2dd2SWenyou Yang			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
392c4b2dd2SWenyou Yang			status = "okay"; /* conflict with qspi0 */
40*4529ee3bSWenyou Yang			u-boot,dm-pre-reloc;
412c4b2dd2SWenyou Yang		};
422c4b2dd2SWenyou Yang
432c4b2dd2SWenyou Yang		apb {
442c4b2dd2SWenyou Yang			qspi0: spi@f0020000 {
452c4b2dd2SWenyou Yang				status = "okay";
462c4b2dd2SWenyou Yang
472c4b2dd2SWenyou Yang				flash@0 {
482c4b2dd2SWenyou Yang					compatible = "atmel,sama5d2-qspi-flash";
492c4b2dd2SWenyou Yang					reg = <0>;
502c4b2dd2SWenyou Yang					#address-cells = <1>;
512c4b2dd2SWenyou Yang					#size-cells = <1>;
522c4b2dd2SWenyou Yang					pinctrl-names = "default";
532c4b2dd2SWenyou Yang					pinctrl-0 = <&pinctrl_qspi0_default>;
542c4b2dd2SWenyou Yang					spi-max-frequency = <83000000>;
552c4b2dd2SWenyou Yang
562c4b2dd2SWenyou Yang					partition@00000000 {
572c4b2dd2SWenyou Yang						label = "boot";
582c4b2dd2SWenyou Yang						reg = <0x00000000 0x00c00000>;
592c4b2dd2SWenyou Yang					};
602c4b2dd2SWenyou Yang
612c4b2dd2SWenyou Yang					partition@00c00000 {
622c4b2dd2SWenyou Yang						label = "rootfs";
632c4b2dd2SWenyou Yang						reg = <0x00c00000 0x00000000>;
642c4b2dd2SWenyou Yang					};
652c4b2dd2SWenyou Yang				};
662c4b2dd2SWenyou Yang			};
672c4b2dd2SWenyou Yang
682c4b2dd2SWenyou Yang			spi0: spi@f8000000 {
692c4b2dd2SWenyou Yang				cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
702c4b2dd2SWenyou Yang				pinctrl-names = "default";
712c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_spi0_default>;
722c4b2dd2SWenyou Yang				status = "okay";
73*4529ee3bSWenyou Yang				u-boot,dm-pre-reloc;
742c4b2dd2SWenyou Yang
752c4b2dd2SWenyou Yang				spi_flash@0 {
762c4b2dd2SWenyou Yang					compatible = "spi-flash";
772c4b2dd2SWenyou Yang					reg = <0>;
782c4b2dd2SWenyou Yang					spi-max-frequency = <50000000>;
79*4529ee3bSWenyou Yang					u-boot,dm-pre-reloc;
802c4b2dd2SWenyou Yang				};
812c4b2dd2SWenyou Yang			};
822c4b2dd2SWenyou Yang
832c4b2dd2SWenyou Yang			macb0: ethernet@f8008000 {
842c4b2dd2SWenyou Yang				pinctrl-names = "default";
852c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
862c4b2dd2SWenyou Yang				phy-mode = "rmii";
872c4b2dd2SWenyou Yang				status = "okay";
882c4b2dd2SWenyou Yang
892c4b2dd2SWenyou Yang				ethernet-phy@1 {
902c4b2dd2SWenyou Yang					reg = <0x1>;
912c4b2dd2SWenyou Yang				};
922c4b2dd2SWenyou Yang			};
932c4b2dd2SWenyou Yang
942c4b2dd2SWenyou Yang			uart1: serial@f8020000 {
952c4b2dd2SWenyou Yang				pinctrl-names = "default";
962c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_uart1_default>;
972c4b2dd2SWenyou Yang				status = "okay";
98*4529ee3bSWenyou Yang				u-boot,dm-pre-reloc;
992c4b2dd2SWenyou Yang			};
1002c4b2dd2SWenyou Yang
1012c4b2dd2SWenyou Yang			i2c1: i2c@fc028000 {
1022c4b2dd2SWenyou Yang				pinctrl-names = "default";
1032c4b2dd2SWenyou Yang				pinctrl-0 = <&pinctrl_i2c1_default>;
1042c4b2dd2SWenyou Yang				status = "okay";
1052c4b2dd2SWenyou Yang			};
1062c4b2dd2SWenyou Yang
1072c4b2dd2SWenyou Yang			pioA: gpio@fc038000 {
1082c4b2dd2SWenyou Yang				pinctrl {
1092c4b2dd2SWenyou Yang					pinctrl_i2c1_default: i2c1_default {
1102c4b2dd2SWenyou Yang						pinmux = <PIN_PD4__TWD1>,
1112c4b2dd2SWenyou Yang							 <PIN_PD5__TWCK1>;
1122c4b2dd2SWenyou Yang						bias-disable;
1132c4b2dd2SWenyou Yang					};
1142c4b2dd2SWenyou Yang
1152c4b2dd2SWenyou Yang					pinctrl_macb0_phy_irq: macb0_phy_irq {
1162c4b2dd2SWenyou Yang						pinmux = <PIN_PC9__GPIO>;
1172c4b2dd2SWenyou Yang						bias-disable;
1182c4b2dd2SWenyou Yang					};
1192c4b2dd2SWenyou Yang
1202c4b2dd2SWenyou Yang					pinctrl_macb0_rmii: macb0_rmii {
1212c4b2dd2SWenyou Yang						pinmux = <PIN_PB14__GTXCK>,
1222c4b2dd2SWenyou Yang							 <PIN_PB15__GTXEN>,
1232c4b2dd2SWenyou Yang							 <PIN_PB16__GRXDV>,
1242c4b2dd2SWenyou Yang							 <PIN_PB17__GRXER>,
1252c4b2dd2SWenyou Yang							 <PIN_PB18__GRX0>,
1262c4b2dd2SWenyou Yang							 <PIN_PB19__GRX1>,
1272c4b2dd2SWenyou Yang							 <PIN_PB20__GTX0>,
1282c4b2dd2SWenyou Yang							 <PIN_PB21__GTX1>,
1292c4b2dd2SWenyou Yang							 <PIN_PB22__GMDC>,
1302c4b2dd2SWenyou Yang							 <PIN_PB23__GMDIO>;
1312c4b2dd2SWenyou Yang						bias-disable;
1322c4b2dd2SWenyou Yang					};
1332c4b2dd2SWenyou Yang
1342c4b2dd2SWenyou Yang					pinctrl_qspi0_default: qspi0_default {
1352c4b2dd2SWenyou Yang						pinmux = <PIN_PA22__QSPI0_SCK>,
1362c4b2dd2SWenyou Yang							 <PIN_PA23__QSPI0_CS>,
1372c4b2dd2SWenyou Yang							 <PIN_PA24__QSPI0_IO0>,
1382c4b2dd2SWenyou Yang							 <PIN_PA25__QSPI0_IO1>,
1392c4b2dd2SWenyou Yang							 <PIN_PA26__QSPI0_IO2>,
1402c4b2dd2SWenyou Yang							 <PIN_PA27__QSPI0_IO3>;
1412c4b2dd2SWenyou Yang						bias-disable;
1422c4b2dd2SWenyou Yang					};
1432c4b2dd2SWenyou Yang
1442c4b2dd2SWenyou Yang					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
1452c4b2dd2SWenyou Yang						pinmux = <PIN_PA1__SDMMC0_CMD>,
1462c4b2dd2SWenyou Yang							 <PIN_PA2__SDMMC0_DAT0>,
1472c4b2dd2SWenyou Yang							 <PIN_PA3__SDMMC0_DAT1>,
1482c4b2dd2SWenyou Yang							 <PIN_PA4__SDMMC0_DAT2>,
1492c4b2dd2SWenyou Yang							 <PIN_PA5__SDMMC0_DAT3>,
1502c4b2dd2SWenyou Yang							 <PIN_PA6__SDMMC0_DAT4>,
1512c4b2dd2SWenyou Yang							 <PIN_PA7__SDMMC0_DAT5>,
1522c4b2dd2SWenyou Yang							 <PIN_PA8__SDMMC0_DAT6>,
1532c4b2dd2SWenyou Yang							 <PIN_PA9__SDMMC0_DAT7>;
1542c4b2dd2SWenyou Yang						bias-pull-up;
155*4529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
1562c4b2dd2SWenyou Yang					};
1572c4b2dd2SWenyou Yang
1582c4b2dd2SWenyou Yang					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
1592c4b2dd2SWenyou Yang						pinmux = <PIN_PA0__SDMMC0_CK>,
1602c4b2dd2SWenyou Yang							 <PIN_PA10__SDMMC0_RSTN>,
1612c4b2dd2SWenyou Yang							 <PIN_PA11__SDMMC0_VDDSEL>,
1622c4b2dd2SWenyou Yang							 <PIN_PA13__SDMMC0_CD>;
1632c4b2dd2SWenyou Yang						bias-disable;
164*4529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
1652c4b2dd2SWenyou Yang					};
1662c4b2dd2SWenyou Yang
1672c4b2dd2SWenyou Yang					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
1682c4b2dd2SWenyou Yang						pinmux = <PIN_PA28__SDMMC1_CMD>,
1692c4b2dd2SWenyou Yang							 <PIN_PA18__SDMMC1_DAT0>,
1702c4b2dd2SWenyou Yang							 <PIN_PA19__SDMMC1_DAT1>,
1712c4b2dd2SWenyou Yang							 <PIN_PA20__SDMMC1_DAT2>,
1722c4b2dd2SWenyou Yang							 <PIN_PA21__SDMMC1_DAT3>;
1732c4b2dd2SWenyou Yang						bias-pull-up;
174*4529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
1752c4b2dd2SWenyou Yang					};
1762c4b2dd2SWenyou Yang
1772c4b2dd2SWenyou Yang					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
1782c4b2dd2SWenyou Yang						pinmux = <PIN_PA22__SDMMC1_CK>,
1792c4b2dd2SWenyou Yang							 <PIN_PA30__SDMMC1_CD>;
1802c4b2dd2SWenyou Yang						bias-disable;
181*4529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
1822c4b2dd2SWenyou Yang					};
1832c4b2dd2SWenyou Yang
1842c4b2dd2SWenyou Yang					pinctrl_spi0_default: spi0_default {
1852c4b2dd2SWenyou Yang						pinmux = <PIN_PA14__SPI0_SPCK>,
1862c4b2dd2SWenyou Yang							 <PIN_PA15__SPI0_MOSI>,
1872c4b2dd2SWenyou Yang							 <PIN_PA16__SPI0_MISO>;
1882c4b2dd2SWenyou Yang						bias-disable;
189*4529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
1902c4b2dd2SWenyou Yang					};
1912c4b2dd2SWenyou Yang
1922c4b2dd2SWenyou Yang					pinctrl_uart1_default: uart1_default {
1932c4b2dd2SWenyou Yang						pinmux = <PIN_PD2__URXD1>,
1942c4b2dd2SWenyou Yang							 <PIN_PD3__UTXD1>;
1952c4b2dd2SWenyou Yang						bias-disable;
196*4529ee3bSWenyou Yang						u-boot,dm-pre-reloc;
1972c4b2dd2SWenyou Yang					};
1982c4b2dd2SWenyou Yang
1992c4b2dd2SWenyou Yang					pinctrl_usb_default: usb_default {
2002c4b2dd2SWenyou Yang						pinmux = <PIN_PB10__GPIO>;
2012c4b2dd2SWenyou Yang						bias-disable;
2022c4b2dd2SWenyou Yang					};
2032c4b2dd2SWenyou Yang
2042c4b2dd2SWenyou Yang					pinctrl_usba_vbus: usba_vbus {
2052c4b2dd2SWenyou Yang						pinmux = <PIN_PA31__GPIO>;
2062c4b2dd2SWenyou Yang						bias-disable;
2072c4b2dd2SWenyou Yang					};
2082c4b2dd2SWenyou Yang				};
2092c4b2dd2SWenyou Yang			};
2102c4b2dd2SWenyou Yang		};
2112c4b2dd2SWenyou Yang	};
2122c4b2dd2SWenyou Yang};
213