/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;
	};

	onewire_tm: onewire {
		gpios = <&pioA PIN_PB0 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_onewire_tm_default>;
		status = "okay";

		w1_eeprom: w1_eeprom@0 {
			compatible = "maxim,ds24b33";
			status = "okay";
		};
	};

	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 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_qspi0_sck_cs_default &pinctrl_qspi0_dat_default>;
				status = "okay";
				u-boot,dm-pre-reloc;

				flash@0 {
					compatible = "jedec,spi-nor";
					reg = <0>;
					spi-max-frequency = <83000000>;
					spi-rx-bus-width = <4>;
					spi-tx-bus-width = <4>;
					u-boot,dm-pre-reloc;
				};
			};

			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 = "jedec,spi-nor";
					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_sck_cs_default: qspi0_sck_cs_default {
						pinmux = <PIN_PA22__QSPI0_SCK>,
							 <PIN_PA23__QSPI0_CS>;
						bias-disable;
						u-boot,dm-pre-reloc;
					};

					pinctrl_qspi0_dat_default: qspi0_dat_default {
						pinmux = <PIN_PA24__QSPI0_IO0>,
							 <PIN_PA25__QSPI0_IO1>,
							 <PIN_PA26__QSPI0_IO2>,
							 <PIN_PA27__QSPI0_IO3>;
						bias-pull-up;
						u-boot,dm-pre-reloc;
					};

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

					pinctrl_onewire_tm_default: onewire_tm_default {
						pinmux = <PIN_PB0__GPIO>;
						bias-pull-up;
					};
				};
			};
		};
	};
};
