Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.7-rc4 482 lines 12 kB view raw
1/* 2 * at91-sama5d2_xplained.dts - Device Tree file for SAMA5D2 Xplained board 3 * 4 * Copyright (C) 2015 Atmel, 5 * 2015 Nicolas Ferre <nicolas.ferre@atmel.com> 6 * 7 * This file is dual-licensed: you can use it either under the terms 8 * of the GPL or the X11 license, at your option. Note that this dual 9 * licensing only applies to this file, and not this project as a 10 * whole. 11 * 12 * a) This file is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License as 14 * published by the Free Software Foundation; either version 2 of the 15 * License, or (at your option) any later version. 16 * 17 * This file is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * Or, alternatively, 23 * 24 * b) Permission is hereby granted, free of charge, to any person 25 * obtaining a copy of this software and associated documentation 26 * files (the "Software"), to deal in the Software without 27 * restriction, including without limitation the rights to use, 28 * copy, modify, merge, publish, distribute, sublicense, and/or 29 * sell copies of the Software, and to permit persons to whom the 30 * Software is furnished to do so, subject to the following 31 * conditions: 32 * 33 * The above copyright notice and this permission notice shall be 34 * included in all copies or substantial portions of the Software. 35 * 36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 * OTHER DEALINGS IN THE SOFTWARE. 44 */ 45/dts-v1/; 46#include "sama5d2.dtsi" 47#include "sama5d2-pinfunc.h" 48#include <dt-bindings/mfd/atmel-flexcom.h> 49#include <dt-bindings/gpio/gpio.h> 50 51/ { 52 model = "Atmel SAMA5D2 Xplained"; 53 compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5"; 54 55 chosen { 56 stdout-path = "serial0:115200n8"; 57 }; 58 59 memory { 60 reg = <0x20000000 0x80000>; 61 }; 62 63 clocks { 64 slow_xtal { 65 clock-frequency = <32768>; 66 }; 67 68 main_xtal { 69 clock-frequency = <12000000>; 70 }; 71 }; 72 73 ahb { 74 usb0: gadget@00300000 { 75 atmel,vbus-gpio = <&pioA 31 GPIO_ACTIVE_HIGH>; 76 pinctrl-names = "default"; 77 pinctrl-0 = <&pinctrl_usba_vbus>; 78 status = "okay"; 79 }; 80 81 usb1: ohci@00400000 { 82 num-ports = <3>; 83 atmel,vbus-gpio = <0 /* &pioA 41 GPIO_ACTIVE_HIGH */ 84 &pioA 42 GPIO_ACTIVE_HIGH 85 0 86 >; 87 pinctrl-names = "default"; 88 pinctrl-0 = <&pinctrl_usb_default>; 89 status = "okay"; 90 }; 91 92 usb2: ehci@00500000 { 93 status = "okay"; 94 }; 95 96 sdmmc0: sdio-host@a0000000 { 97 bus-width = <8>; 98 pinctrl-names = "default"; 99 pinctrl-0 = <&pinctrl_sdmmc0_default>; 100 non-removable; 101 mmc-ddr-1_8v; 102 status = "okay"; 103 }; 104 105 sdmmc1: sdio-host@b0000000 { 106 bus-width = <4>; 107 pinctrl-names = "default"; 108 pinctrl-0 = <&pinctrl_sdmmc1_default>; 109 status = "okay"; /* conflict with qspi0 */ 110 }; 111 112 apb { 113 spi0: spi@f8000000 { 114 pinctrl-names = "default"; 115 pinctrl-0 = <&pinctrl_spi0_default>; 116 status = "okay"; 117 118 m25p80@0 { 119 compatible = "atmel,at25df321a"; 120 reg = <0>; 121 spi-max-frequency = <50000000>; 122 }; 123 }; 124 125 macb0: ethernet@f8008000 { 126 pinctrl-names = "default"; 127 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>; 128 phy-mode = "rmii"; 129 status = "okay"; 130 131 ethernet-phy@1 { 132 reg = <0x1>; 133 interrupt-parent = <&pioA>; 134 interrupts = <73 IRQ_TYPE_LEVEL_LOW>; 135 }; 136 }; 137 138 pdmic@f8018000 { 139 pinctrl-names = "default"; 140 pinctrl-0 = <&pinctrl_pdmic_default>; 141 atmel,model = "PDMIC @ sama5d2_xplained"; 142 atmel,mic-min-freq = <1000000>; 143 atmel,mic-max-freq = <3246000>; 144 atmel,mic-offset = <0x0>; 145 status = "okay"; 146 }; 147 148 uart1: serial@f8020000 { 149 pinctrl-names = "default"; 150 pinctrl-0 = <&pinctrl_uart1_default>; 151 status = "okay"; 152 }; 153 154 i2c0: i2c@f8028000 { 155 dmas = <0>, <0>; 156 pinctrl-names = "default"; 157 pinctrl-0 = <&pinctrl_i2c0_default>; 158 i2c-sda-hold-time-ns = <350>; 159 status = "okay"; 160 161 pmic: act8865@5b { 162 compatible = "active-semi,act8865"; 163 reg = <0x5b>; 164 active-semi,vsel-high; 165 status = "okay"; 166 167 regulators { 168 vdd_1v35_reg: DCDC_REG1 { 169 regulator-name = "VDD_1V35"; 170 regulator-min-microvolt = <1350000>; 171 regulator-max-microvolt = <1350000>; 172 regulator-always-on; 173 }; 174 175 vdd_1v2_reg: DCDC_REG2 { 176 regulator-name = "VDD_1V2"; 177 regulator-min-microvolt = <1100000>; 178 regulator-max-microvolt = <1300000>; 179 regulator-always-on; 180 }; 181 182 vdd_3v3_reg: DCDC_REG3 { 183 regulator-name = "VDD_3V3"; 184 regulator-min-microvolt = <3300000>; 185 regulator-max-microvolt = <3300000>; 186 regulator-always-on; 187 }; 188 189 vdd_fuse_reg: LDO_REG1 { 190 regulator-name = "VDD_FUSE"; 191 regulator-min-microvolt = <2500000>; 192 regulator-max-microvolt = <2500000>; 193 regulator-always-on; 194 }; 195 196 vdd_3v3_lp_reg: LDO_REG2 { 197 regulator-name = "VDD_3V3_LP"; 198 regulator-min-microvolt = <3300000>; 199 regulator-max-microvolt = <3300000>; 200 regulator-always-on; 201 }; 202 203 vdd_led_reg: LDO_REG3 { 204 regulator-name = "VDD_LED"; 205 regulator-min-microvolt = <3300000>; 206 regulator-max-microvolt = <3300000>; 207 regulator-always-on; 208 }; 209 210 vdd_sdhc_1v8_reg: LDO_REG4 { 211 regulator-name = "VDD_SDHC_1V8"; 212 regulator-min-microvolt = <1800000>; 213 regulator-max-microvolt = <1800000>; 214 regulator-always-on; 215 }; 216 }; 217 }; 218 }; 219 220 flx0: flexcom@f8034000 { 221 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 222 status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */ 223 224 uart5: serial@200 { 225 compatible = "atmel,at91sam9260-usart"; 226 reg = <0x200 0x200>; 227 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; 228 clocks = <&flx0_clk>; 229 clock-names = "usart"; 230 pinctrl-names = "default"; 231 pinctrl-0 = <&pinctrl_flx0_default>; 232 atmel,fifo-size = <32>; 233 status = "okay"; 234 }; 235 }; 236 237 shdwc@f8048010 { 238 atmel,shdwc-debouncer = <976>; 239 240 input@0 { 241 reg = <0>; 242 atmel,wakeup-type = "low"; 243 }; 244 }; 245 246 watchdog@f8048040 { 247 status = "okay"; 248 }; 249 250 uart3: serial@fc008000 { 251 pinctrl-names = "default"; 252 pinctrl-0 = <&pinctrl_uart3_default>; 253 status = "okay"; 254 }; 255 256 flx4: flexcom@fc018000 { 257 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 258 status = "okay"; 259 260 i2c2: i2c@600 { 261 compatible = "atmel,sama5d2-i2c"; 262 reg = <0x600 0x200>; 263 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; 264 dmas = <0>, <0>; 265 dma-names = "tx", "rx"; 266 #address-cells = <1>; 267 #size-cells = <0>; 268 clocks = <&flx4_clk>; 269 pinctrl-names = "default"; 270 pinctrl-0 = <&pinctrl_flx4_default>; 271 atmel,fifo-size = <16>; 272 status = "okay"; 273 }; 274 }; 275 276 i2c1: i2c@fc028000 { 277 dmas = <0>, <0>; 278 pinctrl-names = "default"; 279 pinctrl-0 = <&pinctrl_i2c1_default>; 280 status = "okay"; 281 282 at24@54 { 283 compatible = "atmel,24c02"; 284 reg = <0x54>; 285 pagesize = <16>; 286 }; 287 }; 288 289 adc: adc@fc030000 { 290 vddana-supply = <&vdd_3v3_lp_reg>; 291 vref-supply = <&vdd_3v3_lp_reg>; 292 pinctrl-names = "default"; 293 pinctrl-0 = <&pinctrl_adc_default>; 294 status = "okay"; 295 }; 296 297 pinctrl@fc038000 { 298 /* 299 * There is no real pinmux for ADC, if the pin 300 * is not requested by another peripheral then 301 * the muxing is done when channel is enabled. 302 * Requesting pins for ADC is GPIO is 303 * encouraged to prevent conflicts and to 304 * disable bias in order to be in the same 305 * state when the pin is not muxed to the adc. 306 */ 307 pinctrl_adc_default: adc_default { 308 pinmux = <PIN_PD23__GPIO>; 309 bias-disable; 310 }; 311 312 pinctrl_flx0_default: flx0_default { 313 pinmux = <PIN_PB28__FLEXCOM0_IO0>, 314 <PIN_PB29__FLEXCOM0_IO1>; 315 bias-disable; 316 }; 317 318 pinctrl_flx4_default: flx4_default { 319 pinmux = <PIN_PD12__FLEXCOM4_IO0>, 320 <PIN_PD13__FLEXCOM4_IO1>; 321 bias-disable; 322 }; 323 324 pinctrl_i2c0_default: i2c0_default { 325 pinmux = <PIN_PD21__TWD0>, 326 <PIN_PD22__TWCK0>; 327 bias-disable; 328 }; 329 330 pinctrl_i2c1_default: i2c1_default { 331 pinmux = <PIN_PD4__TWD1>, 332 <PIN_PD5__TWCK1>; 333 bias-disable; 334 }; 335 336 pinctrl_key_gpio_default: key_gpio_default { 337 pinmux = <PIN_PB9__GPIO>; 338 bias-pull-up; 339 }; 340 341 pinctrl_led_gpio_default: led_gpio_default { 342 pinmux = <PIN_PB0__GPIO>, 343 <PIN_PB5__GPIO>, 344 <PIN_PB6__GPIO>; 345 bias-pull-up; 346 }; 347 348 pinctrl_macb0_default: macb0_default { 349 pinmux = <PIN_PB14__GTXCK>, 350 <PIN_PB15__GTXEN>, 351 <PIN_PB16__GRXDV>, 352 <PIN_PB17__GRXER>, 353 <PIN_PB18__GRX0>, 354 <PIN_PB19__GRX1>, 355 <PIN_PB20__GTX0>, 356 <PIN_PB21__GTX1>, 357 <PIN_PB22__GMDC>, 358 <PIN_PB23__GMDIO>; 359 bias-disable; 360 }; 361 362 pinctrl_macb0_phy_irq: macb0_phy_irq { 363 pinmux = <PIN_PC9__GPIO>; 364 bias-disable; 365 }; 366 367 pinctrl_pdmic_default: pdmic_default { 368 pinmux = <PIN_PB26__PDMIC_DAT>, 369 <PIN_PB27__PDMIC_CLK>; 370 bias-disable; 371 }; 372 373 pinctrl_sdmmc0_default: sdmmc0_default { 374 cmd_data { 375 pinmux = <PIN_PA1__SDMMC0_CMD>, 376 <PIN_PA2__SDMMC0_DAT0>, 377 <PIN_PA3__SDMMC0_DAT1>, 378 <PIN_PA4__SDMMC0_DAT2>, 379 <PIN_PA5__SDMMC0_DAT3>, 380 <PIN_PA6__SDMMC0_DAT4>, 381 <PIN_PA7__SDMMC0_DAT5>, 382 <PIN_PA8__SDMMC0_DAT6>, 383 <PIN_PA9__SDMMC0_DAT7>; 384 bias-pull-up; 385 }; 386 387 ck_cd_rstn_vddsel { 388 pinmux = <PIN_PA0__SDMMC0_CK>, 389 <PIN_PA10__SDMMC0_RSTN>, 390 <PIN_PA11__SDMMC0_VDDSEL>, 391 <PIN_PA13__SDMMC0_CD>; 392 bias-disable; 393 }; 394 }; 395 396 pinctrl_sdmmc1_default: sdmmc1_default { 397 cmd_data { 398 pinmux = <PIN_PA28__SDMMC1_CMD>, 399 <PIN_PA18__SDMMC1_DAT0>, 400 <PIN_PA19__SDMMC1_DAT1>, 401 <PIN_PA20__SDMMC1_DAT2>, 402 <PIN_PA21__SDMMC1_DAT3>; 403 bias-pull-up; 404 }; 405 406 conf-ck_cd { 407 pinmux = <PIN_PA22__SDMMC1_CK>, 408 <PIN_PA30__SDMMC1_CD>; 409 bias-disable; 410 }; 411 }; 412 413 pinctrl_spi0_default: spi0_default { 414 pinmux = <PIN_PA14__SPI0_SPCK>, 415 <PIN_PA15__SPI0_MOSI>, 416 <PIN_PA16__SPI0_MISO>, 417 <PIN_PA17__SPI0_NPCS0>; 418 bias-disable; 419 }; 420 421 pinctrl_uart1_default: uart1_default { 422 pinmux = <PIN_PD2__URXD1>, 423 <PIN_PD3__UTXD1>; 424 bias-disable; 425 }; 426 427 pinctrl_uart3_default: uart3_default { 428 pinmux = <PIN_PB11__URXD3>, 429 <PIN_PB12__UTXD3>; 430 bias-disable; 431 }; 432 433 pinctrl_usb_default: usb_default { 434 pinmux = <PIN_PB10__GPIO>; 435 bias-disable; 436 }; 437 438 pinctrl_usba_vbus: usba_vbus { 439 pinmux = <PIN_PA31__GPIO>; 440 bias-disable; 441 }; 442 443 }; 444 }; 445 }; 446 447 gpio_keys { 448 compatible = "gpio-keys"; 449 450 pinctrl-names = "default"; 451 pinctrl-0 = <&pinctrl_key_gpio_default>; 452 453 bp1 { 454 label = "PB_USER"; 455 gpios = <&pioA 41 GPIO_ACTIVE_LOW>; 456 linux,code = <0x104>; 457 }; 458 }; 459 460 leds { 461 compatible = "gpio-leds"; 462 pinctrl-names = "default"; 463 pinctrl-0 = <&pinctrl_led_gpio_default>; 464 status = "okay"; 465 466 red { 467 label = "red"; 468 gpios = <&pioA 38 GPIO_ACTIVE_LOW>; 469 }; 470 471 green { 472 label = "green"; 473 gpios = <&pioA 37 GPIO_ACTIVE_LOW>; 474 }; 475 476 blue { 477 label = "blue"; 478 gpios = <&pioA 32 GPIO_ACTIVE_LOW>; 479 linux,default-trigger = "heartbeat"; 480 }; 481 }; 482};