Based on kernel version 7.0. Page generated on 2026-04-23 09:49 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/spmi/mediatek,mt8196-spmi.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: MediaTek MT8196 SPMI 2.0 Controller maintainers: - Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com> - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> description: The MediaTek MT8196 SoC features a SPMI version 2.0 compliant controller, with internal wrapping arbitration logic to allow for multiple on-chip devices to control up to two SPMI buses. The main arbiter also acts as an interrupt controller, arbitering also the interrupts coming from SPMI-connected devices into each of the nested interrupt controllers from any of the present SPMI buses. properties: compatible: oneOf: - enum: - mediatek,mt8196-spmi - items: - enum: - mediatek,mt6991-spmi - const: mediatek,mt8196-spmi ranges: true '#address-cells': const: 1 '#size-cells': const: 1 patternProperties: "^spmi@[a-f0-9]+$": type: object $ref: /schemas/spmi/spmi.yaml unevaluatedProperties: false properties: reg: items: - description: controller interface registers - description: spmi master controller registers reg-names: items: - const: pmif - const: spmimst clocks: items: - description: controller interface system clock - description: controller interface timer clock - description: spmi controller master clock clock-names: items: - const: pmif_sys_ck - const: pmif_tmr_ck - const: spmimst_clk_mux interrupts: maxItems: 1 interrupt-names: const: rcs interrupt-controller: true "#interrupt-cells": const: 3 description: | cell 1: slave ID for the requested interrupt (0-15) cell 2: the requested peripheral interrupt (0-7) cell 3: interrupt flags indicating level-sense information, as defined in dt-bindings/interrupt-controller/irq.h required: - reg - reg-names - clocks - clock-names - interrupts - interrupt-names - interrupt-controller - "#interrupt-cells" required: - compatible - ranges - '#address-cells' - '#size-cells' additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> soc { #address-cells = <2>; #size-cells = <2>; spmi-arbiter@1c018000 { compatible = "mediatek,mt8196-spmi"; ranges = <0 0 0x1c018000 0x4900>; #address-cells = <1>; #size-cells = <1>; spmi@0 { reg = <0 0x900>, <0x4800 0x100>; reg-names = "pmif", "spmimst"; interrupts-extended = <&pio 292 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "rcs"; interrupt-controller; #interrupt-cells = <3>; clocks = <&pmif_sys>, <&pmif_tmr>, <&spmi_mst>; clock-names = "pmif_sys_ck", "pmif_tmr_ck", "spmimst_clk_mux"; }; spmi@2000 { reg = <0x2000 0x900>, <0x4000 0x100>; reg-names = "pmif", "spmimst"; interrupts-extended = <&pio 291 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "rcs"; interrupt-controller; #interrupt-cells = <3>; clocks = <&pmif_sys>, <&pmif_tmr>, <&spmi_mst>; clock-names = "pmif_sys_ck", "pmif_tmr_ck", "spmimst_clk_mux"; }; }; }; ... |