10 Dec, 2015
1 commit
-
commit 5fcf8d1a0e84792b2bc44922c5d833dab96a9c1e upstream.
fncpy() requires that the source and the destination are both 8-byte
aligned.Signed-off-by: Patrick Doyle
Signed-off-by: Alexandre Belloni
Acked-by: Nicolas Ferre
Fixes: d94e688cae56 ("ARM: at91/pm: move the copying the sram function to the sram initialization phase")
Signed-off-by: Greg Kroah-Hartman
14 Apr, 2015
1 commit
-
…ferre/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
06 Apr, 2015
3 commits
-
the AT91_MEMCTRL_* defines are only used by the pm code, move them to pm.h
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
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
Signed-off-by: Nicolas Ferre -
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
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre
04 Apr, 2015
1 commit
-
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
Signed-off-by: Nicolas Ferre
Signed-off-by: Olof Johansson
19 Mar, 2015
6 commits
-
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
Signed-off-by: Nicolas Ferre -
hardware.h is now mostyl unused, move the remaining declarations to pm.c and
remove it.Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Remove the now useless SoC headers.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
mach/cpu.h is not used anymore, remove it.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Following the switch to multiplatform, uncompress.h is not used anymore. Remove
it.
at91_dbgu.h is also not used anymoreSigned-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Switch AT91 to multiplatform as all SoCs are properly handled.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre
17 Mar, 2015
4 commits
-
Both drivers using the system timer are now converted to an MFD. mach/at91_st.h
is now useless.Signed-off-by: Alexandre Belloni
Acked-by: Boris Brezillon
Acked-by: Daniel Lezcano
Signed-off-by: Nicolas Ferre -
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
Acked-by: Boris Brezillon
Acked-by: Daniel Lezcano
Signed-off-by: Nicolas Ferre -
Use clocksource_of_init to initialize the system timer instead of relying on a
custom function.Signed-off-by: Alexandre Belloni
Acked-by: Boris Brezillon
Acked-by: Daniel Lezcano
Signed-off-by: Nicolas Ferre -
Now that a proper driver is available, remove at91rm9200_restart.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre
14 Mar, 2015
2 commits
-
The old setup is not used anymore, remove it
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
All the peripheral remapped at io_map are taken care of by their respective
drivers.Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre
13 Mar, 2015
19 commits
-
Use the soc detection infrastructure for sama5 initialization.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Use the soc detection infrastructure for at91sam9 initialization.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Use the soc detection infrastructure for at91rm9200 initialization.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Add new structures and functions to handle AT91 SoC detection.
[alexandre.belloni@free-electrons.com: reworked DBGU detection]
Signed-off-by: Alexandre Belloni
Signed-off-by: Boris BREZILLON
Signed-off-by: Nicolas Ferre -
The matrix headers are not used anymore, remove them.
Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
at91_ioremap_matrix and the at91_matrix.h header are not used anymore, remove
them.Signed-off-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
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
Signed-off-by: Arnd Bergmann
Signed-off-by: Nicolas Ferre -
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
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
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
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
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
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
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
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
[nicolas.ferre@atmel.com: little update of the commit message]
Signed-off-by: Nicolas Ferre -
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
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
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
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
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
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
To decrease the duplicated code, create the procedure
to contain both activing and exiting the sdram self-refresh mode.Signed-off-by: Wenyou Yang
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
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
Acked-by: Wenyou.Yang
[nicolas.ferre@atmel.com: remove the warning printed in pm.c]
Signed-off-by: Nicolas Ferre -
The slow clock always exists, selecting CONFIG_AT91_SLOW_CLOCK config
is unnecessary for the suspend to memory mode.
For this mode the master clock should always switch to the slow clock.Signed-off-by: Wenyou Yang
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
To simply the PM config the CONFIG_AT91_SLOW_CLOCK option will be removed,
so move "select SRAM" from under AT91_SLOW_CLOCK, add "select SRAM if PM"
under SOC_AT91SAM9 and SOC_SAMA5Signed-off-by: Wenyou Yang
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre -
The SLOWDOWN_MASTER_CLOCK definition is not used, remove the redundant code.
Signed-off-by: Wenyou Yang
Acked-by: Alexandre Belloni
Tested-by: Sylvain Rochet
Signed-off-by: Nicolas Ferre
12 Mar, 2015
2 commits
-
Since at91_pm_set_standby() will not be used out of the pm.c file,
change its attribute from extern to static, remove its declaration as well.Signed-off-by: Wenyou Yang
Acked-by: Alexandre Belloni
Signed-off-by: Nicolas Ferre -
Commit 2b0ba96cea60 ("net: phy: micrel: disable NAND-tree for KSZ8021,
KSZ8031, KSZ8051, KSZ8081") automated the NAND-tree mode deactivation
process, thus making this phy fixup useless.
Remove it along with the associated headers inclusion.Signed-off-by: Boris Brezillon
Acked-by: Alexandre Belloni
[nicolas.ferre@atmel.com: remove selection of PHYLIB in at91 Kconfig]
Signed-off-by: Nicolas Ferre
11 Mar, 2015
1 commit
-
When compiling the kernel in thumb2 (CONFIG_THUMB2_KERNEL option activated), we
hit a compilation crash. The error message is listed below:---8< -----
Error: cannot use register index with PC-relative addressing -- `str r0,.saved_lpr'
--->8----Add the .arm directive in the assembly files related to power management.
Signed-off-by: Wenyou Yang
Signed-off-by: Nicolas Ferre