// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
 * Copyright (C) 2021 BayLibre SAS.
 * Author: Fabien Parent <fparent@baylibre.com>
 */

/dts-v1/;

#include <config.h>
#include "mt8183.dtsi"

/ {
	model = "MediaTek MT8183 pumpkin board";
	compatible = "mediatek,mt8183-pumpkin", "mediatek,mt8183";

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x80000000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		/* 192 KiB reserved for ARM Trusted Firmware (BL31) */
		bl31_secmon_reserved: secmon@54600000 {
			no-map;
			reg = <0 0x54600000 0x0 0x30000>;
		};

		/* 12 MiB reserved for OP-TEE (BL32)
		 * +-----------------------+ 0x43e0_0000
		 * |      SHMEM 2MiB       |
		 * +-----------------------+ 0x43c0_0000
		 * |        | TA_RAM  8MiB |
		 * + TZDRAM +--------------+ 0x4340_0000
		 * |        | TEE_RAM 2MiB |
		 * +-----------------------+ 0x4320_0000
		 */
		optee_reserved: optee@43200000 {
			no-map;
			reg = <0 0x43200000 0 0x00c00000>;
		};
	};

	chosen {
		stdout-path = &uart0;
	};

	reg_1p8v: regulator-1p8v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-1.8V";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-boot-on;
		regulator-always-on;
	};

	reg_3p3v: regulator-3p3v {
		compatible = "regulator-fixed";
		regulator-name = "fixed-3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};
};

&watchdog {
	status = "okay";
};

&uart0 {
	status = "okay";
};

&mmc0 {
	bus-width = <4>;
	max-frequency = <200000000>;
	cap-mmc-highspeed;
	mmc-hs200-1_8v;
	cap-mmc-hw-reset;
	vmmc-supply = <&reg_3p3v>;
	vqmmc-supply = <&reg_1p8v>;
	non-removable;
	status = "okay";
};

&usb {
	status = "okay";
};

&ssusb {
	mediatek,force-vbus;
	maximum-speed = "high-speed";
	dr_mode = "peripheral";
	status = "okay";
};
