// 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";
};

&sdhc_2 {
	status = "okay";

	clocks = <&gcc GCC_SDCC2_AHB_CLK>,
		 <&gcc GCC_SDCC2_APPS_CLK>;
	clock-names = "iface", "core";

	clock-frequency = <200000000>;

	bus-width = <4>;
	non-removable;
};

&uart9 {
	status = "okay";
};

&ufs_mem_hc {
	status = "okay";
};

&ufs_mem_phy {
	status = "okay";
};

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

&usb_1_dwc3 {
	dr_mode = "peripheral";

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

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

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

	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";
};
