• Tony Lindgren's avatar
    ARM: OMAP2+: Fix module address for modules using mpu_rt_idx · 1dbcb97c
    Tony Lindgren authored
    If we use device tree data for a module interconnect target we want
    to map the control registers from the module start. Legacy hwmod platform
    data however is using child IP offsets for cpsw module with mpu_rt_idx.
    
    In cases where we have the interconnect target module already using device
    tree data with legacy hwmod platform data still around, the sysc register
    area is not adjusted for mpu_rt_idx causing wrong registers being accessed.
    
    Let's fix the issue for mixed dts and platform data mode by ioremapping
    the module registers using child IP offset if mpu_rt_idx is set. For
    device tree only data there's no reason to use mpu_rt_idx.
    
    Fixes: 6c72b355 ("ARM: OMAP2+: Parse module IO range from dts for legacy
    "ti,hwmods" support")
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    1dbcb97c
omap_hwmod.c 111 KB