Hi all, could you elaborate a bit on what you're missing? I haven't focused much on sopc2dts and the latest kernels lately so I'm not entirely up to speed I'm afraid. When you give me some concrete examples, I might be able to decrease the size of your xml files ;)
Walter On 06/06/2016 03:22 PM, Lowell Gilbert wrote: > Phil Reid <pr...@electromag.com.au> writes: > >> On 3/06/2016 18:34, Lukas Jünger wrote: >>> Hello, >>> >>> I have been trying for a long time to generate a bootable device >>> tree for my fpga hardware on my DE0-nano-SoC. However, anyhow I try >>> I fail. I can build a >>> device tree without problems using make dtbs, but of course that >>> doesn't include my custom fpga hardware. I made a very simple design >>> now just with a timer that >>> should generate an interrupt but it doesn't work. When i follow the >>> instructions and use sopc2dts my 4.1ltsi-rt kernel just hangs after >>> unzipping. I tried >>> different kernel versions, I tried to use earlyprintk to debug. I >>> get some errors with sopc2dts though. I use the one form >>> altera-opensource github repository >>> like this: >>> >>> java -jar /home/lukas/sopc2dts/sopc2dts.jar -v --input receiver.sopcinfo >>> --output socfpga.dts --type dts --board >>> atlas-soc-ghrd/board_info/board_info_ATLAS_SOC_GHRD.xml --board >>> atlas-soc-ghrd/board_info/hps_common_board_info.xml --bridge-removal >>> all --clocks >>> alias ethernet0 /sopc/ethernet@0xff702000 >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> Try to eliminate hps_bridge_avalon: hps_0_bridges_f2h >>> Component generic_timer_0 of class generic_timer is unknown >>> Component generic_timer_0 of class generic_timer is unknown >>> dts memory section: No memory nodes specified. Blindly adding them all >>> >>> When I compare the device tree generated to the one coming from the >>> kernel git, it uses different syntax and layout, so no surprise that >>> it doesn't work. >>> What am I doing wrong? Is there a tutorial on how to just get a >>> basic design working with interrupts in the linux kernel? >>> >> G'day Lukas, >> >> You're not doing anything wrong. >> The device tree from the sopc2dts doesn't work. >> What I've done is setup scripts to: >> - Use sopc2dts to generate dts. >> - Process it thru a script to strip out everything other than the fpga stuff >> converting it to a dtsi. >> - Modified the kernel dts and then use it and the sopc2dts to to create a >> usuable dtb. >> >> I found the altera tools package with the quartus install lag too far >> behind the kernel development to give you something that boots. >> The dts from the kernel source is generally more correct than the >> sopc2dts one. However depending on you platform you may have different >> periphals enabled. > It's not really that sopc2dts doesn't work, it's just that they need > more entries for more recent kernels. I'm up to nearly a thousand lines > in my XML files. > >> Also don't forget that the spl / uboot need to be updated if you change HPS >> pin muxes. >> This includes fpga bridges etc. >> >> >> Also does the generic timer you add have the necessary _hw.tcl code to add >> entries into the dts? > It's easier to check this in the dts file than the tcl file, but adds up > to the same thing. > _______________________________________________ > Rfi mailing list > Rfi@lists.rocketboards.org > http://lists.rocketboards.org/cgi-bin/mailman/listinfo/rfi > _______________________________________________ Rfi mailing list Rfi@lists.rocketboards.org http://lists.rocketboards.org/cgi-bin/mailman/listinfo/rfi