HAL_I2C_Mem_Read_DMA not working on STM32H723
Hi all,
I have been trying to get I2C DMA working on an STM32H723 for a few days now. It works perfectly when using blocking mode (using HAL_I2C_Mem_Read), but when I try to use HAL_I2C_Mem_Read_DMA it returns success, but doesn't actually do the read part of the transaction. Also using HAL_I2C_Mem_Write_DMA works fine.
Looking at a logic analyzer when I execute
retval = HAL_I2C_Mem_Read(&hi2c1, 0x60, 0x2F, I2C_MEMADD_SIZE_8BIT, data, size, 1000);
I see this

But if I use the DMA version
retval = HAL_I2C_Mem_Read_DMA(&hi2c1, 0x60, 0x2F, I2C_MEMADD_SIZE_8BIT, data, size);
I get this

This call is failing to issue the restart and do the read. It also leaves SCL low which should not happen.
Is there something I am doing wrong or is the HAL_I2C_Mem_Read_DMA function broken?
Any help would be much appreciated.
Cheers
Simon
