[PATCH 00/15] Armada 370/XP watchdog support
Ezequiel Garcia
ezequiel.garcia at free-electrons.com
Tue Aug 27 10:34:24 EDT 2013
This patchset adds support for Armada 370/XP SoC watchdog using the
orion-wdt driver. Several issues were blocking this addition, each
of which has timely discussed and (at least initially) agreed.
Namely, the issues are:
* Handling of clock input differences, which was related
to Armada 370/XP clocksource reference 25 MHz issue.
This is already solved by the work in [1] (merge pending).
* Shared register handling. It was agreed to introduce an atomic
read/modify API for such accesses [2]. Once the API is merged we'll use
it to access the timer control register shared between clocksource
and watchdog drivers.
* Watchdog RSTOUT enable. It was decided [3] that this was better
handled at each machine initialization (and so this patchset
does such change). This change allows to remove the mach-specific
header in orion-wdt, allowing multiplatform build.
The current patchset is based and superseeds the previous v2 on
Orion watchdog:
http://www.spinics.net/lists/arm-kernel/msg269526.html
However, this is a new patchset that allow to support Armada 370/XP
watchdog.
Patches 1-5 removes and reworks the orion-wdt to allow to remove the
mach-specific header.
Patches 6-9 adds the infrastructure required to support multiple SoCs
in the orion-wdt driver, and then uses it to support Armada 370 and
Armada XP.
Patches 9-15 completes the support by updating the devicetree binding
documentation, devicetree files, and default configuration.
This series is based in v3.11-rc6 and has been tested on:
* Kirkwood Openblocks A6
* Armada XP Openblocks AX3
* Armada 370 Mirabox
(I must thank Plat'home for donating those beatiful boxes!)
[1] http://comments.gmane.org/gmane.linux.ports.arm.kernel/261861
[2] http://lwn.net/Articles/564709/
[3] http://www.spinics.net/lists/arm-kernel/msg269994.html
Thanks!
Ezequiel Garcia (15):
watchdog: orion: Remove unneeded BRIDGE_CAUSE clear
ARM: orion: Assert watchdog RSTOUT enable bit
ARM: mvebu: Add watchdog RSTOUT enable in system-controller init
watchdog: orion: Remove RSTOUT bit enable/disable
watchdog: orion: Allow to build in any Orion platform
watchdog: orion: Introduce an orion_watchdog device structure
watchdog: orion: Introduce per-compatible of_device_id data
watchdog: orion: Add per-compatible clock initialization
watchdog: orion: Add support for Armada 370 and Armada XP SoC
ARM: mvebu: Add RSTOUT cell to system-controller DT node
ARM: mvebu: Enable Armada 370/XP watchdog in the devicetree
watchdog: orion: Rename device-tree binding documentation
watchdog: orion: Add other compatibles to devicetree binding
ARM: mvebu: system-controller: Add second reg cell devicetree
specification
ARM: mvebu: Enable watchdog in defconfig
.../bindings/arm/mvebu-system-controller.txt | 7 +-
.../devicetree/bindings/watchdog/marvel.txt | 19 --
.../devicetree/bindings/watchdog/orion-wdt.txt | 34 +++
arch/arm/boot/dts/armada-370-xp.dtsi | 4 +
arch/arm/boot/dts/armada-370.dtsi | 7 +-
arch/arm/boot/dts/armada-xp.dtsi | 8 +-
arch/arm/configs/mvebu_defconfig | 3 +
arch/arm/mach-dove/board-dt.c | 2 +
arch/arm/mach-dove/common.c | 2 +
arch/arm/mach-dove/include/mach/bridge-regs.h | 1 +
arch/arm/mach-kirkwood/board-dt.c | 2 +
arch/arm/mach-kirkwood/common.c | 2 +
arch/arm/mach-kirkwood/include/mach/bridge-regs.h | 1 +
arch/arm/mach-mv78xx0/common.c | 2 +
arch/arm/mach-mv78xx0/include/mach/bridge-regs.h | 1 +
arch/arm/mach-mvebu/system-controller.c | 22 ++
arch/arm/mach-orion5x/board-dt.c | 4 +
arch/arm/mach-orion5x/common.c | 2 +
arch/arm/mach-orion5x/include/mach/bridge-regs.h | 1 +
arch/arm/plat-orion/common.c | 5 +
arch/arm/plat-orion/include/plat/common.h | 1 +
drivers/watchdog/Kconfig | 2 +-
drivers/watchdog/orion_wdt.c | 244 +++++++++++++++------
23 files changed, 283 insertions(+), 93 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/watchdog/marvel.txt
create mode 100644 Documentation/devicetree/bindings/watchdog/orion-wdt.txt
--
1.8.1.5
More information about the linux-arm-kernel
mailing list