144 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (c) 2020 MediaTek Inc.3%YAML 1.24---5$id: http://devicetree.org/schemas/memory-controllers/mediatek,smi-larb.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: SMI (Smart Multimedia Interface) Local Arbiter9 10maintainers:11 - Yong Wu <yong.wu@mediatek.com>12 13description: |14 The hardware block diagram please check bindings/iommu/mediatek,iommu.yaml15 16properties:17 compatible:18 oneOf:19 - enum:20 - mediatek,mt2701-smi-larb21 - mediatek,mt2712-smi-larb22 - mediatek,mt6779-smi-larb23 - mediatek,mt6795-smi-larb24 - mediatek,mt8167-smi-larb25 - mediatek,mt8173-smi-larb26 - mediatek,mt8183-smi-larb27 - mediatek,mt8186-smi-larb28 - mediatek,mt8188-smi-larb29 - mediatek,mt8192-smi-larb30 - mediatek,mt8195-smi-larb31 32 - description: for mt762333 items:34 - const: mediatek,mt7623-smi-larb35 - const: mediatek,mt2701-smi-larb36 37 - items:38 - const: mediatek,mt8365-smi-larb39 - const: mediatek,mt8186-smi-larb40 41 reg:42 maxItems: 143 44 clocks:45 description: |46 apb and smi are mandatory. gals(global async local sync) is optional.47 minItems: 248 items:49 - description: apb is Advanced Peripheral Bus clock, It's the clock for50 setting the register.51 - description: smi is the clock for transfer data and command.52 - description: the clock for gals.53 54 clock-names:55 minItems: 256 maxItems: 357 58 power-domains:59 maxItems: 160 61 mediatek,smi:62 $ref: /schemas/types.yaml#/definitions/phandle63 description: a phandle to the smi_common node.64 65 mediatek,larb-id:66 $ref: /schemas/types.yaml#/definitions/uint3267 minimum: 068 maximum: 3169 description: the hardware id of this larb. It's only required when this70 hardware id is not consecutive from its M4U point of view.71 72required:73 - compatible74 - reg75 - clocks76 - clock-names77 - power-domains78 79allOf:80 - if: # HW has gals81 properties:82 compatible:83 enum:84 - mediatek,mt8183-smi-larb85 - mediatek,mt8186-smi-larb86 - mediatek,mt8188-smi-larb87 - mediatek,mt8195-smi-larb88 89 then:90 properties:91 clocks:92 minItems: 293 maxItems: 394 clock-names:95 minItems: 296 items:97 - const: apb98 - const: smi99 - const: gals100 101 else:102 properties:103 clocks:104 minItems: 2105 maxItems: 2106 clock-names:107 items:108 - const: apb109 - const: smi110 111 - if:112 properties:113 compatible:114 contains:115 enum:116 - mediatek,mt2701-smi-larb117 - mediatek,mt2712-smi-larb118 - mediatek,mt6779-smi-larb119 - mediatek,mt8186-smi-larb120 - mediatek,mt8188-smi-larb121 - mediatek,mt8192-smi-larb122 - mediatek,mt8195-smi-larb123 124 then:125 required:126 - mediatek,larb-id127 128additionalProperties: false129 130examples:131 - |+132 #include <dt-bindings/clock/mt8173-clk.h>133 #include <dt-bindings/power/mt8173-power.h>134 135 larb1: larb@16010000 {136 compatible = "mediatek,mt8173-smi-larb";137 reg = <0x16010000 0x1000>;138 mediatek,smi = <&smi_common>;139 power-domains = <&scpsys MT8173_POWER_DOMAIN_VDEC>;140 clocks = <&vdecsys CLK_VDEC_CKEN>,141 <&vdecsys CLK_VDEC_LARB_CKEN>;142 clock-names = "apb", "smi";143 };144