// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Dell Wyse 3020 a.k.a. "Ariel" a.k.a. Tx0D (T00D, T10D)
 *
 * Copyright (C) 2019 Lubomir Rintel <lkundrak@v3.sk>
 */

/dts-v1/;
#include "mmp3.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
	model = "Dell Ariel";
	compatible = "dell,wyse-ariel", "marvell,mmp3";

	aliases {
		serial2 = &uart3;
	};

	chosen {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;
		bootargs = "earlyprintk=ttyS2,115200 console=ttyS2,115200";
	};

	memory@0 {
		available = <0x7f700000 0x7ff00000 0x00000000 0x7f600000>;
		reg = <0x0 0x80000000>;
		device_type = "memory";
	};

	ec_input_spi: spi {
		compatible = "spi-gpio";
		#address-cells = <1>;
		#size-cells = <0>;

		num-chipselects = <0>;
		sck-gpios = <&gpio 55 GPIO_ACTIVE_HIGH>;
		miso-gpios = <&gpio 57 GPIO_ACTIVE_HIGH>;
		mosi-gpios = <&gpio 58 GPIO_ACTIVE_HIGH>;
	};
};

&uart3 {
	status = "okay";
};

&rtc {
	status = "okay";
};

&usb_otg0 {
	status = "okay";
};

&usb_otg_phy0 {
	status = "okay";
};

&hsic0 {
	status = "okay";

	usb1@1 {
		compatible = "usb424,2640";
		reg = <0x01>;
		#address-cells = <0x01>;
		#size-cells = <0x00>;

		mass-storage@1 {
			compatible = "usb424,4040";
			reg = <0x01>;
			status = "disabled";
		};
	};
};

&hsic_phy0 {
	status = "okay";
	reset-gpios = <&gpio 63 GPIO_ACTIVE_HIGH>;
};

&mmc3 {
	status = "okay";
	max-frequency = <50000000>;
	status = "okay";
	bus-width = <8>;
	non-removable;
	cap-mmc-highspeed;
};

&twsi1 {
	status = "okay";

	rtc@68 {
		compatible = "dallas,ds1338";
		reg = <0x68>;
		status = "okay";
	};
};

&twsi3 {
	status = "okay";
};

&twsi4 {
	status = "okay";

	embedded-controller@58 {
		compatible = "dell,wyse-ariel-ec", "ene,kb3930";
		reg = <0x58>;
		system-power-controller;

		off-gpios = <&gpio 126 GPIO_ACTIVE_HIGH>,
			    <&gpio 127 GPIO_ACTIVE_HIGH>;
	};
};

&ssp1 {
	status = "okay";
	cs-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;

	firmware-flash@0 {
		compatible = "winbond,w25q32", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <104000000>;
		m25p,fast-read;
	};
};

&ec_input_spi {
	status = "okay";
	cs-gpios = <&gpio 56 GPIO_ACTIVE_LOW>;

	power-button@0 {
		reg = <0>;
		interrupt-parent = <&gpio>;
		interrupts = <60 IRQ_TYPE_EDGE_RISING>;
		compatible = "dell,wyse-ariel-ec-input", "ene,kb3930-input";
		spi-max-frequency = <33000000>;
	};
};

&gpu_2d {
	status = "okay";
};

&gpu_3d {
	status = "okay";
};