• Yong Wu's avatar
    iommu/io-pgtable: Add MTK 4GB mode in Short-descriptor · 1afe2319
    Yong Wu authored
    In MT8173, Normally the first 1GB PA is for the HW SRAM and Regs,
    so the PA will be 33bits if the dram size is 4GB. We have a
    "DRAM 4GB mode" toggle bit for this. If it's enabled, from CPU's
    point of view, the dram PA will be from 0x1_00000000~0x1_ffffffff.
    
    In short descriptor, the pagetable descriptor is always 32bit.
    Mediatek extend bit9 in the lvl1 and lvl2 pgtable descriptor
    as the 4GB mode.
    
    In the 4GB mode, the bit9 must be set, then M4U help add 0x1_00000000
    based on the PA in pagetable. Thus the M4U output address to EMI is
    always 33bits(the input address is still 32bits).
    
    We add a special quirk for this MTK-4GB mode. And in the standard
    spec, Bit9 in the lvl1 is "IMPLEMENTATION DEFINED", while it's AP[2]
    in the lvl2, therefore if this quirk is enabled, NO_PERMS is also
    expected.
    Signed-off-by: default avatarYong Wu <yong.wu@mediatek.com>
    Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    1afe2319
io-pgtable.h 6.61 KB