We need to also support 16-bit writes for i2c in addition to the reads
when we start configuring the sysconfig register for reset and idle modes.

Signed-off-by: Tony Lindgren <t...@atomide.com>
---
 drivers/bus/ti-sysc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -100,6 +100,13 @@ static void sysc_parse_dts_quirks(struct sysc *ddata, 
struct device_node *np,
 
 static void sysc_write(struct sysc *ddata, int offset, u32 value)
 {
+       if (ddata->cfg.quirks & SYSC_QUIRK_16BIT) {
+               writew_relaxed(value & 0xffff, ddata->module_va + offset);
+               writew_relaxed(value >> 16, ddata->module_va + offset + 4);
+
+               return;
+       }
+
        writel_relaxed(value, ddata->module_va + offset);
 }
 
-- 
2.21.0

Reply via email to