Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cce9e45c authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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

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: default avatarArnd Bergmann <arnd@arndb.de>

Conflicts:
	arch/arm/boot/dts/Makefile
parents 40b0f135 c690d80b
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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 \
+47 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@

/dts-v1/;
/include/ "sun6i-a31.dtsi"
/include/ "sunxi-common-regulators.dtsi"

/ {
	model = "WITS A31 Colombus Evaluation Board";
@@ -23,6 +24,45 @@
	};

	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>;
@@ -47,4 +87,11 @@
			status = "okay";
		};
	};

	reg_usb2_vbus: usb2-vbus {
		pinctrl-names = "default";
		pinctrl-0 = <&usb2_vbus_pin_colombus>;
		gpio = <&pio 7 24 0>;
		status = "okay";
	};
};
+2 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@


	cpus {
		enable-method = "allwinner,sun6i-a31";
		#address-cells = <1>;
		#size-cells = <0>;

@@ -409,7 +410,7 @@
			status = "disabled";
		};

		ohci2: usb@01c1c000 {
		ohci2: usb@01c1c400 {
			compatible = "allwinner,sun6i-a31-ohci", "generic-ohci";
			reg = <0x01c1c400 0x100>;
			interrupts = <0 77 4>;
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@
			pinctrl-names = "default";
			pinctrl-0 = <&mmc3_pins_a>;
			vmmc-supply = <&reg_vmmc3>;
			bus-width = <4>;
			non-removable;
			status = "okay";
		};
+176 −0
Original line number Diff line number Diff line
/*
 * 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>;
	};
};
Loading