linux/include/linux/soc
Yu Chien Peter Lin 85ca483e72 irqchip/riscv-intc: Introduce Andes hart-level interrupt controller
[ Upstream commit f4cc33e78b ]

Add support for the Andes hart-level interrupt controller. This
controller provides interrupt mask/unmask functions to access the
custom register (SLIE) where the non-standard S-mode local interrupt
enable bits are located. The base of custom interrupt number is set
to 256.

To share the riscv_intc_domain_map() with the generic RISC-V INTC and
ACPI, add a chip parameter to riscv_intc_init_common(), so it can be
passed to the irq_domain_set_info() as a private data.

Andes hart-level interrupt controller requires the "andestech,cpu-intc"
compatible string to be present in interrupt-controller of cpu node to
enable the use of custom local interrupt source.
e.g.,

  cpu0: cpu@0 {
      compatible = "andestech,ax45mp", "riscv";
      ...
      cpu0-intc: interrupt-controller {
          #interrupt-cells = <0x01>;
          compatible = "andestech,cpu-intc", "riscv,cpu-intc";
          interrupt-controller;
      };
  };

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Randolph <randolph@andestech.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20240222083946.3977135-4-peterlin@andestech.com
Stable-dep-of: 0110c4b110 ("irqchip/riscv-intc: Prevent memory leak when riscv_intc_init_common() fails")
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-06-21 14:38:22 +02:00
..
actions soc: actions: owl-sps: Factor out owl_sps_set_pg() for power-gating 2017-06-23 17:43:27 +02:00
amlogic drm/meson: drop use of drmP.h 2019-07-17 12:47:57 +02:00
andes irqchip/riscv-intc: Introduce Andes hart-level interrupt controller 2024-06-21 14:38:22 +02:00
apple soc: apple: rtkit: Export non-devm init/free functions 2023-01-31 20:40:14 +09:00
brcmstb soc: bcm: brcmstb: add stubs for getting platform IDs 2021-01-20 12:07:23 -08:00
cirrus ARM: ep93xx: move pinctrl interfaces into include/linux/soc 2019-04-28 23:08:40 -07:00
dove License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ixp4xx ARM: ixp4xx: Remove feature bit accessors 2022-02-12 18:20:04 +01:00
marvell/octeontx2 marvell: octeontx2: build error: unknown type name 'u64' 2021-10-13 13:25:36 -07:00
mediatek soc: mediatek: remove DDP_DOMPONENT_DITHER from enum 2023-06-09 16:40:29 +02:00
mmp ARM: mmp: remove old PM support 2023-01-16 09:26:05 +01:00
nxp serial: lpc32xx: allow compile testing 2019-08-15 21:34:02 +02:00
pxa ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
qcom This pull request is full of clk driver changes. In fact, there aren't any 2023-08-30 19:53:39 -07:00
renesas clk: renesas: r9a06g032: Export function to set dmamux 2022-05-19 22:34:51 +05:30
samsung ARM: s3c: remove obsolete s3c-cpu-freq header 2023-02-01 17:29:30 +01:00
sunxi soc: sunxi: sram: Return void from the release function 2022-09-18 22:54:02 +02:00
ti ARM: omap1: remove dead code 2023-01-12 10:53:11 +01:00