Petalinux devmem access to DMA Scratch registers (0xFD0F0050) not working
I have a petalinux boot file that does not work with devmem access to the DMA scratch registers at 0xFD0F0050 for example. I can use devmem to access the AXIPCIe Main Base register to set up ingress registers. I use devmem to verify the PCIe link is up. On the host side of the PCIe bus the BAR0 access to the DMA scratch register do work. The PCIe bus setup to BAR1 and BAR2 also works on the host side.
Read of DMA scratch at 0xFD0F0050 with devmem always return 0x0 regardless of the value written.
I have tried disabling the power management mechanism in the kernel but this did not help.
I have also tried enabling the FPD DMA domain by setting the register 0xFD1A00B8 to 0x1000200. This also did not help. This set Clock enable on.
The key finding in the source code was enabling the FPD DMA domain with the below register.
const unsigned int FPD_DMA_REF_CTRL_ADDR = 0xFD1A00B8;
FPD_DMA_REF_CTRL will be set to 0x1000200
What else do I need to do to get devmem write to DMA scratch at 0xFD0F0050 to work?
The below shows devmem working to AXIPCIe Main Base registers but not to DMA scratch register at 0xFD0F0050.