lkml.org 
[lkml]   [2021]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V8 XRT Alveo 14/14] fpga: xrt: Kconfig and Makefile updates for XRT drivers
    Date
    Update fpga Kconfig/Makefile and add Kconfig/Makefile for new drivers.

    Signed-off-by: Sonal Santan <sonal.santan@xilinx.com>
    Signed-off-by: Max Zhen <max.zhen@xilinx.com>
    Signed-off-by: Lizhi Hou <lizhi.hou@xilinx.com>
    Reviewed-by: Tom Rix <trix@redhat.com>
    ---
    drivers/Makefile | 1 +
    drivers/fpga/Kconfig | 2 ++
    drivers/fpga/Makefile | 5 +++++
    drivers/fpga/xrt/Kconfig | 8 ++++++++
    drivers/fpga/xrt/lib/Kconfig | 17 +++++++++++++++++
    drivers/fpga/xrt/lib/Makefile | 24 ++++++++++++++++++++++++
    drivers/fpga/xrt/metadata/Kconfig | 12 ++++++++++++
    drivers/fpga/xrt/metadata/Makefile | 16 ++++++++++++++++
    drivers/fpga/xrt/mgmt/Kconfig | 15 +++++++++++++++
    drivers/fpga/xrt/mgmt/Makefile | 19 +++++++++++++++++++
    10 files changed, 119 insertions(+)
    create mode 100644 drivers/fpga/xrt/Kconfig
    create mode 100644 drivers/fpga/xrt/lib/Kconfig
    create mode 100644 drivers/fpga/xrt/lib/Makefile
    create mode 100644 drivers/fpga/xrt/metadata/Kconfig
    create mode 100644 drivers/fpga/xrt/metadata/Makefile
    create mode 100644 drivers/fpga/xrt/mgmt/Kconfig
    create mode 100644 drivers/fpga/xrt/mgmt/Makefile

    diff --git a/drivers/Makefile b/drivers/Makefile
    index 27c018bdf4de..64fba9d3adb9 100644
    --- a/drivers/Makefile
    +++ b/drivers/Makefile
    @@ -180,6 +180,7 @@ obj-$(CONFIG_STM) += hwtracing/stm/
    obj-$(CONFIG_ANDROID) += android/
    obj-$(CONFIG_NVMEM) += nvmem/
    obj-$(CONFIG_FPGA) += fpga/
    +obj-$(CONFIG_FPGA_XRT_METADATA) += fpga/
    obj-$(CONFIG_FSI) += fsi/
    obj-$(CONFIG_TEE) += tee/
    obj-$(CONFIG_MULTIPLEXER) += mux/
    diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
    index 8cd454ee20c0..526447770cab 100644
    --- a/drivers/fpga/Kconfig
    +++ b/drivers/fpga/Kconfig
    @@ -234,4 +234,6 @@ config FPGA_MGR_ZYNQMP_FPGA
    to configure the programmable logic(PL) through PS
    on ZynqMP SoC.

    +source "drivers/fpga/xrt/Kconfig"
    +
    endif # FPGA
    diff --git a/drivers/fpga/Makefile b/drivers/fpga/Makefile
    index 18dc9885883a..4b887bf95cb3 100644
    --- a/drivers/fpga/Makefile
    +++ b/drivers/fpga/Makefile
    @@ -48,3 +48,8 @@ obj-$(CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000) += dfl-n3000-nios.o

    # Drivers for FPGAs which implement DFL
    obj-$(CONFIG_FPGA_DFL_PCI) += dfl-pci.o
    +
    +# XRT drivers for Alveo
    +obj-$(CONFIG_FPGA_XRT_METADATA) += xrt/metadata/
    +obj-$(CONFIG_FPGA_XRT_LIB) += xrt/lib/
    +obj-$(CONFIG_FPGA_XRT_XMGMT) += xrt/mgmt/
    diff --git a/drivers/fpga/xrt/Kconfig b/drivers/fpga/xrt/Kconfig
    new file mode 100644
    index 000000000000..0e2c59589ddd
    --- /dev/null
    +++ b/drivers/fpga/xrt/Kconfig
    @@ -0,0 +1,8 @@
    +# SPDX-License-Identifier: GPL-2.0-only
    +#
    +# Xilinx Alveo FPGA device configuration
    +#
    +
    +source "drivers/fpga/xrt/metadata/Kconfig"
    +source "drivers/fpga/xrt/lib/Kconfig"
    +source "drivers/fpga/xrt/mgmt/Kconfig"
    diff --git a/drivers/fpga/xrt/lib/Kconfig b/drivers/fpga/xrt/lib/Kconfig
    new file mode 100644
    index 000000000000..935369fad570
    --- /dev/null
    +++ b/drivers/fpga/xrt/lib/Kconfig
    @@ -0,0 +1,17 @@
    +# SPDX-License-Identifier: GPL-2.0-only
    +#
    +# XRT Alveo FPGA device configuration
    +#
    +
    +config FPGA_XRT_LIB
    + tristate "XRT Alveo Driver Library"
    + depends on HWMON && PCI && HAS_IOMEM
    + select FPGA_XRT_METADATA
    + select REGMAP_MMIO
    + help
    + Select this option to enable Xilinx XRT Alveo driver library. This
    + library is core infrastructure of XRT Alveo FPGA drivers which
    + provides functions for working with device nodes, iteration and
    + lookup of platform devices, common interfaces for platform devices,
    + plumbing of function call and ioctls between platform devices and
    + parent partitions.
    diff --git a/drivers/fpga/xrt/lib/Makefile b/drivers/fpga/xrt/lib/Makefile
    new file mode 100644
    index 000000000000..55cd6063a324
    --- /dev/null
    +++ b/drivers/fpga/xrt/lib/Makefile
    @@ -0,0 +1,24 @@
    +# SPDX-License-Identifier: GPL-2.0
    +#
    +# Copyright (C) 2020-2021 Xilinx, Inc. All rights reserved.
    +#
    +# Authors: Sonal.Santan@xilinx.com
    +#
    +
    +FULL_XRT_PATH=$(srctree)/$(src)/..
    +FULL_DTC_PATH=$(srctree)/scripts/dtc/libfdt
    +
    +obj-$(CONFIG_FPGA_XRT_LIB) += xrt-lib.o
    +
    +xrt-lib-objs := \
    + lib-drv.o \
    + xroot.o \
    + xclbin.o \
    + subdev.o \
    + cdev.o \
    + group.o \
    + xleaf/axigate.o \
    + xleaf/icap.o
    +
    +ccflags-y := -I$(FULL_XRT_PATH)/include \
    + -I$(FULL_DTC_PATH)
    diff --git a/drivers/fpga/xrt/metadata/Kconfig b/drivers/fpga/xrt/metadata/Kconfig
    new file mode 100644
    index 000000000000..129adda47e94
    --- /dev/null
    +++ b/drivers/fpga/xrt/metadata/Kconfig
    @@ -0,0 +1,12 @@
    +# SPDX-License-Identifier: GPL-2.0-only
    +#
    +# XRT Alveo FPGA device configuration
    +#
    +
    +config FPGA_XRT_METADATA
    + bool "XRT Alveo Driver Metadata Parser"
    + select LIBFDT
    + help
    + This option provides helper functions to parse Xilinx Alveo FPGA
    + firmware metadata. The metadata is in device tree format and the
    + XRT driver uses it to discover the HW subsystems behind PCIe BAR.
    diff --git a/drivers/fpga/xrt/metadata/Makefile b/drivers/fpga/xrt/metadata/Makefile
    new file mode 100644
    index 000000000000..14f65ef1595c
    --- /dev/null
    +++ b/drivers/fpga/xrt/metadata/Makefile
    @@ -0,0 +1,16 @@
    +# SPDX-License-Identifier: GPL-2.0
    +#
    +# Copyright (C) 2020-2021 Xilinx, Inc. All rights reserved.
    +#
    +# Authors: Sonal.Santan@xilinx.com
    +#
    +
    +FULL_XRT_PATH=$(srctree)/$(src)/..
    +FULL_DTC_PATH=$(srctree)/scripts/dtc/libfdt
    +
    +obj-$(CONFIG_FPGA_XRT_METADATA) += xrt-md.o
    +
    +xrt-md-objs := metadata.o
    +
    +ccflags-y := -I$(FULL_XRT_PATH)/include \
    + -I$(FULL_DTC_PATH)
    diff --git a/drivers/fpga/xrt/mgmt/Kconfig b/drivers/fpga/xrt/mgmt/Kconfig
    new file mode 100644
    index 000000000000..31e9e19fffb8
    --- /dev/null
    +++ b/drivers/fpga/xrt/mgmt/Kconfig
    @@ -0,0 +1,15 @@
    +# SPDX-License-Identifier: GPL-2.0-only
    +#
    +# Xilinx XRT FPGA device configuration
    +#
    +
    +config FPGA_XRT_XMGMT
    + tristate "Xilinx Alveo Management Driver"
    + depends on FPGA_XRT_LIB
    + select FPGA_XRT_METADATA
    + select FPGA_BRIDGE
    + select FPGA_REGION
    + help
    + Select this option to enable XRT PCIe driver for Xilinx Alveo FPGA.
    + This driver provides interfaces for userspace application to access
    + Alveo FPGA device.
    diff --git a/drivers/fpga/xrt/mgmt/Makefile b/drivers/fpga/xrt/mgmt/Makefile
    new file mode 100644
    index 000000000000..16644571b673
    --- /dev/null
    +++ b/drivers/fpga/xrt/mgmt/Makefile
    @@ -0,0 +1,19 @@
    +# SPDX-License-Identifier: GPL-2.0
    +#
    +# Copyright (C) 2020-2021 Xilinx, Inc. All rights reserved.
    +#
    +# Authors: Sonal.Santan@xilinx.com
    +#
    +
    +FULL_XRT_PATH=$(srctree)/$(src)/..
    +FULL_DTC_PATH=$(srctree)/scripts/dtc/libfdt
    +
    +obj-$(CONFIG_FPGA_XRT_XMGMT) += xrt-mgmt.o
    +
    +xrt-mgmt-objs := root.o \
    + xmgmt-main.o \
    + xrt-mgr.o \
    + xmgmt-main-region.o
    +
    +ccflags-y := -I$(FULL_XRT_PATH)/include \
    + -I$(FULL_DTC_PATH)
    --
    2.27.0
    \
     
     \ /
      Last update: 2021-07-20 00:01    [W:4.115 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site