Esempio n. 1
0
static int qpnp_wled_enable(struct qpnp_wled *wled,
				uint16_t base_addr, bool state)
{
	uint8_t reg;

	reg = pm8x41_wled_reg_read(
			QPNP_WLED_MODULE_EN_REG(base_addr));
	reg &= QPNP_WLED_MODULE_EN_MASK;
	reg |= (state << QPNP_WLED_MODULE_EN_SHIFT);
	pm8x41_wled_reg_write(QPNP_WLED_MODULE_EN_REG(base_addr), reg);

	return 0;
}
Esempio n. 2
0
static int qpnp_wled_ibb_swire_rdy(struct qpnp_wled *wled,
				uint16_t base_addr, bool state)
{
	uint8_t reg;

	reg = pm8x41_wled_reg_read(
			QPNP_WLED_MODULE_EN_REG(base_addr));
	/* Do not enable IBB module when SWIRE ready is set */
	reg &= ~(QPNP_IBB_SWIRE_RDY_MASK | QPNP_IBB_MODULE_EN_MASK);
	reg |= (state << QPNP_IBB_SWIRE_RDY_SHIFT);
	pm8x41_wled_reg_write(QPNP_WLED_MODULE_EN_REG(base_addr), reg);

	return 0;
}
Esempio n. 3
0
static int qpnp_wled_module_en(struct qpnp_wled *wled,
				u16 base_addr, bool state)
{
	int rc;
	u8 reg;

	rc = qpnp_wled_read_reg(wled, &reg,
			QPNP_WLED_MODULE_EN_REG(base_addr));
	if (rc < 0)
		return rc;
	reg &= QPNP_WLED_MODULE_EN_MASK;
	reg |= (state << QPNP_WLED_MODULE_EN_SHIFT);
	rc = qpnp_wled_write_reg(wled, &reg,
			QPNP_WLED_MODULE_EN_REG(base_addr));
	if (rc)
		return rc;

	return 0;
}