On newer SoCs (like MT8192/95 and also other non-chromebook chips), the MediaTek CIRQ controller has a new register layout: this series adds some more flexibility to the irq-mtk-cirq driver, allowing to select the register layout based on a SoC-specific compatible. While at it, I've also performed a schema conversion .. because why not. This was tested on MT8173 Elm, MT8192 Asurada, MT8195 Tomato (both MT8192 and MT8195 require devicetree work to actually make use of the CIRQ, not included in this series - while MT8173 has it already). Changes in v3: - Renamed mtk_cirq_regs_xxx to mtk_cirq_regoffs_xxx Changes in v2: - Used the right base patches, as something went wrong in v1 (sorry!) - [1/4] Fixed items for mediatek,ext-irq-range - [3/4] Renamed `regs` to `offsets`, as it's effectively a register offsets (and not registers) array - [3/4] Added mtk_cirq_reg() accessor - [3/4] Added all supported compatible strings to of_device_id - [3/4] Fixed mtk_cirq_reg_index enumeration to not assign 0 to the first index (as it's 0 by default), removed meaningless CIRQ_MAX index - [4/4] Now this patch only adds the `v2` offsets and a compatible string "mediatek,mt8192-cirq". AngeloGioacchino Del Regno (4): dt-bindings: interrupt-controller: mediatek,cirq: Migrate to dt schema dt-bindings: interrupt-controller: mediatek,cirq: Document MT8192 irqchip: irq-mtk-cirq: Move register offsets to const array irqchip: irq-mtk-cirq: Add support for System CIRQ on MT8192 .../interrupt-controller/mediatek,cirq.txt | 33 ------- .../mediatek,mtk-cirq.yaml | 68 +++++++++++++ drivers/irqchip/irq-mtk-cirq.c | 95 +++++++++++++++---- 3 files changed, 146 insertions(+), 50 deletions(-) delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/mediatek,cirq.txt create mode 100644 Documentation/devicetree/bindings/interrupt-controller/mediatek,mtk-cirq.yaml -- 2.38.1