Skip to content
  • Fabio Estevam's avatar
    ARM: dts: imx53-qsrb: Pulldown PMIC IRQ pin · 2fe4bff3
    Fabio Estevam authored
    Currently the following errors are seen:
    
    [   14.015056] mc13xxx 0-0008: Failed to read IRQ status: -6
    [   27.321093] mc13xxx 0-0008: Failed to read IRQ status: -6
    [   27.411681] mc13xxx 0-0008: Failed to read IRQ status: -6
    [   27.456281] mc13xxx 0-0008: Failed to read IRQ status: -6
    [   30.527106] mc13xxx 0-0008: Failed to read IRQ status: -6
    [   36.596900] mc13xxx 0-0008: Failed to read IRQ status: -6
    
    Also when reading the interrupts via 'cat /proc/interrupts' the
    PMIC GPIO interrupt counter does not stop increasing.
    
    The reason for the storm of interrupts is that the PUS field of
    register IOMUXC_SW_PAD_CTL_PAD_CSI0_DAT5 is currently configured as:
    10 : 100k pullup
    
    and the PMIC interrupt is being registered as IRQ_TYPE_LEVEL_HIGH type,
    which is the correct type as per the MC34708 datasheet.
    
    Use the default power on value for the IOMUX, which sets PUS field as:
    00: 360k pull down
    
    This prevents the spurious PMIC interrupts from happening.
    
    Commit e1ffceb0 ("ARM: imx53: qsrb: fix PMIC interrupt level")
    correctly described the irq type as IRQ_TYPE_LEVEL_HIGH, but
    missed to update the IOMUX of the PMIC GPIO as pull down.
    
    Fixes: e1ffceb0
    
     ("ARM: imx53: qsrb: fix PMIC interrupt level")
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    2fe4bff3