Re: [PATCH v3 4/6] bus: ti-sysc: Add support for software reset

From: Faiz Abbas
Date: Thu Jun 07 2018 - 06:22:52 EST


Hi,

On Thursday 07 June 2018 01:05 PM, Tony Lindgren wrote:
> * Faiz Abbas <faiz_abbas@xxxxxx> [180606 06:14]:
>> +static int sysc_reset(struct sysc *ddata)
>> +{
>> + int offset = ddata->offsets[SYSC_SYSCONFIG];
>> + int val = sysc_read(ddata, offset);
>> +
>> + val |= (0x1 << ddata->cap->regbits->srst_shift);
>> + sysc_write(ddata, offset, val);
>> +
>> + /* Poll on reset status */
>> + if (ddata->cfg.quirks & SYSC_QUIRK_RESET_STATUS) {
>> + 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;
>> +}
>
> I wonder if we should also add SYSS_QUIRK_RESET_STATUS in
> addition to SYSC_QUIRK_RESET status to make it easy to
> read the right register?

I assumed SYSC_QUIRK is the prefix to indicate the ti-sysc driver not
the register. Are there layouts in which the reset status bit is in the
sysconfig register rather than the sysstatus register?

Thanks,
Faiz