0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
0004 *
0005 * Copyright (C) 2014 Microchip
0006 * Alexandre Belloni <alexandre.belloni@free-electrons.com>
0007 */
0008 /dts-v1/;
0009 #include "at91sam9rl.dtsi"
0010
0011 / {
0012 model = "Atmel at91sam9rlek";
0013 compatible = "atmel,at91sam9rlek", "atmel,at91sam9rl", "atmel,at91sam9";
0014
0015 chosen {
0016 bootargs = "rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw";
0017 stdout-path = "serial0:115200n8";
0018 };
0019
0020 memory@20000000 {
0021 reg = <0x20000000 0x4000000>;
0022 };
0023
0024 clocks {
0025 slow_xtal {
0026 clock-frequency = <32768>;
0027 };
0028
0029 main_xtal {
0030 clock-frequency = <12000000>;
0031 };
0032 };
0033
0034 ahb {
0035 fb0: fb@500000 {
0036 display = <&display0>;
0037 status = "okay";
0038
0039 display0: panel {
0040 bits-per-pixel = <16>;
0041 atmel,lcdcon-backlight;
0042 atmel,dmacon = <0x1>;
0043 atmel,lcdcon2 = <0x80008002>;
0044 atmel,guard-time = <1>;
0045 atmel,lcd-wiring-mode = "RGB";
0046
0047 display-timings {
0048 native-mode = <&timing0>;
0049 timing0: timing0 {
0050 clock-frequency = <4965000>;
0051 hactive = <240>;
0052 vactive = <320>;
0053 hback-porch = <1>;
0054 hfront-porch = <33>;
0055 vback-porch = <1>;
0056 vfront-porch = <0>;
0057 hsync-len = <5>;
0058 vsync-len = <1>;
0059 hsync-active = <1>;
0060 vsync-active = <1>;
0061 };
0062 };
0063 };
0064 };
0065
0066 ebi: ebi@10000000 {
0067 pinctrl-0 = <&pinctrl_ebi_addr_nand>;
0068 pinctrl-names = "default";
0069 status = "okay";
0070
0071 nand_controller: nand-controller {
0072 status = "okay";
0073 pinctrl-0 = <&pinctrl_nand_oe_we
0074 &pinctrl_nand_cs
0075 &pinctrl_nand_rb>;
0076 pinctrl-names = "default";
0077
0078 nand@3 {
0079 reg = <0x3 0x0 0x800000>;
0080 rb-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
0081 cs-gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
0082 nand-bus-width = <8>;
0083 nand-ecc-mode = "soft";
0084 nand-on-flash-bbt;
0085 label = "atmel_nand";
0086
0087 partitions {
0088 compatible = "fixed-partitions";
0089 #address-cells = <1>;
0090 #size-cells = <1>;
0091
0092 at91bootstrap@0 {
0093 label = "at91bootstrap";
0094 reg = <0x0 0x40000>;
0095 };
0096
0097 bootloader@40000 {
0098 label = "bootloader";
0099 reg = <0x40000 0x80000>;
0100 };
0101
0102 bootloaderenv@c0000 {
0103 label = "bootloader env";
0104 reg = <0xc0000 0xc0000>;
0105 };
0106
0107 dtb@180000 {
0108 label = "device tree";
0109 reg = <0x180000 0x80000>;
0110 };
0111
0112 kernel@200000 {
0113 label = "kernel";
0114 reg = <0x200000 0x600000>;
0115 };
0116
0117 rootfs@800000 {
0118 label = "rootfs";
0119 reg = <0x800000 0x0f800000>;
0120 };
0121 };
0122 };
0123 };
0124 };
0125
0126 apb {
0127 tcb0: timer@fffa0000 {
0128 timer@0 {
0129 compatible = "atmel,tcb-timer";
0130 reg = <0>, <1>;
0131 };
0132
0133 timer@2 {
0134 compatible = "atmel,tcb-timer";
0135 reg = <2>;
0136 };
0137 };
0138
0139 mmc0: mmc@fffa4000 {
0140 pinctrl-0 = <
0141 &pinctrl_board_mmc0
0142 &pinctrl_mmc0_clk
0143 &pinctrl_mmc0_slot0_cmd_dat0
0144 &pinctrl_mmc0_slot0_dat1_3>;
0145 status = "okay";
0146 slot@0 {
0147 reg = <0>;
0148 bus-width = <4>;
0149 cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
0150 };
0151 };
0152
0153 usart0: serial@fffb0000 {
0154 pinctrl-0 = <
0155 &pinctrl_usart0
0156 &pinctrl_usart0_rts
0157 &pinctrl_usart0_cts>;
0158 status = "okay";
0159 };
0160
0161 adc0: adc@fffd0000 {
0162 pinctrl-names = "default";
0163 pinctrl-0 = <
0164 &pinctrl_adc0_ad0
0165 &pinctrl_adc0_ad1
0166 &pinctrl_adc0_ad2
0167 &pinctrl_adc0_ad3
0168 &pinctrl_adc0_ad4
0169 &pinctrl_adc0_ad5
0170 &pinctrl_adc0_adtrg>;
0171 atmel,adc-ts-wires = <4>;
0172 status = "okay";
0173 };
0174
0175 usb0: gadget@fffd4000 {
0176 atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>;
0177 status = "okay";
0178 };
0179
0180 spi0: spi@fffcc000 {
0181 status = "okay";
0182 cs-gpios = <&pioA 28 0>, <0>, <0>, <0>;
0183 flash@0 {
0184 compatible = "atmel,at45", "atmel,dataflash";
0185 spi-max-frequency = <15000000>;
0186 reg = <0>;
0187 };
0188 };
0189
0190 pwm0: pwm@fffc8000 {
0191 status = "okay";
0192
0193 pinctrl-names = "default";
0194 pinctrl-0 = <&pinctrl_pwm0_pwm1_2>,
0195 <&pinctrl_pwm0_pwm2_2>;
0196 };
0197
0198 dbgu: serial@fffff200 {
0199 status = "okay";
0200 };
0201
0202 pinctrl@fffff400 {
0203 mmc0 {
0204 pinctrl_board_mmc0: mmc0-board {
0205 atmel,pins =
0206 <AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
0207 };
0208 };
0209 };
0210
0211 watchdog@fffffd40 {
0212 status = "okay";
0213 };
0214
0215 rtc@fffffd20 {
0216 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
0217 };
0218
0219 rtc@fffffe00 {
0220 status = "okay";
0221 };
0222 };
0223 };
0224
0225 led-controller-1 {
0226 compatible = "pwm-leds";
0227
0228 led-1 {
0229 label = "ds1";
0230 pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
0231 max-brightness = <255>;
0232 };
0233
0234 led-2 {
0235 label = "ds2";
0236 pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>;
0237 max-brightness = <255>;
0238 };
0239 };
0240
0241 led-controller-2 {
0242 compatible = "gpio-leds";
0243
0244 led-3 {
0245 label = "ds3";
0246 gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
0247 linux,default-trigger = "heartbeat";
0248 };
0249 };
0250
0251 gpio-keys {
0252 compatible = "gpio-keys";
0253
0254 button-right-click {
0255 label = "right_click";
0256 gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
0257 linux,code = <273>;
0258 wakeup-source;
0259 };
0260
0261 button-left-click {
0262 label = "left_click";
0263 gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
0264 linux,code = <272>;
0265 wakeup-source;
0266 };
0267 };
0268
0269 i2c-gpio-0 {
0270 status = "okay";
0271 };
0272
0273 i2c-gpio-1 {
0274 status = "okay";
0275 };
0276 };