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