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

Merge tag 'sunxi-dt-for-3.16' of https://github.com/mripard/linux into next/dt

Merge "Allwinner DT additions for 3.16" from Maxime Ripard:

- Introduction of the MMC controlers
- New board: A10s R7, Mele M9, APP4-EVB1
- Enabled the PMU on the Cortex A7-based SoCs

* tag 'sunxi-dt-for-3.16' of https://github.com/mripard/linux: (38 commits)
ARM: sunxi: dt: declare the r_pio pin controller for A31 SoC
ARM: sunxi: dt: add PRCM clk and reset controller subdevices
ARM: sunxi: dt: add APP4-EVB1 board support
ARM: sun6i: dt: Add support for the USB controllers
ARM: sun6i: Add the USB clocks to the DTSI
ARM: dts: sun5i: Add new A10s r7 hdmi tv dongle board
ARM: dts: sun7i: Add reg_vcc3v3 to sun7i board mmc nodes
ARM: dts: sun6i: Add reg_vcc3v3 to sun6i board mmc nodes
ARM: dts: sun5i: Add reg_vcc3v3 to sun5i board mmc nodes
ARM: dts: sun4i: Add reg_vcc3v3 to sun4i board mmc nodes
ARM: dts: sunxi: Add reg_vcc3v3 supply to sunxi-common-regulators.dtsi
ARM: dts: sun7i: Add basic support for the Cubietruck WiFi module
ARM: dts: sun7i: Enable mmc controller on various A20 boards
ARM: dts: sun7i: Add pin-muxing info for the mmc controllers
ARM: dts: sun7i: Add mmc controller nodes
ARM: dts: sun6i: Add new sun6i-a31-m9 dts file for Mele M9
ARM: dts: sun6i: Add mmc controller nodes
ARM: dts: sun6i: Add mmc clocks
ARM: dts: sun5i: Enable mmc controller on various A10s and A13 boards
ARM: dts: sun5i: Add mmc controller nodes
...

Signed-off-by: Olof Johansson <olof@lixom.net>

