| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/iommu/ |
| D | mediatek,iommu.txt | 3 Some Mediatek SOCs contain a Multimedia Memory Management Unit (M4U), and 4 this M4U have two generations of HW architecture. Generation one uses flat 8 About the M4U Hardware Block Diagram, please check below: 12 m4u (Multimedia Memory Management Unit) 42 As above, The Multimedia HW will go through SMI and M4U while it 43 access EMI. SMI is a bridge between m4u and the Multimedia HW. It contain 45 HW should go though the m4u for translation or bypass it and talk 53 smi-common and m4u, and additional GALS module between smi-larb and 59 "mediatek,mt2701-m4u" for mt2701 which uses generation one m4u HW. 60 "mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW. [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/iommu/ |
| D | mediatek,iommu.yaml | 13 Some MediaTek SOCs contain a Multimedia Memory Management Unit (M4U), and 14 this M4U have two generations of HW architecture. Generation one uses flat 18 About the M4U Hardware Block Diagram, please check below: 22 m4u (Multimedia Memory Management Unit) 52 As above, The Multimedia HW will go through SMI and M4U while it 53 access EMI. SMI is a bridge between m4u and the Multimedia HW. It contain 55 HW should go though the m4u for translation or bypass it and talk 65 smi-common and m4u, and additional GALS module between smi-larb and 73 - mediatek,mt2701-m4u # generation one 74 - mediatek,mt2712-m4u # generation two [all …]
|
| /kernel/linux/linux-5.10/drivers/iommu/ |
| D | mtk_iommu.c | 136 * In M4U 4GB mode, the physical address is remapped as below: 152 * The Region 'A'(I/O) can NOT be mapped by M4U; For Region 'B'/'C'/'D', the 159 static LIST_HEAD(m4ulist); /* List all the M4U HWs */ 164 * There may be 1 or 2 M4U HWs, But we always expect they are in the same domain 167 * Here always return the mtk_iommu_data of the first probed M4U where the 394 /* Update the pgtable base address register of the M4U HW */ in mtk_iommu_attach_device() 422 /* The "4GB mode" M4U physically can not use the lower remap of Dram. */ in mtk_iommu_map() 501 /* All the client devices are in the same m4u iommu-group */ in mtk_iommu_device_group() 505 dev_err(dev, "Failed to allocate M4U IOMMU group\n"); in mtk_iommu_device_group() 523 /* Get the m4u device */ in mtk_iommu_of_xlate() [all …]
|
| D | Kconfig | 353 Support for the M4U on certain Mediatek SOCs. M4U is MultiMedia 360 bool "MTK IOMMU Version 1 (M4U gen1) Support" 368 Support for the M4U on certain Mediatek SoCs. M4U generation 1 HW is
|
| D | mtk_iommu_v1.c | 3 * IOMMU API for MTK architected m4u v1 implementations 86 * MTK m4u support 4GB iova address space, and only support 4K page 390 /* Get the m4u device */ in mtk_iommu_create_mapping() 535 { .compatible = "mediatek,mt2701-m4u", },
|
| /kernel/linux/linux-6.6/include/dt-bindings/memory/ |
| D | mt2701-larb-port.h | 11 * Mediatek m4u generation 1 such as mt2701 has flat m4u port numbers, 15 * But m4u generation 2 like mt8173 have different port number, it use fixed
|
| /kernel/linux/linux-5.10/include/dt-bindings/memory/ |
| D | mt2701-larb-port.h | 11 * Mediatek m4u generation 1 such as mt2701 has flat m4u port numbers, 15 * But m4u generation 2 like mt8173 have different port number, it use fixed
|
| /kernel/linux/linux-6.6/drivers/iommu/ |
| D | Kconfig | 431 Support for the M4U on certain Mediatek SOCs. M4U is MultiMedia 438 tristate "MediaTek IOMMU Version 1 (M4U gen1) Support" 446 Support for the M4U on certain Mediatek SoCs. M4U generation 1 HW is
|
| D | mtk_iommu.c | 314 * In M4U 4GB mode, the physical address is remapped as below: 330 * The Region 'A'(I/O) can NOT be mapped by M4U; For Region 'B'/'C'/'D', the 337 static LIST_HEAD(m4ulist); /* List all the M4U HWs */ 364 /* If 2 M4U share a domain(use the same hwlist), Put the corresponding info in first data.*/ 745 if (!bank->m4u_dom) { /* Initialize the M4U HW for each a BANK */ in mtk_iommu_attach_device() 785 /* The "4GB mode" M4U physically can not use the lower remap of Dram. */ in mtk_iommu_map() 956 /* Get the m4u device */ in mtk_iommu_of_xlate() 1759 { .compatible = "mediatek,mt2712-m4u", .data = &mt2712_data}, 1760 { .compatible = "mediatek,mt6779-m4u", .data = &mt6779_data}, 1761 { .compatible = "mediatek,mt6795-m4u", .data = &mt6795_data}, [all …]
|
| D | mtk_iommu_v1.c | 3 * IOMMU API for MTK architected m4u v1 implementations 84 * MTK m4u support 4GB iova address space, and only support 4K page 417 /* Get the m4u device */ in mtk_iommu_v1_create_mapping() 600 { .compatible = "mediatek,mt2701-m4u", }, 763 MODULE_DESCRIPTION("IOMMU API for MediaTek M4U v1 implementations");
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/mediatek/ |
| D | mt8167.dtsi | 172 iommu: m4u@10203000 { 173 compatible = "mediatek,mt8167-m4u";
|
| D | mt2712e.dtsi | 326 compatible = "mediatek,mt2712-m4u"; 344 compatible = "mediatek,mt2712-m4u";
|
| D | mt6795.dtsi | 406 compatible = "mediatek,mt6795-m4u";
|
| D | mt8192.dtsi | 1596 iommu0: m4u@1401d000 { 1597 compatible = "mediatek,mt8192-m4u";
|
| D | mt8173.dtsi | 577 compatible = "mediatek,mt8173-m4u";
|
| D | mt8183.dtsi | 1058 compatible = "mediatek,mt8183-m4u";
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/mediatek/ |
| D | mt7623n.dtsi | 104 compatible = "mediatek,mt7623-m4u", 105 "mediatek,mt2701-m4u";
|
| D | mt2701.dtsi | 219 compatible = "mediatek,mt2701-m4u";
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | mt7623n.dtsi | 104 compatible = "mediatek,mt7623-m4u", 105 "mediatek,mt2701-m4u";
|
| D | mt2701.dtsi | 220 compatible = "mediatek,mt2701-m4u";
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/memory-controllers/ |
| D | mediatek,smi-larb.yaml | 70 hardware id is not consecutive from its M4U point of view.
|
| /kernel/linux/linux-5.10/drivers/memory/ |
| D | mtk-smi.c | 209 /* do not need to enable m4u for this port */ in mtk_smi_larb_config_port_gen1() 496 * m4u port, and we need to enable the aync clock for transform the smi in mtk_smi_common_probe()
|
| /kernel/linux/linux-6.6/drivers/memory/ |
| D | mtk-smi.c | 208 /* do not need to enable m4u for this port */ in mtk_smi_larb_config_port_gen1() 764 * m4u port, and we need to enable the aync clock for transform the smi in mtk_smi_common_probe()
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/mediatek/ |
| D | mt2712e.dtsi | 327 compatible = "mediatek,mt2712-m4u"; 344 compatible = "mediatek,mt2712-m4u";
|
| D | mt8173.dtsi | 520 compatible = "mediatek,mt8173-m4u";
|