1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * at91-sama5d27_som1_ek.dts - Device Tree file for SAMA5D27-SOM1-EK board 4 * 5 * Copyright (c) 2017, Microchip Technology Inc. 6 * 2016 Nicolas Ferre <nicolas.ferre@atmel.com> 7 * 2017 Cristian Birsan <cristian.birsan@microchip.com> 8 * 2017 Claudiu Beznea <claudiu.beznea@microchip.com> 9 */ 10 /dts-v1/; 11 #include "at91-sama5d27_som1.dtsi" 12 #include <dt-bindings/mfd/atmel-flexcom.h> 13 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/input/input.h> 15 16 / { 17 model = "Atmel SAMA5D27 SOM1 EK"; 18 compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; 19 20 aliases { 21 serial0 = &uart1; /* DBGU */ 22 serial1 = &uart4; /* mikro BUS 1 */ 23 serial2 = &uart2; /* mikro BUS 2 */ 24 i2c1 = &i2c1; 25 i2c2 = &i2c3; 26 }; 27 28 chosen { 29 stdout-path = "serial0:115200n8"; 30 }; 31 32 ahb { 33 usb0: gadget@300000 { 34 atmel,vbus-gpio = <&pioA PIN_PD20 GPIO_ACTIVE_HIGH>; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&pinctrl_usba_vbus>; 37 status = "okay"; 38 }; 39 40 usb1: ohci@400000 { 41 num-ports = <3>; 42 atmel,vbus-gpio = <0 /* &pioA PIN_PD20 GPIO_ACTIVE_HIGH */ 43 &pioA PIN_PA27 GPIO_ACTIVE_HIGH 44 0 45 >; 46 pinctrl-names = "default"; 47 pinctrl-0 = <&pinctrl_usb_default>; 48 status = "okay"; 49 }; 50 51 usb2: ehci@500000 { 52 status = "okay"; 53 }; 54 55 sdmmc0: sdio-host@a0000000 { 56 bus-width = <8>; 57 pinctrl-names = "default"; 58 pinctrl-0 = <&pinctrl_sdmmc0_default>; 59 status = "okay"; 60 }; 61 62 sdmmc1: sdio-host@b0000000 { 63 bus-width = <4>; 64 pinctrl-names = "default"; 65 pinctrl-0 = <&pinctrl_sdmmc1_default>; 66 status = "okay"; 67 }; 68 69 apb { 70 isc: isc@f0008000 { 71 pinctrl-names = "default"; 72 pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>; 73 }; 74 75 qspi1: spi@f0024000 { 76 status = "okay"; 77 }; 78 79 spi0: spi@f8000000 { 80 pinctrl-names = "default"; 81 pinctrl-0 = <&pinctrl_spi0_default>; 82 status = "okay"; 83 }; 84 85 macb0: ethernet@f8008000 { 86 status = "okay"; 87 }; 88 89 tcb0: timer@f800c000 { 90 timer0: timer@0 { 91 compatible = "atmel,tcb-timer"; 92 reg = <0>; 93 }; 94 95 timer1: timer@1 { 96 compatible = "atmel,tcb-timer"; 97 reg = <1>; 98 }; 99 }; 100 101 uart1: serial@f8020000 { 102 pinctrl-names = "default"; 103 pinctrl-0 = <&pinctrl_uart1_default>; 104 atmel,use-dma-rx; 105 atmel,use-dma-tx; 106 status = "okay"; 107 }; 108 109 uart2: serial@f8024000 { 110 pinctrl-names = "default"; 111 pinctrl-0 = <&pinctrl_mikrobus2_uart>; 112 atmel,use-dma-rx; 113 atmel,use-dma-tx; 114 status = "okay"; 115 }; 116 117 pwm0: pwm@f802c000 { 118 pinctrl-names = "default"; 119 pinctrl-0 = <&pinctrl_mikrobus1_pwm &pinctrl_mikrobus2_pwm>; 120 status = "disabled"; /* Conflict with leds. */ 121 }; 122 123 flx1: flexcom@f8038000 { 124 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 125 status = "okay"; 126 127 i2c3: i2c@600 { 128 dmas = <0>, <0>; 129 i2c-analog-filter; 130 i2c-digital-filter; 131 i2c-digital-filter-width-ns = <35>; 132 pinctrl-names = "default", "gpio"; 133 pinctrl-0 = <&pinctrl_mikrobus_i2c>; 134 pinctrl-1 = <&pinctrl_i2c3_gpio>; 135 sda-gpios = <&pioA PIN_PA24 GPIO_ACTIVE_HIGH>; 136 scl-gpios = <&pioA PIN_PA23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 137 status = "okay"; 138 }; 139 }; 140 141 poweroff@f8048010 { 142 debounce-delay-us = <976>; 143 atmel,wakeup-rtc-timer; 144 145 input@0 { 146 reg = <0>; 147 }; 148 }; 149 150 watchdog@f8048040 { 151 status = "okay"; 152 }; 153 154 uart3: serial@fc008000 { 155 atmel,use-dma-rx; 156 atmel,use-dma-tx; 157 pinctrl-names = "default"; 158 pinctrl-0 = <&pinctrl_uart3_default>; 159 status = "disabled"; /* Conflict with isc. */ 160 }; 161 162 uart4: serial@fc00c000 { 163 atmel,use-dma-rx; 164 atmel,use-dma-tx; 165 pinctrl-names = "default"; 166 pinctrl-0 = <&pinctrl_mikrobus1_uart>; 167 status = "okay"; 168 }; 169 170 flx3: flexcom@fc014000 { 171 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; 172 status = "disabled"; 173 174 uart8: serial@200 { 175 dmas = <0>, <0>; 176 pinctrl-names = "default"; 177 pinctrl-0 = <&pinctrl_flx3_default>; 178 status = "disabled"; /* Conflict with isc. */ 179 }; 180 181 spi5: spi@400 { 182 dmas = <0>, <0>; 183 pinctrl-names = "default"; 184 pinctrl-0 = <&pinctrl_flx3_default>; 185 status = "disabled"; /* Conflict with isc. */ 186 }; 187 }; 188 189 flx4: flexcom@fc018000 { 190 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; 191 status = "okay"; 192 193 uart9: serial@200 { 194 dmas = <0>, <0>; 195 pinctrl-names = "default"; 196 pinctrl-0 = <&pinctrl_flx4_default>; 197 status = "disabled"; /* Conflict with spi6 and i2c6. */ 198 }; 199 200 spi6: spi@400 { 201 dmas = <0>, <0>; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>; 204 status = "okay"; /* Conflict with uart5 and i2c6. */ 205 }; 206 207 i2c6: i2c@600 { 208 dmas = <0>, <0>; 209 pinctrl-names = "default"; 210 pinctrl-0 = <&pinctrl_flx4_default>; 211 status = "disabled"; /* Conflict with uart5 and spi6. */ 212 }; 213 }; 214 215 i2c1: i2c@fc028000 { 216 dmas = <0>, <0>; 217 i2c-analog-filter; 218 i2c-digital-filter; 219 i2c-digital-filter-width-ns = <35>; 220 pinctrl-names = "default", "gpio"; 221 pinctrl-0 = <&pinctrl_i2c1_default>; 222 pinctrl-1 = <&pinctrl_i2c1_gpio>; 223 sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>; 224 scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 225 status = "okay"; 226 }; 227 228 adc: adc@fc030000 { 229 vddana-supply = <&vddana>; 230 vref-supply = <&advref>; 231 pinctrl-names = "default"; 232 pinctrl-0 = <&pinctrl_mikrobus1_an &pinctrl_mikrobus2_an>; 233 234 status = "okay"; 235 }; 236 237 pinctrl@fc038000 { 238 239 pinctrl_can1_default: can1_default { 240 pinmux = <PIN_PC26__CANTX1>, 241 <PIN_PC27__CANRX1>; 242 bias-disable; 243 }; 244 245 pinctrl_flx3_default: flx3_default { 246 pinmux = <PIN_PC20__FLEXCOM3_IO0>, 247 <PIN_PC19__FLEXCOM3_IO1>, 248 <PIN_PC18__FLEXCOM3_IO2>, 249 <PIN_PC21__FLEXCOM3_IO3>, 250 <PIN_PC22__FLEXCOM3_IO4>; 251 bias-disable; 252 }; 253 254 pinctrl_i2c1_default: i2c1_default { 255 pinmux = <PIN_PD4__TWD1>, 256 <PIN_PD5__TWCK1>; 257 bias-disable; 258 }; 259 260 pinctrl_i2c1_gpio: i2c1_gpio { 261 pinmux = <PIN_PD4__GPIO>, 262 <PIN_PD5__GPIO>; 263 bias-disable; 264 }; 265 266 267 pinctrl_isc_base: isc_base { 268 pinmux = <PIN_PC21__ISC_PCK>, 269 <PIN_PC22__ISC_VSYNC>, 270 <PIN_PC23__ISC_HSYNC>, 271 <PIN_PC24__ISC_MCK>; 272 bias-disable; 273 }; 274 275 pinctrl_isc_data_8bit: isc_data_8bit { 276 pinmux = <PIN_PC20__ISC_D11>, 277 <PIN_PC19__ISC_D10>, 278 <PIN_PC18__ISC_D9>, 279 <PIN_PC17__ISC_D8>, 280 <PIN_PC16__ISC_D7>, 281 <PIN_PC15__ISC_D6>, 282 <PIN_PC14__ISC_D5>, 283 <PIN_PC13__ISC_D4>; 284 bias-disable; 285 }; 286 287 pinctrl_isc_data_9_10: isc_data_9_10 { 288 pinmux = <PIN_PC12__ISC_D3>, 289 <PIN_PC11__ISC_D2>; 290 bias-disable; 291 }; 292 293 pinctrl_isc_data_11_12: isc_data_11_12 { 294 pinmux = <PIN_PC10__ISC_D1>, 295 <PIN_PC9__ISC_D0>; 296 bias-disable; 297 }; 298 299 pinctrl_key_gpio_default: key_gpio_default { 300 pinmux = <PIN_PA29__GPIO>; 301 bias-pull-up; 302 }; 303 304 pinctrl_led_gpio_default: led_gpio_default { 305 pinmux = <PIN_PA10__GPIO>, 306 <PIN_PB1__GPIO>, 307 <PIN_PA31__GPIO>; 308 bias-pull-up; 309 }; 310 311 pinctrl_sdmmc0_default: sdmmc0_default { 312 cmd_data { 313 pinmux = <PIN_PA1__SDMMC0_CMD>, 314 <PIN_PA2__SDMMC0_DAT0>, 315 <PIN_PA3__SDMMC0_DAT1>, 316 <PIN_PA4__SDMMC0_DAT2>, 317 <PIN_PA5__SDMMC0_DAT3>, 318 <PIN_PA6__SDMMC0_DAT4>, 319 <PIN_PA7__SDMMC0_DAT5>, 320 <PIN_PA8__SDMMC0_DAT6>, 321 <PIN_PA9__SDMMC0_DAT7>; 322 bias-disable; 323 }; 324 325 ck_cd_vddsel { 326 pinmux = <PIN_PA0__SDMMC0_CK>, 327 <PIN_PA11__SDMMC0_VDDSEL>, 328 <PIN_PA13__SDMMC0_CD>; 329 bias-disable; 330 }; 331 }; 332 333 pinctrl_sdmmc1_default: sdmmc1_default { 334 cmd_data { 335 pinmux = <PIN_PA28__SDMMC1_CMD>, 336 <PIN_PA18__SDMMC1_DAT0>, 337 <PIN_PA19__SDMMC1_DAT1>, 338 <PIN_PA20__SDMMC1_DAT2>, 339 <PIN_PA21__SDMMC1_DAT3>; 340 bias-disable; 341 }; 342 343 conf-ck_cd { 344 pinmux = <PIN_PA22__SDMMC1_CK>, 345 <PIN_PA30__SDMMC1_CD>; 346 bias-disable; 347 }; 348 }; 349 350 pinctrl_spi0_default: spi0_default { 351 pinmux = <PIN_PA14__SPI0_SPCK>, 352 <PIN_PA15__SPI0_MOSI>, 353 <PIN_PA16__SPI0_MISO>, 354 <PIN_PA17__SPI0_NPCS0>; 355 bias-disable; 356 }; 357 358 pinctrl_uart1_default: uart1_default { 359 pinmux = <PIN_PD2__URXD1>, 360 <PIN_PD3__UTXD1>; 361 bias-disable; 362 }; 363 364 pinctrl_uart3_default: uart3_default { 365 pinmux = <PIN_PC12__URXD3>, 366 <PIN_PC13__UTXD3>; 367 bias-disable; 368 }; 369 370 pinctrl_usb_default: usb_default { 371 pinmux = <PIN_PA27__GPIO>, 372 <PIN_PD19__GPIO>; 373 bias-disable; 374 }; 375 376 pinctrl_usba_vbus: usba_vbus { 377 pinmux = <PIN_PD20__GPIO>; 378 bias-disable; 379 }; 380 381 pinctrl_mikrobus1_an: mikrobus1_an { 382 pinmux = <PIN_PD25__GPIO>; 383 bias-disable; 384 }; 385 386 pinctrl_mikrobus2_an: mikrobus2_an { 387 pinmux = <PIN_PD26__GPIO>; 388 bias-disable; 389 }; 390 391 pinctrl_mikrobus1_rst: mikrobus1_rst { 392 pinmux = <PIN_PB2__GPIO>; 393 bias-disable; 394 }; 395 396 pinctrl_mikrobus2_rst: mikrobus2_rst { 397 pinmux = <PIN_PA26__GPIO>; 398 bias-disable; 399 }; 400 401 pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs { 402 pinmux = <PIN_PD0__FLEXCOM4_IO4>; 403 bias-disable; 404 }; 405 406 pinctrl_mikrobus2_spi_cs: mikrobus2_spi_cs { 407 pinmux = <PIN_PC31__FLEXCOM4_IO3>; 408 bias-disable; 409 }; 410 411 pinctrl_mikrobus_spi: mikrobus_spi { 412 pinmux = <PIN_PC28__FLEXCOM4_IO0>, 413 <PIN_PC29__FLEXCOM4_IO1>, 414 <PIN_PC30__FLEXCOM4_IO2>; 415 bias-disable; 416 }; 417 418 pinctrl_mikrobus1_pwm: mikrobus1_pwm { 419 pinmux = <PIN_PB1__PWML1>; 420 bias-disable; 421 }; 422 423 pinctrl_mikrobus2_pwm: mikrobus2_pwm { 424 pinmux = <PIN_PA31__PWML0>; 425 bias-disable; 426 }; 427 428 pinctrl_mikrobus1_int: mikrobus1_int { 429 pinmux = <PIN_PB0__GPIO>; 430 bias-disable; 431 }; 432 433 pinctrl_mikrobus2_int: mikrobus2_int { 434 pinmux = <PIN_PA25__GPIO>; 435 bias-disable; 436 }; 437 438 pinctrl_mikrobus1_uart: mikrobus1_uart { 439 pinmux = <PIN_PB3__URXD4>, 440 <PIN_PB4__UTXD4>; 441 bias-disable; 442 }; 443 444 pinctrl_mikrobus2_uart: mikrobus2_uart { 445 pinmux = <PIN_PD23__URXD2>, 446 <PIN_PD24__UTXD2>; 447 bias-disable; 448 }; 449 450 pinctrl_mikrobus_i2c: mikrobus1_i2c { 451 pinmux = <PIN_PA24__FLEXCOM1_IO0>, 452 <PIN_PA23__FLEXCOM1_IO1>; 453 bias-disable; 454 }; 455 456 pinctrl_i2c3_gpio: i2c3_gpio { 457 pinmux = <PIN_PA24__GPIO>, 458 <PIN_PA23__GPIO>; 459 bias-disable; 460 }; 461 462 pinctrl_flx4_default: flx4_uart_default { 463 pinmux = <PIN_PC28__FLEXCOM4_IO0>, 464 <PIN_PC29__FLEXCOM4_IO1>, 465 <PIN_PC30__FLEXCOM4_IO2>, 466 <PIN_PC31__FLEXCOM4_IO3>, 467 <PIN_PD0__FLEXCOM4_IO4>; 468 bias-disable; 469 }; 470 }; 471 472 can1: can@fc050000 { 473 pinctrl-names = "default"; 474 pinctrl-0 = <&pinctrl_can1_default>; 475 status = "okay"; 476 }; 477 }; 478 }; 479 480 gpio-keys { 481 compatible = "gpio-keys"; 482 483 pinctrl-names = "default"; 484 pinctrl-0 = <&pinctrl_key_gpio_default>; 485 486 button { 487 label = "USER"; 488 gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>; 489 linux,code = <KEY_PROG1>; 490 wakeup-source; 491 }; 492 }; 493 494 leds { 495 compatible = "gpio-leds"; 496 pinctrl-names = "default"; 497 pinctrl-0 = <&pinctrl_led_gpio_default>; 498 status = "okay"; /* Conflict with pwm0. */ 499 500 led-red { 501 label = "red"; 502 gpios = <&pioA PIN_PA10 GPIO_ACTIVE_HIGH>; 503 }; 504 505 led-green { 506 label = "green"; 507 gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; 508 }; 509 510 led-blue { 511 label = "blue"; 512 gpios = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>; 513 linux,default-trigger = "heartbeat"; 514 }; 515 }; 516 517 vddin_3v3: fixed-regulator-vddin_3v3 { 518 compatible = "regulator-fixed"; 519 520 regulator-name = "VDDIN_3V3"; 521 regulator-min-microvolt = <3300000>; 522 regulator-max-microvolt = <3300000>; 523 regulator-always-on; 524 regulator-boot-on; 525 status = "okay"; 526 }; 527 528 vddana: fixed-regulator-vddana { 529 compatible = "regulator-fixed"; 530 531 regulator-name = "VDDANA"; 532 regulator-min-microvolt = <3300000>; 533 regulator-max-microvolt = <3300000>; 534 regulator-always-on; 535 regulator-boot-on; 536 vin-supply = <&vddin_3v3>; 537 status = "okay"; 538 }; 539 540 advref: fixed-regulator-advref { 541 compatible = "regulator-fixed"; 542 543 regulator-name = "advref"; 544 regulator-min-microvolt = <3300000>; 545 regulator-max-microvolt = <3300000>; 546 regulator-always-on; 547 regulator-boot-on; 548 vin-supply = <&vddana>; 549 status = "okay"; 550 }; 551 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.