1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board 4 * 5 * Copyright (C) 2014 Microchip 6 * Alexandre Belloni <alexandre.belloni@free-electrons.com> 7 */ 8/dts-v1/; 9#include "at91sam9rl.dtsi" 10 11/ { 12 model = "Atmel at91sam9rlek"; 13 compatible = "atmel,at91sam9rlek", "atmel,at91sam9rl", "atmel,at91sam9"; 14 15 chosen { 16 bootargs = "rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw"; 17 stdout-path = "serial0:115200n8"; 18 }; 19 20 memory { 21 reg = <0x20000000 0x4000000>; 22 }; 23 24 clocks { 25 slow_xtal { 26 clock-frequency = <32768>; 27 }; 28 29 main_xtal { 30 clock-frequency = <12000000>; 31 }; 32 }; 33 34 ahb { 35 fb0: fb@500000 { 36 display = <&display0>; 37 status = "okay"; 38 39 display0: panel { 40 bits-per-pixel = <16>; 41 atmel,lcdcon-backlight; 42 atmel,dmacon = <0x1>; 43 atmel,lcdcon2 = <0x80008002>; 44 atmel,guard-time = <1>; 45 atmel,lcd-wiring-mode = "RGB"; 46 47 display-timings { 48 native-mode = <&timing0>; 49 timing0: timing0 { 50 clock-frequency = <4965000>; 51 hactive = <240>; 52 vactive = <320>; 53 hback-porch = <1>; 54 hfront-porch = <33>; 55 vback-porch = <1>; 56 vfront-porch = <0>; 57 hsync-len = <5>; 58 vsync-len = <1>; 59 hsync-active = <1>; 60 vsync-active = <1>; 61 }; 62 }; 63 }; 64 }; 65 66 ebi: ebi@10000000 { 67 pinctrl-0 = <&pinctrl_ebi_addr_nand>; 68 pinctrl-names = "default"; 69 status = "okay"; 70 71 nand_controller: nand-controller { 72 status = "okay"; 73 pinctrl-0 = <&pinctrl_nand_oe_we 74 &pinctrl_nand_cs 75 &pinctrl_nand_rb>; 76 pinctrl-names = "default"; 77 78 nand@3 { 79 reg = <0x3 0x0 0x800000>; 80 rb-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>; 81 cs-gpios = <&pioB 6 GPIO_ACTIVE_HIGH>; 82 nand-bus-width = <8>; 83 nand-ecc-mode = "soft"; 84 nand-on-flash-bbt; 85 label = "atmel_nand"; 86 87 partitions { 88 compatible = "fixed-partitions"; 89 #address-cells = <1>; 90 #size-cells = <1>; 91 92 at91bootstrap@0 { 93 label = "at91bootstrap"; 94 reg = <0x0 0x40000>; 95 }; 96 97 bootloader@40000 { 98 label = "bootloader"; 99 reg = <0x40000 0x80000>; 100 }; 101 102 bootloaderenv@c0000 { 103 label = "bootloader env"; 104 reg = <0xc0000 0xc0000>; 105 }; 106 107 dtb@180000 { 108 label = "device tree"; 109 reg = <0x180000 0x80000>; 110 }; 111 112 kernel@200000 { 113 label = "kernel"; 114 reg = <0x200000 0x600000>; 115 }; 116 117 rootfs@800000 { 118 label = "rootfs"; 119 reg = <0x800000 0x0f800000>; 120 }; 121 }; 122 }; 123 }; 124 }; 125 126 apb { 127 tcb0: timer@fffa0000 { 128 timer@0 { 129 compatible = "atmel,tcb-timer"; 130 reg = <0>, <1>; 131 }; 132 133 timer@2 { 134 compatible = "atmel,tcb-timer"; 135 reg = <2>; 136 }; 137 }; 138 139 mmc0: mmc@fffa4000 { 140 pinctrl-0 = < 141 &pinctrl_board_mmc0 142 &pinctrl_mmc0_clk 143 &pinctrl_mmc0_slot0_cmd_dat0 144 &pinctrl_mmc0_slot0_dat1_3>; 145 status = "okay"; 146 slot@0 { 147 reg = <0>; 148 bus-width = <4>; 149 cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>; 150 }; 151 }; 152 153 usart0: serial@fffb0000 { 154 pinctrl-0 = < 155 &pinctrl_usart0 156 &pinctrl_usart0_rts 157 &pinctrl_usart0_cts>; 158 status = "okay"; 159 }; 160 161 adc0: adc@fffd0000 { 162 pinctrl-names = "default"; 163 pinctrl-0 = < 164 &pinctrl_adc0_ad0 165 &pinctrl_adc0_ad1 166 &pinctrl_adc0_ad2 167 &pinctrl_adc0_ad3 168 &pinctrl_adc0_ad4 169 &pinctrl_adc0_ad5 170 &pinctrl_adc0_adtrg>; 171 atmel,adc-ts-wires = <4>; 172 status = "okay"; 173 }; 174 175 usb0: gadget@fffd4000 { 176 atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>; 177 status = "okay"; 178 }; 179 180 spi0: spi@fffcc000 { 181 status = "okay"; 182 cs-gpios = <&pioA 28 0>, <0>, <0>, <0>; 183 mtd_dataflash@0 { 184 compatible = "atmel,at45", "atmel,dataflash"; 185 spi-max-frequency = <15000000>; 186 reg = <0>; 187 }; 188 }; 189 190 pwm0: pwm@fffc8000 { 191 status = "okay"; 192 193 pinctrl-names = "default"; 194 pinctrl-0 = <&pinctrl_pwm0_pwm1_2>, 195 <&pinctrl_pwm0_pwm2_2>; 196 }; 197 198 dbgu: serial@fffff200 { 199 status = "okay"; 200 }; 201 202 pinctrl@fffff400 { 203 mmc0 { 204 pinctrl_board_mmc0: mmc0-board { 205 atmel,pins = 206 <AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 207 }; 208 }; 209 }; 210 211 watchdog@fffffd40 { 212 status = "okay"; 213 }; 214 215 rtc@fffffe00 { 216 status = "okay"; 217 }; 218 }; 219 }; 220 221 pwmleds { 222 compatible = "pwm-leds"; 223 224 ds1 { 225 label = "ds1"; 226 pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>; 227 max-brightness = <255>; 228 }; 229 230 ds2 { 231 label = "ds2"; 232 pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>; 233 max-brightness = <255>; 234 }; 235 }; 236 237 leds { 238 compatible = "gpio-leds"; 239 240 ds3 { 241 label = "ds3"; 242 gpios = <&pioD 14 GPIO_ACTIVE_HIGH>; 243 linux,default-trigger = "heartbeat"; 244 }; 245 }; 246 247 gpio_keys { 248 compatible = "gpio-keys"; 249 250 right_click { 251 label = "right_click"; 252 gpios = <&pioB 0 GPIO_ACTIVE_LOW>; 253 linux,code = <273>; 254 wakeup-source; 255 }; 256 257 left_click { 258 label = "left_click"; 259 gpios = <&pioB 1 GPIO_ACTIVE_LOW>; 260 linux,code = <272>; 261 wakeup-source; 262 }; 263 }; 264 265 i2c-gpio-0 { 266 status = "okay"; 267 }; 268 269 i2c-gpio-1 { 270 status = "okay"; 271 }; 272}; 273