Sorry for pestering (again). I am trying to access the DVFS registers from a seL4 component and they seem to be read only. I can read/write them from UBoot and the kernel. So my guess is the registers require privilege even though I have yet to find a definitive statement to this effect in the ARM / NXP documentation.
So the question is. Is it possible to give a component the necessary access rights to the DVFS registers via camkes? Or is there some other sort of workaround I could employ to gain access?
I've never worked with the i.MX6 board, but if you want to expose a particular physical frame to a CAmkES component, you can do so by following the code seen in this example file: https://github.com/seL4/camkes/blob/master/apps/testnto1mmio/testnto1mmio.ca...https://github.com/seL4/camkes/blob/master/apps/testnto1mmio/testnto1mmio.camkes#L16
You need to declare a "fake" component that represents your hardware device, and ensure that this component has the "hardware" property set (see line 16). Then you need to declare a "dataport" resource which is the CAmkES name for a shared memory window (line 17). Then you tell CAmkES what the physical frame address for this shared memory window should be using an '_paddr' and '_size' attribute pair (lines 45 and 46).
Finally, you connect a software "real" component to your "fake" hardware component by following the usual dataport connection form (which is not seen in that file, since that file is demonstrating another way of using dataports). But you might also want to check out the section in the CAmkES manual on how to use Dataports: https://github.com/seL4/camkes-tool/blob/next/docs/index.md#an-example-of-da... and the section on hardware components https://github.com/seL4/camkes-tool/blob/next/docs/index.md#hardware-compone...
Happy new year, ? -- Kofi Doku Atuah Kernel engineer DATA61 | CSIRO