From: Vaibhav Bedia <vaibhav.bedia@ti.com> To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, tony@atomide.com, khilman@deeprootsystems.com Cc: Vaibhav Bedia <vaibhav.bedia@ti.com> Subject: [RFC v2 00/18] ARM: OMAP2+: AM33XX: Add suspend-resume support Date: Mon, 31 Dec 2012 18:36:53 +0530 [thread overview] Message-ID: <1356959231-17335-1-git-send-email-vaibhav.bedia@ti.com> (raw) Hi, This is the second version of the patch series for adding suspend-resume support for AM33XX. Based on the feedback received on the previous patch series [1] almost all the patches have undergone a bit a rework. The 1st two patches depend on the changes for mailbox code migration from arch/arm/*-omap*/ to drivers/mailbox/ [2]. The patch series also depends on recent changes to the OMAP PM framework by Paul Walmsley. I found it easiest to apply the AM33XX suspend-resume patches on top of Paul's TEST_pwrdm_post_fpwrst_devel_a_3.9 branch + the patches @ [2]. With these dependencies met, the PM code uses the firmware interface and expects the userspace to load the WKUP_M3 binary before the suspend-resume functionality is made available. The binary file (and the source-code for WKUP_M3) can be obtained from the 'next' branch at [3]. The WKUP_M3 binary can either be loaded post bootup via the sysfs entry './sys/devices/ocp.2/wkup_m3.4/firmware' or it can be included in the kernel image as part of the build process. DDR3 specific changes have been skipped for now since mainline U-Boot exhibited stability issues on all the DDR3 based AM335x boards that i could lay my hands on. I have done basic testing along with power measurments on the different power rails on the AM335x EVM. PER domain transition on the BeagleBone fails if the CPSW driver is included in the kernel and is yet to be root caused. Along with this issue more extensive testing on other OMAP platforms is also pending right now. For more details on the AM335x suspend-resume support please refer to the changelog in the different patches. Regards, Vaibhav [1] http://marc.info/?l=linux-arm-kernel&m=135185970731607&w=4 [2] http://marc.info/?l=linux-omap&m=135583648827089&w=4 [3] http://arago-project.org/git/projects/?p=am33x-cm3.git;a=shortlog;h=refs/heads/next Vaibhav Bedia (18): mailbox: OMAP2+: Add support for AM33XX mailbox: Add an API for flushing the FIFO memory: emif: Move EMIF related header file to include/linux/ ARM: OMAP2+: AM33XX: CM: Get rid of unncessary header inclusions ARM: OMAP2+: AM33XX: CM/PRM: Use __ASSEMBLER__ macros in header files ARM: OMAP2+: AM33XX: hwmod: Register OCMC RAM hwmod ARM: OMAP2+: AM33XX: hwmod: Update TPTC0 hwmod with the right flags ARM: OMAP2+: AM33XX: hwmod: Fixup cpgmac0 hwmod entry ARM: OMAP2+: AM33XX: Update the hardreset API ARM: OMAP2+: AM33XX: hwmod: Update the WKUP-M3 hwmod with reset status bit ARM: DTS: AM33XX: Add nodes for OCMC RAM and WKUP-M3 ARM: OMAP2+: timer: Add suspend-resume callbacks for clockevent device ARM: OMAP2+: AM33XX: timer: Interchance clkevt and clksrc timers ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs ARM: OMAP2+: AM33XX: Add assembly code for PM operations ARM: OMAP2+: AM33XX: Basic suspend resume support ARM: OMAP2+: AM33XX: Select Mailbox when PM is enabled ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds .../devicetree/bindings/arm/omap/timer.txt | 2 + arch/arm/boot/dts/am33xx.dtsi | 12 + arch/arm/mach-omap2/Kconfig | 4 +- arch/arm/mach-omap2/Makefile | 2 + arch/arm/mach-omap2/board-generic.c | 1 + arch/arm/mach-omap2/cm33xx.h | 10 +- arch/arm/mach-omap2/common.h | 10 + arch/arm/mach-omap2/control.c | 20 + arch/arm/mach-omap2/control.h | 41 ++ arch/arm/mach-omap2/io.c | 7 + arch/arm/mach-omap2/omap_hwmod.c | 5 +- arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 50 +- arch/arm/mach-omap2/pm.h | 7 + arch/arm/mach-omap2/pm33xx.c | 469 ++++++++++++++++ arch/arm/mach-omap2/pm33xx.h | 56 ++ arch/arm/mach-omap2/prm33xx.c | 11 +- arch/arm/mach-omap2/prm33xx.h | 5 +- arch/arm/mach-omap2/sleep33xx.S | 584 +++++++++++++++++++ arch/arm/mach-omap2/sram.c | 10 +- arch/arm/mach-omap2/sram.h | 2 + arch/arm/mach-omap2/timer.c | 39 ++- drivers/mailbox/mailbox-omap2.c | 54 ++- drivers/mailbox/mailbox.c | 36 ++ drivers/mailbox/mailbox.h | 3 + drivers/memory/emif.c | 2 +- drivers/memory/emif.h | 589 -------------------- include/linux/mailbox.h | 1 + include/linux/ti_emif.h | 589 ++++++++++++++++++++ 28 files changed, 1989 insertions(+), 632 deletions(-) create mode 100644 arch/arm/mach-omap2/pm33xx.c create mode 100644 arch/arm/mach-omap2/pm33xx.h create mode 100644 arch/arm/mach-omap2/sleep33xx.S delete mode 100644 drivers/memory/emif.h create mode 100644 include/linux/ti_emif.h
WARNING: multiple messages have this Message-ID (diff)
From: vaibhav.bedia@ti.com (Vaibhav Bedia) To: linux-arm-kernel@lists.infradead.org Subject: [RFC v2 00/18] ARM: OMAP2+: AM33XX: Add suspend-resume support Date: Mon, 31 Dec 2012 18:36:53 +0530 [thread overview] Message-ID: <1356959231-17335-1-git-send-email-vaibhav.bedia@ti.com> (raw) Hi, This is the second version of the patch series for adding suspend-resume support for AM33XX. Based on the feedback received on the previous patch series [1] almost all the patches have undergone a bit a rework. The 1st two patches depend on the changes for mailbox code migration from arch/arm/*-omap*/ to drivers/mailbox/ [2]. The patch series also depends on recent changes to the OMAP PM framework by Paul Walmsley. I found it easiest to apply the AM33XX suspend-resume patches on top of Paul's TEST_pwrdm_post_fpwrst_devel_a_3.9 branch + the patches @ [2]. With these dependencies met, the PM code uses the firmware interface and expects the userspace to load the WKUP_M3 binary before the suspend-resume functionality is made available. The binary file (and the source-code for WKUP_M3) can be obtained from the 'next' branch at [3]. The WKUP_M3 binary can either be loaded post bootup via the sysfs entry './sys/devices/ocp.2/wkup_m3.4/firmware' or it can be included in the kernel image as part of the build process. DDR3 specific changes have been skipped for now since mainline U-Boot exhibited stability issues on all the DDR3 based AM335x boards that i could lay my hands on. I have done basic testing along with power measurments on the different power rails on the AM335x EVM. PER domain transition on the BeagleBone fails if the CPSW driver is included in the kernel and is yet to be root caused. Along with this issue more extensive testing on other OMAP platforms is also pending right now. For more details on the AM335x suspend-resume support please refer to the changelog in the different patches. Regards, Vaibhav [1] http://marc.info/?l=linux-arm-kernel&m=135185970731607&w=4 [2] http://marc.info/?l=linux-omap&m=135583648827089&w=4 [3] http://arago-project.org/git/projects/?p=am33x-cm3.git;a=shortlog;h=refs/heads/next Vaibhav Bedia (18): mailbox: OMAP2+: Add support for AM33XX mailbox: Add an API for flushing the FIFO memory: emif: Move EMIF related header file to include/linux/ ARM: OMAP2+: AM33XX: CM: Get rid of unncessary header inclusions ARM: OMAP2+: AM33XX: CM/PRM: Use __ASSEMBLER__ macros in header files ARM: OMAP2+: AM33XX: hwmod: Register OCMC RAM hwmod ARM: OMAP2+: AM33XX: hwmod: Update TPTC0 hwmod with the right flags ARM: OMAP2+: AM33XX: hwmod: Fixup cpgmac0 hwmod entry ARM: OMAP2+: AM33XX: Update the hardreset API ARM: OMAP2+: AM33XX: hwmod: Update the WKUP-M3 hwmod with reset status bit ARM: DTS: AM33XX: Add nodes for OCMC RAM and WKUP-M3 ARM: OMAP2+: timer: Add suspend-resume callbacks for clockevent device ARM: OMAP2+: AM33XX: timer: Interchance clkevt and clksrc timers ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs ARM: OMAP2+: AM33XX: Add assembly code for PM operations ARM: OMAP2+: AM33XX: Basic suspend resume support ARM: OMAP2+: AM33XX: Select Mailbox when PM is enabled ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds .../devicetree/bindings/arm/omap/timer.txt | 2 + arch/arm/boot/dts/am33xx.dtsi | 12 + arch/arm/mach-omap2/Kconfig | 4 +- arch/arm/mach-omap2/Makefile | 2 + arch/arm/mach-omap2/board-generic.c | 1 + arch/arm/mach-omap2/cm33xx.h | 10 +- arch/arm/mach-omap2/common.h | 10 + arch/arm/mach-omap2/control.c | 20 + arch/arm/mach-omap2/control.h | 41 ++ arch/arm/mach-omap2/io.c | 7 + arch/arm/mach-omap2/omap_hwmod.c | 5 +- arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 50 +- arch/arm/mach-omap2/pm.h | 7 + arch/arm/mach-omap2/pm33xx.c | 469 ++++++++++++++++ arch/arm/mach-omap2/pm33xx.h | 56 ++ arch/arm/mach-omap2/prm33xx.c | 11 +- arch/arm/mach-omap2/prm33xx.h | 5 +- arch/arm/mach-omap2/sleep33xx.S | 584 +++++++++++++++++++ arch/arm/mach-omap2/sram.c | 10 +- arch/arm/mach-omap2/sram.h | 2 + arch/arm/mach-omap2/timer.c | 39 ++- drivers/mailbox/mailbox-omap2.c | 54 ++- drivers/mailbox/mailbox.c | 36 ++ drivers/mailbox/mailbox.h | 3 + drivers/memory/emif.c | 2 +- drivers/memory/emif.h | 589 -------------------- include/linux/mailbox.h | 1 + include/linux/ti_emif.h | 589 ++++++++++++++++++++ 28 files changed, 1989 insertions(+), 632 deletions(-) create mode 100644 arch/arm/mach-omap2/pm33xx.c create mode 100644 arch/arm/mach-omap2/pm33xx.h create mode 100644 arch/arm/mach-omap2/sleep33xx.S delete mode 100644 drivers/memory/emif.h create mode 100644 include/linux/ti_emif.h
next reply other threads:[~2012-12-31 13:07 UTC|newest] Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-12-31 13:06 Vaibhav Bedia [this message] 2012-12-31 13:06 ` [RFC v2 00/18] ARM: OMAP2+: AM33XX: Add suspend-resume support Vaibhav Bedia 2012-12-31 13:06 ` [RFC v2 01/18] mailbox: OMAP2+: Add support for AM33XX Vaibhav Bedia 2012-12-31 13:06 ` Vaibhav Bedia 2013-01-01 18:25 ` Tony Lindgren 2013-01-01 18:25 ` Tony Lindgren 2013-01-02 11:09 ` Bedia, Vaibhav 2013-01-02 11:09 ` Bedia, Vaibhav 2013-01-08 13:53 ` Santosh Shilimkar 2013-01-08 13:53 ` Santosh Shilimkar 2013-01-09 5:16 ` Bedia, Vaibhav 2013-01-09 5:16 ` Bedia, Vaibhav 2012-12-31 13:06 ` [RFC v2 02/18] mailbox: Add an API for flushing the FIFO Vaibhav Bedia 2012-12-31 13:06 ` Vaibhav Bedia 2013-01-08 13:56 ` Santosh Shilimkar 2013-01-08 13:56 ` Santosh Shilimkar 2013-01-09 5:16 ` Bedia, Vaibhav 2013-01-09 5:16 ` Bedia, Vaibhav 2012-12-31 13:06 ` [RFC v2 03/18] memory: emif: Move EMIF related header file to include/linux/ Vaibhav Bedia 2012-12-31 13:06 ` Vaibhav Bedia 2013-01-08 14:04 ` Santosh Shilimkar 2013-01-08 14:04 ` Santosh Shilimkar 2013-01-09 5:31 ` Bedia, Vaibhav 2013-01-09 5:31 ` Bedia, Vaibhav 2012-12-31 13:06 ` [RFC v2 04/18] ARM: OMAP2+: AM33XX: CM: Get rid of unncessary header inclusions Vaibhav Bedia 2012-12-31 13:06 ` Vaibhav Bedia 2013-01-08 15:00 ` Santosh Shilimkar 2013-01-08 15:00 ` Santosh Shilimkar 2012-12-31 13:06 ` [RFC v2 05/18] ARM: OMAP2+: AM33XX: CM/PRM: Use __ASSEMBLER__ macros in header files Vaibhav Bedia 2012-12-31 13:06 ` Vaibhav Bedia 2013-01-08 15:01 ` Santosh Shilimkar 2013-01-08 15:01 ` Santosh Shilimkar 2013-01-09 5:31 ` Bedia, Vaibhav 2013-01-09 5:31 ` Bedia, Vaibhav 2012-12-31 13:06 ` [RFC v2 06/18] ARM: OMAP2+: AM33XX: hwmod: Register OCMC RAM hwmod Vaibhav Bedia 2012-12-31 13:06 ` Vaibhav Bedia 2013-01-08 15:04 ` Santosh Shilimkar 2013-01-08 15:04 ` Santosh Shilimkar 2012-12-31 13:07 ` [RFC v2 07/18] ARM: OMAP2+: AM33XX: hwmod: Update TPTC0 hwmod with the right flags Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:05 ` Santosh Shilimkar 2013-01-08 15:05 ` Santosh Shilimkar 2013-01-09 6:02 ` Bedia, Vaibhav 2013-01-09 6:02 ` Bedia, Vaibhav 2013-02-11 23:33 ` Kevin Hilman 2013-02-11 23:33 ` Kevin Hilman 2013-02-13 10:56 ` Bedia, Vaibhav 2013-02-13 10:56 ` Bedia, Vaibhav 2012-12-31 13:07 ` [RFC v2 08/18] ARM: OMAP2+: AM33XX: hwmod: Fixup cpgmac0 hwmod entry Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:08 ` Santosh Shilimkar 2013-01-08 15:08 ` Santosh Shilimkar 2012-12-31 13:07 ` [RFC v2 09/18] ARM: OMAP2+: AM33XX: hwmod: Update the WKUP-M3 hwmod with reset status bit Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:09 ` Santosh Shilimkar 2013-01-08 15:09 ` Santosh Shilimkar 2012-12-31 13:07 ` [RFC v2 10/18] ARM: OMAP2+: AM33XX: Update the hardreset API Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:10 ` Santosh Shilimkar 2013-01-08 15:10 ` Santosh Shilimkar 2012-12-31 13:07 ` [RFC v2 11/18] ARM: DTS: AM33XX: Add nodes for OCMC RAM and WKUP-M3 Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:12 ` Santosh Shilimkar 2013-01-08 15:12 ` Santosh Shilimkar 2012-12-31 13:07 ` [RFC v2 12/18] ARM: OMAP2+: timer: Add suspend-resume callbacks for clockevent device Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:15 ` Santosh Shilimkar 2013-01-08 15:15 ` Santosh Shilimkar 2013-01-11 4:37 ` Bedia, Vaibhav 2013-01-11 4:37 ` Bedia, Vaibhav 2013-01-17 18:45 ` Jon Hunter 2013-01-17 18:45 ` Jon Hunter 2013-01-18 5:25 ` Santosh Shilimkar 2013-01-18 5:25 ` Santosh Shilimkar 2013-01-21 7:22 ` Bedia, Vaibhav 2013-01-21 7:22 ` Bedia, Vaibhav 2013-01-30 17:46 ` Jon Hunter 2013-01-30 17:46 ` Jon Hunter 2013-01-31 11:17 ` Bedia, Vaibhav 2013-01-31 11:17 ` Bedia, Vaibhav 2013-01-17 18:40 ` Jon Hunter 2013-01-17 18:40 ` Jon Hunter 2013-01-21 7:22 ` Bedia, Vaibhav 2013-01-21 7:22 ` Bedia, Vaibhav 2012-12-31 13:07 ` [RFC v2 13/18] ARM: OMAP2+: AM33XX: timer: Interchance clkevt and clksrc timers Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:17 ` Santosh Shilimkar 2013-01-08 15:17 ` Santosh Shilimkar 2013-01-09 5:31 ` Bedia, Vaibhav 2013-01-09 5:31 ` Bedia, Vaibhav 2013-01-17 19:09 ` Jon Hunter 2013-01-17 19:09 ` Jon Hunter 2013-01-24 22:30 ` Jon Hunter 2013-01-24 22:30 ` Jon Hunter 2013-01-30 17:48 ` Jon Hunter 2013-01-30 17:48 ` Jon Hunter 2013-01-30 17:49 ` Jon Hunter 2013-01-30 17:49 ` Jon Hunter 2013-01-31 11:29 ` Bedia, Vaibhav 2013-01-31 11:29 ` Bedia, Vaibhav 2012-12-31 13:07 ` [RFC v2 14/18] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:21 ` Santosh Shilimkar 2013-01-08 15:21 ` Santosh Shilimkar 2013-01-09 5:38 ` Bedia, Vaibhav 2013-01-09 5:38 ` Bedia, Vaibhav 2013-01-09 7:31 ` Santosh Shilimkar 2013-01-09 7:31 ` Santosh Shilimkar 2013-01-09 9:37 ` Bedia, Vaibhav 2013-01-09 9:37 ` Bedia, Vaibhav 2013-01-09 9:53 ` Santosh Shilimkar 2013-01-09 9:53 ` Santosh Shilimkar 2012-12-31 13:07 ` [RFC v2 15/18] ARM: OMAP2+: AM33XX: Add assembly code for PM operations Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2012-12-31 13:07 ` [RFC v2 16/18] ARM: OMAP2+: AM33XX: Basic suspend resume support Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-17 14:27 ` Peter Korsgaard 2013-01-17 14:27 ` Peter Korsgaard 2013-01-21 10:37 ` Bedia, Vaibhav 2013-01-21 10:37 ` Bedia, Vaibhav 2013-01-22 12:50 ` Peter Korsgaard 2013-01-22 12:50 ` Peter Korsgaard 2013-02-12 1:27 ` Kevin Hilman 2013-02-12 1:27 ` Kevin Hilman 2013-02-13 13:43 ` Bedia, Vaibhav 2013-02-13 13:43 ` Bedia, Vaibhav 2013-02-18 16:11 ` Kevin Hilman 2013-02-18 16:11 ` Kevin Hilman 2013-02-20 9:21 ` Bedia, Vaibhav 2013-02-20 9:21 ` Bedia, Vaibhav 2013-02-20 14:30 ` Kevin Hilman 2013-02-20 14:30 ` Kevin Hilman 2013-04-03 11:52 ` Daniel Mack 2013-04-03 11:52 ` Daniel Mack 2013-04-04 8:47 ` Bedia, Vaibhav 2013-04-04 8:47 ` Bedia, Vaibhav 2012-12-31 13:07 ` [RFC v2 17/18] ARM: OMAP2+: AM33XX: Select Mailbox when PM is enabled Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:22 ` Santosh Shilimkar 2013-01-08 15:22 ` Santosh Shilimkar 2013-01-09 5:38 ` Bedia, Vaibhav 2013-01-09 5:38 ` Bedia, Vaibhav 2012-12-31 13:07 ` [RFC v2 18/18] ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds Vaibhav Bedia 2012-12-31 13:07 ` Vaibhav Bedia 2013-01-08 15:31 ` [RFC v2 00/18] ARM: OMAP2+: AM33XX: Add suspend-resume support Santosh Shilimkar 2013-01-08 15:31 ` Santosh Shilimkar 2013-01-09 5:38 ` Bedia, Vaibhav 2013-01-09 5:38 ` Bedia, Vaibhav
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=1356959231-17335-1-git-send-email-vaibhav.bedia@ti.com \ --to=vaibhav.bedia@ti.com \ --cc=khilman@deeprootsystems.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=tony@atomide.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: linkBe 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.