Altera_Forum
Honored Contributor
12 years agoKeeping dts/dtb in sync with latest kernel ( sopc2dts, boardinfo xml)
Hi,
I am trying to upgrade my kernel to 3.13 (from 3.9) and one of the things I need is an updated device tree blob. Originally I was thinking I just needed an updated soc_system_board_info.xml (which is 3.9 specific as mentioned in the header comments), but after digging deeper I have come to realize that the problem is actually worse because some of the things that need to be updated are in the .sopcinfo file generated by the fpga build process. So I think the only solution left at the moment (till the fpga build tools are updated) is to manually edit the dts file resulting from the sopc2dts process each time the FPGA changes. Is that correct or am I missing something . To illustrate with an example: One of the dma (in which I am interested) entries changed from interrupts = <0 104 4>, <0 105 4>, <0 106 4>, <0 107 4>, <0 108 4>, <0 109 4>, <0 110 4>, <0 111 4>; to interrupts = <0 104 4>; nr-irqs = <9>; nr-valid-peri = <32>; ( EDIT: I flipped 3.9 and 3.13 versions ) The data for this is in the generated .sopcinfo file , I don't know of a way to 'fix' this once and for all. Related remark: Before I ran into the above, I tried adding some aliases the the boardinfo xml file, for example: <alias name="ethernet0" value=&hps_0_gmac0;/> This gives 2 problems: [1] He insists that the value part is surrounded by "", but according to the wiki (http://www.alterawiki.com/wiki/sopc2dts) this will also put the "" in the generated result, while I need aliases { ethernet0 = &hps_0_gmac1; ... as end result (not "" around the &gmac0;) [2] Even if you try it with quotes, he still complains: [Fatal Error] :296:45: The entity "hps_0_gmac1" was referenced, but not declared. -> the tool does not understand that hps_0_gmac1 is declared in the .sopcinfo so that would seem like a bug to me. (EDIT: I think I understand where the limitation comes from, the ePAPR document mentions only aliases to full paths which should be in quotes ("..."), the option to make an alias to a label is not mentioned in that document. But it is possible apparently in the kernel dts'es, but not in te xml.) Regards bram