Commit 26489729 authored by Alexandre Belloni's avatar Alexandre Belloni Committed by Nicolas Ferre
Browse files

ARM: at91: dt: sam9rl: Device Tree for the at91sam9rlek



Add a device tree for the at91sam9rl-ek. For now it supports:
 - MMC
 - dbgu
 - usart1
 - watchdog
 - nand
 - leds
 - buttons

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: default avatarBoris BREZILLON <b.brezillon.dev@gmail.com>
Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent 188e4fe3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb
dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb
# sam9n12
dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb
# sam9rl
dtb-$(CONFIG_ARCH_AT91) += at91sam9rlek.dtb
# sam9x5
dtb-$(CONFIG_ARCH_AT91) += at91-ariag25.dtb
dtb-$(CONFIG_ARCH_AT91) += at91-cosino_mega2560.dtb
+151 −0
Original line number Diff line number Diff line
/*
 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
 *
 *  Copyright (C) 2014  Alexandre Belloni <alexandre.belloni@free-electrons.com>
 *
 * Licensed under GPLv2 only
 */
/dts-v1/;
#include "at91sam9rl.dtsi"

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

	chosen {
		bootargs = "console=ttyS0,115200 rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw";
	};

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

	clocks {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		main_clock: clock {
			compatible = "atmel,osc", "fixed-clock";
			clock-frequency = <12000000>;
		};
	};

	ahb {
		nand0: nand@40000000 {
			nand-bus-width = <8>;
			nand-ecc-mode = "soft";
			nand-on-flash-bbt = <1>;
			status = "okay";

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

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

	leds {
		compatible = "gpio-leds";

		ds1 {
			label = "ds1";
			gpios = <&pioD 15 GPIO_ACTIVE_LOW>;
		};

		ds2 {
			label = "ds2";
			gpios = <&pioD 16 GPIO_ACTIVE_LOW>;
		};

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

	gpio_keys {
		compatible = "gpio-keys";

		right_click {
			label = "right_click";
			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
			linux,code = <273>;
			gpio-key,wakeup;
		};

		left_click {
			label = "left_click";
			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
			linux,code = <272>;
			gpio-key,wakeup;
		};
	};
};