[PATCH v9 03/13] fpga: xilinx: add bitstream flags to driver desc
Oleksandr Suvorov
cryosay at gmail.com
Tue Jun 7 15:03:40 CEST 2022
Hi Michal,
On Tue, Jun 7, 2022 at 3:47 PM Michal Simek <michal.simek at xilinx.com> wrote:
>
> Hi,
>
> On 6/7/22 13:37, Oleksandr Suvorov wrote:
> > Hi Michal,
> >
> > On Tue, Jun 7, 2022 at 2:32 PM Michal Simek <michal.simek at xilinx.com> wrote:
> >>
> >>
> >>
> >> On 6/1/22 10:46, Oleksandr Suvorov wrote:
> >>> Store a set of supported bitstream types in xilinx_desc structure.
> >>> It will be used to determine whether an FPGA image is able to be
> >>> loaded with a given driver.
> >>>
> >>> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov at foundries.io>
> >>> ---
> >>>
> >>> (no changes since v1)
> >>>
> >>> include/versalpl.h | 2 +-
> >>> include/xilinx.h | 5 +++++
> >>> include/zynqmppl.h | 2 +-
> >>> 3 files changed, 7 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/include/versalpl.h b/include/versalpl.h
> >>> index b94c82e6e66..26f04a2f649 100644
> >>> --- a/include/versalpl.h
> >>> +++ b/include/versalpl.h
> >>> @@ -15,6 +15,6 @@
> >>> extern struct xilinx_fpga_op versal_op;
> >>>
> >>> #define XILINX_VERSAL_DESC \
> >>> -{ xilinx_versal, csu_dma, 1, &versal_op, 0, &versal_op }
> >>> +{ xilinx_versal, csu_dma, 1, &versal_op, 0, &versal_op, NULL, FPGA_LEGACY }
> >>>
> >>> #endif /* _VERSALPL_H_ */
> >>> diff --git a/include/xilinx.h b/include/xilinx.h
> >>> index 362943bc717..91179abe31f 100644
> >>> --- a/include/xilinx.h
> >>> +++ b/include/xilinx.h
> >>> @@ -37,6 +37,9 @@ typedef enum { /* typedef xilinx_family */
> >>> max_xilinx_type /* insert all new types before this */
> >>> } xilinx_family; /* end, typedef xilinx_family */
> >>>
> >>> +/* FPGA bitstream supported types */
> >>> +#define FPGA_LEGACY BIT(0)
> >>> +
> >>> typedef struct { /* typedef xilinx_desc */
> >>> xilinx_family family; /* part type */
> >>> xilinx_iface iface; /* interface type */
> >>> @@ -45,6 +48,7 @@ typedef struct { /* typedef xilinx_desc */
> >>> int cookie; /* implementation specific cookie */
> >>> struct xilinx_fpga_op *operations; /* operations */
> >>> char *name; /* device name in bitstream */
> >>> + int flags; /* compatible flags */
> >>> } xilinx_desc; /* end, typedef xilinx_desc */
> >>>
> >>> struct xilinx_fpga_op {
> >>> @@ -56,6 +60,7 @@ struct xilinx_fpga_op {
> >>> struct fpga_secure_info *fpga_sec_info);
> >>> int (*dump)(xilinx_desc *desc, const void *buf, size_t bsize);
> >>> int (*info)(xilinx_desc *desc);
> >>> + int (*str2flag)(xilinx_desc *desc, const char *string);
> >>
> >> This should be in 4/13.
> >>
> >> M
> >
> > Thanks, Michal! Agree. I'll post the fixed patchset after receiving
> > the testing feedback from Ricardo and Adrian.
>
> ok. I think series in general going in right direction based on current fpga
> framework style. Would be better to move it to DM but none is pushing you to do it.
Yeah, I started adding the DM version, but it needs way extra time,
I'm not sure I'll be
able to complete it even in a month (not enough free time for that).
> What needs to be fixed are that return values where flags and fpga status values
> are mixed together. And making sure that secure options are available only when
> secure configuration is enabled.
Ok, thanks, I'll revise these points.
>
> Thanks,
> Michal
--
Best regards
Oleksandr
Oleksandr Suvorov
cryosay at gmail.com
More information about the U-Boot
mailing list