• Xiubo Li's avatar
    regmap: add DT endianness binding support. · d647c199
    Xiubo Li authored
    For many drivers which will support rich endianness of Devices
    need define DT properties by itself with the binding support.
    
    The endianness using regmap:
    Index      Device     Properties if needs bytes-swap,
                          or just ignore it
    -------------------------------------------------------------
    1          BE         'big-endian'
    2          LE         'little-endian'
    
    The properties include all the register values and the buffers.
    And these properties are very usful for the MMIO devices:
    
    Such as: a memory-mapped device, on one SoC is in BE mode, while
    in another SoC will be in LE mode, and the CPU will always in LE
    mode.
    
    For the first case, we must use cpu_to_be32/be32_to_cpu for
    32-bit registers accessing, so the 'big-endian' property is needed.
    
    For the second case, we can just ignore the bytes-swap
    functions like cpu_to_le32/le32_to_cpu, so the 'little-endian'
    property could be abscent.
    
    And vice versa...
    Signed-off-by: default avatarXiubo Li <Li.Xiubo@freescale.com>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    d647c199
regmap-i2c.c 5.44 KB