1262569Simp/* 2262569Simp * at91sam9m10g45ek.dts - Device Tree file for AT91SAM9M10G45-EK board 3262569Simp * 4262569Simp * Copyright (C) 2011 Atmel, 5262569Simp * 2011 Nicolas Ferre <nicolas.ferre@atmel.com> 6262569Simp * 7262569Simp * Licensed under GPLv2 or later. 8262569Simp */ 9262569Simp/dts-v1/; 10262569Simp#include "at91sam9g45.dtsi" 11270864Simp#include <dt-bindings/pwm/pwm.h> 12262569Simp 13262569Simp/ { 14262569Simp model = "Atmel AT91SAM9M10G45-EK"; 15262569Simp compatible = "atmel,at91sam9m10g45ek", "atmel,at91sam9g45", "atmel,at91sam9"; 16262569Simp 17262569Simp chosen { 18262569Simp bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"; 19262569Simp }; 20262569Simp 21262569Simp memory { 22262569Simp reg = <0x70000000 0x4000000>; 23262569Simp }; 24262569Simp 25262569Simp clocks { 26262569Simp #address-cells = <1>; 27262569Simp #size-cells = <1>; 28262569Simp ranges; 29262569Simp 30262569Simp main_clock: clock@0 { 31262569Simp compatible = "atmel,osc", "fixed-clock"; 32262569Simp clock-frequency = <12000000>; 33262569Simp }; 34270864Simp 35270864Simp slow_xtal { 36270864Simp clock-frequency = <32768>; 37270864Simp }; 38270864Simp 39270864Simp main_xtal { 40270864Simp clock-frequency = <12000000>; 41270864Simp }; 42262569Simp }; 43262569Simp 44262569Simp ahb { 45262569Simp apb { 46262569Simp dbgu: serial@ffffee00 { 47262569Simp status = "okay"; 48262569Simp }; 49262569Simp 50262569Simp usart1: serial@fff90000 { 51262569Simp pinctrl-0 = 52262569Simp <&pinctrl_usart1 53262569Simp &pinctrl_usart1_rts 54262569Simp &pinctrl_usart1_cts>; 55262569Simp status = "okay"; 56262569Simp }; 57262569Simp 58262569Simp macb0: ethernet@fffbc000 { 59262569Simp phy-mode = "rmii"; 60262569Simp status = "okay"; 61262569Simp }; 62262569Simp 63262569Simp i2c0: i2c@fff84000 { 64262569Simp status = "okay"; 65262569Simp }; 66262569Simp 67262569Simp i2c1: i2c@fff88000 { 68262569Simp status = "okay"; 69262569Simp }; 70262569Simp 71262569Simp watchdog@fffffd40 { 72262569Simp status = "okay"; 73262569Simp }; 74262569Simp 75262569Simp mmc0: mmc@fff80000 { 76262569Simp pinctrl-0 = < 77262569Simp &pinctrl_board_mmc0 78262569Simp &pinctrl_mmc0_slot0_clk_cmd_dat0 79262569Simp &pinctrl_mmc0_slot0_dat1_3>; 80262569Simp status = "okay"; 81262569Simp slot@0 { 82262569Simp reg = <0>; 83262569Simp bus-width = <4>; 84262569Simp cd-gpios = <&pioD 10 GPIO_ACTIVE_HIGH>; 85262569Simp }; 86262569Simp }; 87262569Simp 88262569Simp mmc1: mmc@fffd0000 { 89262569Simp pinctrl-0 = < 90262569Simp &pinctrl_board_mmc1 91262569Simp &pinctrl_mmc1_slot0_clk_cmd_dat0 92262569Simp &pinctrl_mmc1_slot0_dat1_3>; 93262569Simp status = "okay"; 94262569Simp slot@0 { 95262569Simp reg = <0>; 96262569Simp bus-width = <4>; 97262569Simp cd-gpios = <&pioD 11 GPIO_ACTIVE_HIGH>; 98262569Simp wp-gpios = <&pioD 29 GPIO_ACTIVE_HIGH>; 99262569Simp }; 100262569Simp }; 101262569Simp 102262569Simp pinctrl@fffff200 { 103262569Simp mmc0 { 104262569Simp pinctrl_board_mmc0: mmc0-board { 105262569Simp atmel,pins = 106262569Simp <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD10 gpio CD pin pull up and deglitch */ 107262569Simp }; 108262569Simp }; 109262569Simp 110262569Simp mmc1 { 111262569Simp pinctrl_board_mmc1: mmc1-board { 112262569Simp atmel,pins = 113262569Simp <AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH /* PD11 gpio CD pin pull up and deglitch */ 114262569Simp AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD29 gpio WP pin pull up */ 115262569Simp }; 116262569Simp }; 117262569Simp 118262569Simp pwm0 { 119262569Simp pinctrl_pwm_leds: pwm-led { 120262569Simp atmel,pins = 121262569Simp <AT91_PIOD 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PD0 periph B */ 122262569Simp AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PD31 periph B */ 123262569Simp }; 124262569Simp }; 125262569Simp }; 126262569Simp 127262569Simp spi0: spi@fffa4000{ 128262569Simp status = "okay"; 129262569Simp cs-gpios = <&pioB 3 0>, <0>, <0>, <0>; 130262569Simp mtd_dataflash@0 { 131262569Simp compatible = "atmel,at45", "atmel,dataflash"; 132262569Simp spi-max-frequency = <13000000>; 133262569Simp reg = <0>; 134262569Simp }; 135262569Simp }; 136262569Simp 137262569Simp usb2: gadget@fff78000 { 138262569Simp atmel,vbus-gpio = <&pioB 19 GPIO_ACTIVE_HIGH>; 139262569Simp status = "okay"; 140262569Simp }; 141262569Simp 142270864Simp adc0: adc@fffb0000 { 143270864Simp pinctrl-names = "default"; 144270864Simp pinctrl-0 = < 145270864Simp &pinctrl_adc0_ad0 146270864Simp &pinctrl_adc0_ad1 147270864Simp &pinctrl_adc0_ad2 148270864Simp &pinctrl_adc0_ad3 149270864Simp &pinctrl_adc0_ad4 150270864Simp &pinctrl_adc0_ad5 151270864Simp &pinctrl_adc0_ad6 152270864Simp &pinctrl_adc0_ad7>; 153270864Simp atmel,adc-ts-wires = <4>; 154270864Simp status = "okay"; 155270864Simp }; 156270864Simp 157262569Simp pwm0: pwm@fffb8000 { 158262569Simp status = "okay"; 159262569Simp 160262569Simp pinctrl-names = "default"; 161262569Simp pinctrl-0 = <&pinctrl_pwm_leds>; 162262569Simp }; 163284090Sian 164284090Sian rtc@fffffd20 { 165284090Sian atmel,rtt-rtc-time-reg = <&gpbr 0x0>; 166284090Sian status = "okay"; 167284090Sian }; 168284090Sian 169284090Sian gpbr: syscon@fffffd60 { 170284090Sian status = "okay"; 171284090Sian }; 172284090Sian 173284090Sian rtc@fffffdb0 { 174284090Sian status = "okay"; 175284090Sian }; 176262569Simp }; 177262569Simp 178262569Simp fb0: fb@0x00500000 { 179262569Simp display = <&display0>; 180262569Simp status = "okay"; 181262569Simp 182262569Simp display0: display { 183262569Simp bits-per-pixel = <32>; 184262569Simp atmel,lcdcon-backlight; 185262569Simp atmel,dmacon = <0x1>; 186262569Simp atmel,lcdcon2 = <0x80008002>; 187262569Simp atmel,guard-time = <9>; 188262569Simp atmel,lcd-wiring-mode = "RGB"; 189262569Simp 190262569Simp display-timings { 191262569Simp native-mode = <&timing0>; 192262569Simp timing0: timing0 { 193262569Simp clock-frequency = <9000000>; 194262569Simp hactive = <480>; 195262569Simp vactive = <272>; 196262569Simp hback-porch = <1>; 197262569Simp hfront-porch = <1>; 198262569Simp vback-porch = <40>; 199262569Simp vfront-porch = <1>; 200262569Simp hsync-len = <45>; 201262569Simp vsync-len = <1>; 202262569Simp }; 203262569Simp }; 204262569Simp }; 205262569Simp }; 206262569Simp 207262569Simp nand0: nand@40000000 { 208262569Simp nand-bus-width = <8>; 209262569Simp nand-ecc-mode = "soft"; 210262569Simp nand-on-flash-bbt; 211262569Simp status = "okay"; 212262569Simp 213262569Simp boot@0 { 214262569Simp label = "bootstrap/uboot/kernel"; 215262569Simp reg = <0x0 0x400000>; 216262569Simp }; 217262569Simp 218262569Simp rootfs@400000 { 219262569Simp label = "rootfs"; 220262569Simp reg = <0x400000 0x3C00000>; 221262569Simp }; 222262569Simp 223262569Simp data@4000000 { 224262569Simp label = "data"; 225262569Simp reg = <0x4000000 0xC000000>; 226262569Simp }; 227262569Simp }; 228262569Simp 229262569Simp usb0: ohci@00700000 { 230262569Simp status = "okay"; 231262569Simp num-ports = <2>; 232262569Simp atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW 233262569Simp &pioD 3 GPIO_ACTIVE_LOW>; 234262569Simp }; 235262569Simp 236262569Simp usb1: ehci@00800000 { 237262569Simp status = "okay"; 238262569Simp }; 239262569Simp }; 240262569Simp 241262569Simp leds { 242262569Simp compatible = "gpio-leds"; 243262569Simp 244262569Simp d8 { 245262569Simp label = "d8"; 246262569Simp gpios = <&pioD 30 GPIO_ACTIVE_HIGH>; 247262569Simp linux,default-trigger = "heartbeat"; 248262569Simp }; 249262569Simp }; 250262569Simp 251262569Simp pwmleds { 252262569Simp compatible = "pwm-leds"; 253262569Simp 254262569Simp d6 { 255262569Simp label = "d6"; 256270864Simp pwms = <&pwm0 3 5000 PWM_POLARITY_INVERTED>; 257262569Simp max-brightness = <255>; 258262569Simp linux,default-trigger = "nand-disk"; 259262569Simp }; 260262569Simp 261262569Simp d7 { 262262569Simp label = "d7"; 263270864Simp pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>; 264262569Simp max-brightness = <255>; 265262569Simp linux,default-trigger = "mmc0"; 266262569Simp }; 267262569Simp }; 268262569Simp 269262569Simp gpio_keys { 270262569Simp compatible = "gpio-keys"; 271262569Simp 272262569Simp left_click { 273262569Simp label = "left_click"; 274262569Simp gpios = <&pioB 6 GPIO_ACTIVE_LOW>; 275262569Simp linux,code = <272>; 276262569Simp gpio-key,wakeup; 277262569Simp }; 278262569Simp 279262569Simp right_click { 280262569Simp label = "right_click"; 281262569Simp gpios = <&pioB 7 GPIO_ACTIVE_LOW>; 282262569Simp linux,code = <273>; 283262569Simp gpio-key,wakeup; 284262569Simp }; 285262569Simp 286262569Simp left { 287262569Simp label = "Joystick Left"; 288262569Simp gpios = <&pioB 14 GPIO_ACTIVE_LOW>; 289262569Simp linux,code = <105>; 290262569Simp }; 291262569Simp 292262569Simp right { 293262569Simp label = "Joystick Right"; 294262569Simp gpios = <&pioB 15 GPIO_ACTIVE_LOW>; 295262569Simp linux,code = <106>; 296262569Simp }; 297262569Simp 298262569Simp up { 299262569Simp label = "Joystick Up"; 300262569Simp gpios = <&pioB 16 GPIO_ACTIVE_LOW>; 301262569Simp linux,code = <103>; 302262569Simp }; 303262569Simp 304262569Simp down { 305262569Simp label = "Joystick Down"; 306262569Simp gpios = <&pioB 17 GPIO_ACTIVE_LOW>; 307262569Simp linux,code = <108>; 308262569Simp }; 309262569Simp 310262569Simp enter { 311262569Simp label = "Joystick Press"; 312262569Simp gpios = <&pioB 18 GPIO_ACTIVE_LOW>; 313262569Simp linux,code = <28>; 314262569Simp }; 315262569Simp }; 316262569Simp}; 317