linux/drivers/net/can
Haibo Chen 63ead53557 can: flexcan: remove the auto stop mode for IMX93
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: Haibo Chen <haibo.chen@nxp.com>
Link: https://lore.kernel.org/all/20230726112458.3524165-2-haibo.chen@nxp.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
History 2023-10-06 12:54:33 +02:00
..
c_can can: c_can: Do not check for 0 return after calling platform_get_irq() 2023-08-02 08:19:20 +02:00
cc770 can: cc770_platform: Convert to platform remove callback returning void 2023-05-15 22:53:49 +02:00
ctucanfd can: ctucanfd: Convert to platform remove callback returning void 2023-05-15 22:53:50 +02:00
dev can: rx-offload: add can_rx_offload_get_echo_skb_queue_tail() 2023-07-28 09:45:25 +02:00
flexcan can: flexcan: remove the auto stop mode for IMX93 2023-10-06 12:54:33 +02:00
ifi_canfd can: Explicitly include correct DT includes, part 2 2023-07-28 08:49:52 +02:00
m_can can: tcan4x5x: Fix id2_register for tcan4553 2023-10-06 12:54:33 +02:00
mscan can: mscan: mpc5xxx_can: Convert to platform remove callback returning void 2023-05-15 22:53:50 +02:00
peak_canfd can: dev: fix skb drop check 2022-11-07 14:00:27 +01:00
rcar can: Explicitly include correct DT includes, part 2 2023-07-28 08:49:52 +02:00
sja1000 can: sja1000: Always restart the Tx queue after an overrun 2023-10-06 12:54:33 +02:00
slcan tty: use u8 for flags 2023-08-11 21:12:45 +02:00
softing can: softing: Convert to platform remove callback returning void 2023-05-15 22:53:51 +02:00
spi can: rx-offload: rename rx_offload_get_echo_skb() -> can_rx_offload_get_echo_skb_queue_timestamp() 2023-07-28 09:45:24 +02:00
usb can: esd_usb: Add support for esd CAN-USB/3 2023-08-03 09:24:30 +02:00
at91_can.c can: at91_can: Convert to platform remove callback returning void 2023-05-15 22:53:49 +02:00
bxcan.c can: Explicitly include correct DT includes, part 2 2023-07-28 08:49:52 +02:00
can327.c tty: use u8 for flags 2023-08-11 21:12:45 +02:00
grcan.c can: Explicitly include correct DT includes 2023-07-19 08:55:28 +02:00
janz-ican3.c can: janz-ican3: Convert to platform remove callback returning void 2023-05-15 22:53:50 +02:00
Kconfig can: sun4i_can: Only show Kconfig if ARCH_SUNXI is set 2023-10-06 12:54:33 +02:00
kvaser_pciefd.c can: kvaser_pciefd: Add support for new Kvaser pciefd devices 2023-07-19 09:03:10 +02:00
Makefile can: bxcan: add support for ST bxCAN controller 2023-03-28 11:43:36 +02:00
sun4i_can.c can: Explicitly include correct DT includes, part 2 2023-07-28 08:49:52 +02:00
ti_hecc.c can: rx-offload: rename rx_offload_get_echo_skb() -> can_rx_offload_get_echo_skb_queue_timestamp() 2023-07-28 09:45:24 +02:00
vcan.c can: dev: add CAN XL support to virtual CAN 2022-09-15 09:08:09 +02:00
vxcan.c net: validate veth and vxcan peer ifindexes 2023-08-20 11:40:03 +01:00
xilinx_can.c can: xilinx_can: Add support for controller reset 2023-07-19 08:55:28 +02:00