/linux/Documentation/devicetree/bindings/pci/ |
H A D | host-generic-pci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/host-generic-pci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Will Deacon <will@kernel.org> 13 Firmware-initialised PCI host controllers and PCI emulations, such as the 14 virtio-pci implementations found in kvmtool and other para-virtualised 21 Configuration Space is assumed to be memory-mapped (as opposed to being 26 For CAM, this 24-bit offset is: 31 While ECAM extends this by 4 bits to accommodate 4k of function space: [all …]
|
H A D | qcom,pcie-sa8255p.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/qcom,pcie-sa8255p.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm SA8255p based firmware managed and ECAM compliant PCIe Root Complex 10 - Bjorn Andersson <andersson@kernel.org> 11 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 14 Qualcomm SA8255p SoC PCIe root complex controller is based on the Synopsys 15 DesignWare PCIe IP which is managed by firmware, and configured in ECAM mode. 19 const: qcom,pcie-sa8255p [all …]
|
H A D | nvidia,tegra194-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/nvidia,tegra194-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra194 (and later) PCIe controller (Synopsys DesignWare Core based) 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 12 - Vidya Sagar <vidyas@nvidia.com> 15 This PCIe controller is based on the Synopsys DesignWare PCIe IP and thus 16 inherits all the common properties defined in snps,dw-pcie.yaml. Some of [all …]
|
H A D | amazon,al-alpine-v3-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/amazon,al-alpine-v3-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jonathan Chocron <jonnyc@amazon.com> 13 Amazon's Annapurna Labs PCIe Host Controller is based on the Synopsys 17 - $ref: snps,dw-pcie.yaml# 22 - amazon,al-alpine-v2-pcie 23 - amazon,al-alpine-v3-pcie 27 - description: PCIe ECAM space [all …]
|
/linux/drivers/pci/controller/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 52 system-on-chips, like the Apple M1. This is required for the USB 53 type-A ports, Ethernet, Wi-Fi, and Bluetooth. 71 Broadcom STB based SoCs, like the Raspberry Pi 4. 111 bool "Cavium Thunder PCIe controller to off-chip devices" 119 bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" 124 Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. 154 in the Intel IXP4xx XScale-based network processor SoC. 191 is used on 32-bit Marvell ARM SoCs: Dove, Kirkwood, Armada 370, 213 multi-function devices. [all …]
|
H A D | pcie-xilinx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright (c) 2012 - 2014 Xilinx, Inc. 7 * Based on the Tegra PCIe driver 15 #include <linux/irqchip/irq-msi-lib.h> 25 #include <linux/pci-ecam.h> 95 * struct xilinx_pcie - PCIe port information 116 return readl(pcie->reg_base + reg); in pcie_read() 121 writel(val, pcie->reg_base + reg); in pcie_write() 131 * xilinx_pcie_clear_err_interrupts - Clear Error Interrupts 136 struct device *dev = pcie->dev; in xilinx_pcie_clear_err_interrupts() [all …]
|
H A D | pcie-xilinx-nwl.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Based on pcie-xilinx.c, pci-tegra.c 6 * (C) Copyright 2014 - 2015, Xilinx, Inc. 13 #include <linux/irqchip/irq-msi-lib.h> 22 #include <linux/pci-ecam.h> 35 /* Egress - Bridge translation registers */ 45 /* Ingress - address translations */ 53 /* Rxed msg fifo - Interrupt status registers */ 178 return readl(pcie->breg_base + off); in nwl_bridge_readl() 183 writel(val, pcie->breg_base + off); in nwl_bridge_writel() [all …]
|
H A D | pci-xgene.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * APM X-Gene PCIe Driver 20 #include <linux/pci-acpi.h> 21 #include <linux/pci-ecam.h> 73 return readl(port->csr_base + reg); in xgene_pcie_readl() 78 writel(val, port->csr_base + reg); in xgene_pcie_writel() 91 return (struct xgene_pcie *)(bus->sysdata); in pcie_bus_to_port() 93 cfg = bus->sysdata; in pcie_bus_to_port() 94 return (struct xgene_pcie *)(cfg->priv); in pcie_bus_to_port() 105 if (bus->number >= (bus->primary + 1)) in xgene_pcie_get_cfg_base() [all …]
|
H A D | pcie-iproc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2014 Hauke Mehrtens <hauke@hauke-m.de> 9 #include <linux/pci-ecam.h> 17 #include <linux/irqchip/arm-gic-v3.h> 24 #include "pcie-iproc.h" 91 * struct iproc_pcie_ob_map - iProc PCIe outbound mapping controller-specific 138 * enum iproc_pcie_ib_map_type - iProc PCIe inbound mapping type 150 * struct iproc_pcie_ib_map - iProc PCIe inbound mapping controller-specific 159 * @imap_addr_offset: register offset between the upper and lower 32-bit 400 struct iproc_pcie *pcie = bus->sysdata; in iproc_data() [all …]
|
H A D | pci-aardvark.c | 1 // SPDX-License-Identifier: GPL-2.0 16 #include <linux/irqchip/irq-msi-lib.h> 21 #include <linux/pci-ecam.h> 30 #include "../pci-bridge-emul.h" 140 #define OB_WIN_DEFAULT_ACTIONS (OB_WIN_ACTIONS(OB_WIN_COUNT-1) + 0x4) 294 writel(val, pcie->base + reg); in advk_writel() 299 return readl(pcie->base + reg); in advk_readl() 314 /* check if LTSSM is in normal operation - some L* state */ in advk_pcie_link_up() 322 * According to PCIe Base specification 3.0, Table 4-14: Link in advk_pcie_link_active() 336 * According to PCIe Base specification 3.0, Table 4-14: Link in advk_pcie_link_training() [all …]
|
H A D | pci-hyperv.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * This driver acts as a paravirtual front-end for PCI Express root buses. 9 * When a PCI Express function (either an entire device or an SR-IOV 13 * VM within Hyper-V, there may seem to be no PCI bus at all in the VM 18 * to the VM using this front-end will appear at "device 0", the domain will 24 * MSI or MSI-X) associated with the functions on the bus. As interrupts are 28 * vector. This driver does not support level-triggered (line-based) 32 * The rest of this driver mostly maps PCI concepts onto underlying Hyper-V 34 * by Hyper-V is mapped into a single page of memory space, and the 37 * the PCI back-end driver in Hyper-V. [all …]
|
H A D | pci-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 * Based on NVIDIA PCIe driver 9 * Copyright (c) 2008-2009, NVIDIA Corporation. 11 * Bits taken from arch/arm/mach-dove/pcie.c 26 #include <linux/irqchip/irq-msi-lib.h> 258 * Fields in PADS_REFCLK_CFG*. Those registers form an array of 16-bit 380 writel(value, pcie->afi + offset); in afi_writel() 385 return readl(pcie->afi + offset); in afi_readl() 391 writel(value, pcie->pads + offset); in pads_writel() 396 return readl(pcie->pads + offset); in pads_readl() [all …]
|
/linux/arch/x86/pci/ |
H A D | common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Low-Level PCI Support for PC 5 * (c) 1999--2000 Martin Mares <mj@ucw.cz> 10 #include <linux/pci-acpi.h> 35 int pcibios_last_bus = -1; 44 return raw_pci_ops->read(domain, bus, devfn, reg, len, val); in raw_pci_read() 46 return raw_pci_ext_ops->read(domain, bus, devfn, reg, len, val); in raw_pci_read() 47 return -EINVAL; in raw_pci_read() 54 return raw_pci_ops->write(domain, bus, devfn, reg, len, val); in raw_pci_write() 56 return raw_pci_ext_ops->write(domain, bus, devfn, reg, len, val); in raw_pci_write() [all …]
|
/linux/arch/arm64/boot/dts/hisilicon/ |
H A D | hip06.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 compatible = "hisilicon,hip06-d03"; 12 interrupt-parent = <&gic>; 13 #address-cells = <2>; 14 #size-cells = <2>; 17 compatible = "arm,psci-0.2"; 22 #address-cells = <1>; 23 #size-cells = <0>; 25 cpu-map { [all …]
|
H A D | hip07.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 compatible = "hisilicon,hip07-d05"; 12 interrupt-parent = <&gic>; 13 #address-cells = <2>; 14 #size-cells = <2>; 17 compatible = "arm,psci-0.2"; 22 #address-cells = <1>; 23 #size-cells = <0>; 25 cpu-map { [all …]
|