1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board 4 * 5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries 6 * 7 * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com> 8 */ 9/dts-v1/; 10#include "sam9x60.dtsi" 11 12/ { 13 model = "Microchip SAM9X60-EK"; 14 compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9"; 15 16 aliases { 17 i2c0 = &i2c0; 18 i2c1 = &i2c1; 19 serial1 = &uart1; 20 }; 21 22 chosen { 23 stdout-path = "serial0:115200n8"; 24 }; 25 26 clocks { 27 slow_xtal { 28 clock-frequency = <32768>; 29 }; 30 31 main_xtal { 32 clock-frequency = <24000000>; 33 }; 34 }; 35 36 regulators: regulators { 37 compatible = "simple-bus"; 38 #address-cells = <1>; 39 #size-cells = <0>; 40 41 vdd_1v8: fixed-regulator-vdd_1v8@0 { 42 compatible = "regulator-fixed"; 43 regulator-name = "VDD_1V8"; 44 regulator-min-microvolt = <1800000>; 45 regulator-max-microvolt = <1800000>; 46 regulator-always-on; 47 status = "okay"; 48 }; 49 50 vdd_1v5: fixed-regulator-vdd_1v5@1 { 51 compatible = "regulator-fixed"; 52 regulator-name = "VDD_1V5"; 53 regulator-min-microvolt = <1500000>; 54 regulator-max-microvolt = <1500000>; 55 regulator-always-on; 56 status = "okay"; 57 }; 58 59 vdd1_3v3: fixed-regulator-vdd1_3v3@2 { 60 compatible = "regulator-fixed"; 61 regulator-name = "VDD1_3V3"; 62 regulator-min-microvolt = <3300000>; 63 regulator-max-microvolt = <3300000>; 64 regulator-always-on; 65 status = "okay"; 66 }; 67 68 vdd2_3v3: regulator-fixed-vdd2_3v3@3 { 69 compatible = "regulator-fixed"; 70 regulator-name = "VDD2_3V3"; 71 regulator-min-microvolt = <3300000>; 72 regulator-max-microvolt = <3300000>; 73 regulator-always-on; 74 status = "okay"; 75 }; 76 }; 77 78 gpio_keys { 79 compatible = "gpio-keys"; 80 pinctrl-names = "default"; 81 pinctrl-0 = <&pinctrl_key_gpio_default>; 82 status = "okay"; 83 84 sw1 { 85 label = "SW1"; 86 gpios = <&pioD 18 GPIO_ACTIVE_LOW>; 87 linux,code=<0x104>; 88 wakeup-source; 89 }; 90 }; 91 92 leds { 93 compatible = "gpio-leds"; 94 status = "okay"; /* Conflict with pwm0. */ 95 96 red { 97 label = "red"; 98 gpios = <&pioB 11 GPIO_ACTIVE_HIGH>; 99 }; 100 101 green { 102 label = "green"; 103 gpios = <&pioB 12 GPIO_ACTIVE_HIGH>; 104 }; 105 106 blue { 107 label = "blue"; 108 gpios = <&pioB 13 GPIO_ACTIVE_HIGH>; 109 linux,default-trigger = "heartbeat"; 110 }; 111 }; 112}; 113 114&adc { 115 vddana-supply = <&vdd1_3v3>; 116 vref-supply = <&vdd1_3v3>; 117 pinctrl-names = "default"; 118 pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>; 119 status = "okay"; 120}; 121 122&can0 { 123 pinctrl-names = "default"; 124 pinctrl-0 = <&pinctrl_can0_rx_tx>; 125 status = "disabled"; /* Conflict with dbgu. */ 126}; 127 128&can1 { 129 pinctrl-names = "default"; 130 pinctrl-0 = <&pinctrl_can1_rx_tx>; 131 status = "okay"; 132}; 133 134&classd { 135 pinctrl-names = "default"; 136 pinctrl-0 = <&pinctrl_classd_default>; 137 atmel,pwm-type = "diff"; 138 atmel,non-overlap-time = <10>; 139 status = "okay"; 140}; 141 142&dbgu { 143 pinctrl-names = "default"; 144 pinctrl-0 = <&pinctrl_dbgu>; 145 status = "okay"; /* Conflict with can0. */ 146}; 147 148&ebi { 149 pinctrl-names = "default"; 150 pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>; 151 status = "okay"; 152 153 nand_controller: nand-controller { 154 pinctrl-names = "default"; 155 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>; 156 status = "okay"; 157 158 nand@3 { 159 reg = <0x3 0x0 0x800000>; 160 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>; 161 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>; 162 nand-bus-width = <8>; 163 nand-ecc-mode = "hw"; 164 nand-ecc-strength = <8>; 165 nand-ecc-step-size = <512>; 166 nand-on-flash-bbt; 167 label = "atmel_nand"; 168 169 partitions { 170 compatible = "fixed-partitions"; 171 #address-cells = <1>; 172 #size-cells = <1>; 173 174 at91bootstrap@0 { 175 label = "at91bootstrap"; 176 reg = <0x0 0x40000>; 177 }; 178 179 uboot@40000 { 180 label = "u-boot"; 181 reg = <0x40000 0xc0000>; 182 }; 183 184 ubootenvred@100000 { 185 label = "U-Boot Env Redundant"; 186 reg = <0x100000 0x40000>; 187 }; 188 189 ubootenv@140000 { 190 label = "U-Boot Env"; 191 reg = <0x140000 0x40000>; 192 }; 193 194 dtb@180000 { 195 label = "device tree"; 196 reg = <0x180000 0x80000>; 197 }; 198 199 kernel@200000 { 200 label = "kernel"; 201 reg = <0x200000 0x600000>; 202 }; 203 204 rootfs@800000 { 205 label = "rootfs"; 206 reg = <0x800000 0x1f800000>; 207 }; 208 }; 209 }; 210 }; 211}; 212 213&flx0 { 214 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 215 status = "okay"; 216 217 i2c0: i2c@600 { 218 compatible = "microchip,sam9x60-i2c"; 219 reg = <0x600 0x200>; 220 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>; 221 #address-cells = <1>; 222 #size-cells = <0>; 223 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>; 224 pinctrl-names = "default"; 225 pinctrl-0 = <&pinctrl_flx0_default>; 226 atmel,fifo-size = <16>; 227 i2c-analog-filter; 228 i2c-digital-filter; 229 i2c-digital-filter-width-ns = <35>; 230 status = "okay"; 231 232 eeprom@53 { 233 compatible = "atmel,24c32"; 234 reg = <0x53>; 235 pagesize = <16>; 236 size = <128>; 237 status = "okay"; 238 }; 239 }; 240}; 241 242&flx4 { 243 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; 244 status = "disabled"; 245 246 spi0: spi@400 { 247 compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi"; 248 reg = <0x400 0x200>; 249 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>; 250 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 251 clock-names = "spi_clk"; 252 pinctrl-names = "default"; 253 pinctrl-0 = <&pinctrl_flx4_default>; 254 atmel,fifo-size = <16>; 255 #address-cells = <1>; 256 #size-cells = <0>; 257 status = "disabled"; 258 }; 259}; 260 261&flx5 { 262 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 263 status = "okay"; 264 265 uart1: serial@200 { 266 compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart"; 267 reg = <0x200 0x200>; 268 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>; 269 dmas = <&dma0 270 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 271 AT91_XDMAC_DT_PERID(10))>, 272 <&dma0 273 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 274 AT91_XDMAC_DT_PERID(11))>; 275 dma-names = "tx", "rx"; 276 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 277 clock-names = "usart"; 278 pinctrl-0 = <&pinctrl_flx5_default>; 279 pinctrl-names = "default"; 280 atmel,use-dma-rx; 281 atmel,use-dma-tx; 282 status = "okay"; 283 }; 284}; 285 286&flx6 { 287 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 288 status = "okay"; 289 290 i2c1: i2c@600 { 291 compatible = "microchip,sam9x60-i2c"; 292 reg = <0x600 0x200>; 293 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>; 294 #address-cells = <1>; 295 #size-cells = <0>; 296 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>; 297 pinctrl-names = "default"; 298 pinctrl-0 = <&pinctrl_flx6_default>; 299 atmel,fifo-size = <16>; 300 i2c-analog-filter; 301 i2c-digital-filter; 302 i2c-digital-filter-width-ns = <35>; 303 status = "okay"; 304 305 gpio_exp: mcp23008@20 { 306 compatible = "microchip,mcp23008"; 307 reg = <0x20>; 308 }; 309 }; 310}; 311 312&gpbr { 313 status = "okay"; 314}; 315 316&i2s { 317 pinctrl-names = "default"; 318 pinctrl-0 = <&pinctrl_i2s_default>; 319 #sound-dai-cells = <0>; 320 status = "disabled"; /* Conflict with QSPI. */ 321}; 322 323&macb0 { 324 phy-mode = "rmii"; 325 #address-cells = <1>; 326 #size-cells = <0>; 327 pinctrl-names = "default"; 328 pinctrl-0 = <&pinctrl_macb0_rmii>; 329 status = "okay"; 330 331 ethernet-phy@0 { 332 reg = <0x0>; 333 }; 334}; 335 336&pinctrl { 337 atmel,mux-mask = < 338 /* A B C */ 339 0xFFFFFE7F 0xC0E0397F 0xEF00019D /* pioA */ 340 0x03FFFFFF 0x02FC7E68 0x00780000 /* pioB */ 341 0xffffffff 0xF83FFFFF 0xB800F3FC /* pioC */ 342 0x003FFFFF 0x003F8000 0x00000000 /* pioD */ 343 >; 344 345 adc { 346 pinctrl_adc_default: adc_default { 347 atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; 348 }; 349 350 pinctrl_adtrg_default: adtrg_default { 351 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; 352 }; 353 }; 354 355 dbgu { 356 pinctrl_dbgu: dbgu-0 { 357 atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 358 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; 359 }; 360 }; 361 362 i2s { 363 pinctrl_i2s_default: i2s { 364 atmel,pins = 365 <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SCK */ 366 AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SWS */ 367 AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDIN */ 368 AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDOUT */ 369 AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* I2SMCK */ 370 }; 371 }; 372 373 qspi { 374 pinctrl_qspi: qspi { 375 atmel,pins = 376 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS 377 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS 378 AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS) 379 AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS) 380 AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS) 381 AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>; 382 }; 383 }; 384 385 nand { 386 pinctrl_nand_oe_we: nand-oe-we-0 { 387 atmel,pins = 388 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 389 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>; 390 }; 391 392 pinctrl_nand_rb: nand-rb-0 { 393 atmel,pins = 394 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 395 }; 396 397 pinctrl_nand_cs: nand-cs-0 { 398 atmel,pins = 399 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 400 }; 401 }; 402 403 ebi { 404 pinctrl_ebi_data_0_7: ebi-data-lsb-0 { 405 atmel,pins = 406 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 407 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 408 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 409 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 410 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 411 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 412 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 413 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>; 414 }; 415 416 pinctrl_ebi_data_0_15: ebi-data-msb-0 { 417 atmel,pins = 418 <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE 419 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE 420 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE 421 AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE 422 AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE 423 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE 424 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE 425 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE 426 AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE 427 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE 428 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE 429 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE 430 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE 431 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE 432 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE 433 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; 434 }; 435 436 pinctrl_ebi_addr_nand: ebi-addr-0 { 437 atmel,pins = 438 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS) 439 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>; 440 }; 441 }; 442 443 flexcom { 444 pinctrl_flx0_default: flx0_twi { 445 atmel,pins = 446 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 447 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 448 }; 449 450 pinctrl_flx4_default: flx4_spi { 451 atmel,pins = 452 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE 453 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE 454 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE 455 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; 456 }; 457 458 pinctrl_flx5_default: flx_uart { 459 atmel,pins = 460 <AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE 461 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE 462 AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE 463 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; 464 }; 465 466 pinctrl_flx6_default: flx6_twi { 467 atmel,pins = 468 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 469 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 470 }; 471 }; 472 473 classd { 474 pinctrl_classd_default: classd { 475 atmel,pins = 476 <AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP 477 AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN 478 AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP 479 AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>; 480 }; 481 }; 482 483 can0 { 484 pinctrl_can0_rx_tx: can0_rx_tx { 485 atmel,pins = 486 <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX0 */ 487 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX0 */ 488 AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN0 mux */ 489 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */ 490 }; 491 }; 492 493 can1 { 494 pinctrl_can1_rx_tx: can1_rx_tx { 495 atmel,pins = 496 <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX1 RXD1 */ 497 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX1 TXD1 */ 498 AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN1 mux */ 499 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */ 500 }; 501 }; 502 503 macb0 { 504 pinctrl_macb0_rmii: macb0_rmii-0 { 505 atmel,pins = 506 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */ 507 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */ 508 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */ 509 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */ 510 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */ 511 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */ 512 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */ 513 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */ 514 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */ 515 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */ 516 }; 517 }; 518 519 pwm0 { 520 pinctrl_pwm0_0: pwm0_0 { 521 atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; 522 }; 523 524 pinctrl_pwm0_1: pwm0_1 { 525 atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; 526 }; 527 528 pinctrl_pwm0_2: pwm0_2 { 529 atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; 530 }; 531 532 pinctrl_pwm0_3: pwm0_3 { 533 atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>; 534 }; 535 }; 536 537 sdmmc0 { 538 pinctrl_sdmmc0_default: sdmmc0 { 539 atmel,pins = 540 <AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA17 CK periph A with pullup */ 541 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA16 CMD periph A with pullup */ 542 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA15 DAT0 periph A */ 543 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA18 DAT1 periph A with pullup */ 544 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA19 DAT2 periph A with pullup */ 545 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA20 DAT3 periph A with pullup */ 546 }; 547 }; 548 549 sdmmc1 { 550 pinctrl_sdmmc1_default: sdmmc1 { 551 atmel,pins = 552 <AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */ 553 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */ 554 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */ 555 AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */ 556 AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */ 557 AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */ 558 }; 559 }; 560 561 gpio_keys { 562 pinctrl_key_gpio_default: pinctrl_key_gpio { 563 atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 564 }; 565 }; 566 567 usb0 { 568 pinctrl_usba_vbus: usba_vbus { 569 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 570 }; 571 }; 572}; /* pinctrl */ 573 574&pmc { 575 atmel,osc-bypass; 576}; 577 578&pwm0 { 579 pinctrl-names = "default"; 580 pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>; 581 status = "disabled"; /* Conflict with leds. */ 582}; 583 584&sdmmc0 { 585 bus-width = <4>; 586 pinctrl-names = "default"; 587 pinctrl-0 = <&pinctrl_sdmmc0_default>; 588 status = "okay"; 589 cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>; 590 disable-wp; 591}; 592 593&sdmmc1 { 594 bus-width = <4>; 595 pinctrl-names = "default"; 596 pinctrl-0 = <&pinctrl_sdmmc1_default>; 597 no-1-8-v; 598 non-removable; 599 status = "disabled"; /* Conflict with flx4. */ 600}; 601 602&qspi { 603 pinctrl-names = "default"; 604 pinctrl-0 = <&pinctrl_qspi>; 605 status = "okay"; /* Conflict with i2s. */ 606 607 flash@0 { 608 #address-cells = <1>; 609 #size-cells = <1>; 610 compatible = "jedec,spi-nor"; 611 reg = <0>; 612 spi-max-frequency = <80000000>; 613 spi-tx-bus-width = <4>; 614 spi-rx-bus-width = <4>; 615 m25p,fast-read; 616 617 at91bootstrap@0 { 618 label = "qspi: at91bootstrap"; 619 reg = <0x0 0x40000>; 620 }; 621 622 bootloader@40000 { 623 label = "qspi: bootloader"; 624 reg = <0x40000 0xc0000>; 625 }; 626 627 bootloaderenvred@100000 { 628 label = "qspi: bootloader env redundant"; 629 reg = <0x100000 0x40000>; 630 }; 631 632 bootloaderenv@140000 { 633 label = "qspi: bootloader env"; 634 reg = <0x140000 0x40000>; 635 }; 636 637 dtb@180000 { 638 label = "qspi: device tree"; 639 reg = <0x180000 0x80000>; 640 }; 641 642 kernel@200000 { 643 label = "qspi: kernel"; 644 reg = <0x200000 0x600000>; 645 }; 646 }; 647}; 648 649&rtt { 650 atmel,rtt-rtc-time-reg = <&gpbr 0x0>; 651 status = "okay"; 652}; 653 654&shutdown_controller { 655 atmel,shdwc-debouncer = <976>; 656 status = "okay"; 657 658 input@0 { 659 reg = <0>; 660 }; 661}; 662 663&tcb0 { 664 timer0: timer@0 { 665 compatible = "atmel,tcb-timer"; 666 reg = <0>; 667 }; 668 669 timer1: timer@1 { 670 compatible = "atmel,tcb-timer"; 671 reg = <1>; 672 }; 673}; 674 675&usb0 { 676 atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>; 677 pinctrl-names = "default"; 678 pinctrl-0 = <&pinctrl_usba_vbus>; 679 status = "okay"; 680}; 681 682&usb1 { 683 num-ports = <3>; 684 atmel,vbus-gpio = <0 685 &pioD 15 GPIO_ACTIVE_HIGH 686 &pioD 16 GPIO_ACTIVE_HIGH>; 687 status = "okay"; 688}; 689 690&usb2 { 691 status = "okay"; 692}; 693 694&watchdog { 695 status = "okay"; 696}; 697 698