[PATCH v4 4/6] bus: ti-sysc: Add support for software reset
From: tony@atomide.com (Tony Lindgren)
Date: 2018-07-05 15:48:06
Also in:
linux-clk, linux-devicetree, linux-omap, lkml
From: tony@atomide.com (Tony Lindgren)
Date: 2018-07-05 15:48:06
Also in:
linux-clk, linux-devicetree, linux-omap, lkml
* Faiz Abbas [off-list ref] [180705 14:24]:
+static int sysc_reset(struct sysc *ddata)
+{
+ int offset = ddata->offsets[SYSC_SYSCONFIG];
+ int val = sysc_read(ddata, offset);Can you please just warn and return early for now if no syss_mask is specified? Otherwise we'll have mysterious errors if somebody leaves out "ti,hwmods" for module types we do not yet support reset for.
+ val |= (0x1 << ddata->cap->regbits->srst_shift);
+ sysc_write(ddata, offset, val);
+
+ /* Poll on reset status */
+ if (ddata->cfg.syss_mask) {
+ offset = ddata->offsets[SYSC_SYSSTATUS];
+
+ return readl_poll_timeout(ddata->module_va + offset, val,
+ (val & ddata->cfg.syss_mask) == 0x0,
+ 100, MAX_MODULE_SOFTRESET_WAIT);
+ }
+
+ return 0;
+}
+Otherwise looks good to me. Thanks, Tony