|
@@ -430,6 +430,20 @@ static void palmas_power_off(void)
|
|
|
{
|
|
|
unsigned int addr;
|
|
|
int ret, slave;
|
|
|
+ struct device_node *np = palmas_dev->dev->of_node;
|
|
|
+
|
|
|
+ if (of_property_read_bool(np, "ti,palmas-override-powerhold")) {
|
|
|
+ addr = PALMAS_BASE_TO_REG(PALMAS_PU_PD_OD_BASE,
|
|
|
+ PALMAS_PRIMARY_SECONDARY_PAD2);
|
|
|
+ slave = PALMAS_BASE_TO_SLAVE(PALMAS_PU_PD_OD_BASE);
|
|
|
+
|
|
|
+ ret = regmap_update_bits(palmas_dev->regmap[slave], addr,
|
|
|
+ PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_7_MASK, 0);
|
|
|
+ if (ret)
|
|
|
+ dev_err(palmas_dev->dev,
|
|
|
+ "Unable to write PRIMARY_SECONDARY_PAD2 %d\n",
|
|
|
+ ret);
|
|
|
+ }
|
|
|
|
|
|
slave = PALMAS_BASE_TO_SLAVE(PALMAS_PMU_CONTROL_BASE);
|
|
|
addr = PALMAS_BASE_TO_REG(PALMAS_PMU_CONTROL_BASE, PALMAS_DEV_CTRL);
|