Options for Renesas R-Car IPMMUs
On the Renesas R-Car H3 and other related boards, IOMMU/SMMUs are known as IPMMUs; a smmuman service running on the hardware needs a support library for the board IPMMUs.
The configurations described here are for use with the smmu-rcar3.so support library. This support library implements the code to communicate with Renesas R-Car H3 IPMMUs, as specified in Chapter 16 Renesas R-Car Series, 3rd Generation User’s Manual: Hardware, Nov. 2018 (Rev. 1.50).
To load the right support library, you must set the smmu option's smmu_type argument to smmu-rcar3.so.
Options
The following list describes the options for a smmuman service using a smmu-rcar3.so support library for SMMUs that use the Renesas R-Car H3 IPMMU architecture.
- smmu_type_param
- On boards that use the Renesas R-Car H3 IPMMU architecture, the smmu_type_param argument is as follows:
paddr,fault_vector,mm_fault_bit{,socid.revid}- paddr
- The physical address of the main memory IPMMU unit registers.
- fault_vector
- The interrupt that occurs when an illegal DMA request is attempted.
- mm_fault_bit
- The interrupt bit that is set when a page table fault occurs.
- socid
- A SoC identification number supported by the configuration data.
- revid
- A supported revision number of the SoC supported by the configuration data.
- smmu_unit_param
- On boards that use the Renesas R-Car H3 IPMMU architecture, the syntax for smmu_unit_param is as follows:
paddr,intr_status_bit- paddr
- The physical address of the IPMMU unit registers.
- intr_status_bit
- The bit number in the interrupt status register where this unit has encountered a fault condition.
- smmu_use_param
- On boards that use the Renesas R-Car H3 IPMMU architecture, the syntax for smmu_use_param is as follows:
utlb- utlb
- The micro-translation lookaside buffer (TLB) number to use for the device.
Configuring unit and TLB values for multiple devices
device mem:0xe6ef0000 use vi0 0
device mem:0xe6ef1000 use vi0 0
device mem:0xe6ef2000 use vi0 0
device mem:0xe6ef3000 use vi0 0
device mem:0xe6ef0000/0x4000 use vi0 0
