Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[cascardo/linux.git] / arch / arm / boot / dts / sun9i-a80-optimus.dts
index 11ec710..a3fed2b 100644 (file)
  */
 
 /dts-v1/;
-/include/ "sun9i-a80.dtsi"
+#include "sun9i-a80.dtsi"
+#include "sunxi-common-regulators.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/sun4i-a10.h>
 
 / {
        model = "Merrii A80 Optimus Board";
                bootargs = "earlyprintk console=ttyS0,115200";
        };
 
-       soc {
-               pio: pinctrl@06000800 {
-                       i2c3_pins_a: i2c3@0 {
-                               /* Enable internal pull-up */
-                               allwinner,pull = <1>;
-                       };
-
-                       led_pins_optimus: led-pins@0 {
-                               allwinner,pins = "PH0", "PH1";
-                               allwinner,function = "gpio_out";
-                               allwinner,drive = <0>;
-                               allwinner,pull = <0>;
-                       };
-
-                       uart4_pins_a: uart4@0 {
-                               /* Enable internal pull-up */
-                               allwinner,pull = <1>;
-                       };
-               };
-
-               uart0: serial@07000000 {
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&uart0_pins_a>;
-                       status = "okay";
-               };
-
-               uart4: serial@07001000 {
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&uart4_pins_a>;
-                       status = "okay";
-               };
-
-               i2c3: i2c@07003400 {
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&i2c3_pins_a>;
-                       status = "okay";
-               };
-       };
-
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
 
                led2 {
                        label = "optimus:led2:usr";
-                       gpios = <&pio 7 1 0>;
+                       gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
                };
 
                /* led3 is on PM15, in R_PIO */
 
                led4 {
                        label = "optimus:led4:usr";
-                       gpios = <&pio 7 0 0>;
+                       gpios = <&pio 7 0 GPIO_ACTIVE_HIGH>;
                };
        };
 };
+
+&i2c3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c3_pins_a>;
+       status = "okay";
+};
+
+&i2c3_pins_a {
+       /* Enable internal pull-up */
+       allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+};
+
+&pio {
+       led_pins_optimus: led-pins@0 {
+               allwinner,pins = "PH0", "PH1";
+               allwinner,function = "gpio_out";
+               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+       };
+
+       mmc0_cd_pin_optimus: mmc0_cd_pin@0 {
+               allwinner,pins = "PH18";
+               allwinner,function = "gpio_in";
+               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+               allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+       };
+};
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_optimus>;
+       vmmc-supply = <&reg_vcc3v0>;
+       bus-width = <4>;
+       cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;
+       vmmc-supply = <&reg_vcc3v0>;
+       bus-width = <8>;
+       non-removable;
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins_a>;
+       status = "okay";
+};
+
+&uart4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart4_pins_a>;
+       status = "okay";
+};
+
+&uart4_pins_a {
+       /* Enable internal pull-up */
+       allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+};