public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Chee, Tien Fong <tien.fong.chee@intel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v7 1/7] ARM: socfpga: Description on FPGA bitstream type and file name for Arria 10
Date: Fri, 1 Feb 2019 16:02:24 +0000	[thread overview]
Message-ID: <1549036942.11363.34.camel@intel.com> (raw)
In-Reply-To: <581c2c6c-eb0c-8f31-dbba-a966cb93ba27@denx.de>

On Fri, 2019-02-01 at 09:25 +0100, Marek Vasut wrote:
> On 2/1/19 4:48 AM, Chee, Tien Fong wrote:
> > 
> > On Thu, 2019-01-31 at 15:54 +0100, Marek Vasut wrote:
> > > 
> > > On 1/31/19 3:51 PM, tien.fong.chee at intel.com wrote:
> > > > 
> > > > 
> > > > From: Tien Fong Chee <tien.fong.chee@intel.com>
> > > > 
> > > > This patch adds description on properties about file name used
> > > > for
> > > > both
> > > > peripheral bitstream and core bitstream.
> > > > 
> > > > Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
> > > > 
> > > > ---
> > > > 
> > > > changes for v7
> > > > - Provided example of setting FPGA FIT image for both early IO
> > > > release
> > > >   and full release FPGA configuration.
> > > > ---
> > > >  .../fpga/altera-socfpga-a10-fpga-mgr.txt           | 34
> > > > +++++++++++++++++++++-
> > > >  1 file changed, 33 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/doc/device-tree-bindings/fpga/altera-socfpga-a10-
> > > > fpga-
> > > > mgr.txt b/doc/device-tree-bindings/fpga/altera-socfpga-a10-
> > > > fpga-
> > > > mgr.txt
> > > > index 2fd8e7a..5f81a32 100644
> > > > --- a/doc/device-tree-bindings/fpga/altera-socfpga-a10-fpga-
> > > > mgr.txt
> > > > +++ b/doc/device-tree-bindings/fpga/altera-socfpga-a10-fpga-
> > > > mgr.txt
> > > > @@ -7,8 +7,39 @@ Required properties:
> > > >                 - The second index is for writing FPGA
> > > > configuration data.
> > > >  - resets     : Phandle and reset specifier for the device's
> > > > reset.
> > > >  - clocks     : Clocks used by the device.
> > > > +- altr,bitstream : File name for FPGA peripheral bitstream
> > > > which
> > > > is used
> > > > +		   to initialize FPGA IOs, PLL, IO48 and DDR.
> > > > This
> > > > bitstream is
> > > > +		   required to get DDR up running.
> > > > +		   or
> > > > +		   File name for full bitstream, consist of
> > > > peripheral bitstream
> > > > +		   and core bitstream.
> > > > +- altr,bitstream-core(optional) : File name for core bitstream
> > > > which contains
> > > Is the name of the property 'altr,bitstream-core(optional)' ? I
> > > think
> > > the "optional" part should be in the description.
> > Yes, you are right.
> > > 
> > > 
> > > > 
> > > > 
> > > > +				  FPGA design which is used to
> > > > program FPGA CRAM
> > > > +				  and ERAM.
> > > >  
> > > > -Example:
> > > > +Example: Bundles both peripheral bitstream and core bitstream
> > > > into
> > > > FIT image
> > > > +	 called fit_spl_fpga.itb. This FIT image can be
> > > > created
> > > > through running
> > > > +	 this command: tools/mkimage
> > > > +		       -E -p 400
> > > > +		       -f board/altera/arria10-
> > > > socdk/fit_spl_fpga.its
> > > > +		       fit_spl_fpga.itb
> > > > +
> > > > +	 For details of describing structure and contents of
> > > > the
> > > > FIT image,
> > > > +	 please refer board/altera/arria10-
> > > > socdk/fit_spl_fpga.its
> > > > +
> > > > +- Examples for booting with early IO release, and enter early
> > > > user
> > > > mode:
> > > > +
> > > > +	fpga_mgr: fpga-mgr at ffd03000 {
> > > > +		compatible = "altr,socfpga-a10-fpga-mgr";
> > > > +		reg = <0xffd03000 0x100
> > > > +		       0xffcfe400 0x20>;
> > > > +		clocks = <&l4_mp_clk>;
> > > > +		resets = <&rst FPGAMGR_RESET>;
> > > > +		altr,bitstream = "fit_spl_fpga.itb";
> > > > +		altr,bitstream-core = "fit_spl_fpga.itb";
> > > It's the same file, why does it use two properties ? 
> > 1. Allows user to run optional for program core. When "" is set to 
> > altr,bitstream-core, then SPL would skip programming FPGA with
> > core, so
> > user can program it later on U-Boot or Linux.
> You can just pass in a fitImage with only the periph image in it in
> such
> a case.
What if user want to program the core on U-Boot? User need to create
two FIT images, one FIT with periph image, and another FIT with core
image only.

Current implementation supports one FIT image for above configuration.
> 
> > 
> > 2. Allows core in different FIT file.
> Is this really useful ?
Yes, for the use case which support different core image for different
revision of board but using same periph image.
> 
> > 
> > > 
> > > And where is this
> > > file loaded from ?
> > You need to set the default source in DTS, for example "firmware-
> > loader 
> > = &fs_loader0", that's for power boot up purpose. After that,
> > generic
> > firmware loader would go to the dsignated storage as described
> > below to
> > find the FPGA FIT image according description from above.
> > 
> > 	fs_loader0: fs-loader at 0 {
> > 		u-boot,dm-pre-reloc;
> > 		compatible = "u-boot,fs-loader";
> > 		phandlepart = <&mmc 1>;
> > 	};
> How does the driver bound to fpga-mgr know which firmware loader
> instance to use ? There's no phandle.
Current firmware loader supports only one instance, that is default
instance described in chosen node. It is good enough to solve our
problem where to define a default storage for FPGA images and how to
tell the SPL to load it from the default storage when the board is
powered up. I don't see there is a need to support more than one
instance for fpga-mgr during SPL runtime, at least for now. User can
program the FPGA with core image from any storage with series of
commands such as fatload and socfpga load on U-Boot console.

It is good to improve the firmware loader to support
the DM_FLAG_PRE_RELOC, which allow user to choose different firmware
loader node through setting the right sequence number when creating the
firmare loader instance in the parent driver such as fpga mgr, but i
don't see there is urgency need to be done now.
> 
> > 
> > > 
> > > > 
> > > > +	};
> > > > +
> > > > +- Examples for booting with full release, enter user mode with
> > > > full bitstream:
> > > >  
> > > >  	fpga_mgr: fpga-mgr at ffd03000 {
> > > >  		compatible = "altr,socfpga-a10-fpga-mgr";
> > > > @@ -16,4 +47,5 @@ Example:
> > > >  		       0xffcfe400 0x20>;
> > > >  		clocks = <&l4_mp_clk>;
> > > >  		resets = <&rst FPGAMGR_RESET>;
> > > > +		altr,bitstream = "fit_spl_fpga.itb";
> > > >  	};
> > > > 
> 

  reply	other threads:[~2019-02-01 16:02 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-31 14:51 [U-Boot] [PATCH v7 0/7] Add support for loading FPGA bitstream tien.fong.chee at intel.com
2019-01-31 14:51 ` [U-Boot] [PATCH v7 1/7] ARM: socfpga: Description on FPGA bitstream type and file name for Arria 10 tien.fong.chee at intel.com
2019-01-31 14:54   ` Marek Vasut
2019-02-01  3:48     ` Chee, Tien Fong
2019-02-01  8:25       ` Marek Vasut
2019-02-01 16:02         ` Chee, Tien Fong [this message]
2019-02-01 20:02           ` Dalon L Westergreen
2019-02-01 20:29             ` Dalon L Westergreen
2019-02-02  2:37               ` Chee, Tien Fong
2019-02-05  8:46           ` Marek Vasut
2019-02-11  5:36             ` Chee, Tien Fong
2019-02-11 11:01               ` Marek Vasut
2019-02-11 16:33                 ` Dalon L Westergreen
2019-02-11 17:01                 ` Chee, Tien Fong
2019-02-11 17:19                   ` Westergreen, Dalon
2019-02-12  9:35                     ` Chee, Tien Fong
2019-02-12  9:43                       ` Marek Vasut
2019-02-12 10:13                         ` Chee, Tien Fong
2019-02-12 10:17                           ` Marek Vasut
2019-02-12 13:49                             ` Dalon L Westergreen
2019-02-12 14:06                               ` Chee, Tien Fong
2019-01-31 14:51 ` [U-Boot] [PATCH v7 2/7] ARM: socfpga: Add default FPGA bitstream fitImage for Arria10 SoCDK tien.fong.chee at intel.com
2019-01-31 14:54   ` Marek Vasut
2019-02-01  3:59     ` Chee, Tien Fong
2019-02-01  8:29       ` Marek Vasut
2019-02-01 16:50         ` Chee, Tien Fong
2019-02-05  8:51           ` Marek Vasut
2019-02-11  6:23             ` Chee, Tien Fong
2019-02-11 11:06               ` Marek Vasut
2019-02-11 16:20                 ` Chee, Tien Fong
2019-01-31 14:51 ` [U-Boot] [PATCH v7 3/7] ARM: socfpga: Add FPGA drivers for Arria 10 FPGA bitstream loading tien.fong.chee at intel.com
2019-01-31 14:55   ` Marek Vasut
2019-02-01  4:04     ` Chee, Tien Fong
2019-02-01  8:29       ` Marek Vasut
2019-02-01 16:50         ` Chee, Tien Fong
2019-02-13  8:22         ` Chee, Tien Fong
2019-02-13 12:00           ` Marek Vasut
2019-02-13 12:15             ` Chee, Tien Fong
2019-02-13 12:34               ` Marek Vasut
2019-02-01 20:12   ` Dalon L Westergreen
2019-02-02  3:27     ` Chee, Tien Fong
2019-02-05  8:41       ` Marek Vasut
2019-02-11 11:19         ` Chee, Tien Fong
2019-01-31 14:51 ` [U-Boot] [PATCH v7 4/7] ARM: socfpga: Add the configuration for FPGA SoCFPGA A10 SoCDK tien.fong.chee at intel.com
2019-01-31 14:57   ` Marek Vasut
2019-02-01  4:07     ` Chee, Tien Fong
2019-01-31 14:51 ` [U-Boot] [PATCH v7 5/7] spl : socfpga: Implement fpga bitstream loading with socfpga loadfs tien.fong.chee at intel.com
2019-01-31 14:51 ` [U-Boot] [PATCH v7 6/7] ARM: socfpga: Synchronize the configuration for A10 SoCDK tien.fong.chee at intel.com
2019-01-31 14:51 ` [U-Boot] [PATCH v7 7/7] ARM: socfpga: Increase Malloc pool size to support FAT filesystem in SPL tien.fong.chee at intel.com
2019-01-31 14:58   ` Marek Vasut
2019-02-01  4:11     ` Chee, Tien Fong

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=1549036942.11363.34.camel@intel.com \
    --to=tien.fong.chee@intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox