1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * at91-sama7d65_curiosity.dts - Device Tree file for SAMA7D65 Curiosity board 4 * 5 * Copyright (c) 2024 Microchip Technology Inc. and its subsidiaries 6 * 7 * Author: Romain Sioen <romain.sioen@microchip.com> 8 * 9 */ 10/dts-v1/; 11#include "sama7d65-pinfunc.h" 12#include "sama7d65.dtsi" 13#include <dt-bindings/mfd/atmel-flexcom.h> 14#include <dt-bindings/input/input.h> 15#include <dt-bindings/leds/common.h> 16#include <dt-bindings/pinctrl/at91.h> 17 18/ { 19 model = "Microchip SAMA7D65 Curiosity"; 20 compatible = "microchip,sama7d65-curiosity", "microchip,sama7d65", 21 "microchip,sama7d6", "microchip,sama7"; 22 23 aliases { 24 serial0 = &uart6; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 29 }; 30 31 gpio-keys { 32 compatible = "gpio-keys"; 33 34 pinctrl-names = "default"; 35 pinctrl-0 = <&pinctrl_key_gpio_default>; 36 37 button { 38 label = "PB_USER"; 39 gpios = <&pioa PIN_PC10 GPIO_ACTIVE_LOW>; 40 linux,code = <KEY_PROG1>; 41 wakeup-source; 42 }; 43 }; 44 45 leds { 46 compatible = "gpio-leds"; 47 pinctrl-names = "default"; 48 pinctrl-0 = <&pinctrl_led_gpio_default>; 49 50 led0: led-red { 51 color = <LED_COLOR_ID_RED>; 52 gpios = <&pioa PIN_PB17 GPIO_ACTIVE_HIGH>; /* Conflict with pwm. */ 53 }; 54 55 led1: led-green { 56 color = <LED_COLOR_ID_GREEN>; 57 gpios = <&pioa PIN_PB15 GPIO_ACTIVE_HIGH>; /* Conflict with pwm. */ 58 }; 59 60 led2: led-blue { 61 color = <LED_COLOR_ID_BLUE>; 62 function = LED_FUNCTION_HEARTBEAT; 63 gpios = <&pioa PIN_PA21 GPIO_ACTIVE_HIGH>; 64 linux,default-trigger = "heartbeat"; 65 }; 66 }; 67 68 memory@60000000 { 69 device_type = "memory"; 70 reg = <0x60000000 0x40000000>; 71 }; 72 73 reg_5v: regulator-5v { 74 compatible = "regulator-fixed"; 75 regulator-name = "5V_MAIN"; 76 regulator-min-microvolt = <5000000>; 77 regulator-max-microvolt = <5000000>; 78 regulator-always-on; 79 }; 80}; 81 82&can1 { 83 pinctrl-names = "default"; 84 pinctrl-0 = <&pinctrl_can1_default>; 85 status = "okay"; 86}; 87 88&can2 { 89 pinctrl-names = "default"; 90 pinctrl-0 = <&pinctrl_can2_default>; 91 status = "okay"; 92}; 93 94&can3 { 95 pinctrl-names = "default"; 96 pinctrl-0 = <&pinctrl_can3_default>; 97 status = "okay"; 98}; 99 100&dma0 { 101 status = "okay"; 102}; 103 104&dma1 { 105 status = "okay"; 106}; 107 108&dma2 { 109 status = "okay"; 110}; 111 112&flx6 { 113 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 114 status = "okay"; 115}; 116 117&uart6 { 118 pinctrl-names = "default"; 119 pinctrl-0 = <&pinctrl_uart6_default>; 120 status = "okay"; 121}; 122 123&flx10 { 124 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 125 status = "okay"; 126}; 127 128&gmac0 { 129 #address-cells = <1>; 130 #size-cells = <0>; 131 pinctrl-names = "default"; 132 pinctrl-0 = <&pinctrl_gmac0_default 133 &pinctrl_gmac0_mdio_default 134 &pinctrl_gmac0_txck_default 135 &pinctrl_gmac0_phy_irq>; 136 phy-mode = "rgmii-id"; 137 nvmem-cells = <&eeprom0_eui48>; 138 nvmem-cell-names = "mac-address"; 139 status = "okay"; 140 141 ethernet-phy@7 { 142 reg = <0x7>; 143 interrupt-parent = <&pioa>; 144 interrupts = <PIN_PC1 IRQ_TYPE_LEVEL_LOW>; 145 }; 146}; 147 148&i2c10 { 149 dmas = <0>, <0>; 150 i2c-analog-filter; 151 i2c-digital-filter; 152 i2c-digital-filter-width-ns = <35>; 153 pinctrl-names = "default"; 154 pinctrl-0 = <&pinctrl_i2c10_default>; 155 status = "okay"; 156 157 power-monitor@10 { 158 compatible = "microchip,pac1934"; 159 reg = <0x10>; 160 #address-cells = <1>; 161 #size-cells = <0>; 162 163 channel@1 { 164 reg = <0x1>; 165 shunt-resistor-micro-ohms = <47000>; 166 label = "VDD3V3"; 167 }; 168 169 channel@2 { 170 reg = <0x2>; 171 shunt-resistor-micro-ohms = <47000>; 172 label = "VDDIODDR"; 173 }; 174 175 channel@3 { 176 reg = <0x3>; 177 shunt-resistor-micro-ohms = <47000>; 178 label = "VDDCORE"; 179 }; 180 181 channel@4 { 182 reg = <0x4>; 183 shunt-resistor-micro-ohms = <47000>; 184 label = "VDDCPU"; 185 }; 186 }; 187 188 pmic@5b { 189 compatible = "microchip,mcp16502"; 190 reg = <0x5b>; 191 lvin-supply = <®_5v>; 192 pvin1-supply = <®_5v>; 193 pvin2-supply = <®_5v>; 194 pvin3-supply = <®_5v>; 195 pvin4-supply = <®_5v>; 196 status = "okay"; 197 198 regulators { 199 vdd_3v3: VDD_IO { 200 regulator-name = "VDD_IO"; 201 regulator-min-microvolt = <3300000>; 202 regulator-max-microvolt = <3300000>; 203 regulator-initial-mode = <2>; 204 regulator-allowed-modes = <2>, <4>; 205 regulator-always-on; 206 207 regulator-state-standby { 208 regulator-on-in-suspend; 209 regulator-suspend-microvolt = <3300000>; 210 regulator-mode = <4>; 211 }; 212 213 regulator-state-mem { 214 regulator-off-in-suspend; 215 regulator-mode = <4>; 216 }; 217 }; 218 219 vddioddr: VDD_DDR { 220 regulator-name = "VDD_DDR"; 221 regulator-min-microvolt = <1350000>; 222 regulator-max-microvolt = <1350000>; 223 regulator-initial-mode = <2>; 224 regulator-allowed-modes = <2>, <4>; 225 regulator-always-on; 226 227 regulator-state-standby { 228 regulator-on-in-suspend; 229 regulator-suspend-microvolt = <1350000>; 230 regulator-mode = <4>; 231 }; 232 233 regulator-state-mem { 234 regulator-on-in-suspend; 235 regulator-suspend-microvolt = <1350000>; 236 regulator-mode = <4>; 237 }; 238 }; 239 240 vddcore: VDD_CORE { 241 regulator-name = "VDD_CORE"; 242 regulator-min-microvolt = <1050000>; 243 regulator-max-microvolt = <1050000>; 244 regulator-initial-mode = <2>; 245 regulator-allowed-modes = <2>, <4>; 246 regulator-always-on; 247 248 regulator-state-standby { 249 regulator-on-in-suspend; 250 regulator-suspend-microvolt = <1050000>; 251 regulator-mode = <4>; 252 }; 253 254 regulator-state-mem { 255 regulator-off-in-suspend; 256 regulator-mode = <4>; 257 }; 258 }; 259 260 vddcpu: VDD_OTHER { 261 regulator-name = "VDD_OTHER"; 262 regulator-min-microvolt = <1050000>; 263 regulator-max-microvolt = <1250000>; 264 regulator-initial-mode = <2>; 265 regulator-allowed-modes = <2>, <4>; 266 regulator-ramp-delay = <3125>; 267 regulator-always-on; 268 269 regulator-state-standby { 270 regulator-on-in-suspend; 271 regulator-suspend-microvolt = <1050000>; 272 regulator-mode = <4>; 273 }; 274 275 regulator-state-mem { 276 regulator-off-in-suspend; 277 regulator-mode = <4>; 278 }; 279 }; 280 281 vldo1: LDO1 { 282 regulator-name = "LDO1"; 283 regulator-min-microvolt = <1800000>; 284 regulator-max-microvolt = <1800000>; 285 regulator-always-on; 286 287 regulator-state-standby { 288 regulator-suspend-microvolt = <1800000>; 289 regulator-on-in-suspend; 290 }; 291 292 regulator-state-mem { 293 regulator-off-in-suspend; 294 }; 295 }; 296 297 vldo2: LDO2 { 298 regulator-name = "LDO2"; 299 regulator-min-microvolt = <1200000>; 300 regulator-max-microvolt = <3700000>; 301 302 regulator-state-standby { 303 regulator-on-in-suspend; 304 }; 305 306 regulator-state-mem { 307 regulator-off-in-suspend; 308 }; 309 }; 310 }; 311 }; 312 313 eeprom0: eeprom@51 { 314 compatible = "microchip,24aa025e48"; 315 reg = <0x51>; 316 size = <256>; 317 pagesize = <16>; 318 vcc-supply = <&vdd_3v3>; 319 320 nvmem-layout { 321 compatible = "fixed-layout"; 322 #address-cells = <1>; 323 #size-cells = <1>; 324 325 eeprom0_eui48: eui48@fa { 326 reg = <0xfa 0x6>; 327 }; 328 }; 329 }; 330}; 331 332&main_xtal { 333 clock-frequency = <24000000>; 334}; 335 336&pioa { 337 pinctrl_can1_default: can1-default { 338 pinmux = <PIN_PD10__CANTX1>, 339 <PIN_PD11__CANRX1>; 340 bias-disable; 341 }; 342 343 pinctrl_can2_default: can2-default { 344 pinmux = <PIN_PD12__CANTX2>, 345 <PIN_PD13__CANRX2>; 346 bias-disable; 347 }; 348 349 pinctrl_can3_default: can3-default { 350 pinmux = <PIN_PD14__CANTX3>, 351 <PIN_PD15__CANRX3>; 352 bias-disable; 353 }; 354 355 pinctrl_gmac0_default: gmac0-default { 356 pinmux = <PIN_PA26__G0_TX0>, 357 <PIN_PA27__G0_TX1>, 358 <PIN_PB4__G0_TX2>, 359 <PIN_PB5__G0_TX3>, 360 <PIN_PA29__G0_RX0>, 361 <PIN_PA30__G0_RX1>, 362 <PIN_PB2__G0_RX2>, 363 <PIN_PB6__G0_RX3>, 364 <PIN_PA25__G0_TXCTL>, 365 <PIN_PB3__G0_RXCK>, 366 <PIN_PA28__G0_RXCTL>; 367 slew-rate = <0>; 368 bias-disable; 369 }; 370 371 pinctrl_gmac0_mdio_default: gmac0-mdio-default { 372 pinmux = <PIN_PA31__G0_MDC>, 373 <PIN_PB0__G0_MDIO>; 374 bias-disable; 375 }; 376 377 pinctrl_gmac0_phy_irq: gmac0-phy-irq { 378 pinmux = <PIN_PC1__GPIO>; 379 bias-disable; 380 }; 381 382 pinctrl_gmac0_txck_default: gmac0-txck-default { 383 pinmux = <PIN_PB1__G0_REFCK>; 384 slew-rate = <0>; 385 bias-pull-up; 386 }; 387 388 pinctrl_i2c10_default: i2c10-default { 389 pinmux = <PIN_PB19__FLEXCOM10_IO1>, 390 <PIN_PB20__FLEXCOM10_IO0>; 391 bias-pull-up; 392 }; 393 394 pinctrl_key_gpio_default: key-gpio-default { 395 pinmux = <PIN_PC10__GPIO>; 396 bias-pull-up; 397 }; 398 399 pinctrl_led_gpio_default: led-gpio-default { 400 pinmux = <PIN_PB15__GPIO>, 401 <PIN_PB17__GPIO>, 402 <PIN_PA21__GPIO>; 403 bias-pull-up; 404 }; 405 406 pinctrl_sdmmc1_default: sdmmc1-default { 407 cmd-data { 408 pinmux = <PIN_PB22__SDMMC1_CMD>, 409 <PIN_PB24__SDMMC1_DAT0>, 410 <PIN_PB25__SDMMC1_DAT1>, 411 <PIN_PB26__SDMMC1_DAT2>, 412 <PIN_PB27__SDMMC1_DAT3>; 413 slew-rate = <0>; 414 bias-disable; 415 }; 416 417 ck-cd-rstn-vddsel { 418 pinmux = <PIN_PB23__SDMMC1_CK>, 419 <PIN_PB21__SDMMC1_RSTN>, 420 <PIN_PB30__SDMMC1_1V8SEL>, 421 <PIN_PB29__SDMMC1_CD>, 422 <PIN_PB28__SDMMC1_WP>; 423 slew-rate = <0>; 424 bias-disable; 425 }; 426 }; 427 428 pinctrl_uart6_default: uart6-default { 429 pinmux = <PIN_PD18__FLEXCOM6_IO0>, 430 <PIN_PD19__FLEXCOM6_IO1>; 431 bias-disable; 432 }; 433}; 434 435&rtt { 436 atmel,rtt-rtc-time-reg = <&gpbr 0x0>; 437}; 438 439&sdmmc1 { 440 bus-width = <4>; 441 no-1-8-v; 442 sdhci-caps-mask = <0x0 0x00200000>; 443 pinctrl-names = "default"; 444 pinctrl-0 = <&pinctrl_sdmmc1_default>; 445 status = "okay"; 446}; 447 448&shdwc { 449 debounce-delay-us = <976>; 450 status = "okay"; 451 452 input@0 { 453 reg = <0>; 454 }; 455}; 456 457&slow_xtal { 458 clock-frequency = <32768>; 459}; 460