// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2018, Linaro Limited

#include "qcs404.dtsi"
#include "pms405.dtsi"

/ {
	aliases {
		serial0 = &blsp1_uart2;
	};

	chosen {
		stdout-path = "serial0";
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-always-on;
		regulator-boot-on;
	};
};

&remoteproc_adsp {
	status = "ok";
};

&remoteproc_cdsp {
	status = "ok";
};

&remoteproc_wcss {
	status = "ok";
};

&rpm_requests {
	pms405-regulators {
		compatible = "qcom,rpm-pms405-regulators";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-s3-supply = <&vph_pwr>;
		vdd-s4-supply = <&vph_pwr>;
		vdd-s5-supply = <&vph_pwr>;
		vdd-l1-l2-supply = <&vreg_s5_1p35>;
		vdd-l3-l8-supply = <&vreg_s5_1p35>;
		vdd-l4-supply = <&vreg_s5_1p35>;
		vdd-l5-l6-supply = <&vreg_s4_1p8>;
		vdd-l7-supply = <&vph_pwr>;
		vdd-l9-supply = <&vreg_s5_1p35>;
		vdd-l10-l11-l12-l13-supply = <&vph_pwr>;

		vreg_s4_1p8: s4 {
			regulator-min-microvolt = <1728000>;
			regulator-max-microvolt = <1920000>;
		};

		vreg_s5_1p35: s5 {
			regulator-min-microvolt = <>;
			regulator-max-microvolt = <>;
		};

		vreg_l1_1p3: l1 {
			regulator-min-microvolt = <1240000>;
			regulator-max-microvolt = <1352000>;
		};

		vreg_l2_1p275: l2 {
			regulator-min-microvolt = <1048000>;
			regulator-max-microvolt = <1280000>;
		};

		vreg_l3_1p05: l3 {
			regulator-min-microvolt = <976000>;
			regulator-max-microvolt = <1160000>;
		};

		vreg_l4_1p2: l4 {
			regulator-min-microvolt = <1144000>;
			regulator-max-microvolt = <1256000>;
		};

		vreg_l5_1p8: l5 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		vreg_l6_1p8: l6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		vreg_l7_1p8: l7 {
			regulator-min-microvolt = <1616000>;
			regulator-max-microvolt = <3000000>;
		};

		vreg_l8_1p2: l8 {
			regulator-min-microvolt = <1136000>;
			regulator-max-microvolt = <1352000>;
		};

		vreg_l10_3p3: l10 {
			regulator-min-microvolt = <2936000>;
			regulator-max-microvolt = <3088000>;
		};

		vreg_l11_sdc2: l11 {
			regulator-min-microvolt = <2696000>;
			regulator-max-microvolt = <3304000>;
		};

		vreg_l12_3p3: l12 {
			regulator-min-microvolt = <2968000>;
			regulator-max-microvolt = <3300000>;
		};

		vreg_l13_3p3: l13 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3300000>;
		};
	};
};

&sdcc1 {
	status = "ok";

	mmc-ddr-1_8v;
	mmc-hs400-1_8v;
	bus-width = <8>;
	non-removable;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc1_on>;
	pinctrl-1 = <&sdc1_off>;
};

&tlmm {
	sdc1_on: sdc1-on {
		clk {
			pins = "sdc1_clk";
			bias-disable;
			drive-strength = <16>;
		};

		cmd {
			pins = "sdc1_cmd";
			bias-pull-up;
			drive-strength = <10>;
		};

		data {
			pins = "sdc1_data";
			bias-pull-up;
			dreive-strength = <10>;
		};

		rclk {
			pins = "sdc1_rclk";
			bias-pull-down;
		};
	};

	sdc1_off: sdc1-off {
		clk {
			pins = "sdc1_clk";
			bias-disable;
			drive-strength = <2>;
		};

		cmd {
			pins = "sdc1_cmd";
			bias-pull-up;
			drive-strength = <2>;
		};

		data {
			pins = "sdc1_data";
			bias-pull-up;
			dreive-strength = <2>;
		};

		rclk {
			pins = "sdc1_rclk";
			bias-pull-down;
		};
	};
};

&wifi {
	status = "okay";
};

/* PINCTRL - additions to nodes defined in qcs404.dtsi */

&blsp1_uart2_default {
	rx {
		drive-strength = <2>;
		bias-disable;
	};

	tx {
		drive-strength = <2>;
		bias-disable;
	};
};
