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

Commit 778f0ffc authored by Chun Zhang's avatar Chun Zhang Committed by Gerrit - the friendly Code Review server
Browse files

leds: leds-qpnp-flash: enable MASK module for flash LED



Enable MASK module for flash LED to allow LED current to ramp down
during GSM call.

Change-Id: I721b1b72d583843a2bf939d9757b43bce4f5a308
Signed-off-by: default avatarChun Zhang <chunz@codeaurora.org>
parent 6dd43dee
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@
#define FLASH_LED_TMR_CTRL(base)				(base + 0x48)
#define FLASH_LED_TMR_CTRL(base)				(base + 0x48)
#define FLASH_HEADROOM(base)					(base + 0x4A)
#define FLASH_HEADROOM(base)					(base + 0x4A)
#define	FLASH_STARTUP_DELAY(base)				(base + 0x4B)
#define	FLASH_STARTUP_DELAY(base)				(base + 0x4B)
#define FLASH_MASK_ENABLE(base)					(base + 0x4C)
#define FLASH_VREG_OK_FORCE(base)				(base + 0x4F)
#define FLASH_VREG_OK_FORCE(base)				(base + 0x4F)
#define FLASH_FAULT_DETECT(base)				(base + 0x51)
#define FLASH_FAULT_DETECT(base)				(base + 0x51)
#define	FLASH_THERMAL_DRATE(base)				(base + 0x52)
#define	FLASH_THERMAL_DRATE(base)				(base + 0x52)
@@ -63,6 +64,7 @@
#define FLASH_CURRENT_RAMP_MASK					0xBF
#define FLASH_CURRENT_RAMP_MASK					0xBF
#define FLASH_VPH_PWR_DROOP_MASK				0xF3
#define FLASH_VPH_PWR_DROOP_MASK				0xF3
#define FLASH_LED_HDRM_SNS_ENABLE_MASK				0x81
#define FLASH_LED_HDRM_SNS_ENABLE_MASK				0x81
#define	FLASH_MASK_MODULE_CONTRL_MASK				0xE0


#define FLASH_LED_TRIGGER_DEFAULT				"none"
#define FLASH_LED_TRIGGER_DEFAULT				"none"
#define FLASH_LED_HEADROOM_DEFAULT_MV				500
#define FLASH_LED_HEADROOM_DEFAULT_MV				500
@@ -92,6 +94,7 @@
#define	FLASH_LED_VPH_DROOP_THRESHOLD_DIVIDER			100
#define	FLASH_LED_VPH_DROOP_THRESHOLD_DIVIDER			100
#define FLASH_LED_HDRM_SNS_ENABLE				0x81
#define FLASH_LED_HDRM_SNS_ENABLE				0x81
#define	FLASH_LED_UA_PER_MA					1000
#define	FLASH_LED_UA_PER_MA					1000
#define	FLASH_LED_MASK_MODULE_MASK2_ENABLE			0x20


#define FLASH_UNLOCK_SECURE					0xA5
#define FLASH_UNLOCK_SECURE					0xA5
#define FLASH_LED_TORCH_ENABLE					0x00
#define FLASH_LED_TORCH_ENABLE					0x00
@@ -875,6 +878,14 @@ static int qpnp_flash_led_init_settings(struct qpnp_flash_led *led)
		return rc;
		return rc;
	}
	}


	rc = qpnp_led_masked_write(led->spmi_dev, FLASH_MASK_ENABLE(led->base),
				FLASH_MASK_MODULE_CONTRL_MASK,
				FLASH_LED_MASK_MODULE_MASK2_ENABLE);
	if (rc) {
		dev_err(&led->spmi_dev->dev, "Mask module enable failed\n");
		return rc;
	}

	if (!led->pdata->thermal_derate_en)
	if (!led->pdata->thermal_derate_en)
		val = 0x0;
		val = 0x0;
	else {
	else {