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",