1/* 2 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board 3 * 4 * Copyright (C) 2015 Atmel, 5 * 2015 Josh Wu <josh.wu@atmel.com> 6 * 7 * This file is dual-licensed: you can use it either under the terms 8 * of the GPL or the X11 license, at your option. Note that this dual 9 * licensing only applies to this file, and not this project as a 10 * whole. 11 * 12 * a) This file is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License as 14 * published by the Free Software Foundation; either version 2 of the 15 * License, or (at your option) any later version. 16 * 17 * This file is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * Or, alternatively, 23 * 24 * b) Permission is hereby granted, free of charge, to any person 25 * obtaining a copy of this software and associated documentation 26 * files (the "Software"), to deal in the Software without 27 * restriction, including without limitation the rights to use, 28 * copy, modify, merge, publish, distribute, sublicense, and/or 29 * sell copies of the Software, and to permit persons to whom the 30 * Software is furnished to do so, subject to the following 31 * conditions: 32 * 33 * The above copyright notice and this permission notice shall be 34 * included in all copies or substantial portions of the Software. 35 * 36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 * OTHER DEALINGS IN THE SOFTWARE. 44 */ 45/dts-v1/; 46#include "sama5d4.dtsi" 47 48/ { 49 model = "Atmel SAMA5D4 Xplained"; 50 compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5"; 51 52 aliases { 53 spi0 = &spi0; 54 }; 55 56 chosen { 57 u-boot,dm-pre-reloc; 58 stdout-path = &usart3; 59 }; 60 61 onewire_tm: onewire { 62 gpios = <&pioE 15 GPIO_ACTIVE_LOW>; 63 pinctrl-names = "default"; 64 pinctrl-0 = <&pinctrl_onewire_tm_default>; 65 status = "okay"; 66 67 w1_eeprom: w1_eeprom@0 { 68 compatible = "maxim,ds24b33"; 69 status = "okay"; 70 }; 71 }; 72 73 memory { 74 reg = <0x20000000 0x20000000>; 75 }; 76 77 clocks { 78 slow_xtal { 79 clock-frequency = <32768>; 80 }; 81 82 main_xtal { 83 clock-frequency = <12000000>; 84 }; 85 }; 86 87 ahb { 88 apb { 89 hlcdc: hlcdc@f0000000 { 90 atmel,vl-bpix = <4>; 91 atmel,guard-time = <1>; 92 pinctrl-names = "default"; 93 pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb888>; 94 status = "okay"; 95 u-boot,dm-pre-reloc; 96 97 display-timings { 98 u-boot,dm-pre-reloc; 99 480x272 { 100 clock-frequency = <9000000>; 101 hactive = <480>; 102 vactive = <272>; 103 hsync-len = <41>; 104 hfront-porch = <2>; 105 hback-porch = <2>; 106 vfront-porch = <2>; 107 vback-porch = <2>; 108 vsync-len = <11>; 109 u-boot,dm-pre-reloc; 110 }; 111 }; 112 }; 113 114 spi0: spi@f8010000 { 115 u-boot,dm-pre-reloc; 116 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>; 117 status = "okay"; 118 spi_flash@0 { 119 u-boot,dm-pre-reloc; 120 compatible = "spi-flash"; 121 spi-max-frequency = <50000000>; 122 reg = <0>; 123 }; 124 }; 125 126 i2c0: i2c@f8014000 { 127 status = "okay"; 128 129 i2c_eeprom: i2c_eeprom@5c { 130 compatible = "atmel,24mac402"; 131 reg = <0x5c>; 132 }; 133 }; 134 135 macb0: ethernet@f8020000 { 136 phy-mode = "rmii"; 137 status = "okay"; 138 pinctrl-names = "default"; 139 pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>; 140 141 phy0: ethernet-phy@1 { 142 interrupt-parent = <&pioE>; 143 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 144 reg = <1>; 145 }; 146 }; 147 148 mmc1: mmc@fc000000 { 149 u-boot,dm-pre-reloc; 150 pinctrl-names = "default"; 151 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 152 vmmc-supply = <&vcc_mmc1_reg>; 153 vqmmc-supply = <&vcc_3v3_reg>; 154 status = "okay"; 155 slot@0 { 156 reg = <0>; 157 bus-width = <4>; 158 cd-gpios = <&pioE 3 0>; 159 }; 160 }; 161 162 usart3: serial@fc00c000 { 163 u-boot,dm-pre-reloc; 164 status = "okay"; 165 }; 166 167 usart4: serial@fc010000 { 168 status = "okay"; 169 }; 170 171 spi1: spi@fc018000 { 172 cs-gpios = <&pioB 21 0>; 173 status = "okay"; 174 }; 175 176 adc0: adc@fc034000 { 177 pinctrl-names = "default"; 178 pinctrl-0 = < 179 /* external trigger conflicts with USBA_VBUS */ 180 &pinctrl_adc0_ad0 181 &pinctrl_adc0_ad1 182 &pinctrl_adc0_ad2 183 &pinctrl_adc0_ad3 184 &pinctrl_adc0_ad4 185 >; 186 atmel,adc-vref = <3300>; 187 status = "okay"; 188 }; 189 190 watchdog@fc068640 { 191 status = "okay"; 192 }; 193 194 pinctrl@fc06a000 { 195 board { 196 u-boot,dm-pre-reloc; 197 pinctrl_mmc1_cd: mmc1_cd { 198 u-boot,dm-pre-reloc; 199 atmel,pins = 200 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 201 }; 202 pinctrl_usba_vbus: usba_vbus { 203 atmel,pins = 204 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; 205 }; 206 pinctrl_key_gpio: key_gpio_0 { 207 atmel,pins = 208 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 209 }; 210 pinctrl_macb0_phy_irq: macb0_phy_irq_0 { 211 atmel,pins = 212 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 213 }; 214 pinctrl_onewire_tm_default: onewire_tm_default { 215 atmel,pins = 216 <AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 217 }; 218 }; 219 }; 220 }; 221 222 usb0: gadget@00400000 { 223 atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>; 224 pinctrl-names = "default"; 225 pinctrl-0 = <&pinctrl_usba_vbus>; 226 status = "okay"; 227 }; 228 229 usb1: ohci@00500000 { 230 num-ports = <3>; 231 atmel,vbus-gpio = <0 232 &pioE 11 GPIO_ACTIVE_HIGH 233 &pioE 14 GPIO_ACTIVE_HIGH 234 >; 235 status = "okay"; 236 }; 237 238 usb2: ehci@00600000 { 239 status = "okay"; 240 }; 241 242 nand0: nand@80000000 { 243 nand-bus-width = <8>; 244 nand-ecc-mode = "hw"; 245 nand-on-flash-bbt; 246 atmel,has-pmecc; 247 status = "okay"; 248 249 at91bootstrap@0 { 250 label = "at91bootstrap"; 251 reg = <0x0 0x40000>; 252 }; 253 254 bootloader@40000 { 255 label = "bootloader"; 256 reg = <0x40000 0x80000>; 257 }; 258 259 bootloaderenv@c0000 { 260 label = "bootloader env"; 261 reg = <0xc0000 0xc0000>; 262 }; 263 264 dtb@180000 { 265 label = "device tree"; 266 reg = <0x180000 0x80000>; 267 }; 268 269 kernel@200000 { 270 label = "kernel"; 271 reg = <0x200000 0x600000>; 272 }; 273 274 rootfs@800000 { 275 label = "rootfs"; 276 reg = <0x800000 0x0f800000>; 277 }; 278 }; 279 }; 280 281 gpio_keys { 282 compatible = "gpio-keys"; 283 284 pinctrl-names = "default"; 285 pinctrl-0 = <&pinctrl_key_gpio>; 286 287 pb_user1 { 288 label = "pb_user1"; 289 gpios = <&pioE 8 GPIO_ACTIVE_HIGH>; 290 linux,code = <0x100>; 291 wakeup-source; 292 }; 293 }; 294 295 leds { 296 compatible = "gpio-leds"; 297 status = "okay"; 298 299 d8 { 300 label = "d8"; 301 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>; 302 default-state = "on"; 303 }; 304 305 d10 { 306 label = "d10"; 307 gpios = <&pioE 15 GPIO_ACTIVE_LOW>; 308 linux,default-trigger = "heartbeat"; 309 }; 310 }; 311 312 vcc_3v3_reg: fixedregulator@0 { 313 compatible = "regulator-fixed"; 314 regulator-name = "VCC 3V3"; 315 regulator-min-microvolt = <3300000>; 316 regulator-max-microvolt = <3300000>; 317 regulator-boot-on; 318 regulator-always-on; 319 reg = <0 1>; 320 }; 321 322 vcc_mmc1_reg: fixedregulator@1 { 323 compatible = "regulator-fixed"; 324 gpio = <&pioE 4 GPIO_ACTIVE_LOW>; 325 regulator-name = "VDD MCI1"; 326 regulator-min-microvolt = <3300000>; 327 regulator-max-microvolt = <3300000>; 328 vin-supply = <&vcc_3v3_reg>; 329 regulator-always-on; 330 reg = <1 1>; 331 }; 332}; 333