18c2ecf20Sopenharmony_ciSMI (Smart Multimedia Interface) Local Arbiter
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe hardware block diagram please check bindings/iommu/mediatek,iommu.txt
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciRequired properties:
68c2ecf20Sopenharmony_ci- compatible : must be one of :
78c2ecf20Sopenharmony_ci		"mediatek,mt2701-smi-larb"
88c2ecf20Sopenharmony_ci		"mediatek,mt2712-smi-larb"
98c2ecf20Sopenharmony_ci		"mediatek,mt6779-smi-larb"
108c2ecf20Sopenharmony_ci		"mediatek,mt7623-smi-larb", "mediatek,mt2701-smi-larb"
118c2ecf20Sopenharmony_ci		"mediatek,mt8167-smi-larb"
128c2ecf20Sopenharmony_ci		"mediatek,mt8173-smi-larb"
138c2ecf20Sopenharmony_ci		"mediatek,mt8183-smi-larb"
148c2ecf20Sopenharmony_ci- reg : the register and size of this local arbiter.
158c2ecf20Sopenharmony_ci- mediatek,smi : a phandle to the smi_common node.
168c2ecf20Sopenharmony_ci- power-domains : a phandle to the power domain of this local arbiter.
178c2ecf20Sopenharmony_ci- clocks : Must contain an entry for each entry in clock-names.
188c2ecf20Sopenharmony_ci- clock-names: must contain 2 entries, as follows:
198c2ecf20Sopenharmony_ci  - "apb" : Advanced Peripheral Bus clock, It's the clock for setting
208c2ecf20Sopenharmony_ci	    the register.
218c2ecf20Sopenharmony_ci  - "smi" : It's the clock for transfer data and command.
228c2ecf20Sopenharmony_ci  and this optional clock name:
238c2ecf20Sopenharmony_ci  - "gals": the clock for GALS(Global Async Local Sync).
248c2ecf20Sopenharmony_ci  Here is the list which has this GALS: mt8183.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciRequired property for mt2701, mt2712, mt6779, mt7623 and mt8167:
278c2ecf20Sopenharmony_ci- mediatek,larb-id :the hardware id of this larb.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci	larb1: larb@16010000 {
318c2ecf20Sopenharmony_ci		compatible = "mediatek,mt8173-smi-larb";
328c2ecf20Sopenharmony_ci		reg = <0 0x16010000 0 0x1000>;
338c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common>;
348c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT8173_POWER_DOMAIN_VDEC>;
358c2ecf20Sopenharmony_ci		clocks = <&vdecsys CLK_VDEC_CKEN>,
368c2ecf20Sopenharmony_ci			 <&vdecsys CLK_VDEC_LARB_CKEN>;
378c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
388c2ecf20Sopenharmony_ci	};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciExample for mt2701:
418c2ecf20Sopenharmony_ci	larb0: larb@14010000 {
428c2ecf20Sopenharmony_ci		compatible = "mediatek,mt2701-smi-larb";
438c2ecf20Sopenharmony_ci		reg = <0 0x14010000 0 0x1000>;
448c2ecf20Sopenharmony_ci		mediatek,smi = <&smi_common>;
458c2ecf20Sopenharmony_ci		mediatek,larb-id = <0>;
468c2ecf20Sopenharmony_ci		clocks = <&mmsys CLK_MM_SMI_LARB0>,
478c2ecf20Sopenharmony_ci			 <&mmsys CLK_MM_SMI_LARB0>;
488c2ecf20Sopenharmony_ci		clock-names = "apb", "smi";
498c2ecf20Sopenharmony_ci		power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>;
508c2ecf20Sopenharmony_ci	};
51