• Haibo Chen's avatar
    can: flexcan: remove the auto stop mode for IMX93 · 63ead535
    Haibo Chen authored
    IMX93 A0 chip involve the internal q-channel handshake in LPCG and
    CCM to automatically handle the Flex-CAN IPG STOP signal. Only after
    FLEX-CAN enter stop mode then can support the self-wakeup feature.
    But meet issue when do the continue system PM stress test. When config
    the CAN as wakeup source, the first time after system suspend, any data
    on CAN bus can wakeup the system, this is as expect. But the second time
    when system suspend, data on CAN bus can't wakeup the system. If continue
    this test, we find in odd time system enter suspend, CAN can wakeup the
    system, but in even number system enter suspend, CAN can't wakeup the
    system. IC find a bug in the auto stop mode logic, and can't fix it easily.
    So for the new imx93 A1, IC drop the auto stop mode and involve the
    GPR to support stop mode (used before). IC define a bit in GPR which can
    trigger the IPG STOP signal to Flex-CAN, let it go into stop mode.
    And NXP claim to drop IMX93 A0, and only support IMX93 A1. So this patch
    remove the auto stop mode, and add flag FLEXCAN_QUIRK_SETUP_STOP_MODE_GPR
    to imx93.
    Signed-off-by: default avatarHaibo Chen <haibo.chen@nxp.com>
    Link: https://lore.kernel.org/all/20230726112458.3524165-2-haibo.chen@nxp.comSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
    63ead535
flexcan.h 5.31 KB