/* * Copyright 2014 Hans de Goede * * 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>; }; }; ir0: ir@01c21800 { pinctrl-names = "default"; pinctrl-0 = <&ir0_pins_a>; status = "okay"; }; 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>; }; };