Re: [RFC PATCH] i2c: designware: Enable SAR in slave mode for Multiple SAR controllers

Mika Westerberg <[email protected]> Tue, 4 Aug 2026 12:36:27 +0200
Newsgroups org.kernel.vger.linux-i2c,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi,

On Tue, Aug 04, 2026 at 09:48:42AM +0530, Umesh Kumar wrote:
> DesignWare controllers synthesised with the Multiple SAR feature (e.g.
> Marvell CN20K) only acknowledge traffic to the primary slave address
> (IC_SAR) when IC_ENABLE[19] (SAR_EN) is set. The slave enable path
> writes only IC_ENABLE[0], so on such controllers the target never ACKs
> its address and a remote master cannot reach it.
> 
> Set SAR_EN together with ENABLE when entering slave mode. The bit is
> reserved (and ignored) on single-SAR controllers, so existing users are
> unaffected.
> 
> Signed-off-by: Umesh Kumar <[email protected]>
> ---
> RFC note:
> 
> On our multi-SAR CN20K the slave only ACKs with IC_ENABLE[19] set.
> Existing single-SAR users work without it, and the bit is reserved
> there, so I've written it unconditionally. Would you prefer this
> gated behind a per-device capability flag instead? The CN20K PCI
> device enablement (which would set such a flag) can follow as a
> separate series.

No I think what you do here is fine,

Acked-by: Mika Westerberg <[email protected]>