media: ccs: Use longer pre-I²C sleep for CCS compliant devices
Longer idle period is required on I²C bus before the first transaction after lifting xshutdown. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
2b5b9af811
commit
ebc0bc270e
@ -1300,6 +1300,7 @@ static int ccs_power_on(struct device *dev)
|
||||
*/
|
||||
struct ccs_sensor *sensor =
|
||||
container_of(ssd, struct ccs_sensor, ssds[0]);
|
||||
const struct ccs_device *ccsdev = device_get_match_data(dev);
|
||||
unsigned int sleep;
|
||||
int rval;
|
||||
|
||||
@ -1320,7 +1321,11 @@ static int ccs_power_on(struct device *dev)
|
||||
gpiod_set_value(sensor->reset, 0);
|
||||
gpiod_set_value(sensor->xshutdown, 1);
|
||||
|
||||
sleep = SMIAPP_RESET_DELAY(sensor->hwcfg.ext_clk);
|
||||
if (ccsdev->flags & CCS_DEVICE_FLAG_IS_SMIA)
|
||||
sleep = SMIAPP_RESET_DELAY(sensor->hwcfg.ext_clk);
|
||||
else
|
||||
sleep = 5000;
|
||||
|
||||
usleep_range(sleep, sleep);
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user