• Yong Wu's avatar
    iommu/mediatek: Add mt8183 IOMMU support · 907ba6a1
    Yong Wu authored
    The M4U IP blocks in mt8183 is MediaTek's generation2 M4U which use
    the ARM Short-descriptor like mt8173, and most of the HW registers
    are the same.
    
    Here list main differences between mt8183 and mt8173/mt2712:
    1) mt8183 has only one M4U HW like mt8173 while mt2712 has two.
    2) mt8183 don't have the "bclk" clock, it use the EMI clock instead.
    3) mt8183 can support the dram over 4GB, but it doesn't call this "4GB
    mode".
    4) mt8183 pgtable base register(0x0) extend bit[1:0] which represent
    the bit[33:32] in the physical address of the pgtable base, But the
    standard ttbr0[1] means the S bit which is enabled defaultly, Hence,
    we add a mask.
    5) mt8183 HW has a GALS modules, SMI should enable "has_gals" support.
    6) mt8183 need reset_axi like mt8173.
    7) the larb-id in smi-common is remapped. M4U should add its larbid_remap.
    Signed-off-by: default avatarYong Wu <yong.wu@mediatek.com>
    Reviewed-by: default avatarEvan Green <evgreen@chromium.org>
    Reviewed-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    907ba6a1
mtk_iommu.h 1.98 KB