linux/Documentation/devicetree/bindings/memory-controllers
Yong Wu 29746d0125 dt-bindings: mediatek: Add binding for mt8183 IOMMU and SMI
This patch adds decriptions for mt8183 IOMMU and SMI.

mt8183 has only one M4U like mt8173 and is also MTK IOMMU gen2 which
uses ARM Short-Descriptor translation table format.

The mt8183 M4U-SMI HW diagram is as below:

                          EMI
                           |
                          M4U
                           |
                       ----------
                       |        |
                   gals0-rx   gals1-rx
                       |        |
                       |        |
                   gals0-tx   gals1-tx
                       |        |
                      ------------
                       SMI Common
                      ------------
                           |
  +-----+-----+--------+-----+-----+-------+-------+
  |     |     |        |     |     |       |       |
  |     |  gals-rx  gals-rx  |   gals-rx gals-rx gals-rx
  |     |     |        |     |     |       |       |
  |     |     |        |     |     |       |       |
  |     |  gals-tx  gals-tx  |   gals-tx gals-tx gals-tx
  |     |     |        |     |     |       |       |
larb0 larb1  IPU0    IPU1  larb4  larb5  larb6    CCU
disp  vdec   img     cam    venc   img    cam

All the connections are HW fixed, SW can NOT adjust it.

Compared with mt8173, we add a GALS(Global Async Local Sync) module
between SMI-common and M4U, and additional GALS between larb2/3/5/6
and SMI-common. GALS can help synchronize for the modules in different
clock frequency, it can be seen as a "asynchronous fifo".

GALS can only help transfer the command/data while it doesn't have
the configuring register, thus it has the special "smi" clock and it
doesn't have the "apb" clock. From the diagram above, we add "gals0"
and "gals1" clocks for smi-common and add a "gals" clock for smi-larb.

>From the diagram above, IPU0/IPU1(Image Processor Unit) and CCU(Camera
Control Unit) is connected with smi-common directly, we can take them
as "larb2", "larb3" and "larb7", and their register spaces are
different with the normal larb.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Evan Green <evgreen@chromium.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2019-08-30 15:57:26 +02:00
..
fsl dt-bindings: memory-controllers: freescale: add MMDC binding doc 2019-03-21 13:49:53 +08:00
ti dt-bindings: memory: ti-emif: add edac support under emif 2018-03-05 16:18:49 -08:00
arm,pl172.txt doc: dt: arm,pl172: add description of PL175 and PL176 controllers 2015-09-29 22:19:02 +02:00
ath79-ddr-controller.txt dt-bindings: Misc fix for the ATH79 DDR controllers 2015-12-09 15:30:55 -06:00
atmel,ebi.txt dt-bindings: memory: atmel-ebi: add sam9x60 compatible 2019-03-21 16:45:01 +01:00
brcm,dpfe-cpu.txt dt-bindings: Add bindings for Broadcom STB DRAM Sensors 2017-09-18 11:59:38 -07:00
calxeda-ddr-ctrlr.txt dt-bindings: move Calxeda bindings to appropriate subsystems 2015-10-22 09:21:24 -05:00
exynos-srom.txt dt-bindings: EXYNOS: Add exynos-srom device tree binding 2016-04-18 14:25:22 +02:00
ingenic,jz4780-nemc.txt dt-bindings: memory: jz4780: Add compatible string for JZ4740 SoC 2019-06-21 16:08:19 +02:00
mediatek,smi-common.txt dt-bindings: mediatek: Add binding for mt8183 IOMMU and SMI 2019-08-30 15:57:26 +02:00
mediatek,smi-larb.txt dt-bindings: mediatek: Add binding for mt8183 IOMMU and SMI 2019-08-30 15:57:26 +02:00
mvebu-devbus.txt dt-bindings: Remove "status" from examples 2017-09-05 10:03:06 -05:00
mvebu-sdram-controller.txt Documentation: dt-bindings: minimal documentation for MVEBU SDRAM controller 2014-11-22 01:03:57 +00:00
nvidia,tegra20-emc.txt dt: bindings: Move tegra20-emc binding to memory-controllers directory 2018-11-08 12:48:23 +01:00
nvidia,tegra20-mc.txt dt-bindings: memory: tegra: Squash tegra20-gart into tegra20-mc 2019-01-16 13:54:09 +01:00
nvidia,tegra30-mc.txt dt-bindings: memory: tegra: Document #reset-cells property of the Tegra30 MC 2018-04-27 11:14:12 +02:00
nvidia,tegra124-emc.txt dt-bindings: tegra: Rename some bindings for consistency 2016-04-19 17:25:19 -05:00
omap-gpmc.txt ARM: OMAP2+: Update GPMC and NAND DT binding documentation 2016-05-30 10:03:18 +02:00
pl353-smc.txt dt-bindings: memory: Add pl353 smc controller devicetree binding information 2018-12-13 16:03:41 +01:00
renesas-memory-controllers.txt ARM: shmobile: dt: Rename incorrect interrupt related binding 2015-10-02 11:16:02 +09:00
renesas,h8300-bsc.txt h8300: kernel startup 2015-06-23 13:35:51 +09:00
synopsys.txt dt: bindings: Document ZynqMP DDRC in Synopsys documentation 2018-11-05 13:39:20 +01:00
ti-aemif.txt dt-bindings: Use lower case hex in unit-addresses 2017-12-26 10:37:05 -06:00
ti-da8xx-ddrctl.txt memory: davinci: add support for da8xx DDR2/mDDR controller 2016-11-14 17:18:34 +05:30