diff options
author | Yu Chien Peter Lin <peterlin@andestech.com> | 2024-02-22 16:39:39 +0800 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-02-23 09:57:42 +0100 |
commit | f4cc33e78ba8624a79ba8dea98ce5c85aa9ca33c (patch) | |
tree | cded1ff1e97ef56bcfecf183dd64055fa7cb7cb7 /arch/riscv/errata | |
parent | 96303bcb401c21dc1426d8d9bb1fc74aae5c02a9 (diff) |
irqchip/riscv-intc: Introduce Andes hart-level interrupt controller
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
Diffstat (limited to 'arch/riscv/errata')
0 files changed, 0 insertions, 0 deletions