forked from Minki/linux
ec0c933d97
At a node for the axp209, and where necessary the i2c controller to the dts for various boards. Note the axp209 regulators are omitted as we don't have any use for them yet, and on some boards were not sure how exactly they are wired up. Adding support for just the axp209 without the regulators is still useful, as it will give us power-button and poweroff support. Signed-off-by: Carlo Caione <carlo@caione.org> [hdegoede@redhat.com: Drop the regulator bits for now] Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
193 lines
4.0 KiB
Plaintext
193 lines
4.0 KiB
Plaintext
/*
|
|
* 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 = <®_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 = <®_vmmc3>;
|
|
bus-width = <4>;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|
|
|
|
usbphy: phy@01c13400 {
|
|
usb1_vbus-supply = <®_usb1_vbus>;
|
|
usb2_vbus-supply = <®_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";
|
|
};
|
|
|
|
i2c0: i2c@01c2ac00 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c0_pins_a>;
|
|
status = "okay";
|
|
|
|
axp209: pmic@34 {
|
|
compatible = "x-powers,axp209";
|
|
reg = <0x34>;
|
|
interrupt-parent = <&nmi_intc>;
|
|
interrupts = <0 8>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
};
|
|
};
|
|
|
|
gmac: ethernet@01c50000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gmac_pins_mii_a>;
|
|
phy = <&phy1>;
|
|
phy-mode = "mii";
|
|
phy-supply = <®_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>;
|
|
};
|
|
};
|