• Jon Hunter's avatar
    ARM: tegra: Correct polarity for Tegra114 PMIC interrupt · 0a10e85b
    Jon Hunter authored
    The ARM GIC only supports interrupts with either level-high or
    rising-edge types for SPIs. The interrupt type for the Palmas PMIC used
    for Tegra114 boards is specified as level-low which is invalid for the
    GIC. This has gone undetected because until recently, failures to set
    the interrupt type when the interrupts are mapped via firmware (such as
    device-tree) have not been reported. Since commits 4b357dae
    ("genirq: Look-up trigger type if not specified by caller") and
    1e2a7d78 ("irqdomain: Don't set type when mapping an IRQ"), failure
    to set the interrupt type will cause the requesting of the interrupt to
    fail and exposing incorrectly configured interrupts.
    
    Please note that although the interrupt type was never being set for the
    Palmas PMIC, it was still working fine, because the default type setting
    for the interrupt, 'level-high', happen to match the correct type for
    the interrupt.
    
    Finally, it should be noted that the Palmas interrupt from the PMIC is
    actually 'level-low', however, this interrupt signal is inverted by the
    Tegra PMC and so the GIC actually sees a 'level-high' interrupt which is
    what should be specified in the device-tree interrupt specifier.
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    0a10e85b
tegra114-roth.dts 30.2 KB