All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v5 3/4] arm: socfpga: stratix10: Add Stratix10 FPGA into FPGA device table
Date: Thu, 29 Nov 2018 12:28:38 +0100	[thread overview]
Message-ID: <11f9c66a-04a5-ff1f-9b04-6ca6b4e6c45c@denx.de> (raw)
In-Reply-To: <1543484415-26499-4-git-send-email-chee.hong.ang@intel.com>

On 11/29/2018 10:40 AM, chee.hong.ang at intel.com wrote:
> From: "Ang, Chee Hong" <chee.hong.ang@intel.com>
> 
> Enable 'fpga' command in u-boot. User will be able to use the FPGA
> command to program the FPGA on Stratix10 SoC.
> 
> Signed-off-by: Ang, Chee Hong <chee.hong.ang@intel.com>
> ---
>  arch/arm/mach-socfpga/Makefile                   |  4 ++
>  arch/arm/mach-socfpga/fpga_device.c              | 59 ++++++++++++++++++++++++
>  arch/arm/mach-socfpga/include/mach/fpga_device.h | 15 ++++++
>  arch/arm/mach-socfpga/include/mach/misc.h        |  6 ---
>  arch/arm/mach-socfpga/misc.c                     | 31 -------------
>  arch/arm/mach-socfpga/misc_arria10.c             |  1 +
>  arch/arm/mach-socfpga/misc_gen5.c                |  1 +
>  arch/arm/mach-socfpga/misc_s10.c                 |  3 ++
>  drivers/fpga/altera.c                            |  6 +++
>  include/altera.h                                 |  4 ++
>  10 files changed, 93 insertions(+), 37 deletions(-)
>  create mode 100644 arch/arm/mach-socfpga/fpga_device.c
>  create mode 100644 arch/arm/mach-socfpga/include/mach/fpga_device.h
> 
> diff --git a/arch/arm/mach-socfpga/Makefile b/arch/arm/mach-socfpga/Makefile
> index e667204..2ff1b3f 100644
> --- a/arch/arm/mach-socfpga/Makefile
> +++ b/arch/arm/mach-socfpga/Makefile
> @@ -10,6 +10,10 @@ obj-y	+= clock_manager.o
>  obj-y	+= misc.o
>  obj-y	+= reset_manager.o
>  
> +ifdef CONFIG_FPGA
> +obj-y	+= fpga_device.o
> +endif
> +
>  ifdef CONFIG_TARGET_SOCFPGA_GEN5
>  obj-y	+= clock_manager_gen5.o
>  obj-y	+= misc_gen5.o
> diff --git a/arch/arm/mach-socfpga/fpga_device.c b/arch/arm/mach-socfpga/fpga_device.c
> new file mode 100644
> index 0000000..97b27eb
> --- /dev/null
> +++ b/arch/arm/mach-socfpga/fpga_device.c
> @@ -0,0 +1,59 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2018 Intel Corporation <www.intel.com>
> + */
> +
> +#include <common.h>
> +#include <altera.h>
> +
> +#ifdef CONFIG_FPGA_STRATIX10
> +/*
> + * FPGA programming support for SoC FPGA Stratix 10
> + */
> +static Altera_desc altera_fpga[] = {
> +	{
> +		/* Family */
> +		Intel_FPGA_Stratix10,
> +		/* Interface type */
> +		secure_device_manager_mailbox,
> +		/* No limitation as additional data will be ignored */
> +		-1,
> +		/* No device function table */
> +		NULL,
> +		/* Base interface address specified in driver */
> +		NULL,
> +		/* No cookie implementation */
> +		0
> +	},
> +};
> +#else
> +/*
> + * FPGA programming support for SoC FPGA Cyclone V
> + */
> +static Altera_desc altera_fpga[] = {
> +	{
> +		/* Family */
> +		Altera_SoCFPGA,
> +		/* Interface type */
> +		fast_passive_parallel,
> +		/* No limitation as additional data will be ignored */
> +		-1,
> +		/* No device function table */
> +		NULL,
> +		/* Base interface address specified in driver */
> +		NULL,
> +		/* No cookie implementation */
> +		0
> +	},
> +};
> +#endif
> +
> +/* add device descriptor to FPGA device table */
> +void socfpga_fpga_add(void)
> +{
> +	int i;
> +
> +	fpga_init();
> +	for (i = 0; i < ARRAY_SIZE(altera_fpga); i++)
> +		fpga_add(fpga_altera, &altera_fpga[i]);

Why do we need this loop if there's only one entry in the array ?

btw this function could stay in misc.c , the altera_fpga tables could be
in misc_s10.c resp. something for Gen5 IMO, so you won't need another
new file.

-- 
Best regards,
Marek Vasut

  reply	other threads:[~2018-11-29 11:28 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-29  9:40 [U-Boot] [PATCH v5 0/4] Stratix10 FPGA reconfiguration support chee.hong.ang at intel.com
2018-11-29  9:40 ` [U-Boot] [PATCH v5 1/4] arm: socfpga: stratix10: Add macros for mailbox's arguments chee.hong.ang at intel.com
2018-11-29  9:40 ` [U-Boot] [PATCH v5 2/4] arm: socfpga: stratix10: Add Stratix 10 FPGA Reconfiguration Driver chee.hong.ang at intel.com
2018-11-29  9:40 ` [U-Boot] [PATCH v5 3/4] arm: socfpga: stratix10: Add Stratix10 FPGA into FPGA device table chee.hong.ang at intel.com
2018-11-29 11:28   ` Marek Vasut [this message]
2018-12-17  6:38     ` Ang, Chee Hong
2018-12-17 13:04       ` Marek Vasut
2018-11-29  9:40 ` [U-Boot] [PATCH v5 4/4] arm: socfpga: stratix10: Enable Stratix10 FPGA Reconfiguration chee.hong.ang at intel.com
2018-11-29 11:25 ` [U-Boot] [PATCH v5 0/4] Stratix10 FPGA reconfiguration support Marek Vasut
2018-12-17  6:36   ` Ang, Chee Hong
2018-12-17 13:12     ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11f9c66a-04a5-ff1f-9b04-6ca6b4e6c45c@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.