1 // SPDX-License-Identifier: GPL-2.0-or-later 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 2 /* 3 * at91-sama5d3_xplained.dts - Device Tree fil 3 * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board 4 * 4 * 5 * Copyright (C) 2014 Atmel, 5 * Copyright (C) 2014 Atmel, 6 * 2014 Nicolas Ferre <nicolas.f 6 * 2014 Nicolas Ferre <nicolas.ferre@atmel.com> 7 */ 7 */ 8 /dts-v1/; 8 /dts-v1/; 9 #include "sama5d36.dtsi" 9 #include "sama5d36.dtsi" 10 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/input/input.h> 11 11 12 / { 12 / { 13 model = "SAMA5D3 Xplained"; 13 model = "SAMA5D3 Xplained"; 14 compatible = "atmel,sama5d3-xplained", 14 compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5"; 15 15 16 chosen { 16 chosen { 17 stdout-path = "serial0:115200n 17 stdout-path = "serial0:115200n8"; 18 }; 18 }; 19 19 20 memory@20000000 { 20 memory@20000000 { 21 reg = <0x20000000 0x10000000>; 21 reg = <0x20000000 0x10000000>; 22 }; 22 }; 23 23 24 clocks { 24 clocks { 25 slow_xtal { 25 slow_xtal { 26 clock-frequency = <327 26 clock-frequency = <32768>; 27 }; 27 }; 28 28 29 main_xtal { 29 main_xtal { 30 clock-frequency = <120 30 clock-frequency = <12000000>; 31 }; 31 }; 32 }; 32 }; 33 33 34 ahb { 34 ahb { 35 apb { 35 apb { 36 mmc0: mmc@f0000000 { 36 mmc0: mmc@f0000000 { 37 pinctrl-0 = <& 37 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>; 38 vmmc-supply = 38 vmmc-supply = <&vcc_mmc0_reg>; 39 vqmmc-supply = 39 vqmmc-supply = <&vcc_3v3_reg>; 40 status = "okay 40 status = "okay"; 41 slot@0 { 41 slot@0 { 42 reg = 42 reg = <0>; 43 bus-wi 43 bus-width = <8>; 44 cd-gpi 44 cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>; 45 }; 45 }; 46 }; 46 }; 47 47 48 mmc1: mmc@f8000000 { 48 mmc1: mmc@f8000000 { 49 vmmc-supply = 49 vmmc-supply = <&vcc_3v3_reg>; 50 vqmmc-supply = 50 vqmmc-supply = <&vcc_3v3_reg>; 51 status = "disa 51 status = "disabled"; 52 slot@0 { 52 slot@0 { 53 reg = 53 reg = <0>; 54 bus-wi 54 bus-width = <4>; 55 cd-gpi 55 cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>; 56 }; 56 }; 57 }; 57 }; 58 58 59 spi0: spi@f0004000 { 59 spi0: spi@f0004000 { 60 pinctrl-names 60 pinctrl-names = "default", "cs"; 61 pinctrl-1 = <& 61 pinctrl-1 = <&pinctrl_spi0_cs>; 62 cs-gpios = <&p 62 cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>; 63 status = "okay 63 status = "okay"; 64 }; 64 }; 65 65 66 can0: can@f000c000 { 66 can0: can@f000c000 { 67 status = "okay 67 status = "okay"; 68 }; 68 }; 69 69 70 tcb0: timer@f0010000 { 70 tcb0: timer@f0010000 { 71 timer0: timer@ 71 timer0: timer@0 { 72 compat 72 compatible = "atmel,tcb-timer"; 73 reg = 73 reg = <0>; 74 }; 74 }; 75 75 76 timer1: timer@ 76 timer1: timer@1 { 77 compat 77 compatible = "atmel,tcb-timer"; 78 reg = 78 reg = <1>; 79 }; 79 }; 80 }; 80 }; 81 81 82 i2c0: i2c@f0014000 { 82 i2c0: i2c@f0014000 { 83 pinctrl-0 = <& 83 pinctrl-0 = <&pinctrl_i2c0_pu>; 84 status = "okay 84 status = "okay"; 85 }; 85 }; 86 86 87 i2c1: i2c@f0018000 { 87 i2c1: i2c@f0018000 { 88 status = "okay 88 status = "okay"; 89 89 90 pmic: act8865@ 90 pmic: act8865@5b { 91 compat 91 compatible = "active-semi,act8865"; 92 reg = 92 reg = <0x5b>; 93 status 93 status = "disabled"; 94 94 95 regula 95 regulators { 96 96 vcc_1v8_reg: DCDC_REG1 { 97 97 regulator-name = "VCC_1V8"; 98 98 regulator-min-microvolt = <1800000>; 99 99 regulator-max-microvolt = <1800000>; 100 100 regulator-always-on; 101 101 }; 102 102 103 103 vcc_1v2_reg: DCDC_REG2 { 104 104 regulator-name = "VCC_1V2"; 105 105 regulator-min-microvolt = <1200000>; 106 106 regulator-max-microvolt = <1200000>; 107 107 regulator-always-on; 108 108 }; 109 109 110 110 vcc_3v3_reg: DCDC_REG3 { 111 111 regulator-name = "VCC_3V3"; 112 112 regulator-min-microvolt = <3300000>; 113 113 regulator-max-microvolt = <3300000>; 114 114 regulator-always-on; 115 115 }; 116 116 117 117 vddfuse_reg: LDO_REG1 { 118 118 regulator-name = "FUSE_2V5"; 119 119 regulator-min-microvolt = <2500000>; 120 120 regulator-max-microvolt = <2500000>; 121 121 }; 122 122 123 123 vddana_reg: LDO_REG2 { 124 124 regulator-name = "VDDANA"; 125 125 regulator-min-microvolt = <3300000>; 126 126 regulator-max-microvolt = <3300000>; 127 127 regulator-always-on; 128 128 }; 129 }; 129 }; 130 }; 130 }; 131 }; 131 }; 132 132 133 macb0: ethernet@f00280 133 macb0: ethernet@f0028000 { 134 phy-mode = "rg 134 phy-mode = "rgmii-rxid"; 135 #address-cells 135 #address-cells = <1>; 136 #size-cells = 136 #size-cells = <0>; 137 status = "okay 137 status = "okay"; 138 138 139 ethernet-phy@7 139 ethernet-phy@7 { 140 reg = 140 reg = <0x7>; 141 }; 141 }; 142 }; 142 }; 143 143 144 pwm0: pwm@f002c000 { 144 pwm0: pwm@f002c000 { 145 pinctrl-names 145 pinctrl-names = "default"; 146 pinctrl-0 = <& 146 pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>; 147 status = "okay 147 status = "okay"; 148 }; 148 }; 149 149 150 usart0: serial@f001c00 150 usart0: serial@f001c000 { 151 status = "okay 151 status = "okay"; 152 }; 152 }; 153 153 154 usart1: serial@f002000 154 usart1: serial@f0020000 { 155 pinctrl-0 = <& 155 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; 156 status = "okay 156 status = "okay"; 157 }; 157 }; 158 158 159 uart0: serial@f0024000 159 uart0: serial@f0024000 { 160 status = "okay 160 status = "okay"; 161 }; 161 }; 162 162 163 mmc1: mmc@f8000000 { 163 mmc1: mmc@f8000000 { 164 pinctrl-0 = <& 164 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 165 status = "okay 165 status = "okay"; 166 slot@0 { 166 slot@0 { 167 reg = 167 reg = <0>; 168 bus-wi 168 bus-width = <4>; 169 cd-gpi 169 cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>; 170 }; 170 }; 171 }; 171 }; 172 172 173 spi1: spi@f8008000 { 173 spi1: spi@f8008000 { 174 pinctrl-names 174 pinctrl-names = "default", "cs"; 175 pinctrl-1 = <& 175 pinctrl-1 = <&pinctrl_spi1_cs>; 176 cs-gpios = <&p 176 cs-gpios = <&pioC 25 0>; 177 status = "okay 177 status = "okay"; 178 }; 178 }; 179 179 180 adc0: adc@f8018000 { 180 adc0: adc@f8018000 { 181 atmel,adc-vref 181 atmel,adc-vref = <3300>; 182 atmel,adc-chan 182 atmel,adc-channels-used = <0xfe>; 183 pinctrl-0 = < 183 pinctrl-0 = < 184 &pinct 184 &pinctrl_adc0_adtrg 185 &pinct 185 &pinctrl_adc0_ad1 186 &pinct 186 &pinctrl_adc0_ad2 187 &pinct 187 &pinctrl_adc0_ad3 188 &pinct 188 &pinctrl_adc0_ad4 189 &pinct 189 &pinctrl_adc0_ad5 190 &pinct 190 &pinctrl_adc0_ad6 191 &pinct 191 &pinctrl_adc0_ad7 192 >; 192 >; 193 status = "okay 193 status = "okay"; 194 }; 194 }; 195 195 196 i2c2: i2c@f801c000 { 196 i2c2: i2c@f801c000 { 197 dmas = <0>, <0 197 dmas = <0>, <0>; /* Do not use DMA for i2c2 */ 198 pinctrl-0 = <& 198 pinctrl-0 = <&pinctrl_i2c2_pu>; 199 status = "okay 199 status = "okay"; 200 }; 200 }; 201 201 202 macb1: ethernet@f802c0 202 macb1: ethernet@f802c000 { 203 phy-mode = "rm 203 phy-mode = "rmii"; 204 #address-cells 204 #address-cells = <1>; 205 #size-cells = 205 #size-cells = <0>; 206 status = "okay 206 status = "okay"; 207 207 208 ethernet-phy@1 208 ethernet-phy@1 { 209 reg = 209 reg = <0x1>; 210 }; 210 }; 211 }; 211 }; 212 212 213 dbgu: serial@ffffee00 213 dbgu: serial@ffffee00 { 214 status = "okay 214 status = "okay"; 215 }; 215 }; 216 216 217 pinctrl@fffff200 { 217 pinctrl@fffff200 { 218 board { 218 board { 219 pinctr 219 pinctrl_i2c0_pu: i2c0_pu { 220 220 atmel,pins = 221 221 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 222 222 <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 223 }; 223 }; 224 224 225 pinctr 225 pinctrl_i2c2_pu: i2c2_pu { 226 226 atmel,pins = 227 227 <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>, 228 228 <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; 229 }; 229 }; 230 230 231 pinctr 231 pinctrl_key_gpio: key_gpio_0 { 232 232 atmel,pins = 233 233 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 234 }; 234 }; 235 235 236 pinctr 236 pinctrl_mmc0_cd: mmc0_cd { 237 237 atmel,pins = 238 238 <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 239 }; 239 }; 240 240 241 pinctr 241 pinctrl_mmc1_cd: mmc1_cd { 242 242 atmel,pins = 243 243 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 244 }; 244 }; 245 245 246 pinctr 246 pinctrl_usba_vbus: usba_vbus { 247 247 atmel,pins = 248 248 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */ 249 }; 249 }; 250 pinctr 250 pinctrl_usb_default: usb_default { 251 251 atmel,pins = 252 252 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 253 253 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 254 }; 254 }; 255 255 256 pinctr 256 pinctrl_gpio_leds: gpio_leds_default { 257 257 atmel,pins = 258 258 <AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 259 259 AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 260 }; 260 }; 261 261 262 pinctr 262 pinctrl_spi0_cs: spi0_cs_default { 263 263 atmel,pins = 264 264 <AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 265 265 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 266 }; 266 }; 267 267 268 pinctr 268 pinctrl_spi1_cs: spi1_cs_default { 269 269 atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 270 }; 270 }; 271 271 272 pinctr 272 pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default { 273 273 atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 274 }; 274 }; 275 }; 275 }; 276 }; 276 }; 277 }; 277 }; 278 278 279 usb0: gadget@500000 { 279 usb0: gadget@500000 { 280 atmel,vbus-gpio = <&pi 280 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */ 281 pinctrl-names = "defau 281 pinctrl-names = "default"; 282 pinctrl-0 = <&pinctrl_ 282 pinctrl-0 = <&pinctrl_usba_vbus>; 283 status = "okay"; 283 status = "okay"; 284 }; 284 }; 285 285 286 usb1: ohci@600000 { 286 usb1: ohci@600000 { 287 num-ports = <3>; 287 num-ports = <3>; 288 atmel,vbus-gpio = <0 288 atmel,vbus-gpio = <0 289 &pi 289 &pioE 3 GPIO_ACTIVE_LOW 290 &pi 290 &pioE 4 GPIO_ACTIVE_LOW 291 >; 291 >; 292 pinctrl-names = "defau 292 pinctrl-names = "default"; 293 pinctrl-0 = <&pinctrl_ 293 pinctrl-0 = <&pinctrl_usb_default>; 294 status = "okay"; 294 status = "okay"; 295 }; 295 }; 296 296 297 usb2: ehci@700000 { 297 usb2: ehci@700000 { 298 status = "okay"; 298 status = "okay"; 299 }; 299 }; 300 300 301 ebi: ebi@10000000 { 301 ebi: ebi@10000000 { 302 pinctrl-0 = <&pinctrl_ 302 pinctrl-0 = <&pinctrl_ebi_nand_addr>; 303 pinctrl-names = "defau 303 pinctrl-names = "default"; 304 status = "okay"; 304 status = "okay"; 305 305 306 nand_controller: nand- 306 nand_controller: nand-controller { 307 status = "okay 307 status = "okay"; 308 308 309 nand@3 { 309 nand@3 { 310 reg = 310 reg = <0x3 0x0 0x2>; 311 atmel, 311 atmel,rb = <0>; 312 nand-b 312 nand-bus-width = <8>; 313 nand-e 313 nand-ecc-mode = "hw"; 314 nand-e 314 nand-ecc-strength = <4>; 315 nand-e 315 nand-ecc-step-size = <512>; 316 nand-o 316 nand-on-flash-bbt; 317 label 317 label = "atmel_nand"; 318 318 319 partit 319 partitions { 320 320 compatible = "fixed-partitions"; 321 321 #address-cells = <1>; 322 322 #size-cells = <1>; 323 323 324 324 at91bootstrap@0 { 325 325 label = "at91bootstrap"; 326 326 reg = <0x0 0x40000>; 327 327 }; 328 328 329 329 bootloader@40000 { 330 330 label = "bootloader"; 331 331 reg = <0x40000 0xc0000>; 332 332 }; 333 333 334 334 bootloaderenvred@100000 { 335 335 label = "bootloader env redundant"; 336 336 reg = <0x100000 0x40000>; 337 337 }; 338 338 339 339 bootloaderenv@140000 { 340 340 label = "bootloader env"; 341 341 reg = <0x140000 0x40000>; 342 342 }; 343 343 344 344 dtb@180000 { 345 345 label = "device tree"; 346 346 reg = <0x180000 0x80000>; 347 347 }; 348 348 349 349 kernel@200000 { 350 350 label = "kernel"; 351 351 reg = <0x200000 0x600000>; 352 352 }; 353 353 354 354 rootfs@800000 { 355 355 label = "rootfs"; 356 356 reg = <0x800000 0x0f800000>; 357 357 }; 358 }; 358 }; 359 }; 359 }; 360 }; 360 }; 361 }; 361 }; 362 }; 362 }; 363 363 364 vcc_mmc0_reg: fixedregulator_mmc0 { 364 vcc_mmc0_reg: fixedregulator_mmc0 { 365 compatible = "regulator-fixed" 365 compatible = "regulator-fixed"; 366 pinctrl-names = "default"; 366 pinctrl-names = "default"; 367 pinctrl-0 = <&pinctrl_vcc_mmc0 367 pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>; 368 gpio = <&pioE 2 GPIO_ACTIVE_LO 368 gpio = <&pioE 2 GPIO_ACTIVE_LOW>; 369 regulator-name = "mmc0-card-su 369 regulator-name = "mmc0-card-supply"; 370 regulator-min-microvolt = <330 370 regulator-min-microvolt = <3300000>; 371 regulator-max-microvolt = <330 371 regulator-max-microvolt = <3300000>; 372 regulator-always-on; 372 regulator-always-on; 373 }; 373 }; 374 374 375 gpio-keys { 375 gpio-keys { 376 compatible = "gpio-keys"; 376 compatible = "gpio-keys"; 377 377 378 pinctrl-names = "default"; 378 pinctrl-names = "default"; 379 pinctrl-0 = <&pinctrl_key_gpio 379 pinctrl-0 = <&pinctrl_key_gpio>; 380 380 381 button { 381 button { 382 label = "PB_USER"; 382 label = "PB_USER"; 383 gpios = <&pioE 29 GPIO 383 gpios = <&pioE 29 GPIO_ACTIVE_LOW>; 384 linux,code = <KEY_PROG 384 linux,code = <KEY_PROG1>; 385 wakeup-source; 385 wakeup-source; 386 }; 386 }; 387 }; 387 }; 388 388 389 leds { 389 leds { 390 compatible = "gpio-leds"; 390 compatible = "gpio-leds"; 391 pinctrl-names = "default"; 391 pinctrl-names = "default"; 392 pinctrl-0 = <&pinctrl_gpio_led 392 pinctrl-0 = <&pinctrl_gpio_leds>; 393 status = "okay"; 393 status = "okay"; 394 394 395 led-d2 { 395 led-d2 { 396 label = "d2"; 396 label = "d2"; 397 gpios = <&pioE 23 GPIO 397 gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */ 398 linux,default-trigger 398 linux,default-trigger = "heartbeat"; 399 }; 399 }; 400 400 401 led-d3 { 401 led-d3 { 402 label = "d3"; /* Confl 402 label = "d3"; /* Conflict with EBI CS0, USART2 CTS. */ 403 gpios = <&pioE 24 GPIO 403 gpios = <&pioE 24 GPIO_ACTIVE_HIGH>; 404 }; 404 }; 405 }; 405 }; 406 }; 406 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.