[PATCH 2/3] i2c: mediatek: Dump i2c/dma register when a timeout occurs
Kewei Xu
kewei.xu at mediatek.com
Tue Jun 8 19:43:44 PDT 2021
On Tue, 2021-06-08 at 16:01 +0200, Matthias Brugger wrote:
>
> On 08/06/2021 05:16, Kewei Xu wrote:
> > From: "Kewei.Xu" <kewei.xu at mediatek.com>
> >
> > When a timeout error occurs in i2c transter, it is usually related
> > to the i2c/dma IP hardware configuration. Therefore, the purpose of
> > this patch is to dump the key register values of i2c/dma when a
> > timeout occurs in i2c for debugging.
> >
> > Signed-off-by: Kewei.Xu <kewei.xu at mediatek.com>
> > ---
> > drivers/i2c/busses/i2c-mt65xx.c | 97 ++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 95 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c
> > index 5ddfa4e..e65a41e 100644
> > --- a/drivers/i2c/busses/i2c-mt65xx.c
> > +++ b/drivers/i2c/busses/i2c-mt65xx.c
> > @@ -125,6 +125,7 @@ enum I2C_REGS_OFFSET {
> > OFFSET_HS,
> > OFFSET_SOFTRESET,
> > OFFSET_DCM_EN,
> > + OFFSET_MULTI_DMA,
> > OFFSET_PATH_DIR,
> > OFFSET_DEBUGSTAT,
> > OFFSET_DEBUGCTRL,
> > @@ -192,8 +193,9 @@ enum I2C_REGS_OFFSET {
> > [OFFSET_TRANSFER_LEN_AUX] = 0x44,
> > [OFFSET_CLOCK_DIV] = 0x48,
> > [OFFSET_SOFTRESET] = 0x50,
> > + [OFFSET_MULTI_DMA] = 0x84,
> > [OFFSET_SCL_MIS_COMP_POINT] = 0x90,
> > - [OFFSET_DEBUGSTAT] = 0xe0,
> > + [OFFSET_DEBUGSTAT] = 0xe4,
>
> Is this offset only for mt8192 or also for mt8183?
> In any case that should go in as another patch. Either a fix or a new
> mt_i2c_regs_v3[]
>
> Regards,
Matthias
Hi Matthias,
This offset value is suitable for the IC of mt_i2c_regs_v2 hardware
design similar to mt8192/8195, not for 8183.
The reason for the modification here is that the previous
offset information is incorrect, OFFSET_DEBUGSTAT = 0XE4 is
the correct value.
Regards,
Kewei
More information about the Linux-mediatek
mailing list