]> git.ipfire.org Git - people/arne_f/kernel.git/blobdiff - arch/arm/boot/dts/sun7i-a20-cubietruck.dts
sun7i: dts: add bananapro.
[people/arne_f/kernel.git] / arch / arm / boot / dts / sun7i-a20-cubietruck.dts
index f9dcb61a5305b08b8ef1c50352401bc2e9ba9487..7863bf3437b52fb881dbc209581571c37ff5f95b 100644 (file)
 
 /dts-v1/;
 /include/ "sun7i-a20.dtsi"
+/include/ "sunxi-common-regulators.dtsi"
 
 / {
        model = "Cubietech Cubietruck";
        compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
 
        soc@01c00000 {
+               mmc0: mmc@01c0f000 {
+                       pinctrl-names = "default", "default";
+                       pinctrl-0 = <&mmc0_pins_a>;
+                       pinctrl-1 = <&mmc0_cd_pin_reference_design>;
+                       cd-gpios = <&pio 7 1 0>; /* PH1 */
+                       status = "okay";
+               };
+
+               mmc3: mmc@01c12000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc3_pins_a>;
+                       vmmc-supply = <&reg_vmmc3>;
+                       bus_width = <4>;
+                       non-removable;
+                       status = "okay";
+
+                       brcmf: bcrmf@1 {
+                               reg = <1>;
+                               compatible = "broadcom,bcm4329-fmac";
+                               interrupt-parent = <&pio>;
+                               interrupts = <10 8>; /* PH10/EINT10 */
+                               interrupt-names= "host-wake";
+                               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";
+               };
+
+               ahci: sata@01c18000 {
+                       target-supply = <&reg_ahci_5v>;
+                       status = "okay";
+               };
+
+               ehci1: usb@01c1c000 {
+                       status = "okay";
+               };
+
+               ohci1: usb@01c1c400 {
+                       status = "okay";
+               };
+
                pinctrl@01c20800 {
+                       mmc3_pins_a: mmc3@0 {
+                               /* AP6210 requires pull-up */
+                               allwinner,pull = <1>;
+                       };
+
+                       vmmc3_pin_cubietruck: vmmc3_pin@0 {
+                               allwinner,pins = "PH9";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
+                               allwinner,pins = "PH12";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
                        led_pins_cubietruck: led_pins@0 {
                                allwinner,pins = "PH7", "PH11", "PH20", "PH21";
                                allwinner,function = "gpio_out";
                                allwinner,drive = <0>;
                                allwinner,pull = <0>;
                        };
+
+                       usb1_vbus_pin: usb1_vbus_pin@0 {
+                                       allwinner,pins = "PH6";
+                                       allwinner,function = "gpio_out";
+                                       allwinner,drive = <0>;
+                                       allwinner,pull = <2>;
+                       };
+
+                       usb2_vbus_pin: usb2_vbus_pin@0 {
+                                       allwinner,pins = "PH3";
+                                       allwinner,function = "gpio_out";
+                                       allwinner,drive = <0>;
+                                       allwinner,pull = <2>;
+                       };
+
+                       wifi_host_wake_pin: wifi_host_wake_pin@0 {
+                               allwinner,pins = "PH10";
+                               allwinner,function = "gpio_in";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       bt_pwr_pin: bt_pwr_pin@0 {
+                               allwinner,pins = "PH18";
+                               allwinner,function = "gpio_out";
+                               allwinner,drive = <0>;
+                               allwinner,pull = <0>;
+                       };
+
+                       bt_wake_pin: bt_wake_pin@0 {
+                               allwinner,pins = "PH24";
+                               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";
+
+                       axp: axp20x@34 {
+                               reg = <0x34>;
+                               interrupt-parent = <&nmi_intc>;
+                               interrupts = <0 8>;
+
+                               axp,system-power-controller;
+
+                               /include/ "x-powers-axp209.dtsi"
+                       };
+               };
+
+               gmac: ethernet@01c50000 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&gmac_pins_rgmii_a>;
+                       phy = <&phy1>;
+                       phy-mode = "rgmii";
+                       status = "okay";
+
+                       phy1: ethernet-phy@1 {
+                               reg = <1>;
+                       };
+               };
+
+               uart2: serial@01c28800 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&uart2_pins_a>;
+                       status = "okay";
                };
 
                i2c0: i2c@01c2ac00 {
                        gpios = <&pio 7 7 0>;
                };
        };
+
+       reg_ahci_5v: ahci-5v {
+               pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
+               gpio = <&pio 7 12 0>;
+               status = "okay";
+       };
+
+       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_cubietruck>;
+               regulator-name = "vmmc3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               enable-active-high;
+               gpio = <&pio 7 9 0>;
+       };
+
+       rfkill-switches {
+               compatible = "simple-bus";
+               pinctrl-names = "default";
+
+               rfkill_bt {
+                       compatible = "rfkill-gpio";
+                       pinctrl-0 = <&bt_pwr_pin>, <&clk_out_a_pins_a>;
+                       rfkill-name = "bt";
+                       rfkill-type = <2>;
+                       bt_shutdown-gpios = <0>, <&pio 7 18 0>; /* PH18 */
+                       bt_reset-gpios = <&pio 7 24 0>; /* PH24 */
+                       clocks = <&clk_out_a>;
+                       clock-frequency = <32768>;
+               };
+       };
 };