Merge branch 'master' of git://git.denx.de/u-boot
[oweals/u-boot.git] / arch / arm / dts / sun5i-reference-design-tablet.dtsi
index 20cc940f5f9151b009014669cdd4ab7b99e90d7c..8acbaab14fe5179a5649d9b39cb35ae1ea143f3c 100644 (file)
@@ -41,6 +41,7 @@
  */
 #include "sunxi-reference-design-tablet.dtsi"
 
+#include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/pwm/pwm.h>
 
 / {
 };
 
 &i2c1 {
+       /*
+        * The gsl1680 is rated at 400KHz and it will not work reliable at
+        * 100KHz, this has been confirmed on multiple different q8 tablets.
+        * All other devices on this bus are also rated for 400KHz.
+        */
+       clock-frequency = <400000>;
+
+       touchscreen: touchscreen {
+               interrupt-parent = <&pio>;
+               interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; /* EINT11 (PG11) */
+               pinctrl-names = "default";
+               pinctrl-0 = <&ts_power_pin>;
+               power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
+               /* Tablet dts must provide reg and compatible */
+               status = "disabled";
+       };
+
        pcf8563: rtc@51 {
                compatible = "nxp,pcf8563";
                reg = <0x51>;
 
 #include "axp209.dtsi"
 
+&ac_power_supply {
+       status = "okay";
+};
+
+&battery_power_supply {
+       status = "okay";
+};
+
 &lradc {
        vref-supply = <&reg_ldo2>;
 };
        pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
        vmmc-supply = <&reg_vcc3v0>;
        bus-width = <4>;
-       cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */
-       cd-inverted;
+       cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
        status = "okay";
 };
 
 
 &pio {
        codec_pa_pin: codec_pa_pin@0 {
-               allwinner,pins = "PG10";
-               allwinner,function = "gpio_out";
-               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+               pins = "PG10";
+               function = "gpio_out";
        };
 
        mmc0_cd_pin: mmc0_cd_pin@0 {
-               allwinner,pins = "PG0";
-               allwinner,function = "gpio_in";
-               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-               allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+               pins = "PG0";
+               function = "gpio_in";
+               bias-pull-up;
+       };
+
+       ts_power_pin: ts_power_pin {
+               pins = "PB3";
+               function = "gpio_out";
+               drive-strength = <10>;
+               bias-disable;
        };
 
        usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
-               allwinner,pins = "PG1";
-               allwinner,function = "gpio_in";
-               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-               allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
+               pins = "PG1";
+               function = "gpio_in";
+               bias-pull-down;
        };
 
        usb0_id_detect_pin: usb0_id_detect_pin@0 {
-               allwinner,pins = "PG2";
-               allwinner,function = "gpio_in";
-               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-               allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+               pins = "PG2";
+               function = "gpio_in";
+               bias-pull-up;
        };
 
        usb0_vbus_pin_a: usb0_vbus_pin@0 {
-               allwinner,pins = "PG12";
-               allwinner,function = "gpio_out";
-               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+               pins = "PG12";
+               function = "gpio_out";
        };
 };