]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
Merge tag 'sunxi-dt-for-3.16-2' of https://github.com/mripard/linux into for-next
authorArnd Bergmann <arnd@arndb.de>
Fri, 23 May 2014 21:46:50 +0000 (23:46 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 23 May 2014 21:49:59 +0000 (23:49 +0200)
Merge "Allwinner DT changes for 3.16, take 2" from Maxime Ripard:

  - Introduction of a new board, the i12-tvbox
  - Enable the MMC and USB controllers on the Colombus
  - Add the enable-method to the A31 cpus
  - a few fixes

* tag 'sunxi-dt-for-3.16-2' of https://github.com/mripard/linux:
  ARM: dts: sun7i: Add new i12-tvbox board
  ARM: dts: sun7i: cubietruck: set mmc3 bus-width property
  ARM: sun6i: Add MMC0 controller to the Colombus board
  ARM: sun6i: Fix OHCI2 node name
  ARM: sun6i: Enable USB Host support on the Colombus board
  ARM: sunxi: Add fixed 3V regulator
  ARM: sun6i: Define the A31 CPUs enable-method
  ARM: sunxi: dt: build DTs according to new MACH_SUNxI Kconfig symbols

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Conflicts:
arch/arm/boot/dts/Makefile

arch/arm/boot/dts/Makefile
arch/arm/boot/dts/sun6i-a31-colombus.dts
arch/arm/boot/dts/sun6i-a31.dtsi
arch/arm/boot/dts/sun7i-a20-cubietruck.dts
arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts [new file with mode: 0644]
arch/arm/boot/dts/sunxi-common-regulators.dtsi

index e095bd265111e7293b8314020158da40b3fe3142..5f55146a4bad1973c96ceee545147c30faf0e316 100644 (file)
@@ -342,23 +342,27 @@ dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \
        stih416-b2000.dtb \
        stih416-b2020.dtb \
        stih416-b2020-revE.dtb
-dtb-$(CONFIG_ARCH_SUNXI) += \
+dtb-$(CONFIG_MACH_SUN4I) += \
        sun4i-a10-a1000.dtb \
        sun4i-a10-cubieboard.dtb \
        sun4i-a10-mini-xplus.dtb \
        sun4i-a10-hackberry.dtb \
        sun4i-a10-inet97fv2.dtb \
        sun4i-a10-olinuxino-lime.dtb \
-       sun4i-a10-pcduino.dtb \
+       sun4i-a10-pcduino.dtb
+dtb-$(CONFIG_MACH_SUN5I) += \
        sun5i-a10s-olinuxino-micro.dtb \
        sun5i-a10s-r7-tv-dongle.dtb \
        sun5i-a13-olinuxino.dtb \
-       sun5i-a13-olinuxino-micro.dtb \
+       sun5i-a13-olinuxino-micro.dtb
+dtb-$(CONFIG_MACH_SUN6I) += \
        sun6i-a31-app4-evb1.dtb \
        sun6i-a31-colombus.dtb \
-       sun6i-a31-m9.dtb \
+       sun6i-a31-m9.dtb
+dtb-$(CONFIG_MACH_SUN7I) += \
        sun7i-a20-cubieboard2.dtb \
        sun7i-a20-cubietruck.dtb \
+       sun7i-a20-i12-tvbox.dtb \
        sun7i-a20-olinuxino-micro.dtb
 dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
        tegra20-iris-512.dtb \
index 3898a7bce8317906054c3662c182e48dc9b6b9ff..546cf6eff5c796fcaa65da5f2bd58331ef0a59c1 100644 (file)
@@ -13,6 +13,7 @@
 
 /dts-v1/;
 /include/ "sun6i-a31.dtsi"
+/include/ "sunxi-common-regulators.dtsi"
 
 / {
        model = "WITS A31 Colombus Evaluation Board";
        };
 
        soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_colombus>;
+                       vmmc-supply = <&reg_vcc3v0>;
+                       bus-width = <4>;
+                       cd-gpios = <&pio 0 8 0>; /* PA8 */
+                       cd-inverted;
+                       status = "okay";
+               };
+
+               usbphy: phy@01c19400 {
+                       usb2_vbus-supply = <&reg_usb2_vbus>;
+                       status = "okay";
+               };
+
+               ehci1: usb@01c1b000 {
+                       status = "okay";
+               };
+
+               pio: pinctrl@01c20800 {
+                       mmc0_pins_a: mmc0@0 {
+                               allwinner,pull = <1>;
+                       };
+
+                       mmc0_cd_pin_colombus: mmc0_cd_pin@0 {
+                               allwinner,pins = "PA8";
+                               allwinner,function = "gpio_in";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <1>;
+                       };
+
+                       usb2_vbus_pin_colombus: usb2_vbus_pin@0 {
+                               allwinner,pins = "PH24";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+               };
+
                uart0: serial@01c28000 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart0_pins_a>;
                        status = "okay";
                };
        };
+
+       reg_usb2_vbus: usb2-vbus {
+               pinctrl-names = "default";
+               pinctrl-0 = <&usb2_vbus_pin_colombus>;
+               gpio = <&pio 7 24 0>;
+               status = "okay";
+       };
 };
