[PATCH 5/7] drivers: pci: add pcie support for fu740
Bin Meng
bmeng.cn at gmail.com
Thu Mar 11 15:14:02 CET 2021
On Thu, Mar 11, 2021 at 9:50 PM Green Wan <green.wan at sifive.com> wrote:
>
> Add pcie driver for SiFive fu740, the driver depends on
> fu740 gpio, clk and reset driver to do init. Force running at Gen1
> for better capatible enumeration.
>
> Several devices are tested:
> a) M.2 NVMe SSD
> b) USB-to-PCI adapter
> c) Ethernet adapter (E1000 compatible)
>
> Signed-off-by: Green Wan <green.wan at sifive.com>
> ---
> drivers/pci/Kconfig | 9 +
> drivers/pci/Makefile | 1 +
> drivers/pci/pcie_sifive.c | 797 ++++++++++++++++++++++++++++++++++++++++++++++
> drivers/pci/pcie_sifive.h | 374 ++++++++++++++++++++++
> 4 files changed, 1181 insertions(+)
> create mode 100644 drivers/pci/pcie_sifive.c
> create mode 100644 drivers/pci/pcie_sifive.h
>
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index ba41787..b078e76 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -97,6 +97,15 @@ config PCIE_DW_MVEBU
> Armada-8K SoCs. The PCIe controller on Armada-8K is based on
> DesignWare hardware.
>
> +config PCIE_SIFIVE_FU740
> + bool "Enable SiFive FU740 PCIe"
> + depends on CLK_SIFIVE_PRCI
> + depends on RESET_SIFIVE
> + depends on SIFIVE_GPIO
> + help
> + Say Y here if you want to enable PCIe controller support on
> + FU740.
> +
> config PCIE_FSL
> bool "FSL PowerPC PCIe support"
> depends on DM_PCI
> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
> index 5ed94bc..5400d59 100644
> --- a/drivers/pci/Makefile
> +++ b/drivers/pci/Makefile
> @@ -51,3 +51,4 @@ obj-$(CONFIG_PCIE_ROCKCHIP) += pcie_rockchip.o
> obj-$(CONFIG_PCIE_DW_ROCKCHIP) += pcie_dw_rockchip.o
> obj-$(CONFIG_PCI_BRCMSTB) += pcie_brcmstb.o
> obj-$(CONFIG_PCI_OCTEONTX) += pci_octeontx.o
> +obj-$(CONFIG_PCIE_SIFIVE_FU740) += pcie_sifive.o
> diff --git a/drivers/pci/pcie_sifive.c b/drivers/pci/pcie_sifive.c
> new file mode 100644
> index 0000000..ada6087
> --- /dev/null
> +++ b/drivers/pci/pcie_sifive.c
> @@ -0,0 +1,797 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * SiFive FU740 DesignWare PCIe Controller
Should we call this driver a DesgnWare PCIe controller (e.g.:
pcie_designware.c), instead of pcie_sifive.c?
> + *
> + * Copyright (C) 2020-2021 SiFive, Inc.
> + *
> + * Based in early part on the i.MX6 PCIe host controller shim which is:
> + *
> + * Copyright (C) 2013 Kosagi
> + * http://www.kosagi.com
> + *
> + * Based on driver from author: Alan Mikhak <amikhak at wirelessfabric.com>
> + */
> +#include "pcie_sifive.h"
> +#include <common.h>
> +#include <dm.h>
> +
> +/* Host Bridge Identification */
> +#define DEVICE_NAME "SiFive FU740 PCIe Host Controller"
> +#define VENDOR_ID 0x51fe
> +#define DEVICE_ID 0x51fe
> +
[snip]
Regards,
Bin
More information about the U-Boot
mailing list