> Von: barebox <barebox-boun...@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 |