I have downloaded the IMX8 processor reference manual in order to access some of the GPIO registers in a device driver.
The document I used was this one:
According to the above, the GPIO registers are in the region of 0x5D080000, however attempting to access them causes GPFs.
I consulted a manual for the IMX7 where the registers are in the region of 0x30200000 and they appear to work.
The CPU is on a SOM made by Compulab; the cl-som-imx8
The cpuinfo on the target displays 4 processors:
# cat /proc/cpuinfo
processor : 0
BogoMIPS : 16.66
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Are there variations amongst the IMX8 family or is there a different reference manual available?
Wow. I am astonished and dismayed.
It may be a third party board, but it is using your CPU (iMX8MM)
Perhaps you could take a leaf from the TI forum where they would answer questions on their products irrespective of how they are deployed.
So sorry that my reply make you dismayed. Here I mean the software and board information you can contact the third company, because the hardware and software are design by them they will give more effective and fast reply. I see your above information, one image is work well, another not, so the hardware is OK. About the chip questions you can contact us.
Have an nice day
I am also experiencing difficulty accessing the I2C registers (0x30A20000 etc). I use the same mechanism as I do for accessing the GPIO and IOMUX registers, and they all work
define I2C3_CR 0x30A40008
static void __iomem *vpIMX8_I2C3_CR;
vpIMX8_I2C3_CR = devm_ioremap(thisDev, I2C3_CR, sizeof(u16));
readVal = ioread16 (vpIMX8_I2C3_CR); //system hangs here......
Is there anything I am doing wrong here?