• Pawel Moll's avatar
    mfd: Versatile Express config infrastructure · 3ecbf05b
    Pawel Moll authored
    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: default avatarPawel Moll <pawel.moll@arm.com>
    3ecbf05b
vexpress-config.c 6.72 KB