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