0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
0004 *
0005 * Copyright (C) 2015 Atmel,
0006 * 2015 Josh Wu <josh.wu@atmel.com>
0007 */
0008 /dts-v1/;
0009 #include "sama5d4.dtsi"
0010 #include <dt-bindings/input/input.h>
0011
0012 / {
0013 model = "Atmel SAMA5D4 Xplained";
0014 compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
0015
0016 chosen {
0017 stdout-path = "serial0:115200n8";
0018 };
0019
0020 memory@20000000 {
0021 reg = <0x20000000 0x20000000>;
0022 };
0023
0024 clocks {
0025 slow_xtal {
0026 clock-frequency = <32768>;
0027 };
0028
0029 main_xtal {
0030 clock-frequency = <12000000>;
0031 };
0032 };
0033
0034 ahb {
0035 apb {
0036 uart0: serial@f8004000 {
0037 atmel,use-dma-rx;
0038 atmel,use-dma-tx;
0039 status = "okay";
0040 };
0041
0042 i2c0: i2c@f8014000 {
0043 i2c-digital-filter;
0044 status = "okay";
0045 };
0046
0047 macb0: ethernet@f8020000 {
0048 phy-mode = "rmii";
0049 status = "okay";
0050 pinctrl-names = "default";
0051 pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
0052
0053 phy0: ethernet-phy@1 {
0054 interrupt-parent = <&pioE>;
0055 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
0056 reg = <1>;
0057 };
0058 };
0059
0060 mmc1: mmc@fc000000 {
0061 pinctrl-names = "default";
0062 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
0063 vmmc-supply = <&vcc_mmc1_reg>;
0064 vqmmc-supply = <&vcc_3v3_reg>;
0065 status = "okay";
0066 slot@0 {
0067 reg = <0>;
0068 bus-width = <4>;
0069 cd-gpios = <&pioE 3 0>;
0070 };
0071 };
0072
0073 usart3: serial@fc00c000 {
0074 atmel,use-dma-rx;
0075 atmel,use-dma-tx;
0076 status = "okay";
0077 };
0078
0079 usart4: serial@fc010000 {
0080 status = "okay";
0081 };
0082
0083 spi1: spi@fc018000 {
0084 pinctrl-names = "default", "cs";
0085 pinctrl-1 = <&pinctrl_spi1_cs>;
0086 cs-gpios = <&pioB 21 0>;
0087 status = "okay";
0088 };
0089
0090 tcb2: timer@fc024000 {
0091 timer0: timer@0 {
0092 compatible = "atmel,tcb-timer";
0093 reg = <0>;
0094 };
0095
0096 timer1: timer@1 {
0097 compatible = "atmel,tcb-timer";
0098 reg = <1>;
0099 };
0100 };
0101
0102 adc0: adc@fc034000 {
0103 pinctrl-names = "default";
0104 pinctrl-0 = <
0105 /* external trigger conflicts with USBA_VBUS */
0106 &pinctrl_adc0_ad0
0107 &pinctrl_adc0_ad1
0108 &pinctrl_adc0_ad2
0109 &pinctrl_adc0_ad3
0110 &pinctrl_adc0_ad4
0111 >;
0112 atmel,adc-vref = <3300>;
0113 status = "okay";
0114 };
0115
0116 watchdog@fc068640 {
0117 status = "okay";
0118 };
0119
0120 pinctrl@fc06a000 {
0121 board {
0122 pinctrl_mmc1_cd: mmc1_cd {
0123 atmel,pins =
0124 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
0125 };
0126 pinctrl_usba_vbus: usba_vbus {
0127 atmel,pins =
0128 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
0129 };
0130 pinctrl_usb_default: usb_default {
0131 atmel,pins =
0132 <AT91_PIOE 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
0133 AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
0134 };
0135 pinctrl_key_gpio: key_gpio_0 {
0136 atmel,pins =
0137 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
0138 };
0139 pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
0140 atmel,pins =
0141 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
0142 };
0143 pinctrl_spi1_cs: spi1_cs_default {
0144 atmel,pins =
0145 <AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
0146 };
0147 pinctrl_gpio_leds: gpio_leds_default {
0148 atmel,pins =
0149 <AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
0150 AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
0151 };
0152 pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
0153 atmel,pins =
0154 <AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
0155 };
0156 };
0157 };
0158 };
0159
0160 usb0: gadget@400000 {
0161 atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
0162 pinctrl-names = "default";
0163 pinctrl-0 = <&pinctrl_usba_vbus>;
0164 status = "okay";
0165 };
0166
0167 usb1: ohci@500000 {
0168 num-ports = <3>;
0169 atmel,vbus-gpio = <0
0170 &pioE 11 GPIO_ACTIVE_HIGH
0171 &pioE 14 GPIO_ACTIVE_HIGH
0172 >;
0173 pinctrl-names = "default";
0174 pinctrl-0 = <&pinctrl_usb_default>;
0175 status = "okay";
0176 };
0177
0178 usb2: ehci@600000 {
0179 status = "okay";
0180 };
0181
0182 ebi: ebi@10000000 {
0183 pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe
0184 &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy
0185 &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>;
0186 pinctrl-names = "default";
0187 status = "okay";
0188
0189 nand_controller: nand-controller {
0190 status = "okay";
0191
0192 nand@3 {
0193 reg = <0x3 0x0 0x2>;
0194 atmel,rb = <0>;
0195 nand-bus-width = <8>;
0196 nand-ecc-mode = "hw";
0197 nand-on-flash-bbt;
0198 label = "atmel_nand";
0199
0200 partitions {
0201 compatible = "fixed-partitions";
0202 #address-cells = <1>;
0203 #size-cells = <1>;
0204
0205 at91bootstrap@0 {
0206 label = "at91bootstrap";
0207 reg = <0x0 0x40000>;
0208 };
0209
0210 bootloader@40000 {
0211 label = "bootloader";
0212 reg = <0x40000 0xc0000>;
0213 };
0214
0215 bootloaderenvred@100000 {
0216 label = "bootloader env redundant";
0217 reg = <0x100000 0x40000>;
0218 };
0219
0220 bootloaderenv@140000 {
0221 label = "bootloader env";
0222 reg = <0x140000 0x40000>;
0223 };
0224
0225 dtb@180000 {
0226 label = "device tree";
0227 reg = <0x180000 0x80000>;
0228 };
0229
0230 kernel@200000 {
0231 label = "kernel";
0232 reg = <0x200000 0x600000>;
0233 };
0234
0235 rootfs@800000 {
0236 label = "rootfs";
0237 reg = <0x800000 0x1f800000>;
0238 };
0239 };
0240 };
0241 };
0242 };
0243 };
0244
0245 gpio-keys {
0246 compatible = "gpio-keys";
0247
0248 pinctrl-names = "default";
0249 pinctrl-0 = <&pinctrl_key_gpio>;
0250
0251 button {
0252 label = "pb_user1";
0253 gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
0254 linux,code = <KEY_PROG1>;
0255 wakeup-source;
0256 };
0257 };
0258
0259 leds {
0260 compatible = "gpio-leds";
0261 pinctrl-names = "default";
0262 pinctrl-0 = <&pinctrl_gpio_leds>;
0263 status = "okay";
0264
0265 d8 {
0266 label = "d8";
0267 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
0268 default-state = "on";
0269 };
0270
0271 d10 {
0272 label = "d10";
0273 gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
0274 linux,default-trigger = "heartbeat";
0275 };
0276 };
0277
0278 vcc_3v3_reg: fixedregulator_3v3 {
0279 compatible = "regulator-fixed";
0280 regulator-name = "VCC 3V3";
0281 regulator-min-microvolt = <3300000>;
0282 regulator-max-microvolt = <3300000>;
0283 regulator-boot-on;
0284 regulator-always-on;
0285 };
0286
0287 vcc_mmc1_reg: fixedregulator_mmc1 {
0288 compatible = "regulator-fixed";
0289 pinctrl-names = "default";
0290 pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
0291 gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
0292 regulator-name = "VDD MCI1";
0293 regulator-min-microvolt = <3300000>;
0294 regulator-max-microvolt = <3300000>;
0295 vin-supply = <&vcc_3v3_reg>;
0296 regulator-always-on;
0297 };
0298 };