From: Michael Graichen <michael.graichen@hotmail.com>
To: Johannes Roith <johannes@gnu-linux.rocks>,
Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: "barebox@lists.infradead.org" <barebox@lists.infradead.org>
Subject: AW: Barebox for Zedboard
Date: Mon, 19 May 2025 06:50:23 +0000 [thread overview]
Message-ID: <VI1PR02MB4429AA325D9A08D898319A40AB9CA@VI1PR02MB4429.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <aCoTbGjxgymNPSQF@Precision-T3610>
> Von: barebox <barebox-bounces@lists.infradead.org> im Auftrag von Johannes Roith <johannes@gnu-linux.rocks>
> Gesendet: Sonntag, 18. Mai 2025 19:06
> An: Ahmad Fatoum
> Cc: barebox@lists.infradead.org
> Betreff: Re: Barebox for Zedboard
>
> Hello Ahmad,
>
> Am Fri, May 16, 2025 at 09:28:03PM +0200 schrieb Ahmad Fatoum:
> > Hello Johannes,
> >
> > On 16.05.25 21:03, Johannes Roith wrote:
> > > The big advantage of using such an approach would be support for similar
> > devices (e.g. the UltraScale+ ZYNQMP devices) could be added easily by
> > porting the Linux drivers to barebox.
> >
> > I can't comment on the Zynq, but for ZynqMP, there is already a FPGA manager
> > driver in drivers/firmware/zynqmp-fpga.c. FPGA programming is also supported
> > for Altera SoCFPGA and are exposed over the firmware API.
>
> That's exactly what I was looking for. For the ZYNQ it is not
> implemented yet, but I could use the ZYNQMP as a reference. I also saw
> there is the firmwareload command available to load the bitstream from
> commandline
>
> >
> > Loading OF overlays can already load firmware that way.
>
> Could you give me an example for an OF overlay to load a firmware? Do I
> have to place the firmware at a specific path like with Linux FPGA
> manager or can I specify the path in the overlay?
>
> Thanks and best regards,
> Johannes
Dear Johannes et al.
i'am using
amba_pl: amba_pl {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges ;
zynq_layer_axi_dma_0: dma@40400000 {
#dma-cells = <1>;
clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_s2mm_aclk";
clocks = <&clkc 15>, <&clkc 15>, <&clkc 17>;
compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a";
interrupt-names = "s2mm_introut";
interrupt-parent = <&intc>;
interrupts = <0 29 4>;
reg = <0x40400000 0x10000>;
xlnx,addrwidth = <0x20>;
xlnx,include-sg;
xlnx,sg-length-width = <0x10>;
dma-channel@40400030 {
compatible = "xlnx,axi-dma-s2mm-channel";
dma-channels = <0x1>;
interrupts = <0 29 4>;
xlnx,datawidth = <0x40>;
xlnx,device-id = <0x0>;
xlnx,include-dre ;
};
};
};
smartcam-v4l2@43C00000 {
compatible = "wipo,smartcam-v4l2-1.0";
interrupt-names = "smartcam-v4l2-interrupt";
interrupt-parent = <&intc>;
interrupts = <0 30 4>;
reg = <0x43C00000 0x1000>;
dmas = <&zynq_layer_axi_dma_0 1>;
dma-names = "axidma1";
headboard-power-gpios = <&gpio0 46 1>;
status = "okay";
};
for a PS<->PL DMA channel and
messagechannel@43C10000 {
compatible = "wipo,messagechannel-1.0";
interrupt-names = "messagechannel-interrupt";
interrupt-parent = <&intc>;
interrupts = <0 31 4>;
reg = <0x43C10000 0x1000>;
status = "okay";
};
for an PS<->PL FIFO.
But this is not used within barebox in my case. It's only there because barebox passes it's devicetree to the Linux Kernel. I only do the programming of the FPGA in barebox within my init script by
firmwareload -t zynq-fpga-manager /mnt/boot/design_1_wrapper.bit
I will send the latest version of my zynq-fpga-manager to the mailing list soon.
Please feel free to pick it up and finish my work since i did not do it since 2020.
Best Regards,
Michael
> >
> > Cheers,
> > Ahmad
> >
> > >> That said I wouldn't mind helping with getting the missing bits added
> > >> by reviewing/testing patches. :)
> > >>
> > >> Regards,
> >> Lucas
> >>
> >> Hey Lucas,
> >>
> >> "That said I wouldn't mind helping with getting the missing bits added
> >> by reviewing/testing patches. :)"
> >>
> >> Did you made any attempts to do this?
> >>
> >> As far as I can see there are basicly two ways.
> >> The "Xilinx-Way" by packing everything in Boot.bin.
> >> https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841976/Prepare+boot+image
> >> and the "Linux-Way"
> >> https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager
> >> using the FPGA manager
> >> https://elixir.bootlin.com/linux/latest/source/drivers/fpga/zynq-fpga.c
> >>
> >> Best regards
> >> Michael
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> barebox mailing list
> >> barebox@lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/barebox
> >
> > Best regards,
> > Johannes
> >
> >
>
>
> --
> Pengutronix e.K. | |
> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2025-05-19 6:51 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-19 10:38 Michael Graichen
2020-03-19 10:53 ` Lucas Stach
2020-03-23 14:22 ` AW: " Michael Graichen
2020-03-23 15:18 ` Michael Graichen
2025-05-16 19:03 ` Johannes Roith
2025-05-16 19:28 ` Ahmad Fatoum
2025-05-18 17:06 ` Johannes Roith
2025-05-19 4:55 ` Ahmad Fatoum
2025-05-26 7:23 ` Michael Tretter
2025-05-19 6:50 ` Michael Graichen [this message]
2025-05-19 18:41 ` Johannes Roith
2025-05-19 19:56 ` Ahmad Fatoum
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=VI1PR02MB4429AA325D9A08D898319A40AB9CA@VI1PR02MB4429.eurprd02.prod.outlook.com \
--to=michael.graichen@hotmail.com \
--cc=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=johannes@gnu-linux.rocks \
/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