+953 -9
+3
arch/arm/boot/dts/Makefile
··· 343 343 sun4i-a10-olinuxino-lime.dtb \ 344 344 sun4i-a10-pcduino.dtb \ 345 345 sun5i-a10s-olinuxino-micro.dtb \ 346 + sun5i-a10s-r7-tv-dongle.dtb \ 346 347 sun5i-a13-olinuxino.dtb \ 347 348 sun5i-a13-olinuxino-micro.dtb \ 349 + sun6i-a31-app4-evb1.dtb \ 348 350 sun6i-a31-colombus.dtb \ 351 + sun6i-a31-m9.dtb \ 349 352 sun7i-a20-cubieboard2.dtb \ 350 353 sun7i-a20-cubietruck.dtb \ 351 354 sun7i-a20-olinuxino-micro.dtb
+10
arch/arm/boot/dts/sun4i-a10-a1000.dts
··· 36 36 }; 37 37 }; 38 38 39 + mmc0: mmc@01c0f000 { 40 + pinctrl-names = "default"; 41 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 42 + vmmc-supply = <&reg_vcc3v3>; 43 + bus-width = <4>; 44 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 45 + cd-inverted; 46 + status = "okay"; 47 + }; 48 + 39 49 usbphy: phy@01c13400 { 40 50 usb1_vbus-supply = <&reg_usb1_vbus>; 41 51 usb2_vbus-supply = <&reg_usb2_vbus>;
+10
arch/arm/boot/dts/sun4i-a10-cubieboard.dts
··· 34 34 }; 35 35 }; 36 36 37 + mmc0: mmc@01c0f000 { 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 40 + vmmc-supply = <&reg_vcc3v3>; 41 + bus-width = <4>; 42 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 43 + cd-inverted; 44 + status = "okay"; 45 + }; 46 + 37 47 usbphy: phy@01c13400 { 38 48 usb1_vbus-supply = <&reg_usb1_vbus>; 39 49 usb2_vbus-supply = <&reg_usb2_vbus>;
+10
arch/arm/boot/dts/sun4i-a10-hackberry.dts
··· 36 36 }; 37 37 }; 38 38 39 + mmc0: mmc@01c0f000 { 40 + pinctrl-names = "default"; 41 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 42 + vmmc-supply = <&reg_vcc3v3>; 43 + bus-width = <4>; 44 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 45 + cd-inverted; 46 + status = "okay"; 47 + }; 48 + 39 49 usbphy: phy@01c13400 { 40 50 usb1_vbus-supply = <&reg_usb1_vbus>; 41 51 usb2_vbus-supply = <&reg_usb2_vbus>;
+10
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
··· 24 24 }; 25 25 26 26 soc@01c00000 { 27 + mmc0: mmc@01c0f000 { 28 + pinctrl-names = "default"; 29 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 30 + vmmc-supply = <&reg_vcc3v3>; 31 + bus-width = <4>; 32 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 33 + cd-inverted; 34 + status = "okay"; 35 + }; 36 + 27 37 uart0: serial@01c28000 { 28 38 pinctrl-names = "default"; 29 39 pinctrl-0 = <&uart0_pins_a>;
+10
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
··· 20 20 compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10"; 21 21 22 22 soc@01c00000 { 23 + mmc0: mmc@01c0f000 { 24 + pinctrl-names = "default"; 25 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 26 + vmmc-supply = <&reg_vcc3v3>; 27 + bus-width = <4>; 28 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 29 + cd-inverted; 30 + status = "okay"; 31 + }; 32 + 23 33 usbphy: phy@01c13400 { 24 34 usb1_vbus-supply = <&reg_usb1_vbus>; 25 35 usb2_vbus-supply = <&reg_usb2_vbus>;
+10
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
··· 33 33 }; 34 34 }; 35 35 36 + mmc0: mmc@01c0f000 { 37 + pinctrl-names = "default"; 38 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 39 + vmmc-supply = <&reg_vcc3v3>; 40 + bus-width = <4>; 41 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 42 + cd-inverted; 43 + status = "okay"; 44 + }; 45 + 36 46 usbphy: phy@01c13400 { 37 47 usb1_vbus-supply = <&reg_usb1_vbus>; 38 48 usb2_vbus-supply = <&reg_usb2_vbus>;
+10
arch/arm/boot/dts/sun4i-a10-pcduino.dts
··· 34 34 }; 35 35 }; 36 36 37 + mmc0: mmc@01c0f000 { 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 40 + vmmc-supply = <&reg_vcc3v3>; 41 + bus-width = <4>; 42 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 43 + cd-inverted; 44 + status = "okay"; 45 + }; 46 + 37 47 usbphy: phy@01c13400 { 38 48 usb1_vbus-supply = <&reg_usb1_vbus>; 39 49 usb2_vbus-supply = <&reg_usb2_vbus>;
+78
arch/arm/boot/dts/sun4i-a10.dtsi
··· 377 377 #size-cells = <0>; 378 378 }; 379 379 380 + mmc0: mmc@01c0f000 { 381 + compatible = "allwinner,sun4i-a10-mmc"; 382 + reg = <0x01c0f000 0x1000>; 383 + clocks = <&ahb_gates 8>, <&mmc0_clk>; 384 + clock-names = "ahb", "mmc"; 385 + interrupts = <32>; 386 + status = "disabled"; 387 + }; 388 + 389 + mmc1: mmc@01c10000 { 390 + compatible = "allwinner,sun4i-a10-mmc"; 391 + reg = <0x01c10000 0x1000>; 392 + clocks = <&ahb_gates 9>, <&mmc1_clk>; 393 + clock-names = "ahb", "mmc"; 394 + interrupts = <33>; 395 + status = "disabled"; 396 + }; 397 + 398 + mmc2: mmc@01c11000 { 399 + compatible = "allwinner,sun4i-a10-mmc"; 400 + reg = <0x01c11000 0x1000>; 401 + clocks = <&ahb_gates 10>, <&mmc2_clk>; 402 + clock-names = "ahb", "mmc"; 403 + interrupts = <34>; 404 + status = "disabled"; 405 + }; 406 + 407 + mmc3: mmc@01c12000 { 408 + compatible = "allwinner,sun4i-a10-mmc"; 409 + reg = <0x01c12000 0x1000>; 410 + clocks = <&ahb_gates 11>, <&mmc3_clk>; 411 + clock-names = "ahb", "mmc"; 412 + interrupts = <35>; 413 + status = "disabled"; 414 + }; 415 + 380 416 usbphy: phy@01c13400 { 381 417 #phy-cells = <1>; 382 418 compatible = "allwinner,sun4i-a10-usb-phy"; ··· 513 477 #size-cells = <0>; 514 478 #gpio-cells = <3>; 515 479 480 + pwm0_pins_a: pwm0@0 { 481 + allwinner,pins = "PB2"; 482 + allwinner,function = "pwm"; 483 + allwinner,drive = <0>; 484 + allwinner,pull = <0>; 485 + }; 486 + 487 + pwm1_pins_a: pwm1@0 { 488 + allwinner,pins = "PI3"; 489 + allwinner,function = "pwm"; 490 + allwinner,drive = <0>; 491 + allwinner,pull = <0>; 492 + }; 493 + 516 494 uart0_pins_a: uart0@0 { 517 495 allwinner,pins = "PB22", "PB23"; 518 496 allwinner,function = "uart0"; ··· 579 529 allwinner,drive = <0>; 580 530 allwinner,pull = <0>; 581 531 }; 532 + 533 + mmc0_pins_a: mmc0@0 { 534 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; 535 + allwinner,function = "mmc0"; 536 + allwinner,drive = <2>; 537 + allwinner,pull = <0>; 538 + }; 539 + 540 + mmc0_cd_pin_reference_design: mmc0_cd_pin@0 { 541 + allwinner,pins = "PH1"; 542 + allwinner,function = "gpio_in"; 543 + allwinner,drive = <0>; 544 + allwinner,pull = <1>; 545 + }; 582 546 }; 583 547 584 548 timer@01c20c00 { ··· 611 547 compatible = "allwinner,sun4i-a10-rtc"; 612 548 reg = <0x01c20d00 0x20>; 613 549 interrupts = <24>; 550 + }; 551 + 552 + pwm: pwm@01c20e00 { 553 + compatible = "allwinner,sun4i-a10-pwm"; 554 + reg = <0x01c20e00 0xc>; 555 + clocks = <&osc24M>; 556 + #pwm-cells = <3>; 557 + status = "disabled"; 614 558 }; 615 559 616 560 sid: eeprom@01c23800 { ··· 719 647 clocks = <&apb1_gates 0>; 720 648 clock-frequency = <100000>; 721 649 status = "disabled"; 650 + #address-cells = <1>; 651 + #size-cells = <0>; 722 652 }; 723 653 724 654 i2c1: i2c@01c2b000 { ··· 730 656 clocks = <&apb1_gates 1>; 731 657 clock-frequency = <100000>; 732 658 status = "disabled"; 659 + #address-cells = <1>; 660 + #size-cells = <0>; 733 661 }; 734 662 735 663 i2c2: i2c@01c2b400 { ··· 741 665 clocks = <&apb1_gates 2>; 742 666 clock-frequency = <100000>; 743 667 status = "disabled"; 668 + #address-cells = <1>; 669 + #size-cells = <0>; 744 670 }; 745 671 }; 746 672 };
+34
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
··· 35 35 }; 36 36 }; 37 37 38 + mmc0: mmc@01c0f000 { 39 + pinctrl-names = "default"; 40 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>; 41 + vmmc-supply = <&reg_vcc3v3>; 42 + bus-width = <4>; 43 + cd-gpios = <&pio 6 1 0>; /* PG1 */ 44 + cd-inverted; 45 + status = "okay"; 46 + }; 47 + 48 + mmc1: mmc@01c10000 { 49 + pinctrl-names = "default"; 50 + pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>; 51 + vmmc-supply = <&reg_vcc3v3>; 52 + bus-width = <4>; 53 + cd-gpios = <&pio 6 13 0>; /* PG13 */ 54 + cd-inverted; 55 + status = "okay"; 56 + }; 57 + 38 58 usbphy: phy@01c13400 { 39 59 usb1_vbus-supply = <&reg_usb1_vbus>; 40 60 status = "okay"; ··· 69 49 }; 70 50 71 51 pinctrl@01c20800 { 52 + mmc0_cd_pin_olinuxino_micro: mmc0_cd_pin@0 { 53 + allwinner,pins = "PG1"; 54 + allwinner,function = "gpio_in"; 55 + allwinner,drive = <0>; 56 + allwinner,pull = <1>; 57 + }; 58 + 59 + mmc1_cd_pin_olinuxino_micro: mmc1_cd_pin@0 { 60 + allwinner,pins = "PG13"; 61 + allwinner,function = "gpio_in"; 62 + allwinner,drive = <0>; 63 + allwinner,pull = <1>; 64 + }; 65 + 72 66 led_pins_olinuxino: led_pins@0 { 73 67 allwinner,pins = "PE3"; 74 68 allwinner,function = "gpio_out";
+100
arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts
··· 1 + /* 2 + * Copyright 2014 Hans de Goede <hdegoede@redhat.com> 3 + * 4 + * The code contained herein is licensed under the GNU General Public 5 + * License. You may obtain a copy of the GNU General Public License 6 + * Version 2 or later at the following locations: 7 + * 8 + * http://www.opensource.org/licenses/gpl-license.html 9 + * http://www.gnu.org/copyleft/gpl.html 10 + */ 11 + 12 + /dts-v1/; 13 + /include/ "sun5i-a10s.dtsi" 14 + /include/ "sunxi-common-regulators.dtsi" 15 + 16 + / { 17 + model = "R7 A10s hdmi tv-stick"; 18 + compatible = "allwinner,r7-tv-dongle", "allwinner,sun5i-a10s"; 19 + 20 + soc@01c00000 { 21 + mmc0: mmc@01c0f000 { 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>; 24 + vmmc-supply = <&reg_vcc3v3>; 25 + bus-width = <4>; 26 + cd-gpios = <&pio 6 1 0>; /* PG1 */ 27 + cd-inverted; 28 + status = "okay"; 29 + }; 30 + 31 + mmc1: mmc@01c10000 { 32 + pinctrl-names = "default"; 33 + pinctrl-0 = <&mmc1_pins_a>; 34 + vmmc-supply = <&reg_vcc3v3>; 35 + bus-width = <4>; 36 + non-removable; 37 + status = "okay"; 38 + }; 39 + 40 + usbphy: phy@01c13400 { 41 + usb1_vbus-supply = <&reg_usb1_vbus>; 42 + status = "okay"; 43 + }; 44 + 45 + ehci0: usb@01c14000 { 46 + status = "okay"; 47 + }; 48 + 49 + ohci0: usb@01c14400 { 50 + status = "okay"; 51 + }; 52 + 53 + pinctrl@01c20800 { 54 + mmc0_cd_pin_r7: mmc0_cd_pin@0 { 55 + allwinner,pins = "PG1"; 56 + allwinner,function = "gpio_in"; 57 + allwinner,drive = <0>; 58 + allwinner,pull = <1>; 59 + }; 60 + 61 + led_pins_r7: led_pins@0 { 62 + allwinner,pins = "PB2"; 63 + allwinner,function = "gpio_out"; 64 + allwinner,drive = <1>; 65 + allwinner,pull = <0>; 66 + }; 67 + 68 + usb1_vbus_pin_r7: usb1_vbus_pin@0 { 69 + allwinner,pins = "PG13"; 70 + allwinner,function = "gpio_out"; 71 + allwinner,drive = <0>; 72 + allwinner,pull = <0>; 73 + }; 74 + }; 75 + 76 + uart0: serial@01c28000 { 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&uart0_pins_a>; 79 + status = "okay"; 80 + }; 81 + }; 82 + 83 + leds { 84 + compatible = "gpio-leds"; 85 + pinctrl-names = "default"; 86 + pinctrl-0 = <&led_pins_r7>; 87 + 88 + green { 89 + label = "r7-tv-dongle:green:usr"; 90 + gpios = <&pio 1 2 0>; 91 + default-state = "on"; 92 + }; 93 + }; 94 + 95 + reg_usb1_vbus: usb1-vbus { 96 + pinctrl-0 = <&usb1_vbus_pin_r7>; 97 + gpio = <&pio 6 13 0>; 98 + status = "okay"; 99 + }; 100 + };
+41
arch/arm/boot/dts/sun5i-a10s.dtsi
··· 338 338 #size-cells = <0>; 339 339 }; 340 340 341 + mmc0: mmc@01c0f000 { 342 + compatible = "allwinner,sun5i-a13-mmc"; 343 + reg = <0x01c0f000 0x1000>; 344 + clocks = <&ahb_gates 8>, <&mmc0_clk>; 345 + clock-names = "ahb", "mmc"; 346 + interrupts = <32>; 347 + status = "disabled"; 348 + }; 349 + 350 + mmc1: mmc@01c10000 { 351 + compatible = "allwinner,sun5i-a13-mmc"; 352 + reg = <0x01c10000 0x1000>; 353 + clocks = <&ahb_gates 9>, <&mmc1_clk>; 354 + clock-names = "ahb", "mmc"; 355 + interrupts = <33>; 356 + status = "disabled"; 357 + }; 358 + 359 + mmc2: mmc@01c11000 { 360 + compatible = "allwinner,sun5i-a13-mmc"; 361 + reg = <0x01c11000 0x1000>; 362 + clocks = <&ahb_gates 10>, <&mmc2_clk>; 363 + clock-names = "ahb", "mmc"; 364 + interrupts = <34>; 365 + status = "disabled"; 366 + }; 367 + 341 368 usbphy: phy@01c13400 { 342 369 #phy-cells = <1>; 343 370 compatible = "allwinner,sun5i-a13-usb-phy"; ··· 476 449 allwinner,pins = "PB17", "PB18"; 477 450 allwinner,function = "i2c2"; 478 451 allwinner,drive = <0>; 452 + allwinner,pull = <0>; 453 + }; 454 + 455 + mmc0_pins_a: mmc0@0 { 456 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; 457 + allwinner,function = "mmc0"; 458 + allwinner,drive = <2>; 459 + allwinner,pull = <0>; 460 + }; 461 + 462 + mmc1_pins_a: mmc1@0 { 463 + allwinner,pins = "PG3","PG4","PG5","PG6","PG7","PG8"; 464 + allwinner,function = "mmc1"; 465 + allwinner,drive = <2>; 479 466 allwinner,pull = <0>; 480 467 }; 481 468 };
+17
arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
··· 21 21 compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; 22 22 23 23 soc@01c00000 { 24 + mmc0: mmc@01c0f000 { 25 + pinctrl-names = "default"; 26 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>; 27 + vmmc-supply = <&reg_vcc3v3>; 28 + bus-width = <4>; 29 + cd-gpios = <&pio 6 0 0>; /* PG0 */ 30 + cd-inverted; 31 + status = "okay"; 32 + }; 33 + 24 34 usbphy: phy@01c13400 { 25 35 usb1_vbus-supply = <&reg_usb1_vbus>; 26 36 status = "okay"; ··· 45 35 }; 46 36 47 37 pinctrl@01c20800 { 38 + mmc0_cd_pin_olinuxinom: mmc0_cd_pin@0 { 39 + allwinner,pins = "PG0"; 40 + allwinner,function = "gpio_in"; 41 + allwinner,drive = <0>; 42 + allwinner,pull = <1>; 43 + }; 44 + 48 45 led_pins_olinuxinom: led_pins@0 { 49 46 allwinner,pins = "PG9"; 50 47 allwinner,function = "gpio_out";
+17
arch/arm/boot/dts/sun5i-a13-olinuxino.dts
··· 20 20 compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; 21 21 22 22 soc@01c00000 { 23 + mmc0: mmc@01c0f000 { 24 + pinctrl-names = "default"; 25 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>; 26 + vmmc-supply = <&reg_vcc3v3>; 27 + bus-width = <4>; 28 + cd-gpios = <&pio 6 0 0>; /* PG0 */ 29 + cd-inverted; 30 + status = "okay"; 31 + }; 32 + 23 33 usbphy: phy@01c13400 { 24 34 usb1_vbus-supply = <&reg_usb1_vbus>; 25 35 status = "okay"; ··· 44 34 }; 45 35 46 36 pinctrl@01c20800 { 37 + mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 { 38 + allwinner,pins = "PG0"; 39 + allwinner,function = "gpio_in"; 40 + allwinner,drive = <0>; 41 + allwinner,pull = <1>; 42 + }; 43 + 47 44 led_pins_olinuxino: led_pins@0 { 48 45 allwinner,pins = "PG9"; 49 46 allwinner,function = "gpio_out";
+31
arch/arm/boot/dts/sun5i-a13.dtsi
··· 320 320 #size-cells = <0>; 321 321 }; 322 322 323 + mmc0: mmc@01c0f000 { 324 + compatible = "allwinner,sun5i-a13-mmc"; 325 + reg = <0x01c0f000 0x1000>; 326 + clocks = <&ahb_gates 8>, <&mmc0_clk>; 327 + clock-names = "ahb", "mmc"; 328 + interrupts = <32>; 329 + status = "disabled"; 330 + }; 331 + 332 + mmc2: mmc@01c11000 { 333 + compatible = "allwinner,sun5i-a13-mmc"; 334 + reg = <0x01c11000 0x1000>; 335 + clocks = <&ahb_gates 10>, <&mmc2_clk>; 336 + clock-names = "ahb", "mmc"; 337 + interrupts = <34>; 338 + status = "disabled"; 339 + }; 340 + 323 341 usbphy: phy@01c13400 { 324 342 #phy-cells = <1>; 325 343 compatible = "allwinner,sun5i-a13-usb-phy"; ··· 433 415 allwinner,drive = <0>; 434 416 allwinner,pull = <0>; 435 417 }; 418 + 419 + mmc0_pins_a: mmc0@0 { 420 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; 421 + allwinner,function = "mmc0"; 422 + allwinner,drive = <2>; 423 + allwinner,pull = <0>; 424 + }; 436 425 }; 437 426 438 427 timer@01c20c00 { ··· 492 467 clocks = <&apb1_gates 0>; 493 468 clock-frequency = <100000>; 494 469 status = "disabled"; 470 + #address-cells = <1>; 471 + #size-cells = <0>; 495 472 }; 496 473 497 474 i2c1: i2c@01c2b000 { ··· 503 476 clocks = <&apb1_gates 1>; 504 477 clock-frequency = <100000>; 505 478 status = "disabled"; 479 + #address-cells = <1>; 480 + #size-cells = <0>; 506 481 }; 507 482 508 483 i2c2: i2c@01c2b400 { ··· 514 485 clocks = <&apb1_gates 2>; 515 486 clock-frequency = <100000>; 516 487 status = "disabled"; 488 + #address-cells = <1>; 489 + #size-cells = <0>; 517 490 }; 518 491 519 492 timer@01c60000 {
+57
arch/arm/boot/dts/sun6i-a31-app4-evb1.dts
··· 1 + /* 2 + * Copyright 2014 Boris Brezillon 3 + * 4 + * Boris Brezillon <boris.brezillon@free-electrons.com> 5 + * 6 + * The code contained herein is licensed under the GNU General Public 7 + * License. You may obtain a copy of the GNU General Public License 8 + * Version 2 or later at the following locations: 9 + * 10 + * http://www.opensource.org/licenses/gpl-license.html 11 + * http://www.gnu.org/copyleft/gpl.html 12 + */ 13 + 14 + /dts-v1/; 15 + /include/ "sun6i-a31.dtsi" 16 + /include/ "sunxi-common-regulators.dtsi" 17 + 18 + / { 19 + model = "Allwinner A31 APP4 EVB1 Evaluation Board"; 20 + compatible = "allwinner,app4-evb1", "allwinner,sun6i-a31"; 21 + 22 + chosen { 23 + bootargs = "earlyprintk console=ttyS0,115200"; 24 + }; 25 + 26 + soc@01c00000 { 27 + pio: pinctrl@01c20800 { 28 + usb1_vbus_pin_a: usb1_vbus_pin@0 { 29 + allwinner,pins = "PH27"; 30 + allwinner,function = "gpio_out"; 31 + allwinner,drive = <0>; 32 + allwinner,pull = <0>; 33 + }; 34 + }; 35 + 36 + usbphy: phy@01c19400 { 37 + usb1_vbus-supply = <&reg_usb1_vbus>; 38 + status = "okay"; 39 + }; 40 + 41 + ehci0: usb@01c1a000 { 42 + status = "okay"; 43 + }; 44 + 45 + uart0: serial@01c28000 { 46 + pinctrl-names = "default"; 47 + pinctrl-0 = <&uart0_pins_a>; 48 + status = "okay"; 49 + }; 50 + }; 51 + 52 + reg_usb1_vbus: usb1-vbus { 53 + pinctrl-0 = <&usb1_vbus_pin_a>; 54 + gpio = <&pio 7 27 0>; 55 + status = "okay"; 56 + }; 57 + };
+50
arch/arm/boot/dts/sun6i-a31-m9.dts
··· 1 + /* 2 + * Copyright 2014 Hans de Goede <hdegoede@redhat.com> 3 + * 4 + * The code contained herein is licensed under the GNU General Public 5 + * License. You may obtain a copy of the GNU General Public License 6 + * Version 2 or later at the following locations: 7 + * 8 + * http://www.opensource.org/licenses/gpl-license.html 9 + * http://www.gnu.org/copyleft/gpl.html 10 + */ 11 + 12 + /dts-v1/; 13 + /include/ "sun6i-a31.dtsi" 14 + /include/ "sunxi-common-regulators.dtsi" 15 + 16 + / { 17 + model = "Mele M9 / A1000G Quad top set box"; 18 + compatible = "mele,m9", "allwinner,sun6i-a31"; 19 + 20 + chosen { 21 + bootargs = "earlyprintk console=ttyS0,115200"; 22 + }; 23 + 24 + soc@01c00000 { 25 + mmc0: mmc@01c0f000 { 26 + pinctrl-names = "default"; 27 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>; 28 + vmmc-supply = <&reg_vcc3v3>; 29 + bus-width = <4>; 30 + cd-gpios = <&pio 7 22 0>; /* PH22 */ 31 + cd-inverted; 32 + status = "okay"; 33 + }; 34 + 35 + pio: pinctrl@01c20800 { 36 + mmc0_cd_pin_m9: mmc0_cd_pin@0 { 37 + allwinner,pins = "PH22"; 38 + allwinner,function = "gpio_in"; 39 + allwinner,drive = <0>; 40 + allwinner,pull = <1>; 41 + }; 42 + }; 43 + 44 + uart0: serial@01c28000 { 45 + pinctrl-names = "default"; 46 + pinctrl-0 = <&uart0_pins_a>; 47 + status = "okay"; 48 + }; 49 + }; 50 + };
+269 -9
arch/arm/boot/dts/sun6i-a31.dtsi
··· 59 59 reg = <0x40000000 0x80000000>; 60 60 }; 61 61 62 + pmu { 63 + compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; 64 + interrupts = <0 120 4>, 65 + <0 121 4>, 66 + <0 122 4>, 67 + <0 123 4>; 68 + }; 69 + 62 70 clocks { 63 71 #address-cells = <1>; 64 72 #size-cells = <1>; ··· 206 198 "apb2_uart4", "apb2_uart5"; 207 199 }; 208 200 201 + mmc0_clk: clk@01c20088 { 202 + #clock-cells = <0>; 203 + compatible = "allwinner,sun4i-a10-mod0-clk"; 204 + reg = <0x01c20088 0x4>; 205 + clocks = <&osc24M>, <&pll6>; 206 + clock-output-names = "mmc0"; 207 + }; 208 + 209 + mmc1_clk: clk@01c2008c { 210 + #clock-cells = <0>; 211 + compatible = "allwinner,sun4i-a10-mod0-clk"; 212 + reg = <0x01c2008c 0x4>; 213 + clocks = <&osc24M>, <&pll6>; 214 + clock-output-names = "mmc1"; 215 + }; 216 + 217 + mmc2_clk: clk@01c20090 { 218 + #clock-cells = <0>; 219 + compatible = "allwinner,sun4i-a10-mod0-clk"; 220 + reg = <0x01c20090 0x4>; 221 + clocks = <&osc24M>, <&pll6>; 222 + clock-output-names = "mmc2"; 223 + }; 224 + 225 + mmc3_clk: clk@01c20094 { 226 + #clock-cells = <0>; 227 + compatible = "allwinner,sun4i-a10-mod0-clk"; 228 + reg = <0x01c20094 0x4>; 229 + clocks = <&osc24M>, <&pll6>; 230 + clock-output-names = "mmc3"; 231 + }; 232 + 209 233 spi0_clk: clk@01c200a0 { 210 234 #clock-cells = <0>; 211 235 compatible = "allwinner,sun4i-a10-mod0-clk"; ··· 269 229 clocks = <&osc24M>, <&pll6>; 270 230 clock-output-names = "spi3"; 271 231 }; 232 + 233 + usb_clk: clk@01c200cc { 234 + #clock-cells = <1>; 235 + #reset-cells = <1>; 236 + compatible = "allwinner,sun6i-a31-usb-clk"; 237 + reg = <0x01c200cc 0x4>; 238 + clocks = <&osc24M>; 239 + clock-output-names = "usb_phy0", "usb_phy1", "usb_phy2", 240 + "usb_ohci0", "usb_ohci1", 241 + "usb_ohci2"; 242 + }; 272 243 }; 273 244 274 245 soc@01c00000 { ··· 288 237 #size-cells = <1>; 289 238 ranges; 290 239 291 - nmi_intc: interrupt-controller@01f00c0c { 292 - compatible = "allwinner,sun6i-a31-sc-nmi"; 293 - interrupt-controller; 294 - #interrupt-cells = <2>; 295 - reg = <0x01f00c0c 0x38>; 296 - interrupts = <0 32 4>; 240 + dma: dma-controller@01c02000 { 241 + compatible = "allwinner,sun6i-a31-dma"; 242 + reg = <0x01c02000 0x1000>; 243 + interrupts = <0 50 4>; 244 + clocks = <&ahb1_gates 6>; 245 + resets = <&ahb1_rst 6>; 246 + #dma-cells = <1>; 247 + }; 248 + 249 + mmc0: mmc@01c0f000 { 250 + compatible = "allwinner,sun5i-a13-mmc"; 251 + reg = <0x01c0f000 0x1000>; 252 + clocks = <&ahb1_gates 8>, <&mmc0_clk>; 253 + clock-names = "ahb", "mmc"; 254 + resets = <&ahb1_rst 8>; 255 + reset-names = "ahb"; 256 + interrupts = <0 60 4>; 257 + status = "disabled"; 258 + }; 259 + 260 + mmc1: mmc@01c10000 { 261 + compatible = "allwinner,sun5i-a13-mmc"; 262 + reg = <0x01c10000 0x1000>; 263 + clocks = <&ahb1_gates 9>, <&mmc1_clk>; 264 + clock-names = "ahb", "mmc"; 265 + resets = <&ahb1_rst 9>; 266 + reset-names = "ahb"; 267 + interrupts = <0 61 4>; 268 + status = "disabled"; 269 + }; 270 + 271 + mmc2: mmc@01c11000 { 272 + compatible = "allwinner,sun5i-a13-mmc"; 273 + reg = <0x01c11000 0x1000>; 274 + clocks = <&ahb1_gates 10>, <&mmc2_clk>; 275 + clock-names = "ahb", "mmc"; 276 + resets = <&ahb1_rst 10>; 277 + reset-names = "ahb"; 278 + interrupts = <0 62 4>; 279 + status = "disabled"; 280 + }; 281 + 282 + mmc3: mmc@01c12000 { 283 + compatible = "allwinner,sun5i-a13-mmc"; 284 + reg = <0x01c12000 0x1000>; 285 + clocks = <&ahb1_gates 11>, <&mmc3_clk>; 286 + clock-names = "ahb", "mmc"; 287 + resets = <&ahb1_rst 11>; 288 + reset-names = "ahb"; 289 + interrupts = <0 63 4>; 290 + status = "disabled"; 291 + }; 292 + 293 + usbphy: phy@01c19400 { 294 + compatible = "allwinner,sun6i-a31-usb-phy"; 295 + reg = <0x01c19400 0x10>, 296 + <0x01c1a800 0x4>, 297 + <0x01c1b800 0x4>; 298 + reg-names = "phy_ctrl", 299 + "pmu1", 300 + "pmu2"; 301 + clocks = <&usb_clk 8>, 302 + <&usb_clk 9>, 303 + <&usb_clk 10>; 304 + clock-names = "usb0_phy", 305 + "usb1_phy", 306 + "usb2_phy"; 307 + resets = <&usb_clk 0>, 308 + <&usb_clk 1>, 309 + <&usb_clk 2>; 310 + reset-names = "usb0_reset", 311 + "usb1_reset", 312 + "usb2_reset"; 313 + status = "disabled"; 314 + #phy-cells = <1>; 315 + }; 316 + 317 + ehci0: usb@01c1a000 { 318 + compatible = "allwinner,sun6i-a31-ehci", "generic-ehci"; 319 + reg = <0x01c1a000 0x100>; 320 + interrupts = <0 72 4>; 321 + clocks = <&ahb1_gates 26>; 322 + resets = <&ahb1_rst 26>; 323 + phys = <&usbphy 1>; 324 + phy-names = "usb"; 325 + status = "disabled"; 326 + }; 327 + 328 + ohci0: usb@01c1a400 { 329 + compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; 330 + reg = <0x01c1a400 0x100>; 331 + interrupts = <0 73 4>; 332 + clocks = <&ahb1_gates 29>, <&usb_clk 16>; 333 + resets = <&ahb1_rst 29>; 334 + phys = <&usbphy 1>; 335 + phy-names = "usb"; 336 + status = "disabled"; 337 + }; 338 + 339 + ehci1: usb@01c1b000 { 340 + compatible = "allwinner,sun6i-a31-ehci", "generic-ehci"; 341 + reg = <0x01c1b000 0x100>; 342 + interrupts = <0 74 4>; 343 + clocks = <&ahb1_gates 27>; 344 + resets = <&ahb1_rst 27>; 345 + phys = <&usbphy 2>; 346 + phy-names = "usb"; 347 + status = "disabled"; 348 + }; 349 + 350 + ohci1: usb@01c1b400 { 351 + compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; 352 + reg = <0x01c1b400 0x100>; 353 + interrupts = <0 75 4>; 354 + clocks = <&ahb1_gates 30>, <&usb_clk 17>; 355 + resets = <&ahb1_rst 30>; 356 + phys = <&usbphy 2>; 357 + phy-names = "usb"; 358 + status = "disabled"; 359 + }; 360 + 361 + ohci2: usb@01c1c000 { 362 + compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; 363 + reg = <0x01c1c400 0x100>; 364 + interrupts = <0 77 4>; 365 + clocks = <&ahb1_gates 31>, <&usb_clk 18>; 366 + resets = <&ahb1_rst 31>; 367 + status = "disabled"; 297 368 }; 298 369 299 370 pio: pinctrl@01c20800 { ··· 457 284 allwinner,pins = "PH18", "PH19"; 458 285 allwinner,function = "i2c2"; 459 286 allwinner,drive = <0>; 287 + allwinner,pull = <0>; 288 + }; 289 + 290 + mmc0_pins_a: mmc0@0 { 291 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; 292 + allwinner,function = "mmc0"; 293 + allwinner,drive = <2>; 460 294 allwinner,pull = <0>; 461 295 }; 462 296 }; ··· 510 330 reg-io-width = <4>; 511 331 clocks = <&apb2_gates 16>; 512 332 resets = <&apb2_rst 16>; 333 + dmas = <&dma 6>, <&dma 6>; 334 + dma-names = "rx", "tx"; 513 335 status = "disabled"; 514 336 }; 515 337 ··· 523 341 reg-io-width = <4>; 524 342 clocks = <&apb2_gates 17>; 525 343 resets = <&apb2_rst 17>; 344 + dmas = <&dma 7>, <&dma 7>; 345 + dma-names = "rx", "tx"; 526 346 status = "disabled"; 527 347 }; 528 348 ··· 536 352 reg-io-width = <4>; 537 353 clocks = <&apb2_gates 18>; 538 354 resets = <&apb2_rst 18>; 355 + dmas = <&dma 8>, <&dma 8>; 356 + dma-names = "rx", "tx"; 539 357 status = "disabled"; 540 358 }; 541 359 ··· 549 363 reg-io-width = <4>; 550 364 clocks = <&apb2_gates 19>; 551 365 resets = <&apb2_rst 19>; 366 + dmas = <&dma 9>, <&dma 9>; 367 + dma-names = "rx", "tx"; 552 368 status = "disabled"; 553 369 }; 554 370 ··· 562 374 reg-io-width = <4>; 563 375 clocks = <&apb2_gates 20>; 564 376 resets = <&apb2_rst 20>; 377 + dmas = <&dma 10>, <&dma 10>; 378 + dma-names = "rx", "tx"; 565 379 status = "disabled"; 566 380 }; 567 381 ··· 575 385 reg-io-width = <4>; 576 386 clocks = <&apb2_gates 21>; 577 387 resets = <&apb2_rst 21>; 388 + dmas = <&dma 22>, <&dma 22>; 389 + dma-names = "rx", "tx"; 578 390 status = "disabled"; 579 391 }; 580 392 ··· 626 434 interrupts = <0 65 4>; 627 435 clocks = <&ahb1_gates 20>, <&spi0_clk>; 628 436 clock-names = "ahb", "mod"; 437 + dmas = <&dma 23>, <&dma 23>; 438 + dma-names = "rx", "tx"; 629 439 resets = <&ahb1_rst 20>; 630 440 status = "disabled"; 631 441 }; ··· 638 444 interrupts = <0 66 4>; 639 445 clocks = <&ahb1_gates 21>, <&spi1_clk>; 640 446 clock-names = "ahb", "mod"; 447 + dmas = <&dma 24>, <&dma 24>; 448 + dma-names = "rx", "tx"; 641 449 resets = <&ahb1_rst 21>; 642 450 status = "disabled"; 643 451 }; ··· 650 454 interrupts = <0 67 4>; 651 455 clocks = <&ahb1_gates 22>, <&spi2_clk>; 652 456 clock-names = "ahb", "mod"; 457 + dmas = <&dma 25>, <&dma 25>; 458 + dma-names = "rx", "tx"; 653 459 resets = <&ahb1_rst 22>; 654 460 status = "disabled"; 655 461 }; ··· 662 464 interrupts = <0 68 4>; 663 465 clocks = <&ahb1_gates 23>, <&spi3_clk>; 664 466 clock-names = "ahb", "mod"; 467 + dmas = <&dma 26>, <&dma 26>; 468 + dma-names = "rx", "tx"; 665 469 resets = <&ahb1_rst 23>; 666 470 status = "disabled"; 667 471 }; ··· 679 479 interrupts = <1 9 0xf04>; 680 480 }; 681 481 482 + nmi_intc: interrupt-controller@01f00c0c { 483 + compatible = "allwinner,sun6i-a31-sc-nmi"; 484 + interrupt-controller; 485 + #interrupt-cells = <2>; 486 + reg = <0x01f00c0c 0x38>; 487 + interrupts = <0 32 4>; 488 + }; 489 + 490 + prcm@01f01400 { 491 + compatible = "allwinner,sun6i-a31-prcm"; 492 + reg = <0x01f01400 0x200>; 493 + 494 + ar100: ar100_clk { 495 + compatible = "allwinner,sun6i-a31-ar100-clk"; 496 + #clock-cells = <0>; 497 + clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>; 498 + clock-output-names = "ar100"; 499 + }; 500 + 501 + ahb0: ahb0_clk { 502 + compatible = "fixed-factor-clock"; 503 + #clock-cells = <0>; 504 + clock-div = <1>; 505 + clock-mult = <1>; 506 + clocks = <&ar100>; 507 + clock-output-names = "ahb0"; 508 + }; 509 + 510 + apb0: apb0_clk { 511 + compatible = "allwinner,sun6i-a31-apb0-clk"; 512 + #clock-cells = <0>; 513 + clocks = <&ahb0>; 514 + clock-output-names = "apb0"; 515 + }; 516 + 517 + apb0_gates: apb0_gates_clk { 518 + compatible = "allwinner,sun6i-a31-apb0-gates-clk"; 519 + #clock-cells = <1>; 520 + clocks = <&apb0>; 521 + clock-output-names = "apb0_pio", "apb0_ir", 522 + "apb0_timer", "apb0_p2wi", 523 + "apb0_uart", "apb0_1wire", 524 + "apb0_i2c"; 525 + }; 526 + 527 + apb0_rst: apb0_rst { 528 + compatible = "allwinner,sun6i-a31-clock-reset"; 529 + #reset-cells = <1>; 530 + }; 531 + }; 532 + 682 533 cpucfg@01f01c00 { 683 534 compatible = "allwinner,sun6i-a31-cpuconfig"; 684 535 reg = <0x01f01c00 0x300>; 685 536 }; 686 537 687 - prcm@01f01c00 { 688 - compatible = "allwinner,sun6i-a31-prcm"; 689 - reg = <0x01f01400 0x200>; 538 + r_pio: pinctrl@01f02c00 { 539 + compatible = "allwinner,sun6i-a31-r-pinctrl"; 540 + reg = <0x01f02c00 0x400>; 541 + interrupts = <0 45 4>, 542 + <0 46 4>; 543 + clocks = <&apb0_gates 0>; 544 + resets = <&apb0_rst 0>; 545 + gpio-controller; 546 + interrupt-controller; 547 + #address-cells = <1>; 548 + #size-cells = <0>; 549 + #gpio-cells = <3>; 690 550 }; 691 551 }; 692 552 };
+10
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
··· 20 20 compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; 21 21 22 22 soc@01c00000 { 23 + mmc0: mmc@01c0f000 { 24 + pinctrl-names = "default"; 25 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 26 + vmmc-supply = <&reg_vcc3v3>; 27 + bus-width = <4>; 28 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 29 + cd-inverted; 30 + status = "okay"; 31 + }; 32 + 23 33 usbphy: phy@01c13400 { 24 34 usb1_vbus-supply = <&reg_usb1_vbus>; 25 35 usb2_vbus-supply = <&reg_usb2_vbus>;
+47
arch/arm/boot/dts/sun7i-a20-cubietruck.dts
··· 20 20 compatible = "cubietech,cubietruck", "allwinner,sun7i-a20"; 21 21 22 22 soc@01c00000 { 23 + mmc0: mmc@01c0f000 { 24 + pinctrl-names = "default"; 25 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 26 + vmmc-supply = <&reg_vcc3v3>; 27 + bus-width = <4>; 28 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 29 + cd-inverted; 30 + status = "okay"; 31 + }; 32 + 33 + mmc3: mmc@01c12000 { 34 + pinctrl-names = "default"; 35 + pinctrl-0 = <&mmc3_pins_a>; 36 + vmmc-supply = <&reg_vmmc3>; 37 + non-removable; 38 + status = "okay"; 39 + }; 40 + 23 41 usbphy: phy@01c13400 { 24 42 usb1_vbus-supply = <&reg_usb1_vbus>; 25 43 usb2_vbus-supply = <&reg_usb2_vbus>; ··· 66 48 }; 67 49 68 50 pinctrl@01c20800 { 51 + mmc3_pins_a: mmc3@0 { 52 + /* AP6210 requires pull-up */ 53 + allwinner,pull = <1>; 54 + }; 55 + 56 + vmmc3_pin_cubietruck: vmmc3_pin@0 { 57 + allwinner,pins = "PH9"; 58 + allwinner,function = "gpio_out"; 59 + allwinner,drive = <0>; 60 + allwinner,pull = <0>; 61 + }; 62 + 69 63 ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 { 70 64 allwinner,pins = "PH12"; 71 65 allwinner,function = "gpio_out"; ··· 91 61 allwinner,drive = <0>; 92 62 allwinner,pull = <0>; 93 63 }; 64 + }; 65 + 66 + pwm: pwm@01c20e00 { 67 + pinctrl-names = "default"; 68 + pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>; 69 + status = "okay"; 94 70 }; 95 71 96 72 uart0: serial@01c28000 { ··· 174 138 175 139 reg_usb2_vbus: usb2-vbus { 176 140 status = "okay"; 141 + }; 142 + 143 + reg_vmmc3: vmmc3 { 144 + compatible = "regulator-fixed"; 145 + pinctrl-names = "default"; 146 + pinctrl-0 = <&vmmc3_pin_cubietruck>; 147 + regulator-name = "vmmc3"; 148 + regulator-min-microvolt = <3300000>; 149 + regulator-max-microvolt = <3300000>; 150 + enable-active-high; 151 + gpio = <&pio 7 9 0>; 177 152 }; 178 153 };
+27
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
··· 31 31 status = "okay"; 32 32 }; 33 33 34 + mmc0: mmc@01c0f000 { 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 37 + vmmc-supply = <&reg_vcc3v3>; 38 + bus-width = <4>; 39 + cd-gpios = <&pio 7 1 0>; /* PH1 */ 40 + cd-inverted; 41 + status = "okay"; 42 + }; 43 + 44 + mmc3: mmc@01c12000 { 45 + pinctrl-names = "default"; 46 + pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>; 47 + vmmc-supply = <&reg_vcc3v3>; 48 + bus-width = <4>; 49 + cd-gpios = <&pio 7 11 0>; /* PH11 */ 50 + cd-inverted; 51 + status = "okay"; 52 + }; 53 + 34 54 usbphy: phy@01c13400 { 35 55 usb1_vbus-supply = <&reg_usb1_vbus>; 36 56 usb2_vbus-supply = <&reg_usb2_vbus>; ··· 85 65 }; 86 66 87 67 pinctrl@01c20800 { 68 + mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 { 69 + allwinner,pins = "PH11"; 70 + allwinner,function = "gpio_in"; 71 + allwinner,drive = <0>; 72 + allwinner,pull = <1>; 73 + }; 74 + 88 75 led_pins_olinuxino: led_pins@0 { 89 76 allwinner,pins = "PH2"; 90 77 allwinner,function = "gpio_out";
+95
arch/arm/boot/dts/sun7i-a20.dtsi
··· 57 57 <1 10 0xf08>; 58 58 }; 59 59 60 + pmu { 61 + compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; 62 + interrupts = <0 120 4>, 63 + <0 121 4>; 64 + }; 65 + 60 66 clocks { 61 67 #address-cells = <1>; 62 68 #size-cells = <1>; ··· 453 447 #size-cells = <0>; 454 448 }; 455 449 450 + mmc0: mmc@01c0f000 { 451 + compatible = "allwinner,sun5i-a13-mmc"; 452 + reg = <0x01c0f000 0x1000>; 453 + clocks = <&ahb_gates 8>, <&mmc0_clk>; 454 + clock-names = "ahb", "mmc"; 455 + interrupts = <0 32 4>; 456 + status = "disabled"; 457 + }; 458 + 459 + mmc1: mmc@01c10000 { 460 + compatible = "allwinner,sun5i-a13-mmc"; 461 + reg = <0x01c10000 0x1000>; 462 + clocks = <&ahb_gates 9>, <&mmc1_clk>; 463 + clock-names = "ahb", "mmc"; 464 + interrupts = <0 33 4>; 465 + status = "disabled"; 466 + }; 467 + 468 + mmc2: mmc@01c11000 { 469 + compatible = "allwinner,sun5i-a13-mmc"; 470 + reg = <0x01c11000 0x1000>; 471 + clocks = <&ahb_gates 10>, <&mmc2_clk>; 472 + clock-names = "ahb", "mmc"; 473 + interrupts = <0 34 4>; 474 + status = "disabled"; 475 + }; 476 + 477 + mmc3: mmc@01c12000 { 478 + compatible = "allwinner,sun5i-a13-mmc"; 479 + reg = <0x01c12000 0x1000>; 480 + clocks = <&ahb_gates 11>, <&mmc3_clk>; 481 + clock-names = "ahb", "mmc"; 482 + interrupts = <0 35 4>; 483 + status = "disabled"; 484 + }; 485 + 456 486 usbphy: phy@01c13400 { 457 487 #phy-cells = <1>; 458 488 compatible = "allwinner,sun7i-a20-usb-phy"; ··· 581 539 #address-cells = <1>; 582 540 #size-cells = <0>; 583 541 #gpio-cells = <3>; 542 + 543 + pwm0_pins_a: pwm0@0 { 544 + allwinner,pins = "PB2"; 545 + allwinner,function = "pwm"; 546 + allwinner,drive = <0>; 547 + allwinner,pull = <0>; 548 + }; 549 + 550 + pwm1_pins_a: pwm1@0 { 551 + allwinner,pins = "PI3"; 552 + allwinner,function = "pwm"; 553 + allwinner,drive = <0>; 554 + allwinner,pull = <0>; 555 + }; 584 556 585 557 uart0_pins_a: uart0@0 { 586 558 allwinner,pins = "PB22", "PB23"; ··· 709 653 allwinner,drive = <0>; 710 654 allwinner,pull = <0>; 711 655 }; 656 + 657 + mmc0_pins_a: mmc0@0 { 658 + allwinner,pins = "PF0","PF1","PF2","PF3","PF4","PF5"; 659 + allwinner,function = "mmc0"; 660 + allwinner,drive = <2>; 661 + allwinner,pull = <0>; 662 + }; 663 + 664 + mmc0_cd_pin_reference_design: mmc0_cd_pin@0 { 665 + allwinner,pins = "PH1"; 666 + allwinner,function = "gpio_in"; 667 + allwinner,drive = <0>; 668 + allwinner,pull = <1>; 669 + }; 670 + 671 + mmc3_pins_a: mmc3@0 { 672 + allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9"; 673 + allwinner,function = "mmc3"; 674 + allwinner,drive = <2>; 675 + allwinner,pull = <0>; 676 + }; 712 677 }; 713 678 714 679 timer@01c20c00 { ··· 753 676 compatible = "allwinner,sun7i-a20-rtc"; 754 677 reg = <0x01c20d00 0x20>; 755 678 interrupts = <0 24 4>; 679 + }; 680 + 681 + pwm: pwm@01c20e00 { 682 + compatible = "allwinner,sun7i-a20-pwm"; 683 + reg = <0x01c20e00 0xc>; 684 + clocks = <&osc24M>; 685 + #pwm-cells = <3>; 686 + status = "disabled"; 756 687 }; 757 688 758 689 sid: eeprom@01c23800 { ··· 861 776 clocks = <&apb1_gates 0>; 862 777 clock-frequency = <100000>; 863 778 status = "disabled"; 779 + #address-cells = <1>; 780 + #size-cells = <0>; 864 781 }; 865 782 866 783 i2c1: i2c@01c2b000 { ··· 872 785 clocks = <&apb1_gates 1>; 873 786 clock-frequency = <100000>; 874 787 status = "disabled"; 788 + #address-cells = <1>; 789 + #size-cells = <0>; 875 790 }; 876 791 877 792 i2c2: i2c@01c2b400 { ··· 883 794 clocks = <&apb1_gates 2>; 884 795 clock-frequency = <100000>; 885 796 status = "disabled"; 797 + #address-cells = <1>; 798 + #size-cells = <0>; 886 799 }; 887 800 888 801 i2c3: i2c@01c2b800 { ··· 894 803 clocks = <&apb1_gates 3>; 895 804 clock-frequency = <100000>; 896 805 status = "disabled"; 806 + #address-cells = <1>; 807 + #size-cells = <0>; 897 808 }; 898 809 899 810 i2c4: i2c@01c2bc00 { ··· 905 812 clocks = <&apb1_gates 15>; 906 813 clock-frequency = <100000>; 907 814 status = "disabled"; 815 + #address-cells = <1>; 816 + #size-cells = <0>; 908 817 }; 909 818 910 819 gmac: ethernet@01c50000 {
+7
arch/arm/boot/dts/sunxi-common-regulators.dtsi
··· 72 72 gpio = <&pio 7 3 0>; 73 73 status = "disabled"; 74 74 }; 75 + 76 + reg_vcc3v3: vcc3v3 { 77 + compatible = "regulator-fixed"; 78 + regulator-name = "vcc3v3"; 79 + regulator-min-microvolt = <3300000>; 80 + regulator-max-microvolt = <3300000>; 81 + }; 75 82 };