Commit ae5abd25 authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab

[media] coda: fix CODA7541 hardware reset

Do not try to read the CODA960 GDI status register on CODA7541.
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent cd73bb6c
...@@ -350,6 +350,7 @@ static int coda_hw_reset(struct coda_ctx *ctx) ...@@ -350,6 +350,7 @@ static int coda_hw_reset(struct coda_ctx *ctx)
idx = coda_read(dev, CODA_REG_BIT_RUN_INDEX); idx = coda_read(dev, CODA_REG_BIT_RUN_INDEX);
if (dev->devtype->product == CODA_960) {
timeout = jiffies + msecs_to_jiffies(100); timeout = jiffies + msecs_to_jiffies(100);
coda_write(dev, 0x11, CODA9_GDI_BUS_CTRL); coda_write(dev, 0x11, CODA9_GDI_BUS_CTRL);
while (coda_read(dev, CODA9_GDI_BUS_STATUS) != 0x77) { while (coda_read(dev, CODA9_GDI_BUS_STATUS) != 0x77) {
...@@ -357,11 +358,13 @@ static int coda_hw_reset(struct coda_ctx *ctx) ...@@ -357,11 +358,13 @@ static int coda_hw_reset(struct coda_ctx *ctx)
return -ETIME; return -ETIME;
cpu_relax(); cpu_relax();
} }
}
ret = reset_control_reset(dev->rstc); ret = reset_control_reset(dev->rstc);
if (ret < 0) if (ret < 0)
return ret; return ret;
if (dev->devtype->product == CODA_960)
coda_write(dev, 0x00, CODA9_GDI_BUS_CTRL); coda_write(dev, 0x00, CODA9_GDI_BUS_CTRL);
coda_write(dev, CODA_REG_BIT_BUSY_FLAG, CODA_REG_BIT_BUSY); coda_write(dev, CODA_REG_BIT_BUSY_FLAG, CODA_REG_BIT_BUSY);
coda_write(dev, CODA_REG_RUN_ENABLE, CODA_REG_BIT_CODE_RUN); coda_write(dev, CODA_REG_RUN_ENABLE, CODA_REG_BIT_CODE_RUN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment