The Allwinner H616 contains an IOMMU almost compatible to the one used in the H6. The differing default reset value of the bypass register makes the two technically incompatible, so use a new DT compatible string to be on the safe side. The required driver changes can be applied to both variants, so the driver is ignorant of the differences between the two for now. Change the driver to cope with the new variant in patch 1/5 and 2/5, then apply the required devicetree and binding changes in the remaining patches. I could just verify that the driver probes and allocates the page table from below 4 GB, but haven't tested the actual IOMMU operation, with a device. I would be grateful if someone could test this in full swing. Cheers, Andre. Andre Przywara (4): iommu: sun50i: allocate page tables from below 4 GiB dt-bindings: iommu: add new compatible strings iommu: sun50i: Add H616 compatible string arm64: dts: allwinner: h616: add IOMMU node Jernej Skrabec (1): iommu: sun50i: clear bypass register .../bindings/iommu/allwinner,sun50i-h6-iommu.yaml | 7 ++++++- arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 9 +++++++++ drivers/iommu/sun50i-iommu.c | 7 +++++-- 3 files changed, 20 insertions(+), 3 deletions(-) -- 2.35.8