diff options
Diffstat (limited to 'drivers/media/platform/imx8/max9286.c')
-rw-r--r-- | drivers/media/platform/imx8/max9286.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/platform/imx8/max9286.c b/drivers/media/platform/imx8/max9286.c index 85fc9712c232..1b71c652873a 100644 --- a/drivers/media/platform/imx8/max9286.c +++ b/drivers/media/platform/imx8/max9286.c @@ -2470,6 +2470,14 @@ static void max9271_dump_registers(struct sensor_data *max9286_data, int index) } #endif +static void max9286_hw_reset(struct sensor_data *max9286_data) +{ + gpio_set_value(max9286_data->pwn_gpio, 0); + udelay(200); + gpio_set_value(max9286_data->pwn_gpio, 1); + msleep(1); +} + static int max9286_hardware_preinit(struct sensor_data *max9286_data) { u8 reg; @@ -3216,6 +3224,8 @@ static int max9286_probe(struct i2c_client *client, if (retval < 0) return retval; + max9286_hw_reset(max9286_data); + clk_prepare_enable(max9286_data->sensor_clk); max9286_data->i2c_client = client; |