/linux/drivers/irqchip/ |
H A D | irq-mbigen.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/interrupt.h> 19 /* Interrupt numbers per mbigen node supported */ 22 /* 64 irqs (Pin0-pin63) are reserved for each mbigen chip */ 45 * of interrupt 50 * offset of interrupt type register 51 * This register is used to configure interrupt 57 * struct mbigen_device - holds the information of mbigen device. 60 * @base: mapped address of this mbigen chip. 64 void __iomem *base; member [all …]
|
H A D | irq-gic-v2m.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ARM GIC v2m MSI(-X) support 5 * implement ARM Generic Interrupt Controller: GICv2m. 26 #include <linux/irqchip/arm-gic.h> 27 #include <linux/irqchip/arm-gic-common.h> 29 #include "irq-msi-lib.h" 52 /* APM X-Gene with GICv2m MSI_IIDR register value */ 69 void __iomem *base; /* GICv2m virt address */ member 79 if (v2m->flags & GICV2M_GRAVITON_ADDRESS_ONLY) in gicv2m_get_msi_addr() 80 return v2m->res.start | ((hwirq - 32) << 3); in gicv2m_get_msi_addr() [all …]
|
H A 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 …]
|
/linux/drivers/hwmon/ |
H A D | npcm750-pwm-fan.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright (c) 2014-2018 Nuvoton Technology corporation. 7 #include <linux/hwmon-sysfs.h> 8 #include <linux/interrupt.h> 19 #define NPCM7XX_PWM_REG_BASE(base, n) ((base) + ((n) * 0x1000L)) argument 21 #define NPCM7XX_PWM_REG_PR(base, n) (NPCM7XX_PWM_REG_BASE(base, n) + 0x00) argument 22 #define NPCM7XX_PWM_REG_CSR(base, n) (NPCM7XX_PWM_REG_BASE(base, n) + 0x04) argument 23 #define NPCM7XX_PWM_REG_CR(base, n) (NPCM7XX_PWM_REG_BASE(base, n) + 0x08) argument 24 #define NPCM7XX_PWM_REG_CNRx(base, n, ch) \ argument 25 (NPCM7XX_PWM_REG_BASE(base, n) + 0x0C + (12 * (ch))) [all …]
|
/linux/Documentation/devicetree/bindings/display/ |
H A D | st,stih4xx.txt | 3 - sti-vtg: video timing generator 5 - compatible: "st,vtg" 6 - reg: Physical base address of the IP registers and length of memory mapped region. 8 - interrupts : VTG interrupt number to the CPU. 9 - st,slave: phandle on a slave vtg 11 - sti-vtac: video timing advanced inter dye communication Rx and TX 13 - compatible: "st,vtac-main" or "st,vtac-aux" 14 - reg: Physical base address of the IP registers and length of memory mapped region. 15 - clocks: from common clock binding: handle hardware IP needed clocks, the 17 See ../clocks/clock-bindings.txt for details. [all …]
|
/linux/arch/mips/pci/ |
H A D | pci-rt3883.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2011-2013 Gabor Juhos <juhosg@openwrt.org> 15 #include <linux/interrupt.h> 22 #include <asm/mach-ralink/rt3883.h> 23 #include <asm/mach-ralink/ralink_regs.h> 60 void __iomem *base; member 77 hose = (struct pci_controller *) bus->sysdata; in pci_bus_to_rt3883_controller() 84 return ioread32(rpc->base + reg); in rt3883_pci_r32() 90 iowrite32(val, rpc->base + reg); in rt3883_pci_w32() 143 generic_handle_domain_irq(rpc->irq_domain, bit); in rt3883_pci_irq_handler() [all …]
|
/linux/drivers/pinctrl/intel/ |
H A D | pinctrl-intel-platform.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2021-2023, Intel Corporation 18 #include "pinctrl-intel.h" 25 static int intel_platform_pinctrl_prepare_pins(struct device *dev, size_t base, in intel_platform_pinctrl_prepare_pins() argument 37 descs = devm_krealloc_array(dev, pins->pins, base + size, sizeof(*descs), GFP_KERNEL); in intel_platform_pinctrl_prepare_pins() 39 return -ENOMEM; in intel_platform_pinctrl_prepare_pins() 42 unsigned int pin_number = base + i; in intel_platform_pinctrl_prepare_pins() 47 strreplace(pin_name, '-', '_'); in intel_platform_pinctrl_prepare_pins() 50 desc->number = pin_number; in intel_platform_pinctrl_prepare_pins() 51 desc->name = pin_name; in intel_platform_pinctrl_prepare_pins() [all …]
|
/linux/Documentation/devicetree/bindings/soc/dove/ |
H A D | pmu.txt | 4 - compatible: value should be "marvell,dove-pmu". 5 May also include "simple-bus" if there are child devices, in which 7 - reg: two base addresses and sizes of the PM controller and PMU. 8 - interrupts: single interrupt number for the PMU interrupt 9 - interrupt-controller: must be specified as the PMU itself is an 10 interrupt controller. 11 - #interrupt-cells: must be 1. 12 - #reset-cells: must be 1. 13 - domains: sub-node containing domain descriptions 16 - ranges: defines the address mapping for child devices, as per the [all …]
|
/linux/drivers/pinctrl/starfive/ |
H A D | pinctrl-starfive-jh7100.c | 1 // SPDX-License-Identifier: GPL-2.0 26 #include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h> 29 #include "../pinctrl-utils.h" 33 #define DRIVER_NAME "pinctrl-starfive" 37 * https://github.com/starfive-tech/JH7100_Docs 48 * The following 32-bit registers come in pairs, but only the offset of the 49 * first register is defined. The first controls (interrupts for) GPIO 0-31 and 50 * the second GPIO 32-63. 54 * Interrupt Type. If set to 1 the interrupt is edge-triggered. If set to 0 the 55 * interrupt is level-triggered. [all …]
|
/linux/Documentation/devicetree/bindings/soc/ti/ |
H A D | keystone-navigator-qmss.txt | 5 multi-core Navigator. QMSS consist of queue managers, packed-data structure 9 management of the packet queues. Packets are queued/de-queued by writing or 20 - compatible : Must be "ti,keystone-navigator-qmss". 21 : Must be "ti,66ak2g-navss-qm" for QMSS on K2G SoC. 22 - clocks : phandle to the reference clock for this device. 23 - queue-range : <start number> total range of queue numbers for the device. 24 - linkram0 : <address size> for internal link ram, where size is the total 26 - linkram1 : <address size> for external link ram, where size is the total 29 - qmgrs : child node describing the individual queue managers on the 32 -- managed-queues : the actual queues managed by each queue manager [all …]
|
/linux/Documentation/devicetree/bindings/usb/ |
H A D | octeon-usb.txt | 7 - compatible: must be "cavium,octeon-5750-usbn" 9 - reg: specifies the physical base address of the USBN block and 12 - #address-cells: specifies the number of cells needed to encode an 15 - #size-cells: specifies the number of cells used to represent the size 18 - ranges: specifies the translation between child address space and parent 21 - clock-frequency: speed of the USB reference clock. Allowed values are 24 - cavium,refclk-type: type of the USB reference clock. Allowed values are 27 - refclk-frequency: deprecated, use "clock-frequency". 29 - refclk-type: deprecated, use "cavium,refclk-type". 31 2) Child node [all …]
|
/linux/drivers/mfd/ |
H A D | mfd-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/mfd/mfd-core.c 46 if (!acpi_match_device_ids(adev, wd->ids)) { in match_device_ids() 47 wd->adev = adev; in match_device_ids() 57 const struct mfd_cell_acpi_match *match = cell->acpi_match; in mfd_acpi_add_device() 61 parent = ACPI_COMPANION(pdev->dev.parent); in mfd_acpi_add_device() 66 * MFD child device gets its ACPI handle either from the ACPI device in mfd_acpi_add_device() 75 if (match->pnpid) { in mfd_acpi_add_device() 82 strscpy(ids[0].id, match->pnpid, sizeof(ids[0].id)); in mfd_acpi_add_device() 86 adev = acpi_find_child_device(parent, match->adr, false); in mfd_acpi_add_device() [all …]
|
/linux/Documentation/devicetree/bindings/pci/ |
H A D | ralink,rt3883-pci.txt | 7 - compatible: must be "ralink,rt3883-pci" 9 - reg: specifies the physical base address of the controller and 12 - #address-cells: specifies the number of cells needed to encode an 15 - #size-cells: specifies the number of cells used to represent the size 18 - ranges: specifies the translation between child address space and parent 23 - status: indicates the operational status of the device. 26 2) Child nodes 28 The main node must have two child nodes which describes the built-in 29 interrupt controller and the PCI host bridge. 31 a) Interrupt controller: [all …]
|
/linux/drivers/gpio/ |
H A D | gpio-ixp4xx.c | 1 // SPDX-License-Identifier: GPL-2.0 6 // based on previous work and know-how from: 29 * The hardware uses 3 bits to indicate interrupt "style". 55 * struct ixp4xx_gpio - IXP4 GPIO state container 58 * @base: remapped I/O-memory base 59 * @irq_edge: Each bit represents an IRQ: 1: edge-triggered, 65 void __iomem *base; member 74 __raw_writel(BIT(d->hwirq), g->base + IXP4XX_REG_GPIS); in ixp4xx_gpio_irq_ack() 82 gpiochip_disable_irq(gc, d->hwirq); in ixp4xx_gpio_mask_irq() 90 /* ACK when unmasking if not edge-triggered */ in ixp4xx_gpio_irq_unmask() [all …]
|
H A D | gpio-msc313.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #include <dt-bindings/gpio/msc313-gpio.h> 16 #include <dt-bindings/interrupt-controller/arm-gic.h> 18 #define DRIVER_NAME "gpio-msc313" 484 void __iomem *base; member 492 u8 gpioreg = readb_relaxed(gpio->base + gpio->gpio_data->offsets[offset]); in msc313_gpio_set() 499 writeb_relaxed(gpioreg, gpio->base + gpio->gpio_data->offsets[offset]); in msc313_gpio_set() 506 return readb_relaxed(gpio->base + gpio->gpio_data->offsets[offset]) & MSC313_GPIO_IN; in msc313_gpio_get() 512 u8 gpioreg = readb_relaxed(gpio->base + gpio->gpio_data->offsets[offset]); in msc313_gpio_direction_input() 515 writeb_relaxed(gpioreg, gpio->base + gpio->gpio_data->offsets[offset]); in msc313_gpio_direction_input() [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | brcm,nsp-gpio.txt | 4 - compatible: 5 Must be "brcm,nsp-gpio-a" 7 - reg: 9 GPIO base, IO control registers 11 - #gpio-cells: 16 - gpio-controller: 19 - ngpios: 23 - interrupts: 24 Interrupt ID 26 - interrupt-controller: [all …]
|
H A D | brcm,iproc-gpio.txt | 5 - compatible: 6 "brcm,iproc-gpio" for the generic iProc based GPIO controller IP that 7 supports full-featured pinctrl and GPIO functions used in various iProc 10 May contain an SoC-specific compatibility string to accommodate any 11 SoC-specific features 13 "brcm,cygnus-ccm-gpio", "brcm,cygnus-asiu-gpio", or 14 "brcm,cygnus-crmu-gpio" for Cygnus SoCs 16 "brcm,iproc-nsp-gpio" for the iProc NSP SoC that has drive strength support 19 "brcm,iproc-stingray-gpio" for the iProc Stingray SoC that has the general 23 - reg: [all …]
|
/linux/drivers/pinctrl/ |
H A D | pinctrl-st.c | 1 // SPDX-License-Identifier: GPL-2.0-only 100 * (direction, retime-type, retime-clk, retime-delay) 102 * +----------------+ 103 *[31:28]| reserved-3 | 104 * +----------------+------------- 106 * +----------------+ v 108 * +----------------+ ^ 110 * +----------------+------------- 111 *[24] | reserved-2 | 112 * +----------------+------------- [all …]
|
/linux/drivers/edac/ |
H A D | altera_edac.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2017-2018, Intel Corporation. All rights reserved 4 * Copyright Altera Corporation (C) 2014-2016. All rights reserved. 5 * Copyright 2011-2012 Calxeda, Inc. 12 #include <linux/firmware/intel/stratix10-smc.h> 14 #include <linux/interrupt.h> 17 #include <linux/mfd/altera-sysmgr.h> 84 struct altr_sdram_mc_data *drvdata = mci->pvt_info; in altr_sdram_mc_err_handler() 85 const struct altr_sdram_prv_data *priv = drvdata->data; in altr_sdram_mc_err_handler() 88 regmap_read(drvdata->mc_vbase, priv->ecc_stat_offset, &status); in altr_sdram_mc_err_handler() [all …]
|
/linux/Documentation/devicetree/bindings/crypto/ |
H A D | fsl-sec6.txt | 4 -SEC 6 Node 5 -Job Ring Node 6 -Full Example 13 Node defines the base address of the SEC 6 block. 20 - compatible 23 Definition: Must include "fsl,sec-v6.0". 25 - fsl,sec-era 31 - #address-cells 35 for representing physical addresses in child nodes. 37 - #size-cells [all …]
|
/linux/Documentation/devicetree/bindings/gpio/ |
H A 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/Documentation/devicetree/bindings/input/touchscreen/ |
H A D | brcm,iproc-touchscreen.txt | 4 - compatible: must be "brcm,iproc-touchscreen" 5 - ts_syscon: handler of syscon node defining physical base 9 - clocks: The clock provided by the SOC to driver the tsc 10 - clock-names: name for the clock 11 - interrupts: The touchscreen controller's interrupt 12 - address-cells: Specify the number of u32 entries needed in child nodes. 14 - size-cells: Specify number of u32 entries needed to specify child nodes size 18 - scanning_period: Time between scans. Each step is 1024 us. Valid 1-256. 19 - debounce_timeout: Each step is 512 us. Valid 0-255 20 - settling_timeout: The settling duration (in ms) is the amount of time [all …]
|
/linux/drivers/leds/ |
H A D | leds-sun50i-a100.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2021-2023 Samuel Holland <samuel@sholland.org> 5 * Partly based on drivers/leds/leds-turris-omnia.c, which is: 12 #include <linux/dma-mapping.h> 14 #include <linux/interrupt.h> 16 #include <linux/led-class-multicolor.h> 75 void __iomem *base; member 103 desc = dmaengine_prep_slave_single(priv->dma_chan, priv->dma_handle, in sun50i_a100_ledc_dma_xfer() 106 return -ENOMEM; in sun50i_a100_ledc_dma_xfer() 110 return -EIO; in sun50i_a100_ledc_dma_xfer() [all …]
|
/linux/Documentation/devicetree/bindings/bus/ |
H A D | mvebu-mbus.txt | 6 - compatible: Should be set to one of the following: 7 marvell,armada370-mbus 8 marvell,armadaxp-mbus 9 marvell,armada375-mbus 10 marvell,armada380-mbus 11 marvell,kirkwood-mbus 12 marvell,dove-mbus 13 marvell,orion5x-88f5281-mbus 14 marvell,orion5x-88f5182-mbus 15 marvell,orion5x-88f5181-mbus [all …]
|
/linux/Documentation/devicetree/bindings/powerpc/fsl/ |
H A D | mpc5200.txt | 2 ---------------------------- 4 (c) 2006-2009 Secret Lab Technologies Ltd 8 ------------------ 9 For mpc5200 on-chip devices, the format for each compatible value is 10 <chip>-<device>[-<mode>]. The OS should be able to match a device driver 21 "fsl,mpc5200-<device>". 29 compatible = "fsl,mpc5200b-<device>","fsl,mpc5200-<device>"; 32 (instead of only listing the base mpc5200 item). 34 ie. ethernet on mpc5200: compatible = "fsl,mpc5200-fec"; 35 ethernet on mpc5200b: compatible = "fsl,mpc5200b-fec", "fsl,mpc5200-fec"; [all …]
|