/dts-v1/;
#include "sama5d2.dtsi"
#include "sama5d2-pinfunc.h"

/ {
	model = "Atmel SAMA5D2 Xplained";
	compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";

	chosen {
		u-boot,dm-pre-reloc;
		stdout-path = &uart1;
	};

	ahb {
		usb1: ohci@00400000 {
			num-ports = <3>;
			atmel,vbus-gpio = <&pioA 42 0>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usb_default>;
			status = "okay";
		};

		usb2: ehci@00500000 {
			status = "okay";
		};

		sdmmc0: sdio-host@a0000000 {
			bus-width = <8>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
			status = "okay";
			u-boot,dm-pre-reloc;
		};

		sdmmc1: sdio-host@b0000000 {
			bus-width = <4>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
			status = "okay"; /* conflict with qspi0 */
			u-boot,dm-pre-reloc;
		};

		apb {
			qspi0: spi@f0020000 {
				status = "okay";

				flash@0 {
					compatible = "atmel,sama5d2-qspi-flash";
					reg = <0>;
					#address-cells = <1>;
					#size-cells = <1>;
					pinctrl-names = "default";
					pinctrl-0 = <&pinctrl_qspi0_default>;
					spi-max-frequency = <83000000>;

					partition@00000000 {
						label = "boot";
						reg = <0x00000000 0x00c00000>;
					};

					partition@00c00000 {
						label = "rootfs";
						reg = <0x00c00000 0x00000000>;
					};
				};
			};

			spi0: spi@f8000000 {
				cs-gpios = <&pioA 17 0>, <0>, <0>, <0>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_spi0_default>;
				status = "okay";
				u-boot,dm-pre-reloc;

				spi_flash@0 {
					compatible = "spi-flash";
					reg = <0>;
					spi-max-frequency = <50000000>;
					u-boot,dm-pre-reloc;
				};
			};

			macb0: ethernet@f8008000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
				phy-mode = "rmii";
				status = "okay";

				ethernet-phy@1 {
					reg = <0x1>;
				};
			};

			uart1: serial@f8020000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_uart1_default>;
				status = "okay";
				u-boot,dm-pre-reloc;
			};

			i2c1: i2c@fc028000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_i2c1_default>;
				status = "okay";
			};

			pioA: gpio@fc038000 {
				pinctrl {
					pinctrl_i2c1_default: i2c1_default {
						pinmux = <PIN_PD4__TWD1>,
							 <PIN_PD5__TWCK1>;
						bias-disable;
					};

					pinctrl_macb0_phy_irq: macb0_phy_irq {
						pinmux = <PIN_PC9__GPIO>;
						bias-disable;
					};

					pinctrl_macb0_rmii: macb0_rmii {
						pinmux = <PIN_PB14__GTXCK>,
							 <PIN_PB15__GTXEN>,
							 <PIN_PB16__GRXDV>,
							 <PIN_PB17__GRXER>,
							 <PIN_PB18__GRX0>,
							 <PIN_PB19__GRX1>,
							 <PIN_PB20__GTX0>,
							 <PIN_PB21__GTX1>,
							 <PIN_PB22__GMDC>,
							 <PIN_PB23__GMDIO>;
						bias-disable;
					};

					pinctrl_qspi0_default: qspi0_default {
						pinmux = <PIN_PA22__QSPI0_SCK>,
							 <PIN_PA23__QSPI0_CS>,
							 <PIN_PA24__QSPI0_IO0>,
							 <PIN_PA25__QSPI0_IO1>,
							 <PIN_PA26__QSPI0_IO2>,
							 <PIN_PA27__QSPI0_IO3>;
						bias-disable;
					};

					pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
						pinmux = <PIN_PA1__SDMMC0_CMD>,
							 <PIN_PA2__SDMMC0_DAT0>,
							 <PIN_PA3__SDMMC0_DAT1>,
							 <PIN_PA4__SDMMC0_DAT2>,
							 <PIN_PA5__SDMMC0_DAT3>,
							 <PIN_PA6__SDMMC0_DAT4>,
							 <PIN_PA7__SDMMC0_DAT5>,
							 <PIN_PA8__SDMMC0_DAT6>,
							 <PIN_PA9__SDMMC0_DAT7>;
						bias-pull-up;
						u-boot,dm-pre-reloc;
					};

					pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
						pinmux = <PIN_PA0__SDMMC0_CK>,
							 <PIN_PA10__SDMMC0_RSTN>,
							 <PIN_PA11__SDMMC0_VDDSEL>,
							 <PIN_PA13__SDMMC0_CD>;
						bias-disable;
						u-boot,dm-pre-reloc;
					};

					pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
						pinmux = <PIN_PA28__SDMMC1_CMD>,
							 <PIN_PA18__SDMMC1_DAT0>,
							 <PIN_PA19__SDMMC1_DAT1>,
							 <PIN_PA20__SDMMC1_DAT2>,
							 <PIN_PA21__SDMMC1_DAT3>;
						bias-pull-up;
						u-boot,dm-pre-reloc;
					};

					pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
						pinmux = <PIN_PA22__SDMMC1_CK>,
							 <PIN_PA30__SDMMC1_CD>;
						bias-disable;
						u-boot,dm-pre-reloc;
					};

					pinctrl_spi0_default: spi0_default {
						pinmux = <PIN_PA14__SPI0_SPCK>,
							 <PIN_PA15__SPI0_MOSI>,
							 <PIN_PA16__SPI0_MISO>;
						bias-disable;
						u-boot,dm-pre-reloc;
					};

					pinctrl_uart1_default: uart1_default {
						pinmux = <PIN_PD2__URXD1>,
							 <PIN_PD3__UTXD1>;
						bias-disable;
						u-boot,dm-pre-reloc;
					};

					pinctrl_usb_default: usb_default {
						pinmux = <PIN_PB10__GPIO>;
						bias-disable;
					};

					pinctrl_usba_vbus: usba_vbus {
						pinmux = <PIN_PA31__GPIO>;
						bias-disable;
					};
				};
			};
		};
	};
};
