]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mfd: Versatile Express config infrastructure
authorPawel Moll <pawel.moll@arm.com>
Mon, 24 Sep 2012 13:55:40 +0000 (14:55 +0100)
committerPawel Moll <pawel.moll@arm.com>
Thu, 18 Oct 2012 16:59:32 +0000 (17:59 +0100)
commit777809f1292048319cad20102cbeb250d815435b
tree9cb823b8681623bb2f37921ae280dc41f9731238
parentddffeb8c4d0331609ef2581d84de4d763607bd37
mfd: Versatile Express config infrastructure

Versatile Express platform has an elaborated configuration system,
consisting of microcontrollers residing on the mother- and
daughterboards known as Motherboard/Daughterboard Configuration
Controller (MCC and DCC). The controllers are responsible for
the platform initialization (reset generation, flash programming,
FPGA bitfiles loading etc.) but also control clock generators,
voltage regulators, gather environmental data like temperature,
power consumption etc. Even the video output switch (FPGA) is
controlled that way.

Those devices are _not_ visible in the main address space and
the usual communication channel uses some kind of a bridge in
the peripheral block sending commands (requests) to the
controllers and receiving responses. It can take up to
500 microseconds for a transaction to be completed, therefore
it is important to provide a non-blocking interface to it.

This patch adds an abstraction of this infrastructure. Bridge
drivers can register themselves with the framework. Then,
a driver of a device can request an abstract "function" - the
request will be redirected to a bridge referred by thedd
"arm,vexpress,config-bridge" property of the device tree node.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Documentation/devicetree/bindings/arm/vexpress.txt
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/mfd/vexpress-config.c [new file with mode: 0644]
include/linux/vexpress.h [new file with mode: 0644]