127ec910eSWenyou Yang/* 227ec910eSWenyou Yang * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board 327ec910eSWenyou Yang * 427ec910eSWenyou Yang * Copyright (C) 2014 Atmel, 527ec910eSWenyou Yang * 2014 Nicolas Ferre <nicolas.ferre@atmel.com> 627ec910eSWenyou Yang * 727ec910eSWenyou Yang * Licensed under GPLv2 or later. 827ec910eSWenyou Yang */ 927ec910eSWenyou Yang/dts-v1/; 1027ec910eSWenyou Yang#include "sama5d36.dtsi" 1127ec910eSWenyou Yang 1227ec910eSWenyou Yang/ { 1327ec910eSWenyou Yang model = "SAMA5D3 Xplained"; 1427ec910eSWenyou Yang compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5"; 1527ec910eSWenyou Yang 1627ec910eSWenyou Yang chosen { 1727ec910eSWenyou Yang u-boot,dm-pre-reloc; 1827ec910eSWenyou Yang stdout-path = &dbgu; 1927ec910eSWenyou Yang }; 2027ec910eSWenyou Yang 2127ec910eSWenyou Yang aliases { 2227ec910eSWenyou Yang spi0 = &spi0; 2327ec910eSWenyou Yang }; 2427ec910eSWenyou Yang 2527ec910eSWenyou Yang memory { 2627ec910eSWenyou Yang reg = <0x20000000 0x10000000>; 2727ec910eSWenyou Yang }; 2827ec910eSWenyou Yang 2927ec910eSWenyou Yang clocks { 3027ec910eSWenyou Yang slow_xtal { 3127ec910eSWenyou Yang clock-frequency = <32768>; 3227ec910eSWenyou Yang }; 3327ec910eSWenyou Yang 3427ec910eSWenyou Yang main_xtal { 3527ec910eSWenyou Yang clock-frequency = <12000000>; 3627ec910eSWenyou Yang }; 3727ec910eSWenyou Yang }; 3827ec910eSWenyou Yang 39*2b238c6cSEugen Hristev onewire_tm: onewire { 40*2b238c6cSEugen Hristev gpios = <&pioE 23 GPIO_ACTIVE_LOW>; 41*2b238c6cSEugen Hristev pinctrl-names = "default"; 42*2b238c6cSEugen Hristev pinctrl-0 = <&pinctrl_onewire_tm_default>; 43*2b238c6cSEugen Hristev status = "okay"; 44*2b238c6cSEugen Hristev 45*2b238c6cSEugen Hristev w1_eeprom: w1_eeprom@0 { 46*2b238c6cSEugen Hristev compatible = "maxim,ds24b33"; 47*2b238c6cSEugen Hristev status = "okay"; 48*2b238c6cSEugen Hristev }; 49*2b238c6cSEugen Hristev }; 50*2b238c6cSEugen Hristev 5127ec910eSWenyou Yang ahb { 5227ec910eSWenyou Yang apb { 5327ec910eSWenyou Yang mmc0: mmc@f0000000 { 5427ec910eSWenyou Yang u-boot,dm-pre-reloc; 5527ec910eSWenyou Yang pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>; 5627ec910eSWenyou Yang vmmc-supply = <&vcc_mmc0_reg>; 5727ec910eSWenyou Yang vqmmc-supply = <&vcc_3v3_reg>; 5827ec910eSWenyou Yang status = "okay"; 5927ec910eSWenyou Yang slot@0 { 6027ec910eSWenyou Yang reg = <0>; 6127ec910eSWenyou Yang bus-width = <8>; 6227ec910eSWenyou Yang cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>; 6327ec910eSWenyou Yang }; 6427ec910eSWenyou Yang }; 6527ec910eSWenyou Yang 6627ec910eSWenyou Yang mmc1: mmc@f8000000 { 6727ec910eSWenyou Yang u-boot,dm-pre-reloc; 6827ec910eSWenyou Yang vmmc-supply = <&vcc_3v3_reg>; 6927ec910eSWenyou Yang vqmmc-supply = <&vcc_3v3_reg>; 7027ec910eSWenyou Yang status = "disabled"; 7127ec910eSWenyou Yang slot@0 { 7227ec910eSWenyou Yang reg = <0>; 7327ec910eSWenyou Yang bus-width = <4>; 7427ec910eSWenyou Yang cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>; 7527ec910eSWenyou Yang }; 7627ec910eSWenyou Yang }; 7727ec910eSWenyou Yang 7827ec910eSWenyou Yang spi0: spi@f0004000 { 7927ec910eSWenyou Yang cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>; 8027ec910eSWenyou Yang status = "okay"; 8127ec910eSWenyou Yang }; 8227ec910eSWenyou Yang 8327ec910eSWenyou Yang can0: can@f000c000 { 8427ec910eSWenyou Yang status = "okay"; 8527ec910eSWenyou Yang }; 8627ec910eSWenyou Yang 8727ec910eSWenyou Yang i2c0: i2c@f0014000 { 8827ec910eSWenyou Yang pinctrl-0 = <&pinctrl_i2c0_pu>; 8927ec910eSWenyou Yang status = "okay"; 9027ec910eSWenyou Yang }; 9127ec910eSWenyou Yang 9227ec910eSWenyou Yang i2c1: i2c@f0018000 { 9327ec910eSWenyou Yang status = "okay"; 9427ec910eSWenyou Yang 9527ec910eSWenyou Yang pmic: act8865@5b { 9627ec910eSWenyou Yang compatible = "active-semi,act8865"; 9727ec910eSWenyou Yang reg = <0x5b>; 9827ec910eSWenyou Yang status = "disabled"; 9927ec910eSWenyou Yang 10027ec910eSWenyou Yang regulators { 10127ec910eSWenyou Yang vcc_1v8_reg: DCDC_REG1 { 10227ec910eSWenyou Yang regulator-name = "VCC_1V8"; 10327ec910eSWenyou Yang regulator-min-microvolt = <1800000>; 10427ec910eSWenyou Yang regulator-max-microvolt = <1800000>; 10527ec910eSWenyou Yang regulator-always-on; 10627ec910eSWenyou Yang }; 10727ec910eSWenyou Yang 10827ec910eSWenyou Yang vcc_1v2_reg: DCDC_REG2 { 10927ec910eSWenyou Yang regulator-name = "VCC_1V2"; 11027ec910eSWenyou Yang regulator-min-microvolt = <1200000>; 11127ec910eSWenyou Yang regulator-max-microvolt = <1200000>; 11227ec910eSWenyou Yang regulator-always-on; 11327ec910eSWenyou Yang }; 11427ec910eSWenyou Yang 11527ec910eSWenyou Yang vcc_3v3_reg: DCDC_REG3 { 11627ec910eSWenyou Yang regulator-name = "VCC_3V3"; 11727ec910eSWenyou Yang regulator-min-microvolt = <3300000>; 11827ec910eSWenyou Yang regulator-max-microvolt = <3300000>; 11927ec910eSWenyou Yang regulator-always-on; 12027ec910eSWenyou Yang }; 12127ec910eSWenyou Yang 12227ec910eSWenyou Yang vddfuse_reg: LDO_REG1 { 12327ec910eSWenyou Yang regulator-name = "FUSE_2V5"; 12427ec910eSWenyou Yang regulator-min-microvolt = <2500000>; 12527ec910eSWenyou Yang regulator-max-microvolt = <2500000>; 12627ec910eSWenyou Yang }; 12727ec910eSWenyou Yang 12827ec910eSWenyou Yang vddana_reg: LDO_REG2 { 12927ec910eSWenyou Yang regulator-name = "VDDANA"; 13027ec910eSWenyou Yang regulator-min-microvolt = <3300000>; 13127ec910eSWenyou Yang regulator-max-microvolt = <3300000>; 13227ec910eSWenyou Yang regulator-always-on; 13327ec910eSWenyou Yang }; 13427ec910eSWenyou Yang }; 13527ec910eSWenyou Yang }; 13627ec910eSWenyou Yang }; 13727ec910eSWenyou Yang 13827ec910eSWenyou Yang macb0: ethernet@f0028000 { 13927ec910eSWenyou Yang phy-mode = "rgmii"; 14027ec910eSWenyou Yang #address-cells = <1>; 14127ec910eSWenyou Yang #size-cells = <0>; 14227ec910eSWenyou Yang status = "okay"; 14327ec910eSWenyou Yang 14427ec910eSWenyou Yang ethernet-phy@7 { 14527ec910eSWenyou Yang reg = <0x7>; 14627ec910eSWenyou Yang }; 14727ec910eSWenyou Yang }; 14827ec910eSWenyou Yang 14927ec910eSWenyou Yang pwm0: pwm@f002c000 { 15027ec910eSWenyou Yang pinctrl-names = "default"; 15127ec910eSWenyou Yang pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>; 15227ec910eSWenyou Yang status = "okay"; 15327ec910eSWenyou Yang }; 15427ec910eSWenyou Yang 15527ec910eSWenyou Yang usart0: serial@f001c000 { 15627ec910eSWenyou Yang status = "okay"; 15727ec910eSWenyou Yang }; 15827ec910eSWenyou Yang 15927ec910eSWenyou Yang usart1: serial@f0020000 { 16027ec910eSWenyou Yang pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; 16127ec910eSWenyou Yang status = "okay"; 16227ec910eSWenyou Yang }; 16327ec910eSWenyou Yang 16427ec910eSWenyou Yang uart0: serial@f0024000 { 16527ec910eSWenyou Yang status = "okay"; 16627ec910eSWenyou Yang }; 16727ec910eSWenyou Yang 16827ec910eSWenyou Yang mmc1: mmc@f8000000 { 16927ec910eSWenyou Yang pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 17027ec910eSWenyou Yang status = "okay"; 17127ec910eSWenyou Yang slot@0 { 17227ec910eSWenyou Yang reg = <0>; 17327ec910eSWenyou Yang bus-width = <4>; 17427ec910eSWenyou Yang cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>; 17527ec910eSWenyou Yang }; 17627ec910eSWenyou Yang }; 17727ec910eSWenyou Yang 17827ec910eSWenyou Yang spi1: spi@f8008000 { 17927ec910eSWenyou Yang cs-gpios = <&pioC 25 0>; 18027ec910eSWenyou Yang status = "okay"; 18127ec910eSWenyou Yang }; 18227ec910eSWenyou Yang 18327ec910eSWenyou Yang adc0: adc@f8018000 { 18427ec910eSWenyou Yang pinctrl-0 = < 18527ec910eSWenyou Yang &pinctrl_adc0_adtrg 18627ec910eSWenyou Yang &pinctrl_adc0_ad0 18727ec910eSWenyou Yang &pinctrl_adc0_ad1 18827ec910eSWenyou Yang &pinctrl_adc0_ad2 18927ec910eSWenyou Yang &pinctrl_adc0_ad3 19027ec910eSWenyou Yang &pinctrl_adc0_ad4 19127ec910eSWenyou Yang &pinctrl_adc0_ad5 19227ec910eSWenyou Yang &pinctrl_adc0_ad6 19327ec910eSWenyou Yang &pinctrl_adc0_ad7 19427ec910eSWenyou Yang &pinctrl_adc0_ad8 19527ec910eSWenyou Yang &pinctrl_adc0_ad9 19627ec910eSWenyou Yang >; 19727ec910eSWenyou Yang status = "okay"; 19827ec910eSWenyou Yang }; 19927ec910eSWenyou Yang 20027ec910eSWenyou Yang i2c2: i2c@f801c000 { 20127ec910eSWenyou Yang dmas = <0>, <0>; /* Do not use DMA for i2c2 */ 20227ec910eSWenyou Yang pinctrl-0 = <&pinctrl_i2c2_pu>; 20327ec910eSWenyou Yang status = "okay"; 20427ec910eSWenyou Yang }; 20527ec910eSWenyou Yang 20627ec910eSWenyou Yang macb1: ethernet@f802c000 { 20727ec910eSWenyou Yang phy-mode = "rmii"; 20827ec910eSWenyou Yang #address-cells = <1>; 20927ec910eSWenyou Yang #size-cells = <0>; 21027ec910eSWenyou Yang status = "okay"; 21127ec910eSWenyou Yang 21227ec910eSWenyou Yang ethernet-phy@1 { 21327ec910eSWenyou Yang reg = <0x1>; 21427ec910eSWenyou Yang }; 21527ec910eSWenyou Yang }; 21627ec910eSWenyou Yang 21727ec910eSWenyou Yang dbgu: serial@ffffee00 { 21827ec910eSWenyou Yang u-boot,dm-pre-reloc; 21927ec910eSWenyou Yang status = "okay"; 22027ec910eSWenyou Yang }; 22127ec910eSWenyou Yang 22227ec910eSWenyou Yang pinctrl@fffff200 { 22327ec910eSWenyou Yang board { 22427ec910eSWenyou Yang u-boot,dm-pre-reloc; 22527ec910eSWenyou Yang pinctrl_i2c0_pu: i2c0_pu { 22627ec910eSWenyou Yang atmel,pins = 22727ec910eSWenyou Yang <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 22827ec910eSWenyou Yang <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 22927ec910eSWenyou Yang }; 23027ec910eSWenyou Yang 23127ec910eSWenyou Yang pinctrl_i2c2_pu: i2c2_pu { 23227ec910eSWenyou Yang atmel,pins = 23327ec910eSWenyou Yang <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>, 23427ec910eSWenyou Yang <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; 23527ec910eSWenyou Yang }; 23627ec910eSWenyou Yang 23727ec910eSWenyou Yang pinctrl_key_gpio: key_gpio_0 { 23827ec910eSWenyou Yang atmel,pins = 23927ec910eSWenyou Yang <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 24027ec910eSWenyou Yang }; 24127ec910eSWenyou Yang 24227ec910eSWenyou Yang pinctrl_mmc0_cd: mmc0_cd { 24327ec910eSWenyou Yang u-boot,dm-pre-reloc; 24427ec910eSWenyou Yang atmel,pins = 24527ec910eSWenyou Yang <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 24627ec910eSWenyou Yang }; 24727ec910eSWenyou Yang 24827ec910eSWenyou Yang pinctrl_mmc1_cd: mmc1_cd { 24927ec910eSWenyou Yang u-boot,dm-pre-reloc; 25027ec910eSWenyou Yang atmel,pins = 25127ec910eSWenyou Yang <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 25227ec910eSWenyou Yang }; 25327ec910eSWenyou Yang 25427ec910eSWenyou Yang pinctrl_usba_vbus: usba_vbus { 25527ec910eSWenyou Yang atmel,pins = 25627ec910eSWenyou Yang <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */ 25727ec910eSWenyou Yang }; 258*2b238c6cSEugen Hristev 259*2b238c6cSEugen Hristev pinctrl_onewire_tm_default: onewire_tm_default { 260*2b238c6cSEugen Hristev atmel,pins = 261*2b238c6cSEugen Hristev <AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 262*2b238c6cSEugen Hristev }; 26327ec910eSWenyou Yang }; 26427ec910eSWenyou Yang }; 26527ec910eSWenyou Yang }; 26627ec910eSWenyou Yang 26727ec910eSWenyou Yang nand0: nand@60000000 { 26827ec910eSWenyou Yang nand-bus-width = <8>; 26927ec910eSWenyou Yang nand-ecc-mode = "hw"; 27027ec910eSWenyou Yang atmel,has-pmecc; 27127ec910eSWenyou Yang atmel,pmecc-cap = <4>; 27227ec910eSWenyou Yang atmel,pmecc-sector-size = <512>; 27327ec910eSWenyou Yang nand-on-flash-bbt; 27427ec910eSWenyou Yang status = "okay"; 27527ec910eSWenyou Yang 27627ec910eSWenyou Yang at91bootstrap@0 { 27727ec910eSWenyou Yang label = "at91bootstrap"; 27827ec910eSWenyou Yang reg = <0x0 0x40000>; 27927ec910eSWenyou Yang }; 28027ec910eSWenyou Yang 28127ec910eSWenyou Yang bootloader@40000 { 28227ec910eSWenyou Yang label = "bootloader"; 28327ec910eSWenyou Yang reg = <0x40000 0x80000>; 28427ec910eSWenyou Yang }; 28527ec910eSWenyou Yang 28627ec910eSWenyou Yang bootloaderenv@c0000 { 28727ec910eSWenyou Yang label = "bootloader env"; 28827ec910eSWenyou Yang reg = <0xc0000 0xc0000>; 28927ec910eSWenyou Yang }; 29027ec910eSWenyou Yang 29127ec910eSWenyou Yang dtb@180000 { 29227ec910eSWenyou Yang label = "device tree"; 29327ec910eSWenyou Yang reg = <0x180000 0x80000>; 29427ec910eSWenyou Yang }; 29527ec910eSWenyou Yang 29627ec910eSWenyou Yang kernel@200000 { 29727ec910eSWenyou Yang label = "kernel"; 29827ec910eSWenyou Yang reg = <0x200000 0x600000>; 29927ec910eSWenyou Yang }; 30027ec910eSWenyou Yang 30127ec910eSWenyou Yang rootfs@800000 { 30227ec910eSWenyou Yang label = "rootfs"; 30327ec910eSWenyou Yang reg = <0x800000 0x0f800000>; 30427ec910eSWenyou Yang }; 30527ec910eSWenyou Yang }; 30627ec910eSWenyou Yang 30727ec910eSWenyou Yang usb0: gadget@00500000 { 30827ec910eSWenyou Yang atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */ 30927ec910eSWenyou Yang pinctrl-names = "default"; 31027ec910eSWenyou Yang pinctrl-0 = <&pinctrl_usba_vbus>; 31127ec910eSWenyou Yang status = "okay"; 31227ec910eSWenyou Yang }; 31327ec910eSWenyou Yang 31427ec910eSWenyou Yang usb1: ohci@00600000 { 31527ec910eSWenyou Yang num-ports = <3>; 31627ec910eSWenyou Yang atmel,vbus-gpio = <0 31727ec910eSWenyou Yang &pioE 3 GPIO_ACTIVE_LOW 31827ec910eSWenyou Yang &pioE 4 GPIO_ACTIVE_LOW 31927ec910eSWenyou Yang >; 32027ec910eSWenyou Yang status = "okay"; 32127ec910eSWenyou Yang }; 32227ec910eSWenyou Yang 32327ec910eSWenyou Yang usb2: ehci@00700000 { 32427ec910eSWenyou Yang status = "okay"; 32527ec910eSWenyou Yang }; 32627ec910eSWenyou Yang }; 32727ec910eSWenyou Yang 32827ec910eSWenyou Yang vcc_mmc0_reg: fixedregulator@0 { 32927ec910eSWenyou Yang compatible = "regulator-fixed"; 33027ec910eSWenyou Yang gpio = <&pioE 2 GPIO_ACTIVE_LOW>; 33127ec910eSWenyou Yang regulator-name = "mmc0-card-supply"; 33227ec910eSWenyou Yang regulator-min-microvolt = <3300000>; 33327ec910eSWenyou Yang regulator-max-microvolt = <3300000>; 33427ec910eSWenyou Yang regulator-always-on; 33527ec910eSWenyou Yang }; 33627ec910eSWenyou Yang 33727ec910eSWenyou Yang gpio_keys { 33827ec910eSWenyou Yang compatible = "gpio-keys"; 33927ec910eSWenyou Yang 34027ec910eSWenyou Yang pinctrl-names = "default"; 34127ec910eSWenyou Yang pinctrl-0 = <&pinctrl_key_gpio>; 34227ec910eSWenyou Yang 34327ec910eSWenyou Yang bp3 { 34427ec910eSWenyou Yang label = "PB_USER"; 34527ec910eSWenyou Yang gpios = <&pioE 29 GPIO_ACTIVE_LOW>; 34627ec910eSWenyou Yang linux,code = <0x104>; 34727ec910eSWenyou Yang wakeup-source; 34827ec910eSWenyou Yang }; 34927ec910eSWenyou Yang }; 35027ec910eSWenyou Yang 35127ec910eSWenyou Yang leds { 35227ec910eSWenyou Yang compatible = "gpio-leds"; 35327ec910eSWenyou Yang 35427ec910eSWenyou Yang d2 { 35527ec910eSWenyou Yang label = "d2"; 35627ec910eSWenyou Yang gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */ 35727ec910eSWenyou Yang linux,default-trigger = "heartbeat"; 35827ec910eSWenyou Yang }; 35927ec910eSWenyou Yang 36027ec910eSWenyou Yang d3 { 36127ec910eSWenyou Yang label = "d3"; 36227ec910eSWenyou Yang gpios = <&pioE 24 GPIO_ACTIVE_HIGH>; 36327ec910eSWenyou Yang }; 36427ec910eSWenyou Yang }; 36527ec910eSWenyou Yang}; 366