• Niklas Cassel's avatar
    arm64: dts: rockchip: add rk3588 pcie and php IOMMUs · cd81d3a0
    Niklas Cassel authored
    The mmu600_pcie is connected with the five PCIe controllers.
    The mmu600_php is connected with the USB3 controller, the GMAC
    controllers, and the SATA controllers.
    
    See 8.2 Block Diagram, in rk3588 TRM (Technical Reference Manual).
    
    The IOMMUs are disabled by default, as further patches are needed to
    program the SID/SSIDs in to the IOMMUs.
    
    iommu: Default domain type: Translated
    iommu: DMA domain TLB invalidation policy: strict mode
    arm-smmu-v3 fc900000.iommu: ias 48-bit, oas 48-bit (features 0x001c1eaf)
    arm-smmu-v3 fc900000.iommu: allocated 65536 entries for cmdq
    arm-smmu-v3 fc900000.iommu: allocated 32768 entries for evtq
    arm-smmu-v3 fc900000.iommu: msi_domain absent - falling back to wired irqs
    
    Additionally, the IOMMU correctly triggers an IOMMU fault when
    a PCIe device performs a write (since the device hasn't been
    assigned a SID/SSID):
    arm-smmu-v3 fc900000.iommu: event 0x02 received:
    arm-smmu-v3 fc900000.iommu:      0x0000010000000002
    arm-smmu-v3 fc900000.iommu:      0x0000000000000000
    arm-smmu-v3 fc900000.iommu:      0x0000000000000000
    arm-smmu-v3 fc900000.iommu:      0x0000000000000000
    
    While this doesn't provide much value as is, having the devices as
    disabled in the device tree will allow developers to see that the rk3588
    actually has IOMMUs on the SoC.
    Signed-off-by: default avatarNiklas Cassel <cassel@kernel.org>
    Link: https://lore.kernel.org/r/20240502140231.477049-2-cassel@kernel.orgSigned-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
    cd81d3a0
rk3588s.dtsi 71.9 KB