// SPDX-License-Identifier: GPL-2.0-only
/*
 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
 *
 *  Copyright (C) 2014 Microchip
 *  Alexandre Belloni <alexandre.belloni@free-electrons.com>
 */
/dts-v1/;
#include "at91sam9rl.dtsi"

/ {
	model = "Atmel at91sam9rlek";
	compatible = "atmel,at91sam9rlek", "atmel,at91sam9rl", "atmel,at91sam9";

	chosen {
		bootargs = "rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw";
		stdout-path = "serial0:115200n8";
	};

	memory@20000000 {
		reg = <0x20000000 0x4000000>;
	};

	clocks {
		slow_xtal {
			clock-frequency = <32768>;
		};

		main_xtal {
			clock-frequency = <12000000>;
		};
	};

	ahb {
		fb0: fb@500000 {
			display = <&display0>;
			status = "okay";

			display0: panel {
				bits-per-pixel = <16>;
				atmel,lcdcon-backlight;
				atmel,dmacon = <0x1>;
				atmel,lcdcon2 = <0x80008002>;
				atmel,guard-time = <1>;
				atmel,lcd-wiring-mode = "RGB";

				display-timings {
					native-mode = <&timing0>;
					timing0: timing0 {
						clock-frequency = <4965000>;
						hactive = <240>;
						vactive = <320>;
						hback-porch = <1>;
						hfront-porch = <33>;
						vback-porch = <1>;
						vfront-porch = <0>;
						hsync-len = <5>;
						vsync-len = <1>;
						hsync-active = <1>;
						vsync-active = <1>;
					};
				};
			};
		};

		ebi: ebi@10000000 {
			pinctrl-0 = <&pinctrl_ebi_addr_nand>;
			pinctrl-names = "default";
			status = "okay";

			nand_controller: nand-controller {
				status = "okay";
				pinctrl-0 = <&pinctrl_nand_oe_we
					     &pinctrl_nand_cs
					     &pinctrl_nand_rb>;
				pinctrl-names = "default";

				nand@3 {
					reg = <0x3 0x0 0x800000>;
					rb-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
					cs-gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
					nand-bus-width = <8>;
					nand-ecc-mode = "soft";
					nand-on-flash-bbt;
					label = "atmel_nand";

					partitions {
						compatible = "fixed-partitions";
						#address-cells = <1>;
						#size-cells = <1>;

						at91bootstrap@0 {
							label = "at91bootstrap";
							reg = <0x0 0x40000>;
						};

						bootloader@40000 {
							label = "bootloader";
							reg = <0x40000 0x80000>;
						};

						bootloaderenv@c0000 {
							label = "bootloader env";
							reg = <0xc0000 0xc0000>;
						};

						dtb@180000 {
							label = "device tree";
							reg = <0x180000 0x80000>;
						};

						kernel@200000 {
							label = "kernel";
							reg = <0x200000 0x600000>;
						};

						rootfs@800000 {
							label = "rootfs";
							reg = <0x800000 0x0f800000>;
						};
					};
				};
			};
		};

		apb {
			tcb0: timer@fffa0000 {
				timer@0 {
					compatible = "atmel,tcb-timer";
					reg = <0>, <1>;
				};

				timer@2 {
					compatible = "atmel,tcb-timer";
					reg = <2>;
				};
			};

			mmc0: mmc@fffa4000 {
				pinctrl-0 = <
					&pinctrl_board_mmc0
					&pinctrl_mmc0_clk
					&pinctrl_mmc0_slot0_cmd_dat0
					&pinctrl_mmc0_slot0_dat1_3>;
				status = "okay";
				slot@0 {
					reg = <0>;
					bus-width = <4>;
					cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
				};
			};

			usart0: serial@fffb0000 {
				pinctrl-0 = <
					&pinctrl_usart0
					&pinctrl_usart0_rts
					&pinctrl_usart0_cts>;
				status = "okay";
			};

			adc0: adc@fffd0000 {
				pinctrl-names = "default";
				pinctrl-0 = <
					&pinctrl_adc0_ad0
					&pinctrl_adc0_ad1
					&pinctrl_adc0_ad2
					&pinctrl_adc0_ad3
					&pinctrl_adc0_ad4
					&pinctrl_adc0_ad5
					&pinctrl_adc0_adtrg>;
				atmel,adc-ts-wires = <4>;
				status = "okay";
			};

			usb0: gadget@fffd4000 {
				atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>;
				status = "okay";
			};

			spi0: spi@fffcc000 {
				status = "okay";
				cs-gpios = <&pioA 28 0>, <0>, <0>, <0>;
				flash@0 {
					compatible = "atmel,at45", "atmel,dataflash";
					spi-max-frequency = <15000000>;
					reg = <0>;
				};
			};

			pwm0: pwm@fffc8000 {
				status = "okay";

				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_pwm0_pwm1_2>,
					<&pinctrl_pwm0_pwm2_2>;
			};

			dbgu: serial@fffff200 {
				status = "okay";
			};

			pinctrl@fffff400 {
				mmc0 {
					pinctrl_board_mmc0: mmc0-board {
						atmel,pins =
							<AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};
				};
			};

			watchdog@fffffd40 {
				status = "okay";
			};

			rtc@fffffd20 {
				atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
			};

			rtc@fffffe00 {
				status = "okay";
			};
		};
	};

	led-controller-1 {
		compatible = "pwm-leds";

		led-1 {
			label = "ds1";
			pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
		};

		led-2 {
			label = "ds2";
			pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>;
			max-brightness = <255>;
		};
	};

	led-controller-2 {
		compatible = "gpio-leds";

		led-3 {
			label = "ds3";
			gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		button-right-click {
			label = "right_click";
			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
			linux,code = <273>;
			wakeup-source;
		};

		button-left-click {
			label = "left_click";
			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
			linux,code = <272>;
			wakeup-source;
		};
	};

	i2c-gpio-0 {
		status = "okay";
	};

	i2c-gpio-1 {
		status = "okay";
	};
};
