1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * at91-sam9x75_curiosity.dts - Device Tree file for Microchip SAM9X75 Curiosity board 4 * 5 * Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries 6 * 7 * Author: Varshini Rajendran <varshini.rajendran@microchip.com> 8 */ 9/dts-v1/; 10#include "sam9x7.dtsi" 11#include <dt-bindings/input/input.h> 12 13/ { 14 model = "Microchip SAM9X75 Curiosity"; 15 compatible = "microchip,sam9x75-curiosity", "microchip,sam9x7", "atmel,at91sam9"; 16 17 aliases { 18 i2c0 = &i2c6; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 gpio-keys { 26 compatible = "gpio-keys"; 27 pinctrl-names = "default"; 28 pinctrl-0 = <&pinctrl_key_gpio_default>; 29 30 button-user { 31 label = "USER"; 32 gpios = <&pioC 9 GPIO_ACTIVE_LOW>; 33 linux,code = <KEY_0>; 34 wakeup-source; 35 }; 36 }; 37 38 led-controller { 39 compatible = "gpio-leds"; 40 41 led_red: led-red { 42 label = "red"; 43 gpios = <&pioC 14 GPIO_ACTIVE_HIGH>; 44 pinctrl-0 = <&pinctrl_red_led_gpio_default>; 45 }; 46 47 led_green: led-green { 48 label = "green"; 49 gpios = <&pioC 21 GPIO_ACTIVE_HIGH>; 50 pinctrl-0 = <&pinctrl_green_led_gpio_default>; 51 }; 52 53 led_blue: led-blue { 54 label = "blue"; 55 gpios = <&pioC 20 GPIO_ACTIVE_HIGH>; 56 pinctrl-0 = <&pinctrl_blue_led_gpio_default>; 57 linux,default-trigger = "heartbeat"; 58 }; 59 }; 60 61 memory@20000000 { 62 reg = <0x20000000 0x10000000>; 63 device_type = "memory"; 64 }; 65}; 66 67&classd { 68 pinctrl-names = "default"; 69 pinctrl-0 = <&pinctrl_classd_default>; 70 atmel,pwm-type = "diff"; 71 atmel,non-overlap-time = <10>; 72 status = "okay"; 73}; 74 75&dbgu { 76 pinctrl-names = "default"; 77 pinctrl-0 = <&pinctrl_dbgu_default>; 78 status = "okay"; 79}; 80 81&dma0 { 82 status = "okay"; 83}; 84 85&flx6 { 86 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 87 status = "okay"; 88}; 89 90&i2c6 { 91 #address-cells = <1>; 92 #size-cells = <0>; 93 pinctrl-names = "default"; 94 pinctrl-0 = <&pinctrl_flx6_default>; 95 i2c-analog-filter; 96 i2c-digital-filter; 97 i2c-digital-filter-width-ns = <35>; 98 status = "okay"; 99 100 pmic@5b { 101 compatible = "microchip,mcp16502"; 102 reg = <0x5b>; 103 104 regulators { 105 vdd_3v3: VDD_IO { 106 regulator-name = "VDD_IO"; 107 regulator-min-microvolt = <3300000>; 108 regulator-max-microvolt = <3300000>; 109 regulator-initial-mode = <2>; 110 regulator-allowed-modes = <2>, <4>; 111 regulator-always-on; 112 113 regulator-state-standby { 114 regulator-on-in-suspend; 115 regulator-mode = <4>; 116 }; 117 118 regulator-state-mem { 119 regulator-mode = <4>; 120 }; 121 }; 122 123 vddioddr: VDD_DDR { 124 regulator-name = "VDD_DDR"; 125 regulator-min-microvolt = <1350000>; 126 regulator-max-microvolt = <1350000>; 127 regulator-initial-mode = <2>; 128 regulator-allowed-modes = <2>, <4>; 129 regulator-always-on; 130 131 regulator-state-standby { 132 regulator-on-in-suspend; 133 regulator-mode = <4>; 134 }; 135 136 regulator-state-mem { 137 regulator-on-in-suspend; 138 regulator-mode = <4>; 139 }; 140 }; 141 142 vddcore: VDD_CORE { 143 regulator-name = "VDD_CORE"; 144 regulator-min-microvolt = <1150000>; 145 regulator-max-microvolt = <1150000>; 146 regulator-initial-mode = <2>; 147 regulator-allowed-modes = <2>, <4>; 148 regulator-always-on; 149 150 regulator-state-standby { 151 regulator-on-in-suspend; 152 regulator-mode = <4>; 153 }; 154 155 regulator-state-mem { 156 regulator-mode = <4>; 157 }; 158 }; 159 160 dcdc4: VDD_OTHER { 161 regulator-name = "VDD_OTHER"; 162 regulator-min-microvolt = <1150000>; 163 regulator-max-microvolt = <1150000>; 164 regulator-initial-mode = <2>; 165 regulator-allowed-modes = <2>, <4>; 166 regulator-ramp-delay = <3125>; 167 regulator-always-on; 168 169 regulator-state-standby { 170 regulator-on-in-suspend; 171 regulator-mode = <4>; 172 }; 173 174 regulator-state-mem { 175 regulator-mode = <4>; 176 }; 177 }; 178 179 vldo1: LDO1 { 180 regulator-name = "LDO1"; 181 regulator-min-microvolt = <3300000>; 182 regulator-max-microvolt = <3300000>; 183 regulator-always-on; 184 185 regulator-state-standby { 186 regulator-on-in-suspend; 187 }; 188 }; 189 190 vldo2: LDO2 { 191 regulator-name = "LDO2"; 192 regulator-min-microvolt = <1800000>; 193 regulator-max-microvolt = <1800000>; 194 195 regulator-state-standby { 196 regulator-on-in-suspend; 197 }; 198 }; 199 }; 200 }; 201}; 202 203&i2s { 204 pinctrl-names = "default"; 205 pinctrl-0 = <&pinctrl_i2s_default>; 206 #sound-dai-cells = <0>; 207 status = "okay"; 208}; 209 210&main_xtal { 211 clock-frequency = <24000000>; 212}; 213 214&pinctrl { 215 classd { 216 pinctrl_classd_default: classd-default { 217 atmel,pins = 218 <AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>, 219 <AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>; 220 }; 221 }; 222 223 dbgu { 224 pinctrl_dbgu_default: dbgu-default { 225 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 226 <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; 227 }; 228 }; 229 230 flexcom { 231 pinctrl_flx6_default: flx6-default { 232 atmel,pins = 233 <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 234 <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 235 }; 236 }; 237 238 gpio-keys { 239 pinctrl_key_gpio_default: key-gpio-default { 240 atmel,pins = <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 241 }; 242 }; 243 244 i2s { 245 pinctrl_i2s_default: i2s-default { 246 atmel,pins = 247 <AT91_PIOB 26 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SCK */ 248 <AT91_PIOB 15 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SWS */ 249 <AT91_PIOB 16 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SDIN */ 250 <AT91_PIOB 17 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SDOUT */ 251 <AT91_PIOB 25 AT91_PERIPH_D AT91_PINCTRL_NONE>; /* I2SMCK */ 252 }; 253 }; 254 255 led-controller { 256 pinctrl_red_led_gpio_default: red-led-gpio-default { 257 atmel,pins = <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 258 }; 259 pinctrl_green_led_gpio_default: green-led-gpio-default { 260 atmel,pins = <AT91_PIOC 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 261 }; 262 pinctrl_blue_led_gpio_default: blue-led-gpio-default { 263 atmel,pins = <AT91_PIOC 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 264 }; 265 }; 266 267 sdmmc0 { 268 pinctrl_sdmmc0_default: sdmmc0-default { 269 atmel,pins = 270 <AT91_PIOA 2 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA2 CK periph A with pullup */ 271 <AT91_PIOA 1 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA1 CMD periph A with pullup */ 272 <AT91_PIOA 0 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA0 DAT0 periph A */ 273 <AT91_PIOA 3 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA3 DAT1 periph A with pullup */ 274 <AT91_PIOA 4 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA4 DAT2 periph A with pullup */ 275 <AT91_PIOA 5 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>; /* PA5 DAT3 periph A with pullup */ 276 }; 277 }; 278}; /* pinctrl */ 279 280&poweroff { 281 debounce-delay-us = <976>; 282 status = "okay"; 283 284 input@0 { 285 reg = <0>; 286 }; 287}; 288 289&rtt { 290 atmel,rtt-rtc-time-reg = <&gpbr 0x0>; 291}; 292 293&sdmmc0 { 294 bus-width = <4>; 295 pinctrl-names = "default"; 296 pinctrl-0 = <&pinctrl_sdmmc0_default>; 297 cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>; 298 disable-wp; 299 status = "okay"; 300}; 301 302&slow_xtal { 303 clock-frequency = <32768>; 304}; 305 306&tcb { 307 timer0: timer@0 { 308 compatible = "atmel,tcb-timer"; 309 reg = <0>; 310 }; 311 312 timer1: timer@1 { 313 compatible = "atmel,tcb-timer"; 314 reg = <1>; 315 }; 316}; 317 318&trng { 319 status = "okay"; 320}; 321 322&watchdog { 323 status = "okay"; 324}; 325