bus: Add Baikal-T1 APB-bus driver
authorSerge Semin <Sergey.Semin@baikalelectronics.ru>
Tue, 26 May 2020 12:59:27 +0000 (15:59 +0300)
committerArnd Bergmann <arnd@arndb.de>
Thu, 28 May 2020 12:16:29 +0000 (14:16 +0200)
commit8f93662d8324940e8925a0e492c587dbcf7c7fee
tree31e754944e1ed577dd8d5efaeb3e37b6050c868d
parent63cb77136e04ff24ca520e46f5ff57d351dadbdb
bus: Add Baikal-T1 APB-bus driver

Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs.
IO requests are routed to this bus by means of the DW AMBA 3 AXI
Interconnect. In case if an attempted APB transaction stays with no
response for a pre-defined time an interrupt occurs and the bus gets
freed for a next operation. This driver provides the interrupt handler
to detect the erroneous address, prints an error message about the
address fault, updates an errors counter. The counter and the APB-bus
operations timeout can be accessed via corresponding sysfs nodes.
A dedicated sysfs-node can be also used to artificially cause the
bus errors described above.

[arnd: fix build warnings for missing includes and wrong return types]

Link: https://lore.kernel.org/r/20200526125928.17096-6-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: soc@kernel.org
Cc: devicetree@vger.kernel.org
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/bus/Kconfig
drivers/bus/Makefile
drivers/bus/bt1-apb.c [new file with mode: 0644]