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 =
|
struct ccs_sensor *sensor =
|
||||||
container_of(ssd, struct ccs_sensor, ssds[0]);
|
container_of(ssd, struct ccs_sensor, ssds[0]);
|
||||||
|
const struct ccs_device *ccsdev = device_get_match_data(dev);
|
||||||
unsigned int sleep;
|
unsigned int sleep;
|
||||||
int rval;
|
int rval;
|
||||||
|
|
||||||
@ -1320,7 +1321,11 @@ static int ccs_power_on(struct device *dev)
|
|||||||
gpiod_set_value(sensor->reset, 0);
|
gpiod_set_value(sensor->reset, 0);
|
||||||
gpiod_set_value(sensor->xshutdown, 1);
|
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);
|
usleep_range(sleep, sleep);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user