Skip to content

Commit

Permalink
Merge tag 'sunxi-dt-for-3.16-2' of https://github.com/mripard/linux i…
Browse files Browse the repository at this point in the history
…nto 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: Arnd Bergmann <arnd@arndb.de>

Conflicts:
	arch/arm/boot/dts/Makefile
  • Loading branch information
arndb committed May 23, 2014
2 parents 40b0f13 + c690d80 commit cce9e45
Show file tree
Hide file tree
Showing 6 changed files with 241 additions and 5 deletions.
12 changes: 8 additions & 4 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
47 changes: 47 additions & 0 deletions arch/arm/boot/dts/sun6i-a31-colombus.dts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

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

/ {
model = "WITS A31 Colombus Evaluation Board";
Expand All @@ -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>;
Expand All @@ -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";
};
};
3 changes: 2 additions & 1 deletion arch/arm/boot/dts/sun6i-a31.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@


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

Expand Down Expand Up @@ -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>;
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/sun7i-a20-cubietruck.dts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins_a>;
vmmc-supply = <&reg_vmmc3>;
bus-width = <4>;
non-removable;
status = "okay";
};
Expand Down
176 changes: 176 additions & 0 deletions arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
Original file line number Diff line number Diff line change
@@ -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>;
};
};
7 changes: 7 additions & 0 deletions arch/arm/boot/dts/sunxi-common-regulators.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,13 @@
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";
Expand Down

0 comments on commit cce9e45

Please sign in to comment.