1*cd339347SWenyou Yang/* 2*cd339347SWenyou Yang * at91sam9n12ek.dts - Device Tree file for AT91SAM9N12-EK board 3*cd339347SWenyou Yang * 4*cd339347SWenyou Yang * Copyright (C) 2012 Atmel, 5*cd339347SWenyou Yang * 2012 Hong Xu <hong.xu@atmel.com> 6*cd339347SWenyou Yang * 7*cd339347SWenyou Yang * Licensed under GPLv2 or later. 8*cd339347SWenyou Yang */ 9*cd339347SWenyou Yang/dts-v1/; 10*cd339347SWenyou Yang#include "at91sam9n12.dtsi" 11*cd339347SWenyou Yang 12*cd339347SWenyou Yang/ { 13*cd339347SWenyou Yang model = "Atmel AT91SAM9N12-EK"; 14*cd339347SWenyou Yang compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9"; 15*cd339347SWenyou Yang 16*cd339347SWenyou Yang chosen { 17*cd339347SWenyou Yang bootargs = "root=/dev/mtdblock1 rw rootfstype=jffs2"; 18*cd339347SWenyou Yang stdout-path = "serial0:115200n8"; 19*cd339347SWenyou Yang u-boot,dm-pre-reloc; 20*cd339347SWenyou Yang }; 21*cd339347SWenyou Yang 22*cd339347SWenyou Yang memory { 23*cd339347SWenyou Yang reg = <0x20000000 0x8000000>; 24*cd339347SWenyou Yang }; 25*cd339347SWenyou Yang 26*cd339347SWenyou Yang clocks { 27*cd339347SWenyou Yang slow_xtal { 28*cd339347SWenyou Yang clock-frequency = <32768>; 29*cd339347SWenyou Yang }; 30*cd339347SWenyou Yang 31*cd339347SWenyou Yang main_xtal { 32*cd339347SWenyou Yang clock-frequency = <16000000>; 33*cd339347SWenyou Yang }; 34*cd339347SWenyou Yang }; 35*cd339347SWenyou Yang 36*cd339347SWenyou Yang ahb { 37*cd339347SWenyou Yang apb { 38*cd339347SWenyou Yang dbgu: serial@fffff200 { 39*cd339347SWenyou Yang u-boot,dm-pre-reloc; 40*cd339347SWenyou Yang status = "okay"; 41*cd339347SWenyou Yang }; 42*cd339347SWenyou Yang 43*cd339347SWenyou Yang ssc0: ssc@f0010000 { 44*cd339347SWenyou Yang status = "okay"; 45*cd339347SWenyou Yang }; 46*cd339347SWenyou Yang 47*cd339347SWenyou Yang i2c0: i2c@f8010000 { 48*cd339347SWenyou Yang status = "okay"; 49*cd339347SWenyou Yang 50*cd339347SWenyou Yang wm8904: codec@1a { 51*cd339347SWenyou Yang compatible = "wlf,wm8904"; 52*cd339347SWenyou Yang reg = <0x1a>; 53*cd339347SWenyou Yang clocks = <&pck0>; 54*cd339347SWenyou Yang clock-names = "mclk"; 55*cd339347SWenyou Yang }; 56*cd339347SWenyou Yang 57*cd339347SWenyou Yang qt1070: keyboard@1b { 58*cd339347SWenyou Yang compatible = "qt1070"; 59*cd339347SWenyou Yang reg = <0x1b>; 60*cd339347SWenyou Yang interrupt-parent = <&pioA>; 61*cd339347SWenyou Yang interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 62*cd339347SWenyou Yang pinctrl-names = "default"; 63*cd339347SWenyou Yang pinctrl-0 = <&pinctrl_qt1070_irq>; 64*cd339347SWenyou Yang }; 65*cd339347SWenyou Yang }; 66*cd339347SWenyou Yang 67*cd339347SWenyou Yang mmc0: mmc@f0008000 { 68*cd339347SWenyou Yang pinctrl-names = "default"; 69*cd339347SWenyou Yang pinctrl-0 = < 70*cd339347SWenyou Yang &pinctrl_board_mmc0 71*cd339347SWenyou Yang &pinctrl_mmc0_slot0_clk_cmd_dat0 72*cd339347SWenyou Yang &pinctrl_mmc0_slot0_dat1_3>; 73*cd339347SWenyou Yang status = "okay"; 74*cd339347SWenyou Yang slot@0 { 75*cd339347SWenyou Yang reg = <0>; 76*cd339347SWenyou Yang bus-width = <4>; 77*cd339347SWenyou Yang cd-gpios = <&pioA 7 GPIO_ACTIVE_HIGH>; 78*cd339347SWenyou Yang }; 79*cd339347SWenyou Yang }; 80*cd339347SWenyou Yang 81*cd339347SWenyou Yang pinctrl@fffff400 { 82*cd339347SWenyou Yang mmc0 { 83*cd339347SWenyou Yang pinctrl_board_mmc0: mmc0-board { 84*cd339347SWenyou Yang atmel,pins = 85*cd339347SWenyou Yang <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PA7 gpio CD pin pull up and deglitch */ 86*cd339347SWenyou Yang }; 87*cd339347SWenyou Yang }; 88*cd339347SWenyou Yang 89*cd339347SWenyou Yang qt1070 { 90*cd339347SWenyou Yang pinctrl_qt1070_irq: qt1070_irq { 91*cd339347SWenyou Yang atmel,pins = 92*cd339347SWenyou Yang <AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 93*cd339347SWenyou Yang }; 94*cd339347SWenyou Yang }; 95*cd339347SWenyou Yang 96*cd339347SWenyou Yang sound { 97*cd339347SWenyou Yang pinctrl_pck0_as_audio_mck: pck0_as_audio_mck { 98*cd339347SWenyou Yang atmel,pins = 99*cd339347SWenyou Yang <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>; 100*cd339347SWenyou Yang }; 101*cd339347SWenyou Yang }; 102*cd339347SWenyou Yang 103*cd339347SWenyou Yang usb1 { 104*cd339347SWenyou Yang pinctrl_usb1_vbus_sense: usb1_vbus_sense { 105*cd339347SWenyou Yang atmel,pins = 106*cd339347SWenyou Yang <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PB16 gpio usb vbus sense, no pull up and deglitch */ 107*cd339347SWenyou Yang }; 108*cd339347SWenyou Yang }; 109*cd339347SWenyou Yang }; 110*cd339347SWenyou Yang 111*cd339347SWenyou Yang spi0: spi@f0000000 { 112*cd339347SWenyou Yang status = "okay"; 113*cd339347SWenyou Yang cs-gpios = <&pioA 14 0>, <0>, <0>, <0>; 114*cd339347SWenyou Yang spi_flash@0 { 115*cd339347SWenyou Yang compatible = "spi-flash"; 116*cd339347SWenyou Yang spi-max-frequency = <50000000>; 117*cd339347SWenyou Yang reg = <0>; 118*cd339347SWenyou Yang }; 119*cd339347SWenyou Yang }; 120*cd339347SWenyou Yang 121*cd339347SWenyou Yang hlcdc: hlcdc@f8038000 { 122*cd339347SWenyou Yang status = "okay"; 123*cd339347SWenyou Yang 124*cd339347SWenyou Yang hlcdc-display-controller { 125*cd339347SWenyou Yang pinctrl-names = "default"; 126*cd339347SWenyou Yang pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; 127*cd339347SWenyou Yang 128*cd339347SWenyou Yang port@0 { 129*cd339347SWenyou Yang hlcdc_panel_output: endpoint@0 { 130*cd339347SWenyou Yang reg = <0>; 131*cd339347SWenyou Yang remote-endpoint = <&panel_input>; 132*cd339347SWenyou Yang }; 133*cd339347SWenyou Yang }; 134*cd339347SWenyou Yang }; 135*cd339347SWenyou Yang }; 136*cd339347SWenyou Yang 137*cd339347SWenyou Yang usb1: gadget@f803c000 { 138*cd339347SWenyou Yang pinctrl-names = "default"; 139*cd339347SWenyou Yang pinctrl-0 = <&pinctrl_usb1_vbus_sense>; 140*cd339347SWenyou Yang atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; 141*cd339347SWenyou Yang status = "okay"; 142*cd339347SWenyou Yang }; 143*cd339347SWenyou Yang 144*cd339347SWenyou Yang watchdog@fffffe40 { 145*cd339347SWenyou Yang status = "okay"; 146*cd339347SWenyou Yang }; 147*cd339347SWenyou Yang 148*cd339347SWenyou Yang rtc@fffffeb0 { 149*cd339347SWenyou Yang status = "okay"; 150*cd339347SWenyou Yang }; 151*cd339347SWenyou Yang }; 152*cd339347SWenyou Yang 153*cd339347SWenyou Yang nand0: nand@40000000 { 154*cd339347SWenyou Yang nand-bus-width = <8>; 155*cd339347SWenyou Yang nand-ecc-mode = "hw"; 156*cd339347SWenyou Yang atmel,has-pmecc; 157*cd339347SWenyou Yang atmel,pmecc-cap = <2>; 158*cd339347SWenyou Yang atmel,pmecc-sector-size = <512>; 159*cd339347SWenyou Yang nand-on-flash-bbt; 160*cd339347SWenyou Yang status = "okay"; 161*cd339347SWenyou Yang }; 162*cd339347SWenyou Yang 163*cd339347SWenyou Yang usb0: ohci@00500000 { 164*cd339347SWenyou Yang num-ports = <1>; 165*cd339347SWenyou Yang atmel,vbus-gpio = <&pioB 7 GPIO_ACTIVE_LOW>; 166*cd339347SWenyou Yang status = "okay"; 167*cd339347SWenyou Yang }; 168*cd339347SWenyou Yang }; 169*cd339347SWenyou Yang 170*cd339347SWenyou Yang backlight: backlight { 171*cd339347SWenyou Yang compatible = "pwm-backlight"; 172*cd339347SWenyou Yang pwms = <&hlcdc_pwm 0 50000 0>; 173*cd339347SWenyou Yang brightness-levels = <0 4 8 16 32 64 128 255>; 174*cd339347SWenyou Yang default-brightness-level = <6>; 175*cd339347SWenyou Yang power-supply = <&bl_reg>; 176*cd339347SWenyou Yang status = "okay"; 177*cd339347SWenyou Yang }; 178*cd339347SWenyou Yang 179*cd339347SWenyou Yang bl_reg: backlight_regulator { 180*cd339347SWenyou Yang compatible = "regulator-fixed"; 181*cd339347SWenyou Yang regulator-name = "backlight-power-supply"; 182*cd339347SWenyou Yang regulator-min-microvolt = <5000000>; 183*cd339347SWenyou Yang regulator-max-microvolt = <5000000>; 184*cd339347SWenyou Yang status = "okay"; 185*cd339347SWenyou Yang }; 186*cd339347SWenyou Yang 187*cd339347SWenyou Yang leds { 188*cd339347SWenyou Yang compatible = "gpio-leds"; 189*cd339347SWenyou Yang 190*cd339347SWenyou Yang d8 { 191*cd339347SWenyou Yang label = "d8"; 192*cd339347SWenyou Yang gpios = <&pioB 4 GPIO_ACTIVE_LOW>; 193*cd339347SWenyou Yang linux,default-trigger = "mmc0"; 194*cd339347SWenyou Yang }; 195*cd339347SWenyou Yang 196*cd339347SWenyou Yang d9 { 197*cd339347SWenyou Yang label = "d9"; 198*cd339347SWenyou Yang gpios = <&pioB 5 GPIO_ACTIVE_LOW>; 199*cd339347SWenyou Yang linux,default-trigger = "nand-disk"; 200*cd339347SWenyou Yang }; 201*cd339347SWenyou Yang 202*cd339347SWenyou Yang d10 { 203*cd339347SWenyou Yang label = "d10"; 204*cd339347SWenyou Yang gpios = <&pioB 6 GPIO_ACTIVE_HIGH>; 205*cd339347SWenyou Yang linux,default-trigger = "heartbeat"; 206*cd339347SWenyou Yang }; 207*cd339347SWenyou Yang }; 208*cd339347SWenyou Yang 209*cd339347SWenyou Yang gpio_keys { 210*cd339347SWenyou Yang compatible = "gpio-keys"; 211*cd339347SWenyou Yang 212*cd339347SWenyou Yang enter { 213*cd339347SWenyou Yang label = "Enter"; 214*cd339347SWenyou Yang gpios = <&pioB 3 GPIO_ACTIVE_LOW>; 215*cd339347SWenyou Yang linux,code = <28>; 216*cd339347SWenyou Yang wakeup-source; 217*cd339347SWenyou Yang }; 218*cd339347SWenyou Yang }; 219*cd339347SWenyou Yang 220*cd339347SWenyou Yang panel: panel { 221*cd339347SWenyou Yang compatible = "qiaodian,qd43003c0-40", "simple-panel"; 222*cd339347SWenyou Yang backlight = <&backlight>; 223*cd339347SWenyou Yang power-supply = <&panel_reg>; 224*cd339347SWenyou Yang #address-cells = <1>; 225*cd339347SWenyou Yang #size-cells = <0>; 226*cd339347SWenyou Yang status = "okay"; 227*cd339347SWenyou Yang 228*cd339347SWenyou Yang port@0 { 229*cd339347SWenyou Yang reg = <0>; 230*cd339347SWenyou Yang #address-cells = <1>; 231*cd339347SWenyou Yang #size-cells = <0>; 232*cd339347SWenyou Yang 233*cd339347SWenyou Yang panel_input: endpoint@0 { 234*cd339347SWenyou Yang reg = <0>; 235*cd339347SWenyou Yang remote-endpoint = <&hlcdc_panel_output>; 236*cd339347SWenyou Yang }; 237*cd339347SWenyou Yang }; 238*cd339347SWenyou Yang }; 239*cd339347SWenyou Yang 240*cd339347SWenyou Yang panel_reg: panel_regulator { 241*cd339347SWenyou Yang compatible = "regulator-fixed"; 242*cd339347SWenyou Yang regulator-name = "panel-power-supply"; 243*cd339347SWenyou Yang regulator-min-microvolt = <3300000>; 244*cd339347SWenyou Yang regulator-max-microvolt = <3300000>; 245*cd339347SWenyou Yang status = "okay"; 246*cd339347SWenyou Yang }; 247*cd339347SWenyou Yang 248*cd339347SWenyou Yang sound { 249*cd339347SWenyou Yang compatible = "atmel,asoc-wm8904"; 250*cd339347SWenyou Yang pinctrl-names = "default"; 251*cd339347SWenyou Yang pinctrl-0 = <&pinctrl_pck0_as_audio_mck>; 252*cd339347SWenyou Yang 253*cd339347SWenyou Yang atmel,model = "wm8904 @ AT91SAM9N12"; 254*cd339347SWenyou Yang atmel,audio-routing = 255*cd339347SWenyou Yang "Headphone Jack", "HPOUTL", 256*cd339347SWenyou Yang "Headphone Jack", "HPOUTR", 257*cd339347SWenyou Yang "IN2L", "Line In Jack", 258*cd339347SWenyou Yang "IN2R", "Line In Jack", 259*cd339347SWenyou Yang "Mic", "MICBIAS", 260*cd339347SWenyou Yang "IN1L", "Mic"; 261*cd339347SWenyou Yang 262*cd339347SWenyou Yang atmel,ssc-controller = <&ssc0>; 263*cd339347SWenyou Yang atmel,audio-codec = <&wm8904>; 264*cd339347SWenyou Yang }; 265*cd339347SWenyou Yang}; 266