/Linux-v6.1/arch/arm/boot/dts/ |
D | spear600.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 #address-cells = <1>; 8 #size-cells = <1>; 12 #address-cells = <0>; 13 #size-cells = <0>; 16 compatible = "arm,arm926ej-s"; 27 #address-cells = <1>; 28 #size-cells = <1>; 29 compatible = "simple-bus"; 32 vic0: interrupt-controller@f1100000 { [all …]
|
D | spear320.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 #address-cells = <1>; 13 #size-cells = <1>; 14 compatible = "simple-bus"; 19 compatible = "st,spear320-pinmux"; 21 #gpio-range-cells = <3>; 28 interrupt-parent = <&shirq>; 33 compatible = "st,spear600-fsmc-nand"; 34 #address-cells = <1>; 35 #size-cells = <1>; [all …]
|
D | spear310.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 #address-cells = <1>; 13 #size-cells = <1>; 14 compatible = "simple-bus"; 20 compatible = "st,spear310-pinmux"; 22 #gpio-range-cells = <3>; 26 compatible = "st,spear600-fsmc-nand"; 27 #address-cells = <1>; 28 #size-cells = <1>; 30 0x40000000 0x0010 /* NAND Base DATA */ [all …]
|
/Linux-v6.1/drivers/irqchip/ |
D | irq-sni-exiu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for Socionext External Interrupt Unit (EXIU) 5 * Copyright (c) 2017-2019 Linaro, Ltd. <ard.biesheuvel@linaro.org> 7 * Based on irq-tegra.c: 12 #include <linux/interrupt.h> 22 #include <dt-bindings/interrupt-controller/arm-gic.h> 36 void __iomem *base; member 44 writel(BIT(d->hwirq), data->base + EIREQCLR); in exiu_irq_ack() 53 * EOI or the interrupt will be jammed on. Of course if a level in exiu_irq_eoi() 54 * triggered interrupt is still asserted then the write will not clear in exiu_irq_eoi() [all …]
|
D | irq-bcm2835.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 * If an interrupt fires on bank 1 that isn't in the shortcuts list, bit 8 9 * on bank 0 is set to signify that an interrupt in bank 1 has fired, and 12 * If an interrupt fires on bank 1 that _is_ in the shortcuts list, its 13 * shortcut bit in bank 0 is set as well as its interrupt bit in the bank 1 18 * In a proper cascaded interrupt controller, the interrupt lines with 19 * cascaded interrupt controllers on them are just normal interrupt lines. 30 * Bits 0-6: IRQ (index in order of interrupts from banks 1, 2, then 0) 34 * An interrupt must be disabled before configuring it for FIQ generation 80 void __iomem *base; member [all …]
|
D | irq-owl-sirq.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Actions Semi Owl SoCs SIRQ interrupt controller driver 6 * David Liu <liuwei@actions-semi.com> 14 #include <linux/interrupt.h> 19 #include <dt-bindings/interrupt-controller/arm-gic.h> 37 /* S900 SIRQ control register offsets, relative to controller base address */ 45 /* INTC_EXTCTL reg offsets relative to controller base address */ 51 void __iomem *base; member 98 val = readl_relaxed(data->base + data->params->reg_offset[index]); in owl_sirq_read_extctl() 99 if (data->params->reg_shared) in owl_sirq_read_extctl() [all …]
|
D | irq-al-fic.c | 1 // SPDX-License-Identifier: GPL-2.0 28 MODULE_DESCRIPTION("Amazon's Annapurna Labs Interrupt Controller Driver"); 38 void __iomem *base; member 50 u32 control = readl_relaxed(fic->base + AL_FIC_CONTROL); in al_fic_set_trigger() 59 gc->chip_types->handler = handler; in al_fic_set_trigger() 60 fic->state = new_state; in al_fic_set_trigger() 61 writel_relaxed(control, fic->base + AL_FIC_CONTROL); in al_fic_set_trigger() 67 struct al_fic *fic = gc->private; in al_fic_irq_set_type() 76 ret = -EINVAL; in al_fic_irq_set_type() 92 if (fic->state == AL_FIC_UNCONFIGURED) { in al_fic_irq_set_type() [all …]
|
D | irq-renesas-rza1.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/interrupt.h> 19 #include <dt-bindings/interrupt-controller/arm-gic.h> 23 #define ICR0 0 /* Interrupt Control Register 0 */ 27 #define ICR0_NMIF BIT(1) /* NMI Interrupt Request */ 29 #define ICR1 2 /* Interrupt Control Register 1 */ 38 #define IRQRR 4 /* IRQ Interrupt Request Register */ 43 void __iomem *base; member 51 return data->domain->host_data; in irq_data_to_priv() 60 tmp = readw_relaxed(priv->base + IRQRR); in rza1_irqc_eoi() [all …]
|
D | irq-ti-sci-inta.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Texas Instruments' K3 Interrupt Aggregator irqchip driver 5 * Copyright (C) 2018-2019 Texas Instruments Incorporated - https://www.ti.com/ 14 #include <linux/interrupt.h> 24 #include <asm-generic/msi.h> 44 * struct ti_sci_inta_event_desc - Description of an event coming to 45 * Interrupt Aggregator. This serves 49 * @hwirq: Hwirq of the incoming interrupt 59 * struct ti_sci_inta_vint_desc - Description of a virtual interrupt coming out 60 * of Interrupt Aggregator. [all …]
|
D | irq-brcmstb-l2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic Broadcom Set Top Box Level 2 Interrupt controller driver 5 * Copyright (C) 2014-2017 Broadcom 19 #include <linux/interrupt.h> 35 /* Register offsets in the L2 latched interrupt controller */ 45 /* Register offsets in the L2 level interrupt controller */ 49 .cpu_clear = -1, /* Register not present */ 66 * brcmstb_l2_mask_and_ack - Mask and ack pending interrupt 70 * register and pending interrupt is acknowledged by setting a bit. 82 u32 mask = d->mask; in brcmstb_l2_mask_and_ack() [all …]
|
D | irq-bcm7120-l2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Broadcom BCM7120 style Level 2 interrupt controller driver 19 #include <linux/interrupt.h> 28 /* Register offset in the L2 interrupt controller */ 58 struct bcm7120_l2_intc_data *b = data->b; in bcm7120_l2_intc_irq_handle() 64 for (idx = 0; idx < b->n_words; idx++) { in bcm7120_l2_intc_irq_handle() 65 int base = idx * IRQS_PER_WORD; in bcm7120_l2_intc_irq_handle() local 67 irq_get_domain_generic_chip(b->domain, base); in bcm7120_l2_intc_irq_handle() 72 pending = irq_reg_readl(gc, b->stat_offset[idx]) & in bcm7120_l2_intc_irq_handle() 73 gc->mask_cache & in bcm7120_l2_intc_irq_handle() [all …]
|
D | irq-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver code for Tegra's Legacy Interrupt Controller 7 * Heavily based on the original arch/arm/mach-tegra/irq.c code: 24 #include <dt-bindings/interrupt-controller/arm-gic.h> 62 { .compatible = "nvidia,tegra210-ictlr", .data = &tegra210_ictlr_soc }, 63 { .compatible = "nvidia,tegra30-ictlr", .data = &tegra30_ictlr_soc }, 64 { .compatible = "nvidia,tegra20-ictlr", .data = &tegra20_ictlr_soc }, 69 void __iomem *base[TEGRA_MAX_NUM_ICTLRS]; member 84 void __iomem *base = (void __iomem __force *)d->chip_data; in tegra_ictlr_write_mask() local 87 mask = BIT(d->hwirq % 32); in tegra_ictlr_write_mask() [all …]
|
D | irq-ti-sci-intr.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Texas Instruments' K3 Interrupt Router irqchip driver 5 * Copyright (C) 2018-2019 Texas Instruments Incorporated - https://www.ti.com/ 21 * struct ti_sci_intr_irq_domain - Structure representing a TISCI based 22 * Interrupt Router IRQ domain. 26 * @ti_sci_id: TI-SCI device identifier 27 * @type: Specifies the trigger type supported by this Interrupt Router 48 * ti_sci_intr_irq_domain_translate() - Retrieve hwirq and type from 62 struct ti_sci_intr_irq_domain *intr = domain->host_data; in ti_sci_intr_irq_domain_translate() 64 if (fwspec->param_count != 1) in ti_sci_intr_irq_domain_translate() [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/net/dsa/ |
D | marvell.txt | 2 --------------------------------------- 17 which is at a different MDIO base address in different switch families. 18 - "marvell,mv88e6085" : Switch has base address 0x10. Use with models: 22 - "marvell,mv88e6190" : Switch has base address 0x00. Use with models: 24 - "marvell,mv88e6250" : Switch has base address 0x08 or 0x18. Use with model: 28 - compatible : Should be one of "marvell,mv88e6085", 31 - reg : Address on the MII bus for the switch. 35 - reset-gpios : Should be a gpio specifier for a reset line 36 - interrupts : Interrupt from the switch 37 - interrupt-controller : Indicates the switch is itself an interrupt [all …]
|
/Linux-v6.1/drivers/i2c/busses/ |
D | i2c-stm32f4.c | 1 // SPDX-License-Identifier: GPL-2.0 13 * This driver is based on i2c-st.c 21 #include <linux/interrupt.h> 31 #include "i2c-stm32.h" 97 * struct stm32f4_i2c_msg - client specific data 98 * @addr: 8-bit slave addr, including r/w bit 113 * struct stm32f4_i2c_dev - private data of the controller 116 * @base: virtual memory area 120 * @parent_rate: I2C clock parent rate in MHz 126 void __iomem *base; member [all …]
|
D | i2c-xiic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * i2c-xiic.c 4 * Copyright (c) 2002-2007 Xilinx Inc. 5 * Copyright (c) 2009-2010 Intel Corporation 25 #include <linux/interrupt.h> 27 #include <linux/platform_data/i2c-xiic.h> 34 #define DRIVER_NAME "xiic-i2c" 48 * struct xiic_i2c - Internal representation of the XIIC I2C bus 50 * @base: Memory base of the HW registers 59 * @endianness: big/little-endian byte order [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/pci/ |
D | altera-pcie.txt | 4 - compatible : should contain "altr,pcie-root-port-1.0" or "altr,pcie-root-port-2.0" 5 - reg: a list of physical base address and length for TXS and CRA. 6 For "altr,pcie-root-port-2.0", additional HIP base address and length. 7 - reg-names: must include the following entries: 10 "Hip": Hard IP region (if "altr,pcie-root-port-2.0") 11 - interrupts: specifies the interrupt source of the parent interrupt 12 controller. The format of the interrupt specifier depends 13 on the parent interrupt controller. 14 - device_type: must be "pci" 15 - #address-cells: set to <3> [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/interrupt-controller/ |
D | loongson,pch-pic.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: "http://devicetree.org/schemas/interrupt-controller/loongson,pch-pic.yaml#" 5 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 10 - Jiaxun Yang <jiaxun.yang@flygoat.com> 13 This interrupt controller is found in the Loongson LS7A family of PCH for 14 transforming interrupts from on-chip devices into HyperTransport vectorized 19 const: loongson,pch-pic-1.0 24 loongson,pic-base-vec: 26 u32 value of the base of parent HyperTransport vector allocated [all …]
|
D | socionext,synquacer-exiu.txt | 1 Socionext SynQuacer External Interrupt Unit (EXIU) 3 The Socionext Synquacer SoC has an external interrupt unit (EXIU) 5 level-high type GICv3 SPIs. 9 - compatible : Should be "socionext,synquacer-exiu". 10 - reg : Specifies base physical address and size of the 12 - interrupt-controller : Identifies the node as an interrupt controller. 13 - #interrupt-cells : Specifies the number of cells needed to encode an 14 interrupt source. The value must be 3. 15 - socionext,spi-base : The SPI number of the first SPI of the 32 adjacent 20 - Only SPIs can use the EXIU as an interrupt parent. [all …]
|
D | loongson,pch-msi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: "http://devicetree.org/schemas/interrupt-controller/loongson,pch-msi.yaml#" 5 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 10 - Jiaxun Yang <jiaxun.yang@flygoat.com> 13 This interrupt controller is found in the Loongson LS7A family of PCH for 19 const: loongson,pch-msi-1.0 24 loongson,msi-base-vec: 26 u32 value of the base of parent HyperTransport vector allocated 32 loongson,msi-num-vecs: [all …]
|
D | fsl,ls-scfg-msi.txt | 5 - compatible: should be "fsl,<soc-name>-msi" to identify 7 "fsl,ls1021a-msi" 8 "fsl,ls1043a-msi" 9 "fsl,ls1046a-msi" 10 "fsl,ls1043a-v1.1-msi" 11 "fsl,ls1012a-msi" 12 - msi-controller: indicates that this is a PCIe MSI controller node 13 - reg: physical base address of the controller and length of memory mapped. 14 - interrupts: an interrupt to the parent interrupt controller. 16 This interrupt controller hardware is a second level interrupt controller that [all …]
|
/Linux-v6.1/drivers/staging/vme_user/ |
D | vme_tsi148.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Support for the Tundra TSI148 VME-PCI Bridge Chip 20 #include <linux/dma-mapping.h> 21 #include <linux/interrupt.h> 81 wake_up(&bridge->dma_queue[0]); in tsi148_DMA_irqhandler() 85 wake_up(&bridge->dma_queue[1]); in tsi148_DMA_irqhandler() 103 bridge->lm_callback[i](bridge->lm_data[i]); in tsi148_LM_irqhandler() 123 bridge = tsi148_bridge->driver_priv; in tsi148_MB_irqhandler() 127 val = ioread32be(bridge->base + TSI148_GCSR_MBOX[i]); in tsi148_MB_irqhandler() 128 dev_err(tsi148_bridge->parent, "VME Mailbox %d received: 0x%x\n", in tsi148_MB_irqhandler() [all …]
|
/Linux-v6.1/include/linux/gpio/ |
D | driver.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 11 #include <linux/pinctrl/pinconf-generic.h> 39 * struct gpio_irq_chip - GPIO interrupt controller 52 * Interrupt translation domain; responsible for mapping between GPIO 60 * Table of interrupt domain operations for this IRQ chip. 76 * If non-NULL, will be set as the parent of this GPIO interrupt 77 * controller's IRQ domain to establish a hierarchical interrupt 79 * interrupt support. 86 * This callback translates a child hardware IRQ offset to a parent 87 * hardware IRQ offset on a hierarchical interrupt chip. The child [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/gpio/ |
D | socionext,uniphier-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/gpio/socionext,uniphier-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Masahiro Yamada <yamada.masahiro@socionext.com> 14 pattern: "^gpio@[0-9a-f]+$" 17 const: socionext,uniphier-gpio 22 gpio-controller: true 24 "#gpio-cells": 27 interrupt-controller: true [all …]
|
/Linux-v6.1/drivers/mailbox/ |
D | hi6220-mailbox.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/interrupt.h> 56 * - direction: tx or rx 57 * - dst irq: peer core's irq number 58 * - ack irq: local irq number 59 * - slot number 64 struct hi6220_mbox *parent; member 79 void __iomem *base; member 94 status = readl(mbox->base + MBOX_MODE_REG(slot)); in mbox_set_state() 96 writel(status, mbox->base + MBOX_MODE_REG(slot)); in mbox_set_state() [all …]
|