mbox series

[0/4] syscon: Alter syscon and reboot-mode drivers

Message ID 20200306130356.6ABDD8030703@mail.baikalelectronics.ru
Headers show
Series syscon: Alter syscon and reboot-mode drivers | expand

Message

Serge Semin March 6, 2020, 1:03 p.m. UTC
From: Serge Semin <fancer.lancer@gmail.com>

A lot of custom functionality can be tuned by means of a syscon-registers
placed in Baikal-T1 CCU memory space (though in documentation they are
called system devices registers). While in most of the case the syscon
registers usage will be distributed between corresponding subsystem drivers
(thanks to pretty much coherent design of the registers fields), there are
some peculiarities we should reflect in the generic syscon code.

First of all seeing there is an map endiannes config acceptable by the syscon
it would be justified to add the corresponding properties declared in the
mfd/syscon.yaml bindings file. Don't really know why this hasn't been done
before.

Then as it's going to be general in the framework of the Baikal-T1 SoC support
integration into the kernel, we suggest to replace the legacy text-based
syscon-reboot-mode dts-bindings file with yaml-based one.

Finally seeing the syscon-reboot-mode devices are mostly used in conjuction
with just syscon-reboot device (in particular Baikal-T1 CCU WDT RCR register is
preserved during any type of reboots) and for several other reasons (see the
commit message for details), we suggest to add the 'regmap' property support
to the syscon-reboot-mode driver. This would eliminate the requirement of
placing the syscon-reboot-mode dts-node in the syscon sub-nodes area.

This patchset is rebased and tested on the mainline Linux kernel 5.6-rc4:
commit 98d54f81e36b ("Linux 5.6-rc4").

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Cc: Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>
Cc: Vadim Vlasov <V.Vlasov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (4):
  dt-bindings: syscon: Add syscon endian properties support
  dt-bindings: power: reset: Replace SYSCON reboot-mode legacy bindings
    with YAML-based one
  dt-bindings: power: reset: Add regmap support to the SYSCON
    reboot-mode bindings
  power: reset: syscon-reboot-mode: Add regmap dts-property support

 .../devicetree/bindings/mfd/syscon.yaml       | 14 +++++
 .../power/reset/syscon-reboot-mode.txt        | 35 -----------
 .../power/reset/syscon-reboot-mode.yaml       | 58 +++++++++++++++++++
 drivers/power/reset/syscon-reboot-mode.c      | 11 +++-
 4 files changed, 80 insertions(+), 38 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
 create mode 100644 Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml