2022-07-19 11:39:17

by Ivan Bornyakov

[permalink] [raw]
Subject: [PATCH v5 0/2] Lattice ECP5 FPGA manager

Add support to the FPGA manager for programming Lattice ECP5 FPGA over
slave SPI interface with .bit formatted uncompressed bitstream image.

ChangeLog:
v1 -> v2:
* remove "spi" from compatible string
* reword description in dt-bindings doc
* add reference to spi-peripheral-props.yaml in dt-binding doc
* fix DTS example in dt-bindings doc: 4-spaces indentations, no
undersores in node names.
v2 -> v3:
* fix typo "##size-cells" -> "#size-cells" in dt-bindings example
v3 -> v4:
* dt-bindings: reword description
* dt-bindings: revert props order
v4 -> v5:
* dt-bindings: remove trailing dot from title
* dt-bindings: reword description to avoid driver reference
* dt-bindings: add "Reviewed-by: Krzysztof Kozlowski" tag

Ivan Bornyakov (2):
fpga: ecp5-spi: add Lattice ECP5 FPGA manager
dt-bindings: fpga: add binding doc for ecp5-spi fpga mgr

.../bindings/fpga/lattice,ecp5-fpga-mgr.yaml | 74 +++++
drivers/fpga/Kconfig | 7 +
drivers/fpga/Makefile | 1 +
drivers/fpga/ecp5-spi.c | 275 ++++++++++++++++++
4 files changed, 357 insertions(+)
create mode 100644 Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml
create mode 100644 drivers/fpga/ecp5-spi.c

--
2.37.1



2022-07-21 08:05:07

by Xu Yilun

[permalink] [raw]
Subject: Re: [PATCH v5 0/2] Lattice ECP5 FPGA manager

On Tue, Jul 19, 2022 at 02:23:33PM +0300, Ivan Bornyakov wrote:
> Add support to the FPGA manager for programming Lattice ECP5 FPGA over
> slave SPI interface with .bit formatted uncompressed bitstream image.

I didn't have time to looking into the patches yet, but I have some quick
question.

Where is the bitstream data writing to? To the FPGA active region or the
backup nvmem like flash?

After reconfiguration, how to re-enumerate the hardware devices in the
newly programmed FPGA region?

Thanks,
Yilun

>
> ChangeLog:
> v1 -> v2:
> * remove "spi" from compatible string
> * reword description in dt-bindings doc
> * add reference to spi-peripheral-props.yaml in dt-binding doc
> * fix DTS example in dt-bindings doc: 4-spaces indentations, no
> undersores in node names.
> v2 -> v3:
> * fix typo "##size-cells" -> "#size-cells" in dt-bindings example
> v3 -> v4:
> * dt-bindings: reword description
> * dt-bindings: revert props order
> v4 -> v5:
> * dt-bindings: remove trailing dot from title
> * dt-bindings: reword description to avoid driver reference
> * dt-bindings: add "Reviewed-by: Krzysztof Kozlowski" tag
>
> Ivan Bornyakov (2):
> fpga: ecp5-spi: add Lattice ECP5 FPGA manager
> dt-bindings: fpga: add binding doc for ecp5-spi fpga mgr
>
> .../bindings/fpga/lattice,ecp5-fpga-mgr.yaml | 74 +++++
> drivers/fpga/Kconfig | 7 +
> drivers/fpga/Makefile | 1 +
> drivers/fpga/ecp5-spi.c | 275 ++++++++++++++++++
> 4 files changed, 357 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml
> create mode 100644 drivers/fpga/ecp5-spi.c
>
> --
> 2.37.1
>

2022-07-21 09:04:06

by Ivan Bornyakov

[permalink] [raw]
Subject: Re: [PATCH v5 0/2] Lattice ECP5 FPGA manager

On Thu, Jul 21, 2022 at 03:44:31PM +0800, Xu Yilun wrote:
> On Tue, Jul 19, 2022 at 02:23:33PM +0300, Ivan Bornyakov wrote:
> > Add support to the FPGA manager for programming Lattice ECP5 FPGA over
> > slave SPI interface with .bit formatted uncompressed bitstream image.
>
> I didn't have time to looking into the patches yet, but I have some quick
> question.
>
> Where is the bitstream data writing to? To the FPGA active region or the
> backup nvmem like flash?

Bitstream is written to FPGA's volatile SRAM configuration memory.

>
> After reconfiguration, how to re-enumerate the hardware devices in the
> newly programmed FPGA region?
>

I personally describe FPGA-based devices statically in DT overlay within
fpga-region. Of course this approach is error prone to mismatch between
firmware and devices described in DT overlay...

> Thanks,
> Yilun
>
> >
> > ChangeLog:
> > v1 -> v2:
> > * remove "spi" from compatible string
> > * reword description in dt-bindings doc
> > * add reference to spi-peripheral-props.yaml in dt-binding doc
> > * fix DTS example in dt-bindings doc: 4-spaces indentations, no
> > undersores in node names.
> > v2 -> v3:
> > * fix typo "##size-cells" -> "#size-cells" in dt-bindings example
> > v3 -> v4:
> > * dt-bindings: reword description
> > * dt-bindings: revert props order
> > v4 -> v5:
> > * dt-bindings: remove trailing dot from title
> > * dt-bindings: reword description to avoid driver reference
> > * dt-bindings: add "Reviewed-by: Krzysztof Kozlowski" tag
> >
> > Ivan Bornyakov (2):
> > fpga: ecp5-spi: add Lattice ECP5 FPGA manager
> > dt-bindings: fpga: add binding doc for ecp5-spi fpga mgr
> >
> > .../bindings/fpga/lattice,ecp5-fpga-mgr.yaml | 74 +++++
> > drivers/fpga/Kconfig | 7 +
> > drivers/fpga/Makefile | 1 +
> > drivers/fpga/ecp5-spi.c | 275 ++++++++++++++++++
> > 4 files changed, 357 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml
> > create mode 100644 drivers/fpga/ecp5-spi.c
> >
> > --
> > 2.37.1
> >

2022-07-27 06:27:51

by Ivan Bornyakov

[permalink] [raw]
Subject: Re: [PATCH v5 0/2] Lattice ECP5 FPGA manager

On Tue, Jul 19, 2022 at 02:23:33PM +0300, Ivan Bornyakov wrote:
> Add support to the FPGA manager for programming Lattice ECP5 FPGA over
> slave SPI interface with .bit formatted uncompressed bitstream image.
>
> ChangeLog:
> v1 -> v2:
> * remove "spi" from compatible string
> * reword description in dt-bindings doc
> * add reference to spi-peripheral-props.yaml in dt-binding doc
> * fix DTS example in dt-bindings doc: 4-spaces indentations, no
> undersores in node names.
> v2 -> v3:
> * fix typo "##size-cells" -> "#size-cells" in dt-bindings example
> v3 -> v4:
> * dt-bindings: reword description
> * dt-bindings: revert props order
> v4 -> v5:
> * dt-bindings: remove trailing dot from title
> * dt-bindings: reword description to avoid driver reference
> * dt-bindings: add "Reviewed-by: Krzysztof Kozlowski" tag
>
> Ivan Bornyakov (2):
> fpga: ecp5-spi: add Lattice ECP5 FPGA manager
> dt-bindings: fpga: add binding doc for ecp5-spi fpga mgr
>
> .../bindings/fpga/lattice,ecp5-fpga-mgr.yaml | 74 +++++
> drivers/fpga/Kconfig | 7 +
> drivers/fpga/Makefile | 1 +
> drivers/fpga/ecp5-spi.c | 275 ++++++++++++++++++
> 4 files changed, 357 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/fpga/lattice,ecp5-fpga-mgr.yaml
> create mode 100644 drivers/fpga/ecp5-spi.c
>
> --
> 2.37.1
>

Friendly ping.