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