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