From 5bba78ef8504f92b65ee85d724eca32671bd55d2 Mon Sep 17 00:00:00 2001 From: lipengfei28 Date: Mon, 11 Aug 2025 16:05:59 +0800 Subject: [PATCH] arch/arm64: imx9 add pci dma space and pci outbound space pci dma space used for pci inbound addr pci outbound and outbound space need create page table Signed-off-by: lipengfei28 --- arch/arm64/include/imx9/chip.h | 8 ++++++++ arch/arm64/src/imx9/imx9_boot.c | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/arch/arm64/include/imx9/chip.h b/arch/arm64/include/imx9/chip.h index 02e7ab75a97..82fdcfb4267 100644 --- a/arch/arm64/include/imx9/chip.h +++ b/arch/arm64/include/imx9/chip.h @@ -67,6 +67,14 @@ #endif #define CONFIG_RAMBANK1_SIZE MB(128) +#if defined(CONFIG_ARCH_CHIP_IMX95) +#define CONFIG_PCI_DMA_ADDR 0xa8100000 +#define CONFIG_PCI_DMA_SIZE MB(32) + +#define CONFIG_PCI_OB_ADDR 0xa00000000 +#define CONFIG_PCI_OB_SIZE GB(1) +#endif + #define CONFIG_DEVICEIO_BASEADDR 0x40000000 #define CONFIG_DEVICEIO_SIZE MB(512) diff --git a/arch/arm64/src/imx9/imx9_boot.c b/arch/arm64/src/imx9/imx9_boot.c index 6e207dae361..3110f0c0655 100644 --- a/arch/arm64/src/imx9/imx9_boot.c +++ b/arch/arm64/src/imx9/imx9_boot.c @@ -66,6 +66,17 @@ static const struct arm_mmu_region g_mmu_regions[] = CONFIG_RAMBANK1_ADDR, CONFIG_RAMBANK1_SIZE, MT_NORMAL | MT_RW | MT_SECURE), +#if defined(CONFIG_ARCH_CHIP_IMX95) + + MMU_REGION_FLAT_ENTRY("PCI_DMA", + CONFIG_PCI_DMA_ADDR, CONFIG_PCI_DMA_SIZE, + MT_NORMAL_NC | MT_RW | MT_SECURE), + + MMU_REGION_FLAT_ENTRY("PCI_OB", + CONFIG_PCI_OB_ADDR, CONFIG_PCI_OB_SIZE, + MT_NORMAL_NC | MT_RW | MT_SECURE), +#endif + #if defined(CONFIG_ARCH_CHIP_IMX93) #ifndef CONFIG_IMX9_DDR_TRAINING /* OCRAM set at arm64_mmu.c */ MMU_REGION_FLAT_ENTRY("OCRAM",