diff options
author | Tim Wawrzynczak <twawrzynczak@chromium.org> | 2020-06-25 10:01:46 -0600 |
---|---|---|
committer | Tim Wawrzynczak <twawrzynczak@chromium.org> | 2020-07-07 17:07:01 +0000 |
commit | c0199919e3621ff280094ee1325763c9e0c37284 (patch) | |
tree | 40636073e7425a00e6f8e2152cf461aa7361cee0 /src | |
parent | c85d7c59ace3b3924c3eaec2e03501042d1bf116 (diff) |
soc/intel/common: Add a minimal PCI driver for IPU
Add a minimal PCI driver for Intel's IPU, this allows devices to be
added underneath it in the devicetree.
Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: I531b293634a5d40112dc6af7b33fedb5e13f35e5
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42812
Reviewed-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/intel/common/block/ipu/Kconfig | 4 | ||||
-rw-r--r-- | src/soc/intel/common/block/ipu/Makefile.inc | 1 | ||||
-rw-r--r-- | src/soc/intel/common/block/ipu/ipu.c | 23 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/ipu/Kconfig b/src/soc/intel/common/block/ipu/Kconfig new file mode 100644 index 0000000000..756616ff85 --- /dev/null +++ b/src/soc/intel/common/block/ipu/Kconfig @@ -0,0 +1,4 @@ +config SOC_INTEL_COMMON_BLOCK_IPU + bool + help + Intel Image Processing Unit driver diff --git a/src/soc/intel/common/block/ipu/Makefile.inc b/src/soc/intel/common/block/ipu/Makefile.inc new file mode 100644 index 0000000000..ac5bc764a8 --- /dev/null +++ b/src/soc/intel/common/block/ipu/Makefile.inc @@ -0,0 +1 @@ +ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_IPU) += ipu.c diff --git a/src/soc/intel/common/block/ipu/ipu.c b/src/soc/intel/common/block/ipu/ipu.c new file mode 100644 index 0000000000..f7b01aa067 --- /dev/null +++ b/src/soc/intel/common/block/ipu/ipu.c @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include <device/pci.h> +#include <device/pci_ids.h> + +struct device_operations ipu_pci_ops = { + .read_resources = pci_bus_read_resources, + .set_resources = pci_dev_set_resources, + .enable_resources = pci_bus_enable_resources, + .scan_bus = scan_generic_bus, + .ops_pci = &pci_dev_ops_pci, +}; + +static const uint16_t pci_device_ids[] = { + PCI_DEVICE_ID_INTEL_TGL_IPU, + PCI_DEVICE_ID_INTEL_JSL_IPU, +}; + +static const struct pci_driver intel_ipu __pci_driver = { + .ops = &ipu_pci_ops, + .vendor = PCI_VENDOR_ID_INTEL, + .devices = pci_device_ids, +}; |