• Lucas Stach's avatar
    soc: imx: add i.MX8M blk-ctrl driver · 2684ac05
    Lucas Stach authored
    This adds a driver for the blk-ctrl blocks found in the i.MX8M* line of
    SoCs. The blk-ctrl is a top-level peripheral located in the various *MIX
    power domains and interacts with the GPC power controller to provide the
    peripherals in the power domain access to the NoC and ensures that those
    peripherals are properly reset when their respective power domain is
    brought back to life.
    
    Software needs to do different things to make the bus handshake happen
    after the GPC *MIX domain is powered up and before it is powered down.
    As the requirements are quite different between the various blk-ctrls
    there is a callback function provided to hook in the proper sequence.
    
    The peripheral domains are quite uniform, they handle the soft clock
    enables and resets in the blk-ctrl address space and sequencing with the
    upstream GPC power domains.
    Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
    Acked-by: default avatarFrieder Schrempf <frieder.schrempf@kontron.de>
    Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    2684ac05
imx8m-blk-ctrl.c 11.8 KB