// SPDX-License-Identifier: GPL-2.0+
/*
 * Qualcomm Robotics RB3 Development (dragonboard845c) board device
 * tree source
 *
 * (C) Copyright 2022 Sumit Garg <sumit.garg@linaro.org>
 */

/dts-v1/;

#include <dt-bindings/arm/qcom,ids.h>

#include "sdm845.dtsi"
#include "pm8998.dtsi"

/ {
	model = "Thundercomm Dragonboard 845c";
	compatible = "thundercomm,db845c", "qcom,sdm845";
	qcom,msm-id = <QCOM_ID_SDA845 0x20001>;
	qcom,board-id = <QCOM_BOARD_ID(MTP, 0, 0) 0>;

	chosen {
		stdout-path = "serial0:115200n8";
	};

	aliases {
		serial0 = &uart9;
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0 0x80000000 0 0xfdfa0000>;
	};

	smbios {
		compatible = "u-boot,sysinfo-smbios";

		smbios {
			system {
				manufacturer = "Qualcomm Technologies, Inc.";
				product = "Qualcomm Robotics Dragonboard 845c";
			};

			baseboard {
				manufacturer = "Thundercomm";
				product = "TurboX-845-SoM";
			};
		};
	};

	pcie_usb_dual_pwr: vldo-3v3-regulator {
		compatible = "regulator-gpio";
		regulator-name = "VLDO_3V3";

		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		enable-gpios = <&tlmm 90 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		states = <0 0>, <1800000 1>;
	};

	gpio-keys {
		compatible = "gpio-keys";

		key-vol-up {
			label = "Volume Up";
			linux,code = <KEY_UP>;
			gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>;
		};
	};
};

&pm8998_resin {
	status = "okay";
};

&uart9 {
	status = "okay";
};

&ufs_mem_hc {
	status = "okay";
};

&ufs_mem_phy {
	status = "okay";
};

&usb_2 {
	status = "okay";
	qcom,select-utmi-as-pipe-clk;
};

&usb_2_dwc3 {
	dr_mode = "host";

	/* We don't support superspeed in u-boot so remove the SSPHY */
	phys = <&usb_2_hsphy>;
	phy-names = "usb2-phy";

	/* fastest mode for USB 2 */
	maximum-speed = "high-speed";

	vbus-supply = <&pcie_usb_dual_pwr>;
};

&usb_2_hsphy {
	/* Remove ref clk because rmphcc isn't available */
	clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
	clock-names = "cfg_ahb";

	status = "okay";
};
