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