From: Sumit Garg <sumit.garg@kernel.org>
To: Markus Schneider-Pargmann <msp@baylibre.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>, Nishanth Menon <nm@ti.com>,
Robert Nelson <robertcnelson@gmail.com>,
Tom Rini <trini@konsulko.com>, Bryan Brattlof <bb@ti.com>,
u-boot@lists.denx.de, Kevin Hilman <khilman@baylibre.com>,
Vishal Mahaveer <vishalm@ti.com>, Akashdeep Kaur <a-kaur@ti.com>,
Kendall Willis <k-willis@ti.com>,
Sebin Francis <sebin.francis@ti.com>, Dhruva Gole <d-gole@ti.com>
Subject: Re: [PATCH v2 00/22] am62: IO+DDR resume support
Date: Tue, 17 Jun 2025 15:31:08 +0530 [thread overview]
Message-ID: <aFE85L2EphPvRmiL@sumit-X1> (raw)
In-Reply-To: <20250613-topic-am62-ioddr-v2025-04-rc1-v2-0-3d233aaea355@baylibre.com>
Hi Markus,
On Fri, Jun 13, 2025 at 03:19:20PM +0200, Markus Schneider-Pargmann wrote:
> Hi,
>
> this series introduces support to resume from IO+DDR. IO+DDR is a low
> power mode of am62a and am62p in which nearly everything is powered off
> except DDR which is in self-refresh and a few pins which detect
> activity and can wakeup the system again.
>
> On resume uboot SPL is loaded and checks if this is a IO+DDR resume. If
> it is, the DDR initialization sequence in k3-ddrss differs slightly as
> it has to get the DDR out of the self-refresh.
>
> Afterward a specific address determined from DT is used to get the
> metadata that stores relevant context addresses. The context is restored
> using the tisci message TI_SCI_MSG_MIN_CONTEXT_RESTORE. At the end all
> further initializations are skipped and uboot SPL directly jumps into
> the DM resume address which takes care of the rest.
>
> The devicetree R5F related patches were picked up from the devicetree
> repository tag v6.16-rc1-dts and are required to find the correct
> address of the metadata. I picked some additional patches to avoid
> conflicts.
The DT cherry-picks seems fine to me. Feel free to add following to
those DT cherry-picks:
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
-Sumit
>
> k3-ddrss is using absolute register accesses at the moment. I am trying
> to submit syscon DT patches upstream to access these through syscon,
> unfortunately there is ongoing discussion regarding syscon.
>
> This series is based on next.
>
> I tested this on am62a.
>
> Best,
> Markus
>
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> ---
> Changes in v2:
> - Remove 'default n' from K3_IODDR
> - Pick devicetree patches from upstream instead of mailinglist
> - Link to v1: https://lore.kernel.org/r/20250311-topic-am62-ioddr-v2025-04-rc1-v1-0-666de9c105cb@baylibre.com
>
> ---
> Devarsh Thakkar (3):
> arm64: dts: ti: k3-am62a-wakeup: Add R5F device node
> arm64: dts: ti: k3-am62a7-sk: Enable IPC with remote processors
> arm64: dts: ti: k3-am62p5-sk: Enable IPC with remote processors
>
> Hari Nagalla (2):
> arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node
> arm64: dts: ti: k3-am62x-sk-common: Enable IPC with remote processors
>
> Jai Luthra (1):
> arm64: dts: ti: k3-am62a-main: Add C7xv device node
>
> Judith Mendez (3):
> arm64: dts: ti: k3-am62a7-sk: Enable PWM
> arm64: dts: ti: k3-am6*: Add boot phase flag to support MMC boot
> arm64: dts: ti: k3-am6*: Remove disable-wp for eMMC
>
> Markus Schneider-Pargmann (13):
> arm: mach-k3: Remove CANUART IO isolation
> arm: mach-k3: Kconfig: Add symbols for IO+DDR Low Power Mode
> ram: k3-ddrss: Add support for DDR in self-refresh
> firmware: ti_sci: Add TI_SCI_MSG_MIN_CONTEXT_RESTORE
> arm: mach-k3: common: Add CANUART wakeup check helpers
> arm: mach-k3: common: Add lpm_resume_from_ddr
> arm: mach-k3: common: Helper for LPM meta data address from DT
> arm: mach-k3: am62a7_init: Resume on LPM exit
> arm: mach-k3: am62p5_init: Resume on LPM exit
> arm: dts: k3-am62a: Add r5 device nodes
> arm: dts: k3-am62p: Add r5 device nodes
> configs: am62ax_evm_r5: Enable IODDR resume support
> configs: am62p_evm_r5_defconfig: Enable IODDR resume support
>
> arch/arm/dts/k3-am62a7-sk-u-boot.dtsi | 16 ++
> arch/arm/dts/k3-am62p5-sk-u-boot.dtsi | 20 +++
> arch/arm/mach-k3/Kconfig | 8 +
> arch/arm/mach-k3/am62ax/am62a7_init.c | 11 ++
> arch/arm/mach-k3/am62px/am62p5_init.c | 12 ++
> arch/arm/mach-k3/am62x/am625_init.c | 2 +
> arch/arm/mach-k3/common.c | 162 ++++++++++++++++++++
> arch/arm/mach-k3/common.h | 4 +
> arch/arm/mach-k3/include/mach/hardware.h | 32 ++++
> configs/am62ax_evm_r5_defconfig | 1 +
> configs/am62px_evm_r5_defconfig | 1 +
> drivers/firmware/ti_sci.c | 38 +++++
> drivers/firmware/ti_sci.h | 14 ++
> drivers/ram/k3-ddrss/k3-ddrss.c | 165 +++++++++++++++++++++
> dts/upstream/src/arm64/ti/k3-am62-lp-sk.dts | 12 ++
> dts/upstream/src/arm64/ti/k3-am62-phycore-som.dtsi | 1 -
> dts/upstream/src/arm64/ti/k3-am625-beagleplay.dts | 1 -
> dts/upstream/src/arm64/ti/k3-am62a-main.dtsi | 12 ++
> dts/upstream/src/arm64/ti/k3-am62a-mcu.dtsi | 25 ++++
> .../src/arm64/ti/k3-am62a-phycore-som.dtsi | 1 -
> dts/upstream/src/arm64/ti/k3-am62a-wakeup.dtsi | 25 ++++
> dts/upstream/src/arm64/ti/k3-am62a7-sk.dts | 139 ++++++++++++++++-
> dts/upstream/src/arm64/ti/k3-am62p5-sk.dts | 51 ++++++-
> dts/upstream/src/arm64/ti/k3-am62x-sk-common.dtsi | 35 ++++-
> dts/upstream/src/arm64/ti/k3-am642-evm.dts | 1 -
> dts/upstream/src/arm64/ti/k3-am654-base-board.dts | 1 -
> .../ti/k3-am6548-iot2050-advanced-common.dtsi | 1 -
> dts/upstream/src/arm64/ti/k3-am69-sk.dts | 1 -
> include/linux/soc/ti/ti_sci_protocol.h | 9 ++
> 29 files changed, 774 insertions(+), 27 deletions(-)
> ---
> base-commit: 548d997229b7929bd7f0782415952d5a85eb7e64
> change-id: 20250306-topic-am62-ioddr-v2025-04-rc1-0b3a0ffe92b1
>
> Best regards,
> --
> Markus Schneider-Pargmann <msp@baylibre.com>
>
prev parent reply other threads:[~2025-06-17 10:01 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-13 13:19 [PATCH v2 00/22] am62: IO+DDR resume support Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 01/22] arm: mach-k3: Remove CANUART IO isolation Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 02/22] arm: mach-k3: Kconfig: Add symbols for IO+DDR Low Power Mode Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 03/22] ram: k3-ddrss: Add support for DDR in self-refresh Markus Schneider-Pargmann
2025-06-16 13:57 ` Bryan Brattlof
2025-06-13 13:19 ` [PATCH v2 04/22] firmware: ti_sci: Add TI_SCI_MSG_MIN_CONTEXT_RESTORE Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 05/22] arm: mach-k3: common: Add CANUART wakeup check helpers Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 06/22] arm: mach-k3: common: Add lpm_resume_from_ddr Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 07/22] arm: mach-k3: common: Helper for LPM meta data address from DT Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 08/22] arm: mach-k3: am62a7_init: Resume on LPM exit Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 09/22] arm: mach-k3: am62p5_init: " Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 10/22] arm64: dts: ti: k3-am62a7-sk: Enable PWM Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 11/22] arm64: dts: ti: k3-am6*: Add boot phase flag to support MMC boot Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 12/22] arm64: dts: ti: k3-am6*: Remove disable-wp for eMMC Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 13/22] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 14/22] arm64: dts: ti: k3-am62a-wakeup: Add R5F device node Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 15/22] arm64: dts: ti: k3-am62a-main: Add C7xv " Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 16/22] arm64: dts: ti: k3-am62a7-sk: Enable IPC with remote processors Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 17/22] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 18/22] arm64: dts: ti: k3-am62x-sk-common: " Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 19/22] arm: dts: k3-am62a: Add r5 device nodes Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 20/22] arm: dts: k3-am62p: " Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 21/22] configs: am62ax_evm_r5: Enable IODDR resume support Markus Schneider-Pargmann
2025-06-13 13:19 ` [PATCH v2 22/22] configs: am62p_evm_r5_defconfig: " Markus Schneider-Pargmann
2025-06-17 10:01 ` Sumit Garg [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aFE85L2EphPvRmiL@sumit-X1 \
--to=sumit.garg@kernel.org \
--cc=a-kaur@ti.com \
--cc=bb@ti.com \
--cc=d-gole@ti.com \
--cc=k-willis@ti.com \
--cc=khilman@baylibre.com \
--cc=msp@baylibre.com \
--cc=nm@ti.com \
--cc=robertcnelson@gmail.com \
--cc=sebin.francis@ti.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=vigneshr@ti.com \
--cc=vishalm@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.