12aaa4ce4SWenyou Yang/* 22aaa4ce4SWenyou Yang * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board 32aaa4ce4SWenyou Yang * 42aaa4ce4SWenyou Yang * Copyright (C) 2015 Atmel, 52aaa4ce4SWenyou Yang * 2015 Josh Wu <josh.wu@atmel.com> 62aaa4ce4SWenyou Yang * 72aaa4ce4SWenyou Yang * This file is dual-licensed: you can use it either under the terms 82aaa4ce4SWenyou Yang * of the GPL or the X11 license, at your option. Note that this dual 92aaa4ce4SWenyou Yang * licensing only applies to this file, and not this project as a 102aaa4ce4SWenyou Yang * whole. 112aaa4ce4SWenyou Yang * 122aaa4ce4SWenyou Yang * a) This file is free software; you can redistribute it and/or 132aaa4ce4SWenyou Yang * modify it under the terms of the GNU General Public License as 142aaa4ce4SWenyou Yang * published by the Free Software Foundation; either version 2 of the 152aaa4ce4SWenyou Yang * License, or (at your option) any later version. 162aaa4ce4SWenyou Yang * 172aaa4ce4SWenyou Yang * This file is distributed in the hope that it will be useful, 182aaa4ce4SWenyou Yang * but WITHOUT ANY WARRANTY; without even the implied warranty of 192aaa4ce4SWenyou Yang * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 202aaa4ce4SWenyou Yang * GNU General Public License for more details. 212aaa4ce4SWenyou Yang * 222aaa4ce4SWenyou Yang * Or, alternatively, 232aaa4ce4SWenyou Yang * 242aaa4ce4SWenyou Yang * b) Permission is hereby granted, free of charge, to any person 252aaa4ce4SWenyou Yang * obtaining a copy of this software and associated documentation 262aaa4ce4SWenyou Yang * files (the "Software"), to deal in the Software without 272aaa4ce4SWenyou Yang * restriction, including without limitation the rights to use, 282aaa4ce4SWenyou Yang * copy, modify, merge, publish, distribute, sublicense, and/or 292aaa4ce4SWenyou Yang * sell copies of the Software, and to permit persons to whom the 302aaa4ce4SWenyou Yang * Software is furnished to do so, subject to the following 312aaa4ce4SWenyou Yang * conditions: 322aaa4ce4SWenyou Yang * 332aaa4ce4SWenyou Yang * The above copyright notice and this permission notice shall be 342aaa4ce4SWenyou Yang * included in all copies or substantial portions of the Software. 352aaa4ce4SWenyou Yang * 362aaa4ce4SWenyou Yang * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 372aaa4ce4SWenyou Yang * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 382aaa4ce4SWenyou Yang * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 392aaa4ce4SWenyou Yang * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 402aaa4ce4SWenyou Yang * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 412aaa4ce4SWenyou Yang * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 422aaa4ce4SWenyou Yang * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 432aaa4ce4SWenyou Yang * OTHER DEALINGS IN THE SOFTWARE. 442aaa4ce4SWenyou Yang */ 452aaa4ce4SWenyou Yang/dts-v1/; 462aaa4ce4SWenyou Yang#include "sama5d4.dtsi" 472aaa4ce4SWenyou Yang 482aaa4ce4SWenyou Yang/ { 492aaa4ce4SWenyou Yang model = "Atmel SAMA5D4 Xplained"; 502aaa4ce4SWenyou Yang compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5"; 512aaa4ce4SWenyou Yang 522aaa4ce4SWenyou Yang aliases { 532aaa4ce4SWenyou Yang spi0 = &spi0; 542aaa4ce4SWenyou Yang }; 552aaa4ce4SWenyou Yang 562aaa4ce4SWenyou Yang chosen { 572aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 582aaa4ce4SWenyou Yang stdout-path = &usart3; 592aaa4ce4SWenyou Yang }; 602aaa4ce4SWenyou Yang 61*57fb8b46SEugen Hristev onewire_tm: onewire { 62*57fb8b46SEugen Hristev gpios = <&pioE 15 GPIO_ACTIVE_LOW>; 63*57fb8b46SEugen Hristev pinctrl-names = "default"; 64*57fb8b46SEugen Hristev pinctrl-0 = <&pinctrl_onewire_tm_default>; 65*57fb8b46SEugen Hristev status = "okay"; 66*57fb8b46SEugen Hristev 67*57fb8b46SEugen Hristev w1_eeprom: w1_eeprom@0 { 68*57fb8b46SEugen Hristev compatible = "maxim,ds24b33"; 69*57fb8b46SEugen Hristev status = "okay"; 70*57fb8b46SEugen Hristev }; 71*57fb8b46SEugen Hristev }; 72*57fb8b46SEugen Hristev 732aaa4ce4SWenyou Yang memory { 742aaa4ce4SWenyou Yang reg = <0x20000000 0x20000000>; 752aaa4ce4SWenyou Yang }; 762aaa4ce4SWenyou Yang 772aaa4ce4SWenyou Yang clocks { 782aaa4ce4SWenyou Yang slow_xtal { 792aaa4ce4SWenyou Yang clock-frequency = <32768>; 802aaa4ce4SWenyou Yang }; 812aaa4ce4SWenyou Yang 822aaa4ce4SWenyou Yang main_xtal { 832aaa4ce4SWenyou Yang clock-frequency = <12000000>; 842aaa4ce4SWenyou Yang }; 852aaa4ce4SWenyou Yang }; 862aaa4ce4SWenyou Yang 872aaa4ce4SWenyou Yang ahb { 882aaa4ce4SWenyou Yang apb { 89e974b081SWenyou Yang hlcdc: hlcdc@f0000000 { 90e974b081SWenyou Yang atmel,vl-bpix = <4>; 91e974b081SWenyou Yang atmel,guard-time = <1>; 92e974b081SWenyou Yang pinctrl-names = "default"; 93e974b081SWenyou Yang pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb888>; 94e974b081SWenyou Yang status = "okay"; 95e974b081SWenyou Yang u-boot,dm-pre-reloc; 96e974b081SWenyou Yang 97e974b081SWenyou Yang display-timings { 98e974b081SWenyou Yang u-boot,dm-pre-reloc; 99e974b081SWenyou Yang 480x272 { 100e974b081SWenyou Yang clock-frequency = <9000000>; 101e974b081SWenyou Yang hactive = <480>; 102e974b081SWenyou Yang vactive = <272>; 103e974b081SWenyou Yang hsync-len = <41>; 104e974b081SWenyou Yang hfront-porch = <2>; 105e974b081SWenyou Yang hback-porch = <2>; 106e974b081SWenyou Yang vfront-porch = <2>; 107e974b081SWenyou Yang vback-porch = <2>; 108e974b081SWenyou Yang vsync-len = <11>; 109e974b081SWenyou Yang u-boot,dm-pre-reloc; 110e974b081SWenyou Yang }; 111e974b081SWenyou Yang }; 112e974b081SWenyou Yang }; 113e974b081SWenyou Yang 1142aaa4ce4SWenyou Yang spi0: spi@f8010000 { 1152aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 1162aaa4ce4SWenyou Yang cs-gpios = <&pioC 3 0>, <0>, <0>, <0>; 1172aaa4ce4SWenyou Yang status = "okay"; 1182aaa4ce4SWenyou Yang spi_flash@0 { 1192aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 1202aaa4ce4SWenyou Yang compatible = "spi-flash"; 1212aaa4ce4SWenyou Yang spi-max-frequency = <50000000>; 1222aaa4ce4SWenyou Yang reg = <0>; 1232aaa4ce4SWenyou Yang }; 1242aaa4ce4SWenyou Yang }; 1252aaa4ce4SWenyou Yang 1262aaa4ce4SWenyou Yang i2c0: i2c@f8014000 { 1272aaa4ce4SWenyou Yang status = "okay"; 128fafa4403SWenyou Yang 129fafa4403SWenyou Yang i2c_eeprom: i2c_eeprom@5c { 130fafa4403SWenyou Yang compatible = "atmel,24mac402"; 131fafa4403SWenyou Yang reg = <0x5c>; 132fafa4403SWenyou Yang }; 1332aaa4ce4SWenyou Yang }; 1342aaa4ce4SWenyou Yang 1352aaa4ce4SWenyou Yang macb0: ethernet@f8020000 { 1362aaa4ce4SWenyou Yang phy-mode = "rmii"; 1372aaa4ce4SWenyou Yang status = "okay"; 1382aaa4ce4SWenyou Yang pinctrl-names = "default"; 1392aaa4ce4SWenyou Yang pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>; 1402aaa4ce4SWenyou Yang 1412aaa4ce4SWenyou Yang phy0: ethernet-phy@1 { 1422aaa4ce4SWenyou Yang interrupt-parent = <&pioE>; 1432aaa4ce4SWenyou Yang interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 1442aaa4ce4SWenyou Yang reg = <1>; 1452aaa4ce4SWenyou Yang }; 1462aaa4ce4SWenyou Yang }; 1472aaa4ce4SWenyou Yang 1482aaa4ce4SWenyou Yang mmc1: mmc@fc000000 { 1492aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 1502aaa4ce4SWenyou Yang pinctrl-names = "default"; 1512aaa4ce4SWenyou Yang pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 1522aaa4ce4SWenyou Yang vmmc-supply = <&vcc_mmc1_reg>; 1532aaa4ce4SWenyou Yang vqmmc-supply = <&vcc_3v3_reg>; 1542aaa4ce4SWenyou Yang status = "okay"; 1552aaa4ce4SWenyou Yang slot@0 { 1562aaa4ce4SWenyou Yang reg = <0>; 1572aaa4ce4SWenyou Yang bus-width = <4>; 1582aaa4ce4SWenyou Yang cd-gpios = <&pioE 3 0>; 1592aaa4ce4SWenyou Yang }; 1602aaa4ce4SWenyou Yang }; 1612aaa4ce4SWenyou Yang 1622aaa4ce4SWenyou Yang usart3: serial@fc00c000 { 1632aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 1642aaa4ce4SWenyou Yang status = "okay"; 1652aaa4ce4SWenyou Yang }; 1662aaa4ce4SWenyou Yang 1672aaa4ce4SWenyou Yang usart4: serial@fc010000 { 1682aaa4ce4SWenyou Yang status = "okay"; 1692aaa4ce4SWenyou Yang }; 1702aaa4ce4SWenyou Yang 1712aaa4ce4SWenyou Yang spi1: spi@fc018000 { 1722aaa4ce4SWenyou Yang cs-gpios = <&pioB 21 0>; 1732aaa4ce4SWenyou Yang status = "okay"; 1742aaa4ce4SWenyou Yang }; 1752aaa4ce4SWenyou Yang 1762aaa4ce4SWenyou Yang adc0: adc@fc034000 { 1772aaa4ce4SWenyou Yang pinctrl-names = "default"; 1782aaa4ce4SWenyou Yang pinctrl-0 = < 1792aaa4ce4SWenyou Yang /* external trigger conflicts with USBA_VBUS */ 1802aaa4ce4SWenyou Yang &pinctrl_adc0_ad0 1812aaa4ce4SWenyou Yang &pinctrl_adc0_ad1 1822aaa4ce4SWenyou Yang &pinctrl_adc0_ad2 1832aaa4ce4SWenyou Yang &pinctrl_adc0_ad3 1842aaa4ce4SWenyou Yang &pinctrl_adc0_ad4 1852aaa4ce4SWenyou Yang >; 1862aaa4ce4SWenyou Yang atmel,adc-vref = <3300>; 1872aaa4ce4SWenyou Yang status = "okay"; 1882aaa4ce4SWenyou Yang }; 1892aaa4ce4SWenyou Yang 1902aaa4ce4SWenyou Yang watchdog@fc068640 { 1912aaa4ce4SWenyou Yang status = "okay"; 1922aaa4ce4SWenyou Yang }; 1932aaa4ce4SWenyou Yang 1942aaa4ce4SWenyou Yang pinctrl@fc06a000 { 1952aaa4ce4SWenyou Yang board { 1962aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 1972aaa4ce4SWenyou Yang pinctrl_mmc1_cd: mmc1_cd { 1982aaa4ce4SWenyou Yang u-boot,dm-pre-reloc; 1992aaa4ce4SWenyou Yang atmel,pins = 2002aaa4ce4SWenyou Yang <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 2012aaa4ce4SWenyou Yang }; 2022aaa4ce4SWenyou Yang pinctrl_usba_vbus: usba_vbus { 2032aaa4ce4SWenyou Yang atmel,pins = 2042aaa4ce4SWenyou Yang <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; 2052aaa4ce4SWenyou Yang }; 2062aaa4ce4SWenyou Yang pinctrl_key_gpio: key_gpio_0 { 2072aaa4ce4SWenyou Yang atmel,pins = 2082aaa4ce4SWenyou Yang <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 2092aaa4ce4SWenyou Yang }; 2102aaa4ce4SWenyou Yang pinctrl_macb0_phy_irq: macb0_phy_irq_0 { 2112aaa4ce4SWenyou Yang atmel,pins = 2122aaa4ce4SWenyou Yang <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 2132aaa4ce4SWenyou Yang }; 214*57fb8b46SEugen Hristev pinctrl_onewire_tm_default: onewire_tm_default { 215*57fb8b46SEugen Hristev atmel,pins = 216*57fb8b46SEugen Hristev <AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 217*57fb8b46SEugen Hristev }; 2182aaa4ce4SWenyou Yang }; 2192aaa4ce4SWenyou Yang }; 2202aaa4ce4SWenyou Yang }; 2212aaa4ce4SWenyou Yang 2222aaa4ce4SWenyou Yang usb0: gadget@00400000 { 2232aaa4ce4SWenyou Yang atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>; 2242aaa4ce4SWenyou Yang pinctrl-names = "default"; 2252aaa4ce4SWenyou Yang pinctrl-0 = <&pinctrl_usba_vbus>; 2262aaa4ce4SWenyou Yang status = "okay"; 2272aaa4ce4SWenyou Yang }; 2282aaa4ce4SWenyou Yang 2292aaa4ce4SWenyou Yang usb1: ohci@00500000 { 2302aaa4ce4SWenyou Yang num-ports = <3>; 2312aaa4ce4SWenyou Yang atmel,vbus-gpio = <0 2322aaa4ce4SWenyou Yang &pioE 11 GPIO_ACTIVE_HIGH 2332aaa4ce4SWenyou Yang &pioE 14 GPIO_ACTIVE_HIGH 2342aaa4ce4SWenyou Yang >; 2352aaa4ce4SWenyou Yang status = "okay"; 2362aaa4ce4SWenyou Yang }; 2372aaa4ce4SWenyou Yang 2382aaa4ce4SWenyou Yang usb2: ehci@00600000 { 2392aaa4ce4SWenyou Yang status = "okay"; 2402aaa4ce4SWenyou Yang }; 2412aaa4ce4SWenyou Yang 2422aaa4ce4SWenyou Yang nand0: nand@80000000 { 2432aaa4ce4SWenyou Yang nand-bus-width = <8>; 2442aaa4ce4SWenyou Yang nand-ecc-mode = "hw"; 2452aaa4ce4SWenyou Yang nand-on-flash-bbt; 2462aaa4ce4SWenyou Yang atmel,has-pmecc; 2472aaa4ce4SWenyou Yang status = "okay"; 2482aaa4ce4SWenyou Yang 2492aaa4ce4SWenyou Yang at91bootstrap@0 { 2502aaa4ce4SWenyou Yang label = "at91bootstrap"; 2512aaa4ce4SWenyou Yang reg = <0x0 0x40000>; 2522aaa4ce4SWenyou Yang }; 2532aaa4ce4SWenyou Yang 2542aaa4ce4SWenyou Yang bootloader@40000 { 2552aaa4ce4SWenyou Yang label = "bootloader"; 2562aaa4ce4SWenyou Yang reg = <0x40000 0x80000>; 2572aaa4ce4SWenyou Yang }; 2582aaa4ce4SWenyou Yang 2592aaa4ce4SWenyou Yang bootloaderenv@c0000 { 2602aaa4ce4SWenyou Yang label = "bootloader env"; 2612aaa4ce4SWenyou Yang reg = <0xc0000 0xc0000>; 2622aaa4ce4SWenyou Yang }; 2632aaa4ce4SWenyou Yang 2642aaa4ce4SWenyou Yang dtb@180000 { 2652aaa4ce4SWenyou Yang label = "device tree"; 2662aaa4ce4SWenyou Yang reg = <0x180000 0x80000>; 2672aaa4ce4SWenyou Yang }; 2682aaa4ce4SWenyou Yang 2692aaa4ce4SWenyou Yang kernel@200000 { 2702aaa4ce4SWenyou Yang label = "kernel"; 2712aaa4ce4SWenyou Yang reg = <0x200000 0x600000>; 2722aaa4ce4SWenyou Yang }; 2732aaa4ce4SWenyou Yang 2742aaa4ce4SWenyou Yang rootfs@800000 { 2752aaa4ce4SWenyou Yang label = "rootfs"; 2762aaa4ce4SWenyou Yang reg = <0x800000 0x0f800000>; 2772aaa4ce4SWenyou Yang }; 2782aaa4ce4SWenyou Yang }; 2792aaa4ce4SWenyou Yang }; 2802aaa4ce4SWenyou Yang 2812aaa4ce4SWenyou Yang gpio_keys { 2822aaa4ce4SWenyou Yang compatible = "gpio-keys"; 2832aaa4ce4SWenyou Yang 2842aaa4ce4SWenyou Yang pinctrl-names = "default"; 2852aaa4ce4SWenyou Yang pinctrl-0 = <&pinctrl_key_gpio>; 2862aaa4ce4SWenyou Yang 2872aaa4ce4SWenyou Yang pb_user1 { 2882aaa4ce4SWenyou Yang label = "pb_user1"; 2892aaa4ce4SWenyou Yang gpios = <&pioE 8 GPIO_ACTIVE_HIGH>; 2902aaa4ce4SWenyou Yang linux,code = <0x100>; 2912aaa4ce4SWenyou Yang wakeup-source; 2922aaa4ce4SWenyou Yang }; 2932aaa4ce4SWenyou Yang }; 2942aaa4ce4SWenyou Yang 2952aaa4ce4SWenyou Yang leds { 2962aaa4ce4SWenyou Yang compatible = "gpio-leds"; 2972aaa4ce4SWenyou Yang status = "okay"; 2982aaa4ce4SWenyou Yang 2992aaa4ce4SWenyou Yang d8 { 3002aaa4ce4SWenyou Yang label = "d8"; 3012aaa4ce4SWenyou Yang gpios = <&pioD 30 GPIO_ACTIVE_HIGH>; 3022aaa4ce4SWenyou Yang default-state = "on"; 3032aaa4ce4SWenyou Yang }; 3042aaa4ce4SWenyou Yang 3052aaa4ce4SWenyou Yang d10 { 3062aaa4ce4SWenyou Yang label = "d10"; 3072aaa4ce4SWenyou Yang gpios = <&pioE 15 GPIO_ACTIVE_LOW>; 3082aaa4ce4SWenyou Yang linux,default-trigger = "heartbeat"; 3092aaa4ce4SWenyou Yang }; 3102aaa4ce4SWenyou Yang }; 3112aaa4ce4SWenyou Yang 3122aaa4ce4SWenyou Yang vcc_3v3_reg: fixedregulator@0 { 3132aaa4ce4SWenyou Yang compatible = "regulator-fixed"; 3142aaa4ce4SWenyou Yang regulator-name = "VCC 3V3"; 3152aaa4ce4SWenyou Yang regulator-min-microvolt = <3300000>; 3162aaa4ce4SWenyou Yang regulator-max-microvolt = <3300000>; 3172aaa4ce4SWenyou Yang regulator-boot-on; 3182aaa4ce4SWenyou Yang regulator-always-on; 3192aaa4ce4SWenyou Yang reg = <0 1>; 3202aaa4ce4SWenyou Yang }; 3212aaa4ce4SWenyou Yang 3222aaa4ce4SWenyou Yang vcc_mmc1_reg: fixedregulator@1 { 3232aaa4ce4SWenyou Yang compatible = "regulator-fixed"; 3242aaa4ce4SWenyou Yang gpio = <&pioE 4 GPIO_ACTIVE_LOW>; 3252aaa4ce4SWenyou Yang regulator-name = "VDD MCI1"; 3262aaa4ce4SWenyou Yang regulator-min-microvolt = <3300000>; 3272aaa4ce4SWenyou Yang regulator-max-microvolt = <3300000>; 3282aaa4ce4SWenyou Yang vin-supply = <&vcc_3v3_reg>; 3292aaa4ce4SWenyou Yang regulator-always-on; 3302aaa4ce4SWenyou Yang reg = <1 1>; 3312aaa4ce4SWenyou Yang }; 3322aaa4ce4SWenyou Yang}; 333