// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2019 BayLibre SAS. All rights reserved.
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/phy/phy.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/gpio/meson-g12a-gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
  compatible = "khadas,vim3", "amlogic,a311d", "amlogic,g12b";
  model = "Khadas VIM3";
  fragment@101 {
        target-path = "/";
        __overlay__ {
                reserved-memory {
                        #address-cells = <2>;
                        #size-cells = <2>;
                        ramoops@d000000 {
                                compatible = "ramoops";
                                reg = <0x0 0x0d000000 0x0 0x00100000>;
                                record-size = <0x8000>;
                                console-size = <0x8000>;
                                ftrace-size = <0x0>;
                                pmsg-size = <0x8000>;
                        };
                };

        };
  };
};

&vcc_5v {
	gpio-open-drain;
};

&uart_C {
        status = "okay";
        pinctrl-0 = <&uart_c_pins>;
        pinctrl-names = "default";
};

&emmc_pwrseq{
	status = "okay";
};

&sd_emmc_a {
     /* WiFi firmware requires power to be kept while in suspend */
    keep-power-in-suspend;
};