1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * at91-sama5d2_icp.dts - Device Tree file for 3 * at91-sama5d2_icp.dts - Device Tree file for SAMA5D2-ICP board 4 * 4 * 5 * Copyright (C) 2019 Microchip Technology In 5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries 6 * 6 * 7 * Author: Radu Pirea & Razvan Stefanescu 7 * Author: Radu Pirea & Razvan Stefanescu, 8 * Codrin Ciubotariu <codrin.ciubo 8 * Codrin Ciubotariu <codrin.ciubotariu@microchip.com>, 9 * Cristian Birsan <cristian.birsa 9 * Cristian Birsan <cristian.birsan@microchip.com> 10 */ 10 */ 11 /dts-v1/; 11 /dts-v1/; 12 #include "sama5d2.dtsi" 12 #include "sama5d2.dtsi" 13 #include "sama5d2-pinfunc.h" 13 #include "sama5d2-pinfunc.h" 14 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/input/input.h> 15 #include <dt-bindings/input/input.h> 16 #include <dt-bindings/mfd/atmel-flexcom.h> 16 #include <dt-bindings/mfd/atmel-flexcom.h> 17 17 18 / { 18 / { 19 model = "Microchip SAMA5D2-ICP"; 19 model = "Microchip SAMA5D2-ICP"; 20 compatible = "microchip,sama5d2-icp", 20 compatible = "microchip,sama5d2-icp", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; 21 21 22 aliases { 22 aliases { 23 serial0 = &uart0; /* deb 23 serial0 = &uart0; /* debug uart0 + mikro BUS 1 */ 24 serial1 = &uart1; /* mik 24 serial1 = &uart1; /* mikro BUS 3 */ 25 serial3 = &uart3; /* mik 25 serial3 = &uart3; /* mikro BUS 2 */ 26 serial5 = &uart7; /* flx 26 serial5 = &uart7; /* flx2 */ 27 i2c0 = &i2c0; 27 i2c0 = &i2c0; 28 i2c1 = &i2c1; 28 i2c1 = &i2c1; 29 }; 29 }; 30 30 31 chosen { 31 chosen { 32 stdout-path = "serial0:115200n 32 stdout-path = "serial0:115200n8"; 33 }; 33 }; 34 34 35 clocks { 35 clocks { 36 slow_xtal { 36 slow_xtal { 37 clock-frequency = <327 37 clock-frequency = <32768>; 38 }; 38 }; 39 39 40 main_xtal { 40 main_xtal { 41 clock-frequency = <120 41 clock-frequency = <12000000>; 42 }; 42 }; 43 }; 43 }; 44 44 45 gpio-keys { 45 gpio-keys { 46 compatible = "gpio-keys"; 46 compatible = "gpio-keys"; 47 47 48 pinctrl-names = "default"; 48 pinctrl-names = "default"; 49 pinctrl-0 = <&pinctrl_key_gpio 49 pinctrl-0 = <&pinctrl_key_gpio_default>; 50 50 51 button-1 { 51 button-1 { 52 label = "USER_PB1"; 52 label = "USER_PB1"; 53 gpios = <&pioA PIN_PD0 53 gpios = <&pioA PIN_PD0 GPIO_ACTIVE_LOW>; 54 linux,code = <KEY_PROG 54 linux,code = <KEY_PROG1>; 55 wakeup-source; 55 wakeup-source; 56 }; 56 }; 57 }; 57 }; 58 58 59 leds { 59 leds { 60 compatible = "gpio-leds"; 60 compatible = "gpio-leds"; 61 pinctrl-names = "default"; 61 pinctrl-names = "default"; 62 pinctrl-0 = <&pinctrl_led_gpio 62 pinctrl-0 = <&pinctrl_led_gpio_default>; 63 status = "okay"; /* conflict w 63 status = "okay"; /* conflict with pwm0 */ 64 64 65 led-red { 65 led-red { 66 label = "red"; 66 label = "red"; 67 gpios = <&pioA PIN_PB0 67 gpios = <&pioA PIN_PB0 GPIO_ACTIVE_HIGH>; 68 }; 68 }; 69 69 70 led-green { 70 led-green { 71 label = "green"; 71 label = "green"; 72 gpios = <&pioA PIN_PB1 72 gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; 73 }; 73 }; 74 74 75 led-blue { 75 led-blue { 76 label = "blue"; 76 label = "blue"; 77 gpios = <&pioA PIN_PA3 77 gpios = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>; 78 linux,default-trigger 78 linux,default-trigger = "heartbeat"; 79 }; 79 }; 80 }; 80 }; 81 81 82 reg_5v: regulator-5v { 82 reg_5v: regulator-5v { 83 compatible = "regulator-fixed" 83 compatible = "regulator-fixed"; 84 regulator-name = "VDD_MAIN_5V" 84 regulator-name = "VDD_MAIN_5V"; 85 regulator-min-microvolt = <500 85 regulator-min-microvolt = <5000000>; 86 regulator-max-microvolt = <500 86 regulator-max-microvolt = <5000000>; 87 regulator-always-on; 87 regulator-always-on; 88 }; 88 }; 89 }; 89 }; 90 90 91 &adc { 91 &adc { 92 vddana-supply = <&vdd_io_reg>; 92 vddana-supply = <&vdd_io_reg>; 93 vref-supply = <&vdd_io_reg>; 93 vref-supply = <&vdd_io_reg>; 94 pinctrl-names = "default"; 94 pinctrl-names = "default"; 95 pinctrl-0 = <&pinctrl_adc_default &pin 95 pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>; 96 status = "okay"; 96 status = "okay"; 97 }; 97 }; 98 98 99 &can0 { 99 &can0 { 100 pinctrl-names = "default"; 100 pinctrl-names = "default"; 101 pinctrl-0 = <&pinctrl_can0_default>; 101 pinctrl-0 = <&pinctrl_can0_default>; 102 status = "okay"; 102 status = "okay"; 103 }; 103 }; 104 104 105 &can1 { 105 &can1 { 106 pinctrl-names = "default"; 106 pinctrl-names = "default"; 107 pinctrl-0 = <&pinctrl_can1_default>; 107 pinctrl-0 = <&pinctrl_can1_default>; 108 status = "okay"; 108 status = "okay"; 109 }; 109 }; 110 110 111 &flx0 { /* mikrobus2 spi */ 111 &flx0 { /* mikrobus2 spi */ 112 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 112 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; 113 status = "okay"; 113 status = "okay"; 114 114 115 spi2: spi@400 { 115 spi2: spi@400 { 116 dmas = <0>, <0>; 116 dmas = <0>, <0>; 117 cs-gpios = <&pioA PIN_PC0 GPIO 117 cs-gpios = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>; 118 pinctrl-names = "default"; 118 pinctrl-names = "default"; 119 pinctrl-0 = <&pinctrl_mikrobus 119 pinctrl-0 = <&pinctrl_mikrobus2_spi &pinctrl_ksz_spi_cs>; 120 status = "okay"; 120 status = "okay"; 121 #address-cells = <1>; 121 #address-cells = <1>; 122 #size-cells = <0>; 122 #size-cells = <0>; 123 123 124 switch0: ksz8563@0 { 124 switch0: ksz8563@0 { 125 compatible = "microchi 125 compatible = "microchip,ksz8563"; 126 reg = <0>; 126 reg = <0>; 127 reset-gpios = <&pioA P 127 reset-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_LOW>; 128 128 129 spi-max-frequency = <5 129 spi-max-frequency = <500000>; 130 spi-cpha; 130 spi-cpha; 131 spi-cpol; 131 spi-cpol; 132 132 133 ports { 133 ports { 134 #address-cells 134 #address-cells = <1>; 135 #size-cells = 135 #size-cells = <0>; 136 port@0 { 136 port@0 { 137 reg = 137 reg = <0>; 138 label 138 label = "lan1"; 139 }; 139 }; 140 140 141 port@1 { 141 port@1 { 142 reg = 142 reg = <1>; 143 label 143 label = "lan2"; 144 }; 144 }; 145 145 146 port@2 { 146 port@2 { 147 reg = 147 reg = <2>; 148 label 148 label = "cpu"; 149 ethern 149 ethernet = <&macb0>; 150 phy-mo 150 phy-mode = "mii"; 151 fixed- 151 fixed-link { 152 152 speed = <100>; 153 153 full-duplex; 154 }; 154 }; 155 }; 155 }; 156 }; 156 }; 157 }; 157 }; 158 }; 158 }; 159 }; 159 }; 160 160 161 &flx2 { 161 &flx2 { 162 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 162 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 163 status = "okay"; 163 status = "okay"; 164 164 165 uart7: serial@200 { 165 uart7: serial@200 { 166 pinctrl-0 = <&pinctrl_flx2_def 166 pinctrl-0 = <&pinctrl_flx2_default>; 167 pinctrl-names = "default"; 167 pinctrl-names = "default"; 168 atmel,use-dma-rx; 168 atmel,use-dma-rx; 169 atmel,use-dma-tx; 169 atmel,use-dma-tx; 170 status = "okay"; /* Conflict w 170 status = "okay"; /* Conflict w/ qspi1. */ 171 }; 171 }; 172 }; 172 }; 173 173 174 &flx3 { /* mikrobus1 spi */ 174 &flx3 { /* mikrobus1 spi */ 175 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 175 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; 176 status = "okay"; 176 status = "okay"; 177 177 178 spi5: spi@400 { 178 spi5: spi@400 { 179 dmas = <0>, <0>; 179 dmas = <0>, <0>; 180 pinctrl-names = "default"; 180 pinctrl-names = "default"; 181 pinctrl-0 = <&pinctrl_mikrobus 181 pinctrl-0 = <&pinctrl_mikrobus1_spi &pinctrl_mikrobus1_spi_cs>; 182 status = "okay"; 182 status = "okay"; 183 }; 183 }; 184 }; 184 }; 185 185 186 &flx4 { 186 &flx4 { 187 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 187 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 188 status = "okay"; 188 status = "okay"; 189 189 190 i2c6: i2c@600 { 190 i2c6: i2c@600 { 191 dmas = <0>, <0>; 191 dmas = <0>, <0>; 192 pinctrl-names = "default"; 192 pinctrl-names = "default"; 193 pinctrl-0 = <&pinctrl_flx4_def 193 pinctrl-0 = <&pinctrl_flx4_default>; 194 i2c-digital-filter; 194 i2c-digital-filter; 195 i2c-digital-filter-width-ns = 195 i2c-digital-filter-width-ns = <35>; 196 status = "okay"; 196 status = "okay"; 197 197 198 mcp16502@5b { 198 mcp16502@5b { 199 compatible = "microchi 199 compatible = "microchip,mcp16502"; 200 reg = <0x5b>; 200 reg = <0x5b>; 201 lvin-supply = <®_5v 201 lvin-supply = <®_5v>; 202 pvin1-supply = <®_5 202 pvin1-supply = <®_5v>; 203 pvin2-supply = <®_5 203 pvin2-supply = <®_5v>; 204 pvin3-supply = <®_5 204 pvin3-supply = <®_5v>; 205 pvin4-supply = <®_5 205 pvin4-supply = <®_5v>; 206 status = "okay"; 206 status = "okay"; 207 lpm-gpios = <&pioBU 7 207 lpm-gpios = <&pioBU 7 GPIO_ACTIVE_LOW>; 208 208 209 regulators { 209 regulators { 210 vdd_io_reg: VD 210 vdd_io_reg: VDD_IO { 211 regula 211 regulator-name = "VDD_IO"; 212 regula 212 regulator-min-microvolt = <3300000>; 213 regula 213 regulator-max-microvolt = <3300000>; 214 regula 214 regulator-initial-mode = <2>; 215 regula 215 regulator-allowed-modes = <2>, <4>; 216 regula 216 regulator-always-on; 217 217 218 regula 218 regulator-state-standby { 219 219 regulator-on-in-suspend; 220 220 regulator-mode = <4>; 221 }; 221 }; 222 222 223 regula 223 regulator-state-mem { 224 224 regulator-off-in-suspend; 225 225 regulator-mode = <4>; 226 }; 226 }; 227 }; 227 }; 228 228 229 VDD_DDR { 229 VDD_DDR { 230 regula 230 regulator-name = "VDD_DDR"; 231 regula 231 regulator-min-microvolt = <1350000>; 232 regula 232 regulator-max-microvolt = <1350000>; 233 regula 233 regulator-initial-mode = <2>; 234 regula 234 regulator-allowed-modes = <2>, <4>; 235 regula 235 regulator-always-on; 236 236 237 regula 237 regulator-state-standby { 238 238 regulator-on-in-suspend; 239 239 regulator-mode = <4>; 240 }; 240 }; 241 241 242 regula 242 regulator-state-mem { 243 243 regulator-on-in-suspend; 244 244 regulator-mode = <4>; 245 }; 245 }; 246 }; 246 }; 247 247 248 VDD_CORE { 248 VDD_CORE { 249 regula 249 regulator-name = "VDD_CORE"; 250 regula 250 regulator-min-microvolt = <1250000>; 251 regula 251 regulator-max-microvolt = <1250000>; 252 regula 252 regulator-initial-mode = <2>; 253 regula 253 regulator-allowed-modes = <2>, <4>; 254 regula 254 regulator-always-on; 255 255 256 regula 256 regulator-state-standby { 257 257 regulator-on-in-suspend; 258 258 regulator-mode = <4>; 259 }; 259 }; 260 260 261 regula 261 regulator-state-mem { 262 262 regulator-off-in-suspend; 263 263 regulator-mode = <4>; 264 }; 264 }; 265 }; 265 }; 266 266 267 VDD_OTHER { 267 VDD_OTHER { 268 regula 268 regulator-name = "VDD_OTHER"; 269 regula 269 regulator-min-microvolt = <600000>; 270 regula 270 regulator-max-microvolt = <1850000>; 271 regula 271 regulator-initial-mode = <2>; 272 regula 272 regulator-allowed-modes = <2>, <4>; 273 273 274 regula 274 regulator-state-standby { 275 275 regulator-on-in-suspend; 276 276 regulator-mode = <4>; 277 }; 277 }; 278 278 279 regula 279 regulator-state-mem { 280 280 regulator-off-in-suspend; 281 281 regulator-mode = <4>; 282 }; 282 }; 283 }; 283 }; 284 284 285 LDO1 { 285 LDO1 { 286 regula 286 regulator-name = "LDO1"; 287 regula 287 regulator-min-microvolt = <2500000>; 288 regula 288 regulator-max-microvolt = <2500000>; 289 regula 289 regulator-always-on; 290 290 291 regula 291 regulator-state-standby { 292 292 regulator-on-in-suspend; 293 }; 293 }; 294 294 295 regula 295 regulator-state-mem { 296 296 regulator-off-in-suspend; 297 }; 297 }; 298 }; 298 }; 299 299 300 LDO2 { 300 LDO2 { 301 regula 301 regulator-name = "LDO2"; 302 regula 302 regulator-min-microvolt = <3300000>; 303 regula 303 regulator-max-microvolt = <3300000>; 304 regula 304 regulator-always-on; 305 305 306 regula 306 regulator-state-standby { 307 307 regulator-on-in-suspend; 308 }; 308 }; 309 309 310 regula 310 regulator-state-mem { 311 311 regulator-off-in-suspend; 312 }; 312 }; 313 }; 313 }; 314 314 315 }; 315 }; 316 }; 316 }; 317 }; 317 }; 318 }; 318 }; 319 319 320 &i2c0 { /* mikrobus i2c */ 320 &i2c0 { /* mikrobus i2c */ 321 pinctrl-names = "default", "gpio"; 321 pinctrl-names = "default", "gpio"; 322 pinctrl-0 = <&pinctrl_mikrobus_i2c>; 322 pinctrl-0 = <&pinctrl_mikrobus_i2c>; 323 pinctrl-1 = <&pinctrl_i2c0_gpio>; 323 pinctrl-1 = <&pinctrl_i2c0_gpio>; 324 sda-gpios = <&pioA PIN_PD21 GPIO_ACTIV 324 sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; 325 scl-gpios = <&pioA PIN_PD22 (GPIO_ACTI 325 scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 326 i2c-digital-filter; 326 i2c-digital-filter; 327 i2c-digital-filter-width-ns = <35>; 327 i2c-digital-filter-width-ns = <35>; 328 status = "okay"; 328 status = "okay"; 329 }; 329 }; 330 330 331 &i2c1 { 331 &i2c1 { 332 dmas = <0>, <0>; 332 dmas = <0>, <0>; 333 pinctrl-names = "default", "gpio"; 333 pinctrl-names = "default", "gpio"; 334 pinctrl-0 = <&pinctrl_i2c1_default>; 334 pinctrl-0 = <&pinctrl_i2c1_default>; 335 pinctrl-1 = <&pinctrl_i2c1_gpio>; 335 pinctrl-1 = <&pinctrl_i2c1_gpio>; 336 sda-gpios = <&pioA PIN_PD19 GPIO_ACTIV 336 sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>; 337 scl-gpios = <&pioA PIN_PD20 (GPIO_ACTI 337 scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 338 i2c-digital-filter; 338 i2c-digital-filter; 339 i2c-digital-filter-width-ns = <35>; 339 i2c-digital-filter-width-ns = <35>; 340 status = "okay"; 340 status = "okay"; 341 341 342 eeprom@50 { 342 eeprom@50 { 343 compatible = "atmel,24c02"; 343 compatible = "atmel,24c02"; 344 reg = <0x50>; 344 reg = <0x50>; 345 pagesize = <16>; 345 pagesize = <16>; 346 status = "okay"; 346 status = "okay"; 347 }; 347 }; 348 348 349 eeprom@52 { 349 eeprom@52 { 350 compatible = "atmel,24c02"; 350 compatible = "atmel,24c02"; 351 reg = <0x52>; 351 reg = <0x52>; 352 pagesize = <16>; 352 pagesize = <16>; 353 status = "disabled"; 353 status = "disabled"; 354 }; 354 }; 355 355 356 eeprom@53 { 356 eeprom@53 { 357 compatible = "atmel,24c02"; 357 compatible = "atmel,24c02"; 358 reg = <0x53>; 358 reg = <0x53>; 359 pagesize = <16>; 359 pagesize = <16>; 360 status = "disabled"; 360 status = "disabled"; 361 }; 361 }; 362 }; 362 }; 363 363 364 &macb0 { 364 &macb0 { 365 pinctrl-names = "default"; 365 pinctrl-names = "default"; 366 pinctrl-0 = <&pinctrl_macb0_default &p 366 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq &pinctrl_macb0_rst>; 367 phy-mode = "mii"; 367 phy-mode = "mii"; 368 status = "okay"; 368 status = "okay"; 369 369 370 fixed-link { 370 fixed-link { 371 speed = <100>; 371 speed = <100>; 372 full-duplex; 372 full-duplex; 373 }; 373 }; 374 }; 374 }; 375 375 376 &pioA { 376 &pioA { 377 pinctrl_adc_default: adc_default { 377 pinctrl_adc_default: adc_default { 378 pinmux = <PIN_PD24__GPIO>, 378 pinmux = <PIN_PD24__GPIO>, 379 <PIN_PD25__GPI 379 <PIN_PD25__GPIO>, 380 <PIN_PD26__GPI 380 <PIN_PD26__GPIO>; 381 bias-disable; 381 bias-disable; 382 }; 382 }; 383 383 384 /* 384 /* 385 * The ADTRG pin can work on any edge 385 * The ADTRG pin can work on any edge type. 386 * In here it's being pulled up, so ne 386 * In here it's being pulled up, so need to 387 * connect it to ground to get an edge 387 * connect it to ground to get an edge e.g. 388 * Trigger can be configured on fallin 388 * Trigger can be configured on falling, rise 389 * or any edge, and the pull-up can be 389 * or any edge, and the pull-up can be changed 390 * to pull-down or left floating accor 390 * to pull-down or left floating according to 391 * needs. 391 * needs. 392 */ 392 */ 393 pinctrl_adtrg_default: adtrg_default { 393 pinctrl_adtrg_default: adtrg_default { 394 pinmux = <PIN_PD31__ADTRG>; 394 pinmux = <PIN_PD31__ADTRG>; 395 bias-pull-up; 395 bias-pull-up; 396 }; 396 }; 397 397 398 pinctrl_flx4_default: flx4_default { 398 pinctrl_flx4_default: flx4_default { 399 pinmux = <PIN_PC28__FLEXCOM4_I 399 pinmux = <PIN_PC28__FLEXCOM4_IO0>, 400 <PIN_PC29__FLEXCOM4_I 400 <PIN_PC29__FLEXCOM4_IO1>; 401 bias-disable; 401 bias-disable; 402 }; 402 }; 403 403 404 pinctrl_can0_default: can0_default { 404 pinctrl_can0_default: can0_default { 405 pinmux = <PIN_PC10__CANTX0>, 405 pinmux = <PIN_PC10__CANTX0>, 406 <PIN_PC11__CANRX0>; 406 <PIN_PC11__CANRX0>; 407 bias-disable; 407 bias-disable; 408 }; 408 }; 409 409 410 pinctrl_can1_default: can1_default { 410 pinctrl_can1_default: can1_default { 411 pinmux = <PIN_PC26__CANTX1>, 411 pinmux = <PIN_PC26__CANTX1>, 412 <PIN_PC27__CANRX1>; 412 <PIN_PC27__CANRX1>; 413 bias-disable; 413 bias-disable; 414 }; 414 }; 415 415 416 pinctrl_i2c1_default: i2c1_default { 416 pinctrl_i2c1_default: i2c1_default { 417 pinmux = <PIN_PD19__TWD1>, 417 pinmux = <PIN_PD19__TWD1>, 418 <PIN_PD20__TWCK1>; 418 <PIN_PD20__TWCK1>; 419 bias-disable; 419 bias-disable; 420 }; 420 }; 421 421 422 pinctrl_i2c1_gpio: i2c1_gpio { 422 pinctrl_i2c1_gpio: i2c1_gpio { 423 pinmux = <PIN_PD19__GPIO>, 423 pinmux = <PIN_PD19__GPIO>, 424 <PIN_PD20__GPIO>; 424 <PIN_PD20__GPIO>; 425 bias-disable; 425 bias-disable; 426 }; 426 }; 427 427 428 pinctrl_key_gpio_default: key_gpio_def 428 pinctrl_key_gpio_default: key_gpio_default { 429 pinmux = <PIN_PD0__GPIO>; 429 pinmux = <PIN_PD0__GPIO>; 430 bias-pull-up; 430 bias-pull-up; 431 }; 431 }; 432 432 433 pinctrl_led_gpio_default: led_gpio_def 433 pinctrl_led_gpio_default: led_gpio_default { 434 pinmux = <PIN_PB0__GPIO>, 434 pinmux = <PIN_PB0__GPIO>, 435 <PIN_PB1__GPIO>, 435 <PIN_PB1__GPIO>, 436 <PIN_PA31__GPIO>; 436 <PIN_PA31__GPIO>; 437 bias-pull-up; 437 bias-pull-up; 438 }; 438 }; 439 439 440 pinctrl_qspi1_default: qspi1_default { 440 pinctrl_qspi1_default: qspi1_default { 441 pinmux = <PIN_PA6__QSPI1_SCK>, 441 pinmux = <PIN_PA6__QSPI1_SCK>, 442 <PIN_PA7__QSPI1_IO0>, 442 <PIN_PA7__QSPI1_IO0>, 443 <PIN_PA8__QSPI1_IO1>, 443 <PIN_PA8__QSPI1_IO1>, 444 <PIN_PA9__QSPI1_IO2>, 444 <PIN_PA9__QSPI1_IO2>, 445 <PIN_PA10__QSPI1_IO3> 445 <PIN_PA10__QSPI1_IO3>, 446 <PIN_PA11__QSPI1_CS>; 446 <PIN_PA11__QSPI1_CS>; 447 bias-disable; 447 bias-disable; 448 }; 448 }; 449 449 450 pinctrl_sdmmc0_default: sdmmc0_default 450 pinctrl_sdmmc0_default: sdmmc0_default { 451 cmd_data { 451 cmd_data { 452 pinmux = <PIN_PA1__SDM 452 pinmux = <PIN_PA1__SDMMC0_CMD>, 453 <PIN_PA2__SDM 453 <PIN_PA2__SDMMC0_DAT0>, 454 <PIN_PA3__SDM 454 <PIN_PA3__SDMMC0_DAT1>, 455 <PIN_PA4__SDM 455 <PIN_PA4__SDMMC0_DAT2>, 456 <PIN_PA5__SDM 456 <PIN_PA5__SDMMC0_DAT3>; 457 bias-disable; 457 bias-disable; 458 }; 458 }; 459 459 460 ck_cd { 460 ck_cd { 461 pinmux = <PIN_PA0__SDM 461 pinmux = <PIN_PA0__SDMMC0_CK>, 462 <PIN_PA13__SD 462 <PIN_PA13__SDMMC0_CD>; 463 bias-disable; 463 bias-disable; 464 }; 464 }; 465 }; 465 }; 466 466 467 pinctrl_sdmmc1_default: sdmmc1_default 467 pinctrl_sdmmc1_default: sdmmc1_default { 468 cmd_data { 468 cmd_data { 469 pinmux = <PIN_PA18__SD 469 pinmux = <PIN_PA18__SDMMC1_DAT0>, 470 <PIN_PA19__SD 470 <PIN_PA19__SDMMC1_DAT1>, 471 <PIN_PA20__SD 471 <PIN_PA20__SDMMC1_DAT2>, 472 <PIN_PA21__SD 472 <PIN_PA21__SDMMC1_DAT3>; 473 bias-disable; 473 bias-disable; 474 }; 474 }; 475 475 476 ck_cd { 476 ck_cd { 477 pinmux = <PIN_PA22__SD 477 pinmux = <PIN_PA22__SDMMC1_CK>, 478 <PIN_PA28__SD 478 <PIN_PA28__SDMMC1_CMD>; 479 bias-disable; 479 bias-disable; 480 }; 480 }; 481 }; 481 }; 482 482 483 pinctrl_mikrobus_i2c: mikrobus_i2c { 483 pinctrl_mikrobus_i2c: mikrobus_i2c { 484 pinmux = <PIN_PD22__TWCK0>, 484 pinmux = <PIN_PD22__TWCK0>, 485 <PIN_PD21__TWD0>; 485 <PIN_PD21__TWD0>; 486 bias-disable; 486 bias-disable; 487 }; 487 }; 488 488 489 pinctrl_i2c0_gpio: i2c0_gpio { 489 pinctrl_i2c0_gpio: i2c0_gpio { 490 pinmux = <PIN_PD21__GPIO>, 490 pinmux = <PIN_PD21__GPIO>, 491 <PIN_PD22__GPIO>; 491 <PIN_PD22__GPIO>; 492 bias-disable; 492 bias-disable; 493 }; 493 }; 494 494 495 pinctrl_mikrobus1_an: mikrobus1_an { 495 pinctrl_mikrobus1_an: mikrobus1_an { 496 pinmux = <PIN_PD26__GPIO>; 496 pinmux = <PIN_PD26__GPIO>; 497 bias-disable; 497 bias-disable; 498 }; 498 }; 499 499 500 pinctrl_mikrobus1_rst: mikrobus1_rst { 500 pinctrl_mikrobus1_rst: mikrobus1_rst { 501 pinmux = <PIN_PC5__GPIO>; 501 pinmux = <PIN_PC5__GPIO>; 502 bias-disable; 502 bias-disable; 503 }; 503 }; 504 504 505 pinctrl_mikrobus1_spi_cs: mikrobus1_sp 505 pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs { 506 pinmux = <PIN_PC21__FLEXCOM3_I 506 pinmux = <PIN_PC21__FLEXCOM3_IO3>; 507 bias-disable; 507 bias-disable; 508 }; 508 }; 509 509 510 pinctrl_mikrobus1_spi: mikrobus1_spi { 510 pinctrl_mikrobus1_spi: mikrobus1_spi { 511 pinmux = <PIN_PC20__FLEXCOM3_I 511 pinmux = <PIN_PC20__FLEXCOM3_IO0>, 512 <PIN_PC19__FLEXCOM3_I 512 <PIN_PC19__FLEXCOM3_IO1>, 513 <PIN_PC18__FLEXCOM3_I 513 <PIN_PC18__FLEXCOM3_IO2>; 514 bias-disable; 514 bias-disable; 515 }; 515 }; 516 516 517 pinctrl_mikrobus1_pwm: mikrobus1_pwm { 517 pinctrl_mikrobus1_pwm: mikrobus1_pwm { 518 pinmux = <PIN_PC4__TIOB1>; 518 pinmux = <PIN_PC4__TIOB1>; 519 bias-disable; 519 bias-disable; 520 }; 520 }; 521 521 522 pinctrl_mikrobus1_int: mikrobus1_int { 522 pinctrl_mikrobus1_int: mikrobus1_int { 523 pinmux = <PIN_PC3__GPIO>; 523 pinmux = <PIN_PC3__GPIO>; 524 bias-disable; 524 bias-disable; 525 }; 525 }; 526 526 527 pinctrl_mikrobus1_uart: mikrobus1_uart 527 pinctrl_mikrobus1_uart: mikrobus1_uart { 528 pinmux = <PIN_PB26__URXD0>, 528 pinmux = <PIN_PB26__URXD0>, 529 <PIN_PB27__UTXD0>; 529 <PIN_PB27__UTXD0>; 530 bias-disable; 530 bias-disable; 531 }; 531 }; 532 532 533 pinctrl_mikrobus2_an: mikrobus2_an { 533 pinctrl_mikrobus2_an: mikrobus2_an { 534 pinmux = <PIN_PD25__GPIO>; 534 pinmux = <PIN_PD25__GPIO>; 535 bias-disable; 535 bias-disable; 536 }; 536 }; 537 537 538 pinctrl_mikrobus2_rst: mikrobus2_rst { 538 pinctrl_mikrobus2_rst: mikrobus2_rst { 539 pinmux = <PIN_PB24__GPIO>; 539 pinmux = <PIN_PB24__GPIO>; 540 bias-disable; 540 bias-disable; 541 }; 541 }; 542 542 543 pinctrl_mikrobus2_spi_cs: mikrobus2_sp 543 pinctrl_mikrobus2_spi_cs: mikrobus2_spi_cs { 544 pinmux = <PIN_PB31__FLEXCOM0_I 544 pinmux = <PIN_PB31__FLEXCOM0_IO3>; 545 bias-disable; 545 bias-disable; 546 }; 546 }; 547 547 548 pinctrl_mikrobus2_spi: mikrobus2_spi { 548 pinctrl_mikrobus2_spi: mikrobus2_spi { 549 pinmux = <PIN_PB28__FLEXCOM0_I 549 pinmux = <PIN_PB28__FLEXCOM0_IO0>, 550 <PIN_PB29__FLEXCOM0_I 550 <PIN_PB29__FLEXCOM0_IO1>, 551 <PIN_PB30__FLEXCOM0_I 551 <PIN_PB30__FLEXCOM0_IO2>; 552 bias-disable; 552 bias-disable; 553 }; 553 }; 554 554 555 pinctrl_ksz_spi_cs: ksz_spi_cs { 555 pinctrl_ksz_spi_cs: ksz_spi_cs { 556 pinmux = <PIN_PC0__GPIO>; 556 pinmux = <PIN_PC0__GPIO>; 557 bias-disable; 557 bias-disable; 558 }; 558 }; 559 559 560 pinctrl_mikrobus2_pwm: mikrobus2_pwm { 560 pinctrl_mikrobus2_pwm: mikrobus2_pwm { 561 pinmux = <PIN_PB23__TIOB2>; 561 pinmux = <PIN_PB23__TIOB2>; 562 bias-disable; 562 bias-disable; 563 }; 563 }; 564 564 565 pinctrl_mikrobus2_int: mikrobus2_int { 565 pinctrl_mikrobus2_int: mikrobus2_int { 566 pinmux = <PIN_PB22__GPIO>; 566 pinmux = <PIN_PB22__GPIO>; 567 bias-disable; 567 bias-disable; 568 }; 568 }; 569 569 570 pinctrl_mikrobus2_uart: mikrobus2_uart 570 pinctrl_mikrobus2_uart: mikrobus2_uart { 571 pinmux = <PIN_PC12__URXD3>, 571 pinmux = <PIN_PC12__URXD3>, 572 <PIN_PC13__UTXD3>; 572 <PIN_PC13__UTXD3>; 573 bias-disable; 573 bias-disable; 574 }; 574 }; 575 575 576 pinctrl_mikrobus3_an: mikrobus3_an { 576 pinctrl_mikrobus3_an: mikrobus3_an { 577 pinmux = <PIN_PD24__GPIO>; 577 pinmux = <PIN_PD24__GPIO>; 578 bias-disable; 578 bias-disable; 579 }; 579 }; 580 580 581 pinctrl_mikrobus3_rst: mikrobus3_rst { 581 pinctrl_mikrobus3_rst: mikrobus3_rst { 582 pinmux = <PIN_PB21__GPIO>; 582 pinmux = <PIN_PB21__GPIO>; 583 bias-disable; 583 bias-disable; 584 }; 584 }; 585 585 586 pinctrl_mikrobus3_spi_cs: mikrobus3_sp 586 pinctrl_mikrobus3_spi_cs: mikrobus3_spi_cs { 587 pinmux = <PIN_PA17__SPI0_NPCS0 587 pinmux = <PIN_PA17__SPI0_NPCS0>; 588 bias-disable; 588 bias-disable; 589 }; 589 }; 590 590 591 pinctrl_mikrobus3_spi: mikrobus3_spi { 591 pinctrl_mikrobus3_spi: mikrobus3_spi { 592 pinmux = <PIN_PA14__SPI0_SPCK> 592 pinmux = <PIN_PA14__SPI0_SPCK>, 593 <PIN_PA16__SPI0_MISO> 593 <PIN_PA16__SPI0_MISO>, 594 <PIN_PA15__SPI0_MOSI> 594 <PIN_PA15__SPI0_MOSI>; 595 bias-disable; 595 bias-disable; 596 }; 596 }; 597 597 598 pinctrl_mikrobus3_pwm: mikrobus3_pwm { 598 pinctrl_mikrobus3_pwm: mikrobus3_pwm { 599 pinmux = <PIN_PB20__TIOB3>; 599 pinmux = <PIN_PB20__TIOB3>; 600 bias-disable; 600 bias-disable; 601 }; 601 }; 602 602 603 pinctrl_mikrobus3_int: mikrobus3_int { 603 pinctrl_mikrobus3_int: mikrobus3_int { 604 pinmux = <PIN_PB18__GPIO>; 604 pinmux = <PIN_PB18__GPIO>; 605 bias-disable; 605 bias-disable; 606 }; 606 }; 607 607 608 pinctrl_mikrobus3_uart: mikrobus3_uart 608 pinctrl_mikrobus3_uart: mikrobus3_uart { 609 pinmux = <PIN_PC7__URXD1>, 609 pinmux = <PIN_PC7__URXD1>, 610 <PIN_PC8__UTXD1>; 610 <PIN_PC8__UTXD1>; 611 bias-disable; 611 bias-disable; 612 }; 612 }; 613 613 614 pinctrl_usb_default: usb_default { 614 pinctrl_usb_default: usb_default { 615 pinmux = <PIN_PC17__GPIO>; 615 pinmux = <PIN_PC17__GPIO>; 616 bias-disable; 616 bias-disable; 617 }; 617 }; 618 618 619 pinctrl_usba_vbus: usba_vbus { 619 pinctrl_usba_vbus: usba_vbus { 620 pinmux = <PIN_PD23__GPIO>; 620 pinmux = <PIN_PD23__GPIO>; 621 bias-disable; 621 bias-disable; 622 }; 622 }; 623 623 624 pinctrl_pwm0_pwm2_default: pwm0_pwm2_d 624 pinctrl_pwm0_pwm2_default: pwm0_pwm2_default { 625 pinmux = <PIN_PB5__PWMH2>, 625 pinmux = <PIN_PB5__PWMH2>, 626 <PIN_PB6__PWML2>; 626 <PIN_PB6__PWML2>; 627 bias-pull-up; 627 bias-pull-up; 628 }; 628 }; 629 629 630 pinctrl_macb0_default: macb0_default { 630 pinctrl_macb0_default: macb0_default { 631 pinmux = <PIN_PD1__GRXCK>, 631 pinmux = <PIN_PD1__GRXCK>, 632 <PIN_PD2__GTXER>, 632 <PIN_PD2__GTXER>, 633 <PIN_PD5__GRX2>, 633 <PIN_PD5__GRX2>, 634 <PIN_PD6__GRX3>, 634 <PIN_PD6__GRX3>, 635 <PIN_PD7__GTX2>, 635 <PIN_PD7__GTX2>, 636 <PIN_PD8__GTX3>, 636 <PIN_PD8__GTX3>, 637 <PIN_PD9__GTXCK>, 637 <PIN_PD9__GTXCK>, 638 <PIN_PD10__GTXEN>, 638 <PIN_PD10__GTXEN>, 639 <PIN_PD11__GRXDV>, 639 <PIN_PD11__GRXDV>, 640 <PIN_PD12__GRXER>, 640 <PIN_PD12__GRXER>, 641 <PIN_PD13__GRX0>, 641 <PIN_PD13__GRX0>, 642 <PIN_PD14__GRX1>, 642 <PIN_PD14__GRX1>, 643 <PIN_PD15__GTX0>, 643 <PIN_PD15__GTX0>, 644 <PIN_PD16__GTX1>, 644 <PIN_PD16__GTX1>, 645 <PIN_PD17__GMDC>, 645 <PIN_PD17__GMDC>, 646 <PIN_PD18__GMDIO>; 646 <PIN_PD18__GMDIO>; 647 bias-disable; 647 bias-disable; 648 }; 648 }; 649 649 650 pinctrl_macb0_phy_irq: macb0_phy_irq { 650 pinctrl_macb0_phy_irq: macb0_phy_irq { 651 pinmux = <PIN_PD3__GPIO>; 651 pinmux = <PIN_PD3__GPIO>; 652 bias-disable; 652 bias-disable; 653 }; 653 }; 654 654 655 pinctrl_macb0_rst: macb0_sw_rst { 655 pinctrl_macb0_rst: macb0_sw_rst { 656 pinmux = <PIN_PD4__GPIO>; 656 pinmux = <PIN_PD4__GPIO>; 657 bias-disable; 657 bias-disable; 658 }; 658 }; 659 659 660 pinctrl_flx2_default: flx2_default { 660 pinctrl_flx2_default: flx2_default { 661 pinmux = <PIN_PA6__FLEXCOM2_IO 661 pinmux = <PIN_PA6__FLEXCOM2_IO0>, 662 <PIN_PA7__FLEXCOM2_IO 662 <PIN_PA7__FLEXCOM2_IO1>, 663 <PIN_PA9__FLEXCOM2_IO 663 <PIN_PA9__FLEXCOM2_IO3>, 664 <PIN_PA10__FLEXCOM2_I 664 <PIN_PA10__FLEXCOM2_IO4>; 665 bias-disable; 665 bias-disable; 666 }; 666 }; 667 }; 667 }; 668 668 669 &pwm0 { 669 &pwm0 { 670 pinctrl-names = "default"; 670 pinctrl-names = "default"; 671 pinctrl-0 = <&pinctrl_pwm0_pwm2_defaul 671 pinctrl-0 = <&pinctrl_pwm0_pwm2_default>; 672 status = "disabled"; /* conflict with 672 status = "disabled"; /* conflict with leds, HSIC */ 673 }; 673 }; 674 674 675 &qspi1 { 675 &qspi1 { 676 pinctrl-names = "default"; 676 pinctrl-names = "default"; 677 pinctrl-0 = <&pinctrl_qspi1_default>; 677 pinctrl-0 = <&pinctrl_qspi1_default>; 678 status = "disabled"; /* Conflict with 678 status = "disabled"; /* Conflict with wilc_pwrseq, flx2 */ 679 679 680 flash@0 { 680 flash@0 { 681 #address-cells = <1>; 681 #address-cells = <1>; 682 #size-cells = <1>; 682 #size-cells = <1>; 683 compatible = "jedec,spi-nor"; 683 compatible = "jedec,spi-nor"; 684 reg = <0>; 684 reg = <0>; 685 spi-max-frequency = <104000000 685 spi-max-frequency = <104000000>; 686 spi-cs-setup-ns = <7>; 686 spi-cs-setup-ns = <7>; 687 spi-tx-bus-width = <4>; 687 spi-tx-bus-width = <4>; 688 spi-rx-bus-width = <4>; 688 spi-rx-bus-width = <4>; 689 m25p,fast-read; 689 m25p,fast-read; 690 690 691 at91bootstrap@0 { 691 at91bootstrap@0 { 692 label = "qspi: at91boo 692 label = "qspi: at91bootstrap"; 693 reg = <0x00000000 0x00 693 reg = <0x00000000 0x00040000>; 694 }; 694 }; 695 695 696 bootloader@40000 { 696 bootloader@40000 { 697 label = "qspi: bootloa 697 label = "qspi: bootloader"; 698 reg = <0x00040000 0x00 698 reg = <0x00040000 0x000c0000>; 699 }; 699 }; 700 700 701 bootloaderenvred@100000 { 701 bootloaderenvred@100000 { 702 label = "qspi: bootloa 702 label = "qspi: bootloader env redundant"; 703 reg = <0x00100000 0x00 703 reg = <0x00100000 0x00040000>; 704 }; 704 }; 705 705 706 bootloaderenv@140000 { 706 bootloaderenv@140000 { 707 label = "qspi: bootloa 707 label = "qspi: bootloader env"; 708 reg = <0x00140000 0x00 708 reg = <0x00140000 0x00040000>; 709 }; 709 }; 710 710 711 dtb@180000 { 711 dtb@180000 { 712 label = "qspi: device 712 label = "qspi: device tree"; 713 reg = <0x00180000 0x00 713 reg = <0x00180000 0x00080000>; 714 }; 714 }; 715 715 716 kernel@200000 { 716 kernel@200000 { 717 label = "qspi: kernel" 717 label = "qspi: kernel"; 718 reg = <0x00200000 0x00 718 reg = <0x00200000 0x00600000>; 719 }; 719 }; 720 }; 720 }; 721 }; 721 }; 722 722 723 &sdmmc0 { 723 &sdmmc0 { 724 no-1-8-v; 724 no-1-8-v; 725 bus-width = <4>; 725 bus-width = <4>; 726 pinctrl-names = "default"; 726 pinctrl-names = "default"; 727 pinctrl-0 = <&pinctrl_sdmmc0_default>; 727 pinctrl-0 = <&pinctrl_sdmmc0_default>; 728 status = "okay"; 728 status = "okay"; 729 }; 729 }; 730 730 731 &shutdown_controller { 731 &shutdown_controller { 732 debounce-delay-us = <976>; 732 debounce-delay-us = <976>; 733 atmel,wakeup-rtc-timer; 733 atmel,wakeup-rtc-timer; 734 734 735 input@0 { 735 input@0 { 736 reg = <0>; 736 reg = <0>; 737 }; 737 }; 738 }; 738 }; 739 739 740 &spi0 { /* mikrobus3 spi */ 740 &spi0 { /* mikrobus3 spi */ 741 pinctrl-names = "default"; 741 pinctrl-names = "default"; 742 pinctrl-0 = <&pinctrl_mikrobus3_spi &p 742 pinctrl-0 = <&pinctrl_mikrobus3_spi &pinctrl_mikrobus3_spi_cs>; 743 status = "okay"; 743 status = "okay"; 744 }; 744 }; 745 745 746 &tcb0 { 746 &tcb0 { 747 timer0: timer@0 { 747 timer0: timer@0 { 748 compatible = "atmel,tcb-timer" 748 compatible = "atmel,tcb-timer"; 749 reg = <0>; 749 reg = <0>; 750 }; 750 }; 751 751 752 timer1: timer@1 { 752 timer1: timer@1 { 753 compatible = "atmel,tcb-timer" 753 compatible = "atmel,tcb-timer"; 754 reg = <1>; 754 reg = <1>; 755 }; 755 }; 756 }; 756 }; 757 757 758 &uart0 { 758 &uart0 { 759 pinctrl-names = "default"; 759 pinctrl-names = "default"; 760 pinctrl-0 = <&pinctrl_mikrobus1_uart>; 760 pinctrl-0 = <&pinctrl_mikrobus1_uart>; 761 atmel,use-dma-rx; 761 atmel,use-dma-rx; 762 atmel,use-dma-tx; 762 atmel,use-dma-tx; 763 status = "okay"; 763 status = "okay"; 764 }; 764 }; 765 765 766 &uart1 { 766 &uart1 { 767 pinctrl-names = "default"; 767 pinctrl-names = "default"; 768 pinctrl-0 = <&pinctrl_mikrobus3_uart>; 768 pinctrl-0 = <&pinctrl_mikrobus3_uart>; 769 atmel,use-dma-rx; 769 atmel,use-dma-rx; 770 atmel,use-dma-tx; 770 atmel,use-dma-tx; 771 status = "okay"; 771 status = "okay"; 772 }; 772 }; 773 773 774 &uart3 { 774 &uart3 { 775 pinctrl-names = "default"; 775 pinctrl-names = "default"; 776 pinctrl-0 = <&pinctrl_mikrobus2_uart>; 776 pinctrl-0 = <&pinctrl_mikrobus2_uart>; 777 atmel,use-dma-rx; 777 atmel,use-dma-rx; 778 atmel,use-dma-tx; 778 atmel,use-dma-tx; 779 status = "okay"; 779 status = "okay"; 780 }; 780 }; 781 781 782 &usb0 { 782 &usb0 { 783 atmel,vbus-gpio = <&pioA PIN_PD23 GPIO 783 atmel,vbus-gpio = <&pioA PIN_PD23 GPIO_ACTIVE_HIGH>; 784 pinctrl-names = "default"; 784 pinctrl-names = "default"; 785 pinctrl-0 = <&pinctrl_usba_vbus>; 785 pinctrl-0 = <&pinctrl_usba_vbus>; 786 status = "okay"; 786 status = "okay"; 787 }; 787 }; 788 788 789 &usb1 { 789 &usb1 { 790 num-ports = <3>; 790 num-ports = <3>; 791 pinctrl-names = "default"; 791 pinctrl-names = "default"; 792 pinctrl-0 = <&pinctrl_usb_default>; 792 pinctrl-0 = <&pinctrl_usb_default>; 793 status = "okay"; 793 status = "okay"; 794 }; 794 }; 795 795 796 &usb2 { 796 &usb2 { 797 phy_type = "hsic"; 797 phy_type = "hsic"; 798 status = "okay"; 798 status = "okay"; 799 }; 799 }; 800 800 801 &watchdog { 801 &watchdog { 802 status = "okay"; 802 status = "okay"; 803 }; 803 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.