diff options
author | Haibo Chen <[email protected]> | 2024-07-31 20:00:26 -0400 |
---|---|---|
committer | Marc Kleine-Budde <[email protected]> | 2024-08-05 16:45:45 +0200 |
commit | 5b512f42e098df280f0b3f680ac806827a25d1dd (patch) | |
tree | 435bbd695fb1ac35ff1c13bab008f969f2d9b3ef /tools/testing/selftests/bpf/prog_tests/tracing_struct.c | |
parent | 3eea16ba7c69ecab78bc458795ccd08de6fc4b1c (diff) |
can: flexcan: add wakeup support for imx95
iMX95 defines a bit in GPR that sets/unsets the IPG_STOP signal to the
FlexCAN module, controlling its entry into STOP mode. Wakeup should work
even if FlexCAN is in STOP mode.
Due to iMX95 architecture design, the A-Core cannot access GPR; only the
system manager (SM) can configure GPR. To support the wakeup feature,
follow these steps:
- For suspend:
1) During Linux suspend, when CAN suspends, do nothing for GPR and keep
CAN-related clocks on.
2) In ATF, check whether CAN needs to support wakeup; if yes, send a
request to SM through the SCMI protocol.
3) In SM, configure the GPR and unset IPG_STOP.
4) A-Core suspends.
- For wakeup and resume:
1) A-Core wakeup event arrives.
2) In SM, deassert IPG_STOP.
3) Linux resumes.
Add a new fsl_imx95_devtype_data and FLEXCAN_QUIRK_SETUP_STOP_MODE_SCMI to
reflect this.
Reviewed-by: Han Xu <[email protected]>
Signed-off-by: Haibo Chen <[email protected]>
Reviewed-by: Vincent Mailhol <[email protected]>
Signed-off-by: Frank Li <[email protected]>
Link: https://lore.kernel.org/all/[email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/tracing_struct.c')
0 files changed, 0 insertions, 0 deletions