/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 {
			hlcdc: hlcdc@f0000000 {
				atmel,vl-bpix = <4>;
				atmel,guard-time = <1>;
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
				status = "okay";
				u-boot,dm-pre-reloc;

				display-timings {
					u-boot,dm-pre-reloc;
					480x272 {
						clock-frequency = <9000000>;
						hactive = <480>;
						vactive = <272>;
						hsync-len = <41>;
						hfront-porch = <2>;
						hback-porch = <2>;
						vfront-porch = <2>;
						vback-porch = <2>;
						vsync-len = <11>;
						u-boot,dm-pre-reloc;
					};
				};
			};

			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";

				i2c_eeprom: i2c_eeprom@5c {
					compatible = "atmel,24mac402";
					reg = <0x5c>;
				};
			};

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

					pinctrl_lcd_base: pinctrl_lcd_base {
						pinmux = <PIN_PC30__LCDVSYNC>,
							<PIN_PC31__LCDHSYNC>,
							<PIN_PD1__LCDDEN>,
							<PIN_PD0__LCDPCK>;
						bias-disable;
					};

					pinctrl_lcd_pwm: pinctrl_lcd_pwm {
						pinmux = <PIN_PC28__LCDPWM>;
						bias-disable;
					};

					pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
						pinmux = <PIN_PC10__LCDDAT2>,
							<PIN_PC11__LCDDAT3>,
							<PIN_PC12__LCDDAT4>,
							<PIN_PC13__LCDDAT5>,
							<PIN_PC14__LCDDAT6>,
							<PIN_PC15__LCDDAT7>,
							<PIN_PC16__LCDDAT10>,
							<PIN_PC17__LCDDAT11>,
							<PIN_PC18__LCDDAT12>,
							<PIN_PC19__LCDDAT13>,
							<PIN_PC20__LCDDAT14>,
							<PIN_PC21__LCDDAT15>,
							<PIN_PC22__LCDDAT18>,
							<PIN_PC23__LCDDAT19>,
							<PIN_PC24__LCDDAT20>,
							<PIN_PC25__LCDDAT21>,
							<PIN_PC26__LCDDAT22>,
							<PIN_PC27__LCDDAT23>;
						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;
					};
				};
			};
		};
	};
};
