ARM: dts: i.MX6QDL: icore-rqs: Fix eMMC detection during SPL
[oweals/u-boot.git] / arch / arm / dts / sun8i-q8-common.dtsi
index 346a49d805a7becd411cda921c7508edb35a3aa8..8e2cc30ec8cd52979db51bddd866bf6d54ee3dde 100644 (file)
  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
-#include "sunxi-q8-common.dtsi"
-
-#include <dt-bindings/pwm/pwm.h>
+#include "sunxi-reference-design-tablet.dtsi"
+#include "sun8i-reference-design-tablet.dtsi"
 
 / {
        aliases {
                serial0 = &r_uart;
+               /* Make u-boot set mac-address for wifi without an eeprom */
+               ethernet0 = &sdio_wifi;
        };
 
-       backlight: backlight {
-               compatible = "pwm-backlight";
-               pinctrl-names = "default";
-               pinctrl-0 = <&bl_en_pin_q8>;
-               pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
-               brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
-               default-brightness-level = <8>;
-               enable-gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
+       q8_hardwaremgr {
+               compatible = "allwinner,sunxi-q8-hardwaremgr";
+               touchscreen-i2c-bus = <&i2c0>;
+               touchscreen-supply = <&reg_ldo_io1>;
+               touchscreen-power-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        };
 
-       chosen {
-               stdout-path = "serial0:115200n8";
+       wifi_pwrseq: wifi_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               /*
+                * Q8 boards use various PL# pins as wifi-en. On other boards
+                * these may be connected to a wifi module output pin. To avoid
+                * short-circuits we configure these as inputs with pull-ups via
+                * pinctrl, instead of listing them as active-low reset-gpios.
+                */
+               pinctrl-names = "default";
+               pinctrl-0 = <&wifi_pwrseq_pin_q8>;
+               /* The esp8089 needs 200 ms after driving wifi-en high */
+               post-power-on-delay-ms = <200>;
        };
 };
 
-&mmc0 {
+&ehci0 {
+       status  = "okay";
+};
+
+&mmc1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_q8>;
-       vmmc-supply = <&reg_dcdc1>;
+       pinctrl-0 = <&mmc1_pins_a>;
+       vmmc-supply = <&reg_dldo1>;
+       mmc-pwrseq = <&wifi_pwrseq>;
        bus-width = <4>;
-       cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
-       cd-inverted;
+       non-removable;
        status = "okay";
-};
 
-&pio {
-       bl_en_pin_q8: bl_en_pin@0 {
-               allwinner,pins = "PH6";
-               allwinner,function = "gpio_in";
-               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+       sdio_wifi: sdio_wifi@1 {
+               reg = <1>;
        };
+};
 
-       mmc0_cd_pin_q8: mmc0_cd_pin@0 {
-               allwinner,pins = "PB4";
+&mmc1_pins_a {
+       allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+};
+
+&r_pio {
+       wifi_pwrseq_pin_q8: wifi_pwrseq_pin@0 {
+               allwinner,pins = "PL6", "PL7", "PL11";
                allwinner,function = "gpio_in";
                allwinner,drive = <SUN4I_PINCTRL_10_MA>;
                allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
        };
 };
 
-&r_rsb {
-       status = "okay";
-
-       axp22x: pmic@3a3 {
-               compatible = "x-powers,axp223";
-               reg = <0x3a3>;
-               interrupt-parent = <&nmi_intc>;
-               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-               eldoin-supply = <&reg_dcdc1>;
-       };
+&usbphy {
+       usb1_vbus-supply = <&reg_dldo1>;
 };
 
-#include "axp22x.dtsi"
-
-&reg_aldo1 {
-       regulator-always-on;
-       regulator-min-microvolt = <3000000>;
-       regulator-max-microvolt = <3000000>;
-       regulator-name = "vcc-io";
-};
-
-&reg_aldo2 {
-       regulator-always-on;
-       regulator-min-microvolt = <2350000>;
-       regulator-max-microvolt = <2650000>;
-       regulator-name = "vdd-dll";
+&gsl1680 {
+       touchscreen-size-x = <1024>;
+       touchscreen-size-y = <600>;
+       touchscreen-fw-name = "silead/gsl1680-q8-700.fw";
+       status = "okay";
 };
 
-&reg_aldo3 {
-       regulator-always-on;
-       regulator-min-microvolt = <2700000>;
+&reg_ldo_io1 {
+       regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
-       regulator-name = "vcc-pll-avcc";
-};
-
-&reg_dc1sw {
-       regulator-name = "vcc-lcd";
-};
-
-&reg_dc5ldo {
-       regulator-always-on;
-       regulator-min-microvolt = <900000>;
-       regulator-max-microvolt = <1400000>;
-       regulator-name = "vdd-cpus";
-};
-
-&reg_dcdc1 {
-       regulator-always-on;
-       regulator-min-microvolt = <3000000>;
-       regulator-max-microvolt = <3000000>;
-       regulator-name = "vcc-3v0";
-};
-
-&reg_dcdc2 {
-       regulator-always-on;
-       regulator-min-microvolt = <900000>;
-       regulator-max-microvolt = <1400000>;
-       regulator-name = "vdd-sys";
-};
-
-&reg_dcdc3 {
-       regulator-always-on;
-       regulator-min-microvolt = <900000>;
-       regulator-max-microvolt = <1400000>;
-       regulator-name = "vdd-cpu";
-};
-
-&reg_dcdc5 {
-       regulator-always-on;
-       regulator-min-microvolt = <1500000>;
-       regulator-max-microvolt = <1500000>;
-       regulator-name = "vcc-dram";
-};
-
-&reg_rtc_ldo {
-       regulator-name = "vcc-rtc";
-};
-
-&r_uart {
-       pinctrl-names = "default";
-       pinctrl-0 = <&r_uart_pins_a>;
+       regulator-name = "vcc-touchscreen";
        status = "okay";
 };
-
-&simplefb_lcd {
-       vcc-lcd-supply = <&reg_dc1sw>;
-};