AW: Barebox for Zedboard
Michael Graichen
michael.graichen at hotmail.com
Sun May 18 23:50:23 PDT 2025
> Von: barebox <barebox-bounces at lists.infradead.org> im Auftrag von Johannes Roith <johannes at gnu-linux.rocks>
> Gesendet: Sonntag, 18. Mai 2025 19:06
> An: Ahmad Fatoum
> Cc: barebox at 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 at 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 at 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 at 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 at 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 at 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 |
More information about the barebox
mailing list