summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-04-14Merge tag 'at91-cleanup4_bis' of ↵Arnd Bergmann4-96/+96
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/multiplatform Pull "Fourth batch of cleanup for 4.1" from Nicolas Ferre: - 1 issues revealed by the kbuild test robot fixed - move of some functions and macros into relevant files to be able to streamline the at91 specific header afterwards * tag 'at91-cleanup4_bis' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/pm: move AT91_MEMCTRL_* to pm.h ARM: at91/pm: move the standby functions to pm.c ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected
2015-04-05ARM: at91/pm: move AT91_MEMCTRL_* to pm.hAlexandre Belloni2-4/+4
the AT91_MEMCTRL_* defines are only used by the pm code, move them to pm.h Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-04-05ARM: at91/pm: move the standby functions to pm.cAlexandre Belloni2-92/+89
The standby functions are now only used in pm.c, move them there. Also, they are not inlined as a pointer to those functions is passed to the cpuidle driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-04-05ARM: at91: fix pm_suspend.S compilation when ARMv6 is selectedAlexandre Belloni1-0/+3
When compiling for multiplatform for both ARMv6 and ARMv7, the default compiler flags are for ARMv6, and results in: arch/arm/mach-at91/pm_suspend.S:144: Error: selected processor does not support ARM mode `dsb' Enforce ARMv7 flags for pm_suspend.o when CPU_V7 is selected. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-04-03ARM: at91: add a Kconfig dependency on multi-platformNicolas Ferre1-0/+1
When building a legacy (non-multi) platforms and if the ARCH_AT91 config option is enabled there is a build error. We need AT91 to depend on multi-platform core type options. Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-04-02Merge tag 'at91-multiplatform' of ↵Olof Johansson64-3426/+970
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/multiplatform Merge "at91: multiplatform for 4.1 #1" from Nicolas Ferre: This is the multi-platform support for AT91: - reworked arch/arm/mach-at91/Kconfig and arch/arm/Kconfig to switch to multi-platform - updated at91_dt_defconfig - continue the cleanup of unneeded files and code chunks * tag 'at91-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (61 commits) ARM: at91: drop AT91_TIMER_HZ ARM: at91: remove hardware.h ARM: at91: remove SoC headers ARM: at91: remove useless mach/cpu.h ARM: at91: remove unused headers ARM: at91: switch at91_dt_defconfig to multiplatform ARM: at91: switch to multiplatform ARM: at91: remove useless include clocksource: atmel-st: remove mach/hardware dependency clocksource: atmel-st: use syscon/regmap ARM: at91: time: move the system timer driver to drivers/clocksource ARM: at91: properly initialize timer ARM: at91: at91rm9200: remove deprecated arm_pm_restart watchdog: at91rm9200: implement restart handler watchdog: at91rm9200: use the system timer syscon mfd: syscon: Add atmel system timer registers definition ARM: at91/dt: declare atmel,at91rm9200-st as a syscon ARM: at91: remove old setup ARM: at91: sama5d4: remove useless map_io ARM: at91: sama5 use SoC detection infrastructure ... Signed-off-by: Olof Johansson <olof@lixom.net>
2015-04-02Merge tag 'renesas-sh73a0-multiplatform-for-v4.1' of ↵Olof Johansson27-516/+1164
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC sh73a0 Multiplatform Updates for v4.1" from Simon Horman: * Add multiplatform support to sh73a0 and its kzm9g board * Use Bus State Controller to enable ethernet for multiplatform sh73a0/kzm9g * Add PM domain support to multiplatform sh73a0 * tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (43 commits) ARM: shmobile: sh73a0: Remove restart callback ARM: shmobile: sh73a0 dtsi: Add PM domain support ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt() ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node ARM: shmobile: kzm9g-reference: Remove board C code and DT file ARM: shmobile: kzm9g dts: Move Ethernet node to BSC ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node ARM: shmobile: kzm9g: Build DTS for Multiplatform ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts ARM: shmobile: sh73a0: Add Multiplatform support ARM: shmobile: sh73a0: Introduce generic setup callback ARM: shmobile: r8a7794: add SDHI DT support ARM: shmobile: r8a7790: add ADSP clocks ARM: shmobile: r8a7791: add ADSP clocks ARM: shmobile: henninger: add CAN0 DT support ARM: shmobile: r8a7791: add CAN DT support ARM: shmobile: r8a7791: add CAN clocks ARM: shmobile: r8a7790: add CAN DT support ARM: shmobile: r8a7790: add CAN clocks ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 ... Signed-off-by: Olof Johansson <olof@lixom.net>
2015-04-02Merge tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of ↵Olof Johansson17-1657/+615
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC r8a73a4 CCF and Multiplatform Updates for v4.1" from Simon Horman: * Add CCF and them multiplatform support to r8a73a4 SoC and its ape6evm board. * Then remove legacy r8a73a4 SoC and ape6evm board code. ---------------------------------------------------------------- Geert Uytterhoeven (6): ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node ARM: shmobile: ape6evm dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug ARM: shmobile: ape6evm dts: Drop console= bootargs parameter PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding ARM: shmobile: r8a73a4 dtsi: Add PM domain support Laurent Pinchart (1): ARM: shmobile: r8a73a4: Remove legacy code Simon Horman (1): ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform Ulrich Hecht (5): ARM: shmobile: r8a73a4: Add CPG register bits header ARM: shmobile: r8a73a4: Common clock framework DT description ARM: shmobile: ape6evm: Disable legacy clock initialization ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT ARM: shmobile: ape6evm-reference: Remove board C code and DT file Documentation/devicetree/bindings/arm/shmobile.txt | 2 - .../bindings/power/renesas,sysc-rmobile.txt | 1 + MAINTAINERS | 1 - arch/arm/boot/dts/Makefile | 2 - arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | 156 ----- arch/arm/boot/dts/r8a73a4-ape6evm.dts | 37 +- arch/arm/boot/dts/r8a73a4.dtsi | 557 ++++++++++++++++- arch/arm/configs/ape6evm_defconfig | 109 ---- arch/arm/mach-shmobile/Kconfig | 25 - arch/arm/mach-shmobile/Makefile | 3 - arch/arm/mach-shmobile/Makefile.boot | 2 - arch/arm/mach-shmobile/board-ape6evm-reference.c | 60 -- arch/arm/mach-shmobile/board-ape6evm.c | 306 ---------- arch/arm/mach-shmobile/clock-r8a73a4.c | 659 --------------------- arch/arm/mach-shmobile/r8a73a4.h | 17 - arch/arm/mach-shmobile/setup-r8a73a4.c | 273 +-------- include/dt-bindings/clock/r8a73a4-clock.h | 62 ++ 17 files changed, 615 insertions(+), 1657 deletions(-) delete mode 100644 arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts delete mode 100644 arch/arm/configs/ape6evm_defconfig delete mode 100644 arch/arm/mach-shmobile/board-ape6evm-reference.c delete mode 100644 arch/arm/mach-shmobile/board-ape6evm.c delete mode 100644 arch/arm/mach-shmobile/clock-r8a73a4.c delete mode 100644 arch/arm/mach-shmobile/r8a73a4.h create mode 100644 include/dt-bindings/clock/r8a73a4-clock.h * tag 'renesas-r8a73a4-ccf-and-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a73a4: Remove legacy code ARM: shmobile: r8a73a4 dtsi: Add PM domain support PM / Domains: R-Mobile SYSC: Document R-Mobile APE6 (r8a73a4) binding ARM: shmobile: ape6evm dts: Drop console= bootargs parameter ARM: shmobile: r8a73a4: ape6evm: Remove legacy platform ARM: shmobile: ape6evm-reference: Remove board C code and DT file ARM: shmobile: r8a73a4: Move pfc node to work around probe ordering bug ARM: shmobile: ape6evm dts: Move Ethernet node to BSC ARM: shmobile: r8a73a4 dtsi: Add Bus State Controller node ARM: shmobile: r8a73a4: Add MSTP clock assignments to DT ARM: shmobile: ape6evm: Disable legacy clock initialization ARM: shmobile: r8a73a4: Common clock framework DT description ARM: shmobile: r8a73a4: Add CPG register bits header Signed-off-by: Olof Johansson <olof@lixom.net>
2015-03-19ARM: at91: drop AT91_TIMER_HZAlexandre Belloni2-19/+1
Drop AT91_TIMER_HZ as this can be handled using HZ_FIXED. Initial help message was: On AT91rm9200 chips where you're using a system clock derived from the 32768 Hz hardware clock, this tick rate should divide it exactly: use a power-of-two value, such as 128 or 256, to reduce timing errors caused by rounding. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-19ARM: at91: remove hardware.hAlexandre Belloni4-128/+9
hardware.h is now mostyl unused, move the remaining declarations to pm.c and remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-19ARM: at91: remove SoC headersAlexandre Belloni11-962/+0
Remove the now useless SoC headers. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-19ARM: at91: remove useless mach/cpu.hAlexandre Belloni3-219/+0
mach/cpu.h is not used anymore, remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-19ARM: at91: remove unused headersAlexandre Belloni2-281/+0
Following the switch to multiplatform, uncompress.h is not used anymore. Remove it. at91_dbgu.h is also not used anymore Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-19ARM: at91: switch at91_dt_defconfig to multiplatformAlexandre Belloni1-1/+4
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-19ARM: at91: switch to multiplatformAlexandre Belloni3-82/+54
Switch AT91 to multiplatform as all SoCs are properly handled. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16Merge tag 'at91-cleanup3' into at91-4.1-multiplatformNicolas Ferre13-166/+164
Third batch of cleanup for 4.1: - System Timer (ST) for at91rm9200 re-work (syscon/regmap): - watchdog - restart handler - timer as a proper clocksource => remove mach dependency + cleanup
2015-03-16Merge tag 'at91-cleanup2' into at91-4.1-multiplatformNicolas Ferre32-1114/+301
Second batch of cleanup for 4.1: - remove unused matrix header files - dbgu + chip identification: new driver for SoC detection this allow to remove all additional io mapping - remove old non-standard AT91 setup code
2015-03-16Merge tag 'at91-cleanup' into at91-4.1-multiplatformNicolas Ferre7-448/+418
First batch of cleanup for 4.1: - little phy fixup that is not needed anymore - hudge cleanup of the PM code: - removal of "use slow clock" option => always use this for suspend to RAM - quicker suspend as the asm function is copied only once to SRAM - use of the same asm function for "standby" and "mem" types of suspend actions - adaptation to the ARMv7 processors
2015-03-16Merge tag 'at91-fixes3' into at91-4.1-multiplatformNicolas Ferre8-11/+14
Third fixes batch for AT91 on 4.0: - clock fixes for USB - compatible string changes for handling USB IP differences (+ needed AHB matrix syscon) - fix of a compilation error in PM code
2015-03-16Merge tag 'at91-fixes2' into at91-4.1-multiplatformNicolas Ferre3-4/+9
Second fixes batch for AT91 on 4.0: - little fix for !MMU debug: may also help for randconfig - fix of 2 errors in LCD clock definitions - in PM code, not writing the key leads to not execute the action
2015-03-16Merge tag 'at91-fixes' into at91-4.1-multiplatformNicolas Ferre14-59/+64
First fixes batch for AT91 on 4.0: - PM slowclock fixes for DDR and timeouts - fix some DT entries - little defconfig updates - the removal of a harmful watchdog option + its detailed documentation
2015-03-16ARM: at91: remove useless includeAlexandre Belloni1-61/+0
Both drivers using the system timer are now converted to an MFD. mach/at91_st.h is now useless. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16clocksource: atmel-st: remove mach/hardware dependencyAlexandre Belloni1-14/+9
Remove the mach/hardware dependency to prepare the driver for multiplatform support. Also switch from setup_irq() to request_irq() Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16clocksource: atmel-st: use syscon/regmapAlexandre Belloni1-59/+35
The register range from the system timer is also used by the watchdog driver. Use a regmap to handle concurrent accesses. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16ARM: at91: time: move the system timer driver to drivers/clocksourceAlexandre Belloni5-1/+7
Import at91rm9200_time.c from mach-at91 as timer-atmel-st.c. Further cleanup is required to get rid of the mach-at91 headers. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16ARM: at91: properly initialize timerAlexandre Belloni3-11/+3
Use clocksource_of_init to initialize the system timer instead of relying on a custom function. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16ARM: at91: at91rm9200: remove deprecated arm_pm_restartAlexandre Belloni1-12/+0
Now that a proper driver is available, remove at91rm9200_restart. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16watchdog: at91rm9200: implement restart handlerAlexandre Belloni1-0/+32
Restarting the at91rm9200 is done through programming the watchdog and waiting for it to reset. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16watchdog: at91rm9200: use the system timer sysconAlexandre Belloni2-8/+23
Use a syscon regmap to access the system timer registers. Also, rename the driver atmel_st_watchdog to stop conflicting with at91sam9_wdt.c Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16mfd: syscon: Add atmel system timer registers definitionAlexandre Belloni1-0/+49
AT91RM920 has a memory range reserved for timer and watchdog configuration. Expose those registers so that drivers can make use of the system timer syscon declared in at91 DTs. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-16ARM: at91/dt: declare atmel,at91rm9200-st as a sysconAlexandre Belloni2-2/+8
The system timer register range is used to handle three different functionalities: Periodic Interval Timer, Real Time Timer and watchdog. Declare it as a syscon to be able to get a regmap. Also declare it as a simple-mfd and its watchdog subnode. Finally, document the watchdog compatible string. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: remove old setupAlexandre Belloni2-321/+1
The old setup is not used anymore, remove it Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: sama5d4: remove useless map_ioAlexandre Belloni1-33/+0
All the peripheral remapped at io_map are taken care of by their respective drivers. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: sama5 use SoC detection infrastructureAlexandre Belloni2-14/+47
Use the soc detection infrastructure for sama5 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: at91sam9: use SoC detection infrastructureAlexandre Belloni2-22/+82
Use the soc detection infrastructure for at91sam9 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: at91rm9200 use SoC detection infrastructureAlexandre Belloni2-14/+17
Use the soc detection infrastructure for at91rm9200 initialization. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: add soc detection infrastructureBoris BREZILLON4-1/+134
Add new structures and functions to handle AT91 SoC detection. [alexandre.belloni@free-electrons.com: reworked DBGU detection] Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/dt: introduce atmel,<chip>-dbguAlexandre Belloni11-11/+12
The DBGU is not a simple UART and we need to be able to distinguish it from the other UARTs, in particular to get its address and check the chip id. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: remove unused _matrix.h headersAlexandre Belloni7-628/+0
The matrix headers are not used anymore, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: remove unused at91_ioremap_matrix and headerAlexandre Belloni3-37/+0
at91_ioremap_matrix and the at91_matrix.h header are not used anymore, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91: remove NEED_MACH_IO_HArnd Bergmann5-34/+9
The mach/io.h header on at91 is used to support a nonstandard I/O space window for the cf card driver. This changes the driver to use pci_ioremap_io in order to have the standard location, and then removes the custom mach/io.h. [alexandre.belloni@free-electrons.com: Added PCI dependency] Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm: flush data cache and clean, invalidate and disable the L2 cacheWenyou Yang1-0/+6
Flush data cache, and clean, invalidate and disable the L2 cache before going to suspend. Restore the L2 cache configuration and re-enable the L2 cache after waking up. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm_suspend: add the WFI instruction support for ARMv7Wenyou Yang1-1/+19
Add the WFI instruction to make the cpu to the idle state. In the meanwhile, disable the processor's clock. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm: remove unused void (*at91_pm_standby)(void)Wenyou Yang1-4/+1
Because the standby mode use the same sram function as the suspend to memory mode, void (*at91_pm_standby)(void) doesn't need, remove it. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm: rename function name: at91_slow_clock() --> ↵Wenyou Yang2-28/+25
at91_pm_suspend_sram_fn() As the file name is renamed, rename the function name at91_slow_clock() --> at91_pm_suspend_sram_fn(), rename the function handler's name at the same time. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> [nicolas.ferre@atmel.com: little update of the commit message] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm: rename file name: pm_slowclock.S --> pm_suspend.SWenyou Yang2-1/+1
Because the sram function is used for both suspend to memory and the suspend to standby mode, renaming is more elegant. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm: standby mode uses same sram function as suspend to memory modeWenyou Yang3-47/+73
To simply the PM code, the suspend to standby mode uses same sram function as the suspend to memory mode, running in the internal SRAM, instead of the respective code for each mode. For the suspend to standby mode, the master clock doesn't switch to the slow clock, and PLLA and the main oscillator doesn't turn off as well. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm: move the copying the sram function to the sram initialization ↵Wenyou Yang1-4/+12
phase To decrease the suspend time, move copying the sram function to the sram initialization phase, instead of every time go to suspend. In the meanwhile, substitute fncpy() for memcpy(). If there is no sram allocated for PM, the PM is not supported. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm_slowclock: create the procedure to handle the sdram self-refreshWenyou Yang1-105/+139
To decrease the duplicated code, create the procedure to contain both activing and exiting the sdram self-refresh mode. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Tested-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13ARM: at91/pm_slowclock: remove clocks which are already stopped when ↵Sylvain Rochet1-31/+0
entering slow clock mode Assume USB PLL and PLL B are already stopped before entering sleep mode. Removed PLL B from slow clock code, all drivers are supposed to properly unprepare clocks. Signed-off-by: Sylvain Rochet <sylvain.rochet@finsecur.com> Acked-by: Wenyou.Yang <wenyou.yang@atmel.com> [nicolas.ferre@atmel.com: remove the warning printed in pm.c] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>