index 2ad880c0821d6edf83f93d5ce580f68332022e63..0f4ea4990d2c28583d119a4a31f41d0a079cb47d 100644 (file)
@@ -27,6 +27,7 @@
 
 
        cpus {
+               enable-method = "allwinner,sun6i-a31";
                #address-cells = <1>;
                #size-cells = <0>;
 
                        status = "disabled";
                };
 
-               ohci2: usb@01c1c000 {
+               ohci2: usb@01c1c400 {
                        compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
                        reg = <0x01c1c400 0x100>;
                        interrupts = <0 77 4>;
index b7e79d0bf4a7e89dd13e25982e57bf8d22b65577..b87fea90148918f308565daf9a2b988c88267bfc 100644 (file)
@@ -34,6 +34,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&mmc3_pins_a>;
                        vmmc-supply = <&reg_vmmc3>;
+                       bus-width = <4>;
                        non-removable;
                        status = "okay";
                };
diff --git a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
new file mode 100644 (file)
index 0000000..b77308e
--- /dev/null
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "sun7i-a20.dtsi"
+/include/ "sunxi-common-regulators.dtsi"
+
+/ {
+       model = "I12 / Q5 / QT840A A20 tvbox";
+       compatible = "allwinner,i12-tvbox", "allwinner,sun7i-a20";
+
+       soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
+                       vmmc-supply = <&reg_vcc3v3>;
+                       bus-width = <4>;
+                       cd-gpios = <&pio 7 1 0>; /* PH1 */
+                       cd-inverted;
+                       status = "okay";
+               };
+
+               mmc3: mmc@01c12000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc3_pins_a>;
+                       vmmc-supply = <&reg_vmmc3>;
+                       bus-width = <4>;
+                       non-removable;
+                       status = "okay";
+               };
+
+               usbphy: phy@01c13400 {
+                       usb1_vbus-supply = <&reg_usb1_vbus>;
+                       usb2_vbus-supply = <&reg_usb2_vbus>;
+                       status = "okay";
+               };
+
+               ehci0: usb@01c14000 {
+                       status = "okay";
+               };
+
+               ohci0: usb@01c14400 {
+                       status = "okay";
+               };
+
+               ehci1: usb@01c1c000 {
+                       status = "okay";
+               };
+
+               ohci1: usb@01c1c400 {
+                       status = "okay";
+               };
+
+               pinctrl@01c20800 {
+                       mmc3_pins_a: mmc3@0 {
+                               /* AP6210 / AP6330 requires pull-up */
+                               allwinner,pull = <1>;
+                       };
+
+                       vmmc3_pin_i12_tvbox: vmmc3_pin@0 {
+                               allwinner,pins = "PH2";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 {
+                               allwinner,pins = "PH12";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       gmac_power_pin_i12_tvbox: gmac_power_pin@0 {
+                               allwinner,pins = "PH21";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       led_pins_i12_tvbox: led_pins@0 {
+                               allwinner,pins = "PH9", "PH20";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+               };
+
+               uart0: serial@01c28000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart0_pins_a>;
+                       status = "okay";
+               };
+
+               gmac: ethernet@01c50000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&gmac_pins_mii_a>;
+                       phy = <&phy1>;
+                       phy-mode = "mii";
+                       phy-supply = <&reg_gmac_3v3>;
+                       status = "okay";
+
+                       phy1: ethernet-phy@1 {
+                               reg = <1>;
+                       };
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&led_pins_i12_tvbox>;
+
+               red {
+                       label = "i12_tvbox:red:usr";
+                       gpios = <&pio 7 9 1>;
+               };
+
+               blue {
+                       label = "i12_tvbox:blue:usr";
+                       gpios = <&pio 7 20 0>;
+               };
+       };
+
+       reg_usb1_vbus: usb1-vbus {
+               status = "okay";
+       };
+
+       reg_usb2_vbus: usb2-vbus {
+               status = "okay";
+       };
+
+       reg_vmmc3: vmmc3 {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&vmmc3_pin_i12_tvbox>;
+               regulator-name = "vmmc3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               enable-active-high;
+               gpio = <&pio 7 2 0>;
+       };
+
+       reg_vmmc3_io: vmmc3-io {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>;
+               regulator-name = "vmmc3-io";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               /* This controls VCC-PI, must be always on! */
+               regulator-always-on;
+               enable-active-high;
+               gpio = <&pio 7 12 0>;
+       };
+
+       reg_gmac_3v3: gmac-3v3 {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&gmac_power_pin_i12_tvbox>;
+               regulator-name = "gmac-3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               startup-delay-us = <50000>;
+               enable-active-high;
+               gpio = <&pio 7 21 0>;
+       };
+};
index 026bd83f078ff6b58f9ffbd76c8b380ab318eafb..3d021efd1a38f6ae4f00087daef44dfd7bb85ec6 100644 (file)
                status = "disabled";
        };
 
+       reg_vcc3v0: vcc3v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v0";
+               regulator-min-microvolt = <3000000>;
+               regulator-max-microvolt = <3000000>;
+       };
+
        reg_vcc3v3: vcc3v3 {
                compatible = "regulator-fixed";
                regulator-name = "vcc3v3";