[PATCH v3 0/4] MediaTek CIRQ: new register layout and schema

From: AngeloGioacchino Del Regno
Date: Mon Nov 28 2022 - 04:22:28 EST


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