We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello.
I am looking for sample source code to understand how to program the MMU-500 SMMU.
The MMU-500 Technical Reference Manual (DDI0517F) does not contain any code samples.
Our processor is arm A53, and we are running bare metal (no OS).
The MMU-500 TRM does mention another document called the "Technical Reference Manual Supplement".
Technical Reference Manual SupplementThis supplement describes how to initialize the MMU-500, and how theMMU-500 generates final memory attributes.The TRM Supplement is a confidential book that is only available to licensees.
Does this document contain initialization code samples? We are not a licensee.
thx,
bob
Not much to find, but in the SMMUv2 TRM I found this:2.7.1 Translation table formatThe SMMU translation table formats and translation process are generally the same as those in described in the ARM ® Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile, for the AArch32 and AArch64 translation regimes. The AArch32 formats and processes are compatible with those for ARMv7, as described in the ARM ® Architecture Reference Manual, ARMv7-A and ARMv7-R edition. Stage 2 translation table format describes an SMMU extension to those formats.
So at least a hint.
Hello,
I contacted ARM and they informed me I will need access to the MMU-500 Technical Supplement.
That's the document I mentioned in the original post, so it looks like it is needed.
I will need to work with our folks who handle IP, as this document is not public.
The ARM contact also provided some sample code separately which I need to review.
So overall it looks like the TRM Supplement document and sample code provided by ARM are the best answer.
Thanks again for the help. I am marking this ticket closed.