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

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

Merge "drivers: esoc: Remove reset gpio support for kona"

parents 05b4fc5b 97952988
Loading
Loading
Loading
Loading
+1 −16
Original line number Diff line number Diff line
@@ -1081,27 +1081,12 @@ static int sdx55m_setup_hw(struct mdm_ctrl *mdm,
		dev_err(mdm->dev, "Failed to parse DT gpios\n");
		goto err_destroy_wrkq;
	}
	if (!of_property_read_bool(node, "qcom,esoc-spmi-soft-reset")) {
		ret = mdm_pon_dt_init(mdm);
		if (ret) {
			esoc_mdm_log("Failed to parse PON DT gpios\n");
			dev_err(mdm->dev, "Failed to parse PON DT gpio\n");
			goto err_destroy_wrkq;
		}

		ret = mdm_pon_setup(mdm);
		if (ret) {
			esoc_mdm_log("Failed to setup PON\n");
			dev_err(mdm->dev, "Failed to setup PON\n");
			goto err_destroy_wrkq;
		}
	}

	ret = mdm_pinctrl_init(mdm);
	if (ret) {
		esoc_mdm_log("Failed to init pinctrl\n");
		dev_err(mdm->dev, "Failed to init pinctrl\n");
		goto err_release_ipc;
		goto err_destroy_wrkq;
	}

	ret = mdm_configure_ipc(mdm, pdev);
+7 −43
Original line number Diff line number Diff line
@@ -74,12 +74,8 @@ static int sdx50m_toggle_soft_reset(struct mdm_ctrl *mdm, bool atomic)
/* This function can be called from atomic context. */
static int sdx55m_toggle_soft_reset(struct mdm_ctrl *mdm, bool atomic)
{
	struct device_node *node = mdm->dev->of_node;
	int rc;
	int soft_reset_direction_assert = 0,
	    soft_reset_direction_de_assert = 1;

	if (of_property_read_bool(node, "qcom,esoc-spmi-soft-reset")) {
	esoc_mdm_log("Doing a Warm reset using SPMI\n");
	rc = qpnp_pon_modem_pwr_off(PON_POWER_OFF_WARM_RESET);
	if (rc) {
@@ -91,36 +87,6 @@ static int sdx55m_toggle_soft_reset(struct mdm_ctrl *mdm, bool atomic)
	return 0;
}

	if (mdm->soft_reset_inverted) {
		soft_reset_direction_assert = 1;
		soft_reset_direction_de_assert = 0;
	}

	esoc_mdm_log("RESET GPIO value (before doing a reset): %d\n",
			gpio_get_value(MDM_GPIO(mdm, AP2MDM_SOFT_RESET)));
	esoc_mdm_log("Setting AP2MDM_SOFT_RESET = %d\n",
				soft_reset_direction_assert);
	gpio_direction_output(MDM_GPIO(mdm, AP2MDM_SOFT_RESET),
			soft_reset_direction_assert);
	/*
	 * Allow PS hold assert to be detected
	 */
	if (!atomic)
		usleep_range(80000, 180000);
	else
		/*
		 * The flow falls through this path as a part of the
		 * panic handler, which has to executed atomically.
		 */
		mdelay(100);

	esoc_mdm_log("Setting AP2MDM_SOFT_RESET = %d\n",
				soft_reset_direction_de_assert);
	gpio_direction_output(MDM_GPIO(mdm, AP2MDM_SOFT_RESET),
			soft_reset_direction_de_assert);
	return 0;
}

static int mdm4x_do_first_power_on(struct mdm_ctrl *mdm)
{
	int i;
@@ -325,6 +291,4 @@ struct mdm_pon_ops sdx55m_pon_ops = {
	.pon = mdm4x_do_first_power_on,
	.soft_reset = sdx55m_toggle_soft_reset,
	.poff_force = sdx55m_power_down,
	.dt_init = mdm4x_pon_dt_init,
	.setup = mdm4x_pon_setup,
};