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 memory { 62 reg = <0x20000000 0x20000000>; 63 }; 64 65 clocks { 66 slow_xtal { 67 clock-frequency = <32768>; 68 }; 69 70 main_xtal { 71 clock-frequency = <12000000>; 72 }; 73 }; 74 75 ahb { 76 apb { 77 hlcdc: hlcdc@f0000000 { 78 atmel,vl-bpix = <4>; 79 atmel,guard-time = <1>; 80 pinctrl-names = "default"; 81 pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb888>; 82 status = "okay"; 83 u-boot,dm-pre-reloc; 84 85 display-timings { 86 u-boot,dm-pre-reloc; 87 480x272 { 88 clock-frequency = <9000000>; 89 hactive = <480>; 90 vactive = <272>; 91 hsync-len = <41>; 92 hfront-porch = <2>; 93 hback-porch = <2>; 94 vfront-porch = <2>; 95 vback-porch = <2>; 96 vsync-len = <11>; 97 u-boot,dm-pre-reloc; 98 }; 99 }; 100 }; 101 102 spi0: spi@f8010000 { 103 u-boot,dm-pre-reloc; 104 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>; 105 status = "okay"; 106 spi_flash@0 { 107 u-boot,dm-pre-reloc; 108 compatible = "spi-flash"; 109 spi-max-frequency = <50000000>; 110 reg = <0>; 111 }; 112 }; 113 114 i2c0: i2c@f8014000 { 115 status = "okay"; 116 117 i2c_eeprom: i2c_eeprom@5c { 118 compatible = "atmel,24mac402"; 119 reg = <0x5c>; 120 }; 121 }; 122 123 macb0: ethernet@f8020000 { 124 phy-mode = "rmii"; 125 status = "okay"; 126 pinctrl-names = "default"; 127 pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>; 128 129 phy0: ethernet-phy@1 { 130 interrupt-parent = <&pioE>; 131 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 132 reg = <1>; 133 }; 134 }; 135 136 mmc1: mmc@fc000000 { 137 u-boot,dm-pre-reloc; 138 pinctrl-names = "default"; 139 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 140 vmmc-supply = <&vcc_mmc1_reg>; 141 vqmmc-supply = <&vcc_3v3_reg>; 142 status = "okay"; 143 slot@0 { 144 reg = <0>; 145 bus-width = <4>; 146 cd-gpios = <&pioE 3 0>; 147 }; 148 }; 149 150 usart3: serial@fc00c000 { 151 u-boot,dm-pre-reloc; 152 status = "okay"; 153 }; 154 155 usart4: serial@fc010000 { 156 status = "okay"; 157 }; 158 159 spi1: spi@fc018000 { 160 cs-gpios = <&pioB 21 0>; 161 status = "okay"; 162 }; 163 164 adc0: adc@fc034000 { 165 pinctrl-names = "default"; 166 pinctrl-0 = < 167 /* external trigger conflicts with USBA_VBUS */ 168 &pinctrl_adc0_ad0 169 &pinctrl_adc0_ad1 170 &pinctrl_adc0_ad2 171 &pinctrl_adc0_ad3 172 &pinctrl_adc0_ad4 173 >; 174 atmel,adc-vref = <3300>; 175 status = "okay"; 176 }; 177 178 watchdog@fc068640 { 179 status = "okay"; 180 }; 181 182 pinctrl@fc06a000 { 183 board { 184 u-boot,dm-pre-reloc; 185 pinctrl_mmc1_cd: mmc1_cd { 186 u-boot,dm-pre-reloc; 187 atmel,pins = 188 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 189 }; 190 pinctrl_usba_vbus: usba_vbus { 191 atmel,pins = 192 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; 193 }; 194 pinctrl_key_gpio: key_gpio_0 { 195 atmel,pins = 196 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 197 }; 198 pinctrl_macb0_phy_irq: macb0_phy_irq_0 { 199 atmel,pins = 200 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 201 }; 202 }; 203 }; 204 }; 205 206 usb0: gadget@00400000 { 207 atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>; 208 pinctrl-names = "default"; 209 pinctrl-0 = <&pinctrl_usba_vbus>; 210 status = "okay"; 211 }; 212 213 usb1: ohci@00500000 { 214 num-ports = <3>; 215 atmel,vbus-gpio = <0 216 &pioE 11 GPIO_ACTIVE_HIGH 217 &pioE 14 GPIO_ACTIVE_HIGH 218 >; 219 status = "okay"; 220 }; 221 222 usb2: ehci@00600000 { 223 status = "okay"; 224 }; 225 226 nand0: nand@80000000 { 227 nand-bus-width = <8>; 228 nand-ecc-mode = "hw"; 229 nand-on-flash-bbt; 230 atmel,has-pmecc; 231 status = "okay"; 232 233 at91bootstrap@0 { 234 label = "at91bootstrap"; 235 reg = <0x0 0x40000>; 236 }; 237 238 bootloader@40000 { 239 label = "bootloader"; 240 reg = <0x40000 0x80000>; 241 }; 242 243 bootloaderenv@c0000 { 244 label = "bootloader env"; 245 reg = <0xc0000 0xc0000>; 246 }; 247 248 dtb@180000 { 249 label = "device tree"; 250 reg = <0x180000 0x80000>; 251 }; 252 253 kernel@200000 { 254 label = "kernel"; 255 reg = <0x200000 0x600000>; 256 }; 257 258 rootfs@800000 { 259 label = "rootfs"; 260 reg = <0x800000 0x0f800000>; 261 }; 262 }; 263 }; 264 265 gpio_keys { 266 compatible = "gpio-keys"; 267 268 pinctrl-names = "default"; 269 pinctrl-0 = <&pinctrl_key_gpio>; 270 271 pb_user1 { 272 label = "pb_user1"; 273 gpios = <&pioE 8 GPIO_ACTIVE_HIGH>; 274 linux,code = <0x100>; 275 wakeup-source; 276 }; 277 }; 278 279 leds { 280 compatible = "gpio-leds"; 281 status = "okay"; 282 283 d8 { 284 label = "d8"; 285 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>; 286 default-state = "on"; 287 }; 288 289 d10 { 290 label = "d10"; 291 gpios = <&pioE 15 GPIO_ACTIVE_LOW>; 292 linux,default-trigger = "heartbeat"; 293 }; 294 }; 295 296 vcc_3v3_reg: fixedregulator@0 { 297 compatible = "regulator-fixed"; 298 regulator-name = "VCC 3V3"; 299 regulator-min-microvolt = <3300000>; 300 regulator-max-microvolt = <3300000>; 301 regulator-boot-on; 302 regulator-always-on; 303 reg = <0 1>; 304 }; 305 306 vcc_mmc1_reg: fixedregulator@1 { 307 compatible = "regulator-fixed"; 308 gpio = <&pioE 4 GPIO_ACTIVE_LOW>; 309 regulator-name = "VDD MCI1"; 310 regulator-min-microvolt = <3300000>; 311 regulator-max-microvolt = <3300000>; 312 vin-supply = <&vcc_3v3_reg>; 313 regulator-always-on; 314 reg = <1 1>; 315 }; 316}; 317