drivers: dma: siwx91x: Use DT to declare descriptors
Silabs siwx91x hardware use specific memory areas to store descriptors for DMA requests. These areas are tightly coupled between the CPU and the hardware. This helps in reducing the wait cycles. Until now these addresses was also hard coded in the DT and in the linker script. This patch leverage the zephyr,memory-region driver to centralize the information in the DT. Then, with this new implementation, the memory mapping is easier to understand for the reader. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This commit is contained in:
parent
95ac568ed0
commit
164bbdf294
4 changed files with 23 additions and 29 deletions
|
@ -5,29 +5,10 @@
|
|||
*/
|
||||
#include <zephyr/arch/arm/cortex_m/scripts/linker.ld>
|
||||
|
||||
MEMORY
|
||||
{
|
||||
udma0 (rwx) : ORIGIN = 0x0002fc00, LENGTH = 0x00000400
|
||||
udma1 (rwx) : ORIGIN = 0x24061c00, LENGTH = 0x00000400
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.common_tcm_code :
|
||||
{
|
||||
*(.common_tcm_code*)
|
||||
} > FLASH
|
||||
|
||||
/* These regions of SRAM is where the UDMA descriptors are stored. The corresponding
|
||||
section must be properly declared in the linker script to ensure correct data transfer
|
||||
and proper functioning of the UDMA module */
|
||||
.udma_addr0 :
|
||||
{
|
||||
*(.udma_addr0*)
|
||||
} > udma0 AT> FLASH
|
||||
|
||||
.udma_addr1 :
|
||||
{
|
||||
*(.udma_addr1*)
|
||||
} > udma1 AT> FLASH
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue