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