Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20d42ccd authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: vote S2F, S5A and S8C for BT"

parents 71db0b94 0c869f39
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -49,6 +49,13 @@
		pinctrl-0 = <&bt_en_active>;
		qca,bt-reset-gpio = <&tlmm 21 0>; /* BT_EN */
		qca,bt-vdd-ldo-supply = <&pm8150_s6>;
		qca,bt-vdd-dig-supply = <&pm8009_s2>;
		qca,bt-vdd-rfa1-supply = <&pm8150_s5>;
		qca,bt-vdd-rfa2-supply = <&pm8150a_s8>;

		qca,bt-vdd-ldo-voltage-level = <950000 950000>;
		qca,bt-vdd-dig-voltage-level = <950000 950000>;
		qca,bt-vdd-rfa1-voltage-level = <1900000 1900000>;
		qca,bt-vdd-rfa2-voltage-level = <1350000 1350000>;
	};
};
+7 −0
Original line number Diff line number Diff line
@@ -49,6 +49,13 @@
		pinctrl-0 = <&bt_en_active>;
		qca,bt-reset-gpio = <&tlmm 21 0>; /* BT_EN */
		qca,bt-vdd-ldo-supply = <&pm8150_s6>;
		qca,bt-vdd-dig-supply = <&pm8009_s2>;
		qca,bt-vdd-rfa1-supply = <&pm8150_s5>;
		qca,bt-vdd-rfa2-supply = <&pm8150a_s8>;

		qca,bt-vdd-ldo-voltage-level = <950000 950000>;
		qca,bt-vdd-dig-voltage-level = <950000 950000>;
		qca,bt-vdd-rfa1-voltage-level = <1900000 1900000>;
		qca,bt-vdd-rfa2-voltage-level = <1350000 1350000>;
	};
};
+45 −0
Original line number Diff line number Diff line
@@ -289,6 +289,27 @@ static int bluetooth_power(int on)
				goto vdd_ldo_fail;
			}
		}
		if (bt_power_pdata->bt_vdd_dig) {
			rc = bt_configure_vreg(bt_power_pdata->bt_vdd_dig);
			if (rc < 0) {
				BT_PWR_ERR("bt_power vdddig config failed");
				goto vdd_dig_fail;
			}
		}
		if (bt_power_pdata->bt_vdd_rfa1) {
			rc = bt_configure_vreg(bt_power_pdata->bt_vdd_rfa1);
			if (rc < 0) {
				BT_PWR_ERR("bt_power vddrfa1 config failed");
				goto vdd_rfa1_fail;
			}
		}
		if (bt_power_pdata->bt_vdd_rfa2) {
			rc = bt_configure_vreg(bt_power_pdata->bt_vdd_rfa2);
			if (rc < 0) {
				BT_PWR_ERR("bt_power vddrfa1 config failed");
				goto vdd_rfa2_fail;
			}
		}
		if (bt_power_pdata->bt_chip_pwd) {
			rc = bt_configure_vreg(bt_power_pdata->bt_chip_pwd);
			if (rc < 0) {
@@ -325,6 +346,15 @@ static int bluetooth_power(int on)
		if (bt_power_pdata->bt_chip_pwd)
			bt_vreg_disable(bt_power_pdata->bt_chip_pwd);
chip_pwd_fail:
		if (bt_power_pdata->bt_vdd_rfa2)
			bt_vreg_disable(bt_power_pdata->bt_vdd_rfa2);
vdd_rfa2_fail:
		if (bt_power_pdata->bt_vdd_rfa1)
			bt_vreg_disable(bt_power_pdata->bt_vdd_rfa1);
vdd_rfa1_fail:
		if (bt_power_pdata->bt_vdd_dig)
			bt_vreg_disable(bt_power_pdata->bt_vdd_dig);
vdd_dig_fail:
		if (bt_power_pdata->bt_vdd_ldo)
			bt_vreg_disable(bt_power_pdata->bt_vdd_ldo);
vdd_ldo_fail:
@@ -595,6 +625,21 @@ static int bt_power_populate_dt_pinfo(struct platform_device *pdev)
		if (rc < 0)
			BT_PWR_ERR("bt-chip-pwd not provided in device tree");

		rc = bt_dt_parse_vreg_info(&pdev->dev,
					&bt_power_pdata->bt_vdd_dig,
					"qca,bt-vdd-dig");
		if (rc < 0)
			BT_PWR_ERR("bt-vdd-dig not provided in device tree");
		rc = bt_dt_parse_vreg_info(&pdev->dev,
					&bt_power_pdata->bt_vdd_rfa1,
					"qca,bt-vdd-rfa1");
		if (rc < 0)
			BT_PWR_ERR("bt-vdd-rfa1 not provided in device tree");
		rc = bt_dt_parse_vreg_info(&pdev->dev,
					&bt_power_pdata->bt_vdd_rfa2,
					"qca,bt-vdd-rfa2");
		if (rc < 0)
			BT_PWR_ERR("bt-vdd-rfa2 not provided in device tree");
		rc = bt_dt_parse_clk_info(&pdev->dev,
					&bt_power_pdata->bt_chip_clk);
		if (rc < 0)
+6 −0
Original line number Diff line number Diff line
@@ -61,6 +61,12 @@ struct bluetooth_power_platform_data {
	struct bt_power_vreg_data *bt_vdd_xtal;
	/* VDD_CORE voltage regulator */
	struct bt_power_vreg_data *bt_vdd_core;
	/* VDD_DIG digital voltage regulator */
	struct bt_power_vreg_data *bt_vdd_dig;
	/* VDD RFA1 digital voltage regulator */
	struct bt_power_vreg_data *bt_vdd_rfa1;
	/* VDD RFA2 digital voltage regulator */
	struct bt_power_vreg_data *bt_vdd_rfa2;
	/* Optional: chip power down gpio-regulator
	 * chip power down data is required when bluetooth module
	 * and other modules like wifi co-exist in a single chip and