1// SPDX-License-Identifier: (GPL-2.0+ OR X11) 2/* 3 * at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board 4 * 5 * Copyright (C) 2017 Microchip/Atmel, 6 * 2017 Wenyou Yang <wenyou.yang@microchip.com> 7 * 2017 Ludovic Desroches <ludovic.desroches@microchip.com> 8 */ 9/dts-v1/; 10#include "sama5d2.dtsi" 11#include "sama5d2-pinfunc.h" 12#include <dt-bindings/mfd/atmel-flexcom.h> 13#include <dt-bindings/gpio/gpio.h> 14#include <dt-bindings/pinctrl/at91.h> 15 16/ { 17 model = "Atmel SAMA5D2 PTC EK"; 18 compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5"; 19 20 aliases { 21 serial0 = &uart0; 22 i2c0 = &i2c0; 23 i2c1 = &i2c1; 24 i2c2 = &i2c2; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 29 }; 30 31 clocks { 32 slow_xtal { 33 clock-frequency = <32768>; 34 }; 35 36 main_xtal { 37 clock-frequency = <24000000>; 38 }; 39 }; 40 41 ahb { 42 usb0: gadget@300000 { 43 atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>; 44 pinctrl-names = "default"; 45 pinctrl-0 = <&pinctrl_usba_vbus>; 46 status = "okay"; 47 }; 48 49 usb1: ohci@400000 { 50 num-ports = <3>; 51 atmel,vbus-gpio = <0 52 &pioA PIN_PB12 GPIO_ACTIVE_HIGH 53 0 54 >; 55 pinctrl-names = "default"; 56 pinctrl-0 = <&pinctrl_usb_default>; 57 status = "okay"; 58 }; 59 60 usb2: ehci@500000 { 61 status = "okay"; 62 }; 63 64 ebi: ebi@10000000 { 65 pinctrl-names = "default"; 66 pinctrl-0 = <&pinctrl_nand_default>; 67 status = "okay"; /* conflicts with sdmmc1 and qspi0 */ 68 69 nand_controller: nand-controller { 70 status = "okay"; 71 72 nand@3 { 73 reg = <0x3 0x0 0x2>; 74 atmel,rb = <0>; 75 nand-bus-width = <8>; 76 nand-ecc-mode = "hw"; 77 nand-on-flash-bbt; 78 label = "atmel_nand"; 79 80 partitions { 81 compatible = "fixed-partitions"; 82 #address-cells = <1>; 83 #size-cells = <1>; 84 85 at91bootstrap@0 { 86 label = "bootstrap"; 87 reg = <0x0 0x40000>; 88 }; 89 90 bootloader@40000 { 91 label = "bootloader"; 92 reg = <0x40000 0xc0000>; 93 }; 94 95 bootloaderenvred@0x100000 { 96 label = "bootloader env redundant"; 97 reg = <0x100000 0x40000>; 98 }; 99 100 bootloaderenv@0x140000 { 101 label = "bootloader env"; 102 reg = <0x140000 0x40000>; 103 }; 104 105 dtb@180000 { 106 label = "device tree"; 107 reg = <0x180000 0x80000>; 108 }; 109 110 kernel@200000 { 111 label = "kernel"; 112 reg = <0x200000 0x600000>; 113 }; 114 115 rootfs@800000 { 116 label = "rootfs"; 117 reg = <0x800000 0x1f800000>; 118 }; 119 }; 120 }; 121 }; 122 }; 123 124 sdmmc0: sdio-host@a0000000 { 125 bus-width = <8>; 126 pinctrl-names = "default"; 127 pinctrl-0 = <&pinctrl_sdmmc0_default>; 128 non-removable; 129 mmc-ddr-1_8v; 130 status = "okay"; 131 }; 132 133 apb { 134 spi0: spi@f8000000 { 135 pinctrl-names = "default"; 136 pinctrl-0 = <&pinctrl_spi0_default>; 137 status = "okay"; 138 }; 139 140 macb0: ethernet@f8008000 { 141 pinctrl-names = "default"; 142 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>; 143 phy-mode = "rmii"; 144 status = "okay"; 145 146 ethernet-phy@1 { 147 reg = <0x1>; 148 interrupt-parent = <&pioA>; 149 interrupts = <56 IRQ_TYPE_LEVEL_LOW>; 150 }; 151 }; 152 153 tcb0: timer@f800c000 { 154 timer0: timer@0 { 155 compatible = "atmel,tcb-timer"; 156 reg = <0>; 157 }; 158 159 timer1: timer@1 { 160 compatible = "atmel,tcb-timer"; 161 reg = <1>; 162 }; 163 }; 164 165 uart0: serial@f801c000 { 166 pinctrl-names = "default"; 167 pinctrl-0 = <&pinctrl_uart0_default>; 168 atmel,use-dma-rx; 169 atmel,use-dma-tx; 170 status = "okay"; 171 }; 172 173 uart2: serial@f8024000 { 174 pinctrl-names = "default"; 175 pinctrl-0 = <&pinctrl_uart2_default>; 176 atmel,use-dma-rx; 177 atmel,use-dma-tx; 178 status = "okay"; 179 }; 180 181 i2c0: i2c@f8028000 { 182 dmas = <0>, <0>; 183 pinctrl-names = "default"; 184 pinctrl-0 = <&pinctrl_i2c0_default>; 185 status = "okay"; 186 }; 187 188 flx0: flexcom@f8034000 { 189 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 190 status = "okay"; 191 192 i2c2: i2c@600 { 193 compatible = "atmel,sama5d2-i2c"; 194 reg = <0x600 0x200>; 195 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; 196 dmas = <0>, <0>; 197 dma-names = "tx", "rx"; 198 #address-cells = <1>; 199 #size-cells = <0>; 200 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>; 201 pinctrl-names = "default"; 202 pinctrl-0 = <&pinctrl_flx0_default>; 203 atmel,fifo-size = <16>; 204 status = "okay"; 205 }; 206 }; 207 208 shdwc@f8048010 { 209 atmel,shdwc-debouncer = <976>; 210 211 input@0 { 212 reg = <0>; 213 atmel,wakeup-type = "low"; 214 }; 215 }; 216 217 watchdog@f8048040 { 218 status = "okay"; 219 }; 220 221 spi1: spi@fc000000 { 222 pinctrl-names = "default"; 223 pinctrl-0 = <&pinctrl_spi1_default>; 224 status = "okay"; 225 }; 226 227 i2c1: i2c@fc028000 { 228 dmas = <0>, <0>; 229 pinctrl-names = "default"; 230 pinctrl-0 = <&pinctrl_i2c1_default>; 231 status = "okay"; 232 233 at24@50 { 234 compatible = "atmel,24c02"; 235 reg = <0x50>; 236 pagesize = <8>; 237 }; 238 }; 239 240 pinctrl@fc038000 { 241 pinctrl_flx0_default: flx0_default { 242 pinmux = <PIN_PB28__FLEXCOM0_IO0>, 243 <PIN_PB29__FLEXCOM0_IO1>; 244 bias-disable; 245 }; 246 247 pinctrl_i2c0_default: i2c0_default { 248 pinmux = <PIN_PD21__TWD0>, 249 <PIN_PD22__TWCK0>; 250 bias-disable; 251 }; 252 253 pinctrl_i2c1_default: i2c1_default { 254 pinmux = <PIN_PC6__TWD1>, 255 <PIN_PC7__TWCK1>; 256 bias-disable; 257 }; 258 259 pinctrl_key_gpio_default: key_gpio_default { 260 pinmux = <PIN_PA10__GPIO>; 261 bias-pull-up; 262 }; 263 264 pinctrl_led_gpio_default: led_gpio_default { 265 pinmux = <PIN_PB6__GPIO>, 266 <PIN_PB8__GPIO>, 267 <PIN_PB10__GPIO>; 268 bias-pull-up; 269 }; 270 271 pinctrl_macb0_default: macb0_default { 272 pinmux = <PIN_PB14__GTXCK>, 273 <PIN_PB15__GTXEN>, 274 <PIN_PB16__GRXDV>, 275 <PIN_PB17__GRXER>, 276 <PIN_PB18__GRX0>, 277 <PIN_PB19__GRX1>, 278 <PIN_PB20__GTX0>, 279 <PIN_PB21__GTX1>, 280 <PIN_PB22__GMDC>, 281 <PIN_PB23__GMDIO>; 282 bias-disable; 283 }; 284 285 pinctrl_macb0_phy_irq: macb0_phy_irq { 286 pinmux = <PIN_PB24__GPIO>; 287 bias-disable; 288 }; 289 290 pinctrl_nand_default: nand_default { 291 re_we_data { 292 pinmux = <PIN_PA22__D0>, 293 <PIN_PA23__D1>, 294 <PIN_PA24__D2>, 295 <PIN_PA25__D3>, 296 <PIN_PA26__D4>, 297 <PIN_PA27__D5>, 298 <PIN_PA28__D6>, 299 <PIN_PA29__D7>, 300 <PIN_PA30__NWE_NANDWE>, 301 <PIN_PB2__NRD_NANDOE>; 302 bias-pull-up; 303 atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>; 304 }; 305 306 ale_cle_rdy_cs { 307 pinmux = <PIN_PB0__A21_NANDALE>, 308 <PIN_PB1__A22_NANDCLE>, 309 <PIN_PC8__NANDRDY>, 310 <PIN_PA31__NCS3>; 311 bias-pull-up; 312 }; 313 }; 314 315 pinctrl_sdmmc0_default: sdmmc0_default { 316 cmd_data { 317 pinmux = <PIN_PA1__SDMMC0_CMD>, 318 <PIN_PA2__SDMMC0_DAT0>, 319 <PIN_PA3__SDMMC0_DAT1>, 320 <PIN_PA4__SDMMC0_DAT2>, 321 <PIN_PA5__SDMMC0_DAT3>, 322 <PIN_PA6__SDMMC0_DAT4>, 323 <PIN_PA7__SDMMC0_DAT5>, 324 <PIN_PA8__SDMMC0_DAT6>, 325 <PIN_PA9__SDMMC0_DAT7>; 326 bias-pull-up; 327 }; 328 329 ck_cd_vddsel { 330 pinmux = <PIN_PA0__SDMMC0_CK>, 331 <PIN_PA11__SDMMC0_VDDSEL>, 332 <PIN_PA13__SDMMC0_CD>; 333 bias-disable; 334 }; 335 }; 336 337 pinctrl_spi0_default: spi0_default { 338 pinmux = <PIN_PA14__SPI0_SPCK>, 339 <PIN_PA15__SPI0_MOSI>, 340 <PIN_PA16__SPI0_MISO>, 341 <PIN_PA17__SPI0_NPCS0>; 342 bias-disable; 343 }; 344 345 pinctrl_spi1_default: spi1_default { 346 pinmux = <PIN_PC1__SPI1_SPCK>, 347 <PIN_PC2__SPI1_MOSI>, 348 <PIN_PC3__SPI1_MISO>, 349 <PIN_PC4__SPI1_NPCS0>; 350 bias-disable; 351 }; 352 353 pinctrl_uart0_default: uart0_default { 354 pinmux = <PIN_PB26__URXD0>, 355 <PIN_PB27__UTXD0>; 356 bias-disable; 357 }; 358 359 pinctrl_uart2_default: uart2_default { 360 pinmux = <PIN_PD23__URXD2>, 361 <PIN_PD24__UTXD2>; 362 bias-disable; 363 }; 364 365 pinctrl_usb_default: usb_default { 366 pinmux = <PIN_PB12__GPIO>; 367 bias-disable; 368 }; 369 370 pinctrl_usba_vbus: usba_vbus { 371 pinmux = <PIN_PB11__GPIO>; 372 bias-disable; 373 }; 374 375 }; 376 377 }; 378 }; 379 380 gpio_keys { 381 compatible = "gpio-keys"; 382 383 pinctrl-names = "default"; 384 pinctrl-0 = <&pinctrl_key_gpio_default>; 385 386 bp1 { 387 label = "PB_USER"; 388 gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>; 389 linux,code = <0x104>; 390 }; 391 }; 392 393 leds { 394 compatible = "gpio-leds"; 395 pinctrl-names = "default"; 396 pinctrl-0 = <&pinctrl_led_gpio_default>; 397 status = "okay"; 398 399 red { 400 label = "red"; 401 gpios = <&pioA PIN_PB10 GPIO_ACTIVE_HIGH>; 402 }; 403 404 green { 405 label = "green"; 406 gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>; 407 }; 408 409 blue { 410 label = "blue"; 411 gpios = <&pioA PIN_PB6 GPIO_ACTIVE_HIGH>; 412 linux,default-trigger = "heartbeat"; 413 }; 414 }; 415}; 416