Terasic DE0 Nano SoC / SoCkit confusion
Ian Abbott
abbotti at mev.co.uk
Fri Oct 20 05:29:32 PDT 2017
On 20/10/17 09:04, Steffen Trumtrar wrote:
>
> Hi!
>
> Ian Abbott <abbotti at mev.co.uk> writes:
>
>> Hi,
>>
>> I have a Terasic DE0-Nano-SoC Kit / Atlas-SoC Kit board:
>>
>> http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=941
>> https://rocketboards.org/foswiki/Documentation/AtlasSoCDevelopmentPlatform
>>
>> In the barebox menuconfig, if I select "Terasic DE0-NANO-SoC aka Atlas"
>> (MACH_SOCFPGA_TERASIC_DE0_NANO_SOC) for the preloader configuration, the
>> preloader image boot fails at the SDRAM calibration stage. I need to
>> select "Terasic SoCKit" (MACH_SOCFPGA_TERASIC_SOCKIT) instead, which
>> seems to work fine. Indeed, when using the
>> "scripts/socfpga_import_preloader" script to import settings from
>> Terasic's FPGA handoff files for DE0-Nano-SoC, the results are a much
>> better match to barebox's "arch/arm/boards/terasic-sockit/" than they
>> are to "arch/arm/boards/terasic-de0-nano-soc/". I got the handoff files
>> from Terasic's CD-ROM zip files at
>> http://www.terasic.com/downloads/cd-rom/de0-nano-soc/ .
>> There are two CD-ROM zip files for different board revisions, but the
>> handoff files are all the same across both CD-ROM zip files.
>>
>
> The problem with the handoff files is, that it is next to impossible to
> say anything about if they are right or wrong with just looking at them.
> According to f3b493750a304791b057eda246b473810aa8bf40 the handoff files
> somehow come from
>
> https://rocketboards.org/foswiki/Documentation/AtlasSoCDevelopmentPlatform
>
>> I'm currently using "Terasic SoCKit" for the preloader and "Terasic
>> DE0-NANO-SoC aka Atlas" for the main barebox.
>>
>
> If you have the board an can test which handoff files are correct and
> work on the hardware, I'd say: Send patches :)
At the moment, I'm treating it as a bit of a mystery. I don't really
want to update barebox's version of the terasic-de0-nano-soc files just
yet because I've found out that they match the data in the equivalent
u-boot files exactly (except that u-boot's
board/terasic/de0-nano-soc/sdram_config.h includes some dummy settings
for an "extratime1" register in the SDRAM controller). I just
configured u-boot with socfpga_de0_nano_soc_defconfig, built
"u-boot-with-spl.sfp", dd'ed it to the SD card. It boots into u-boot
fine, which only adds to the mystery!
> I can't verify if the current support works or not as I don't have
> access to the hardware.
>
>> My other problem is that there are differences in the "compatible"
>> strings that Linux devicetrees use compared to barebox, which causes the
>> blspec loader to fail to load entries containing devicetree files with
>> different "compatible" strings for what should be the same board.
>>
>> For MACH_SOCFPGA_TERASIC_DE0_NANO_SOC:
>>
>> barebox:
>>
>> compatible = "terasic,de0-nano-soc","altr,socfpga-cyclone5",
>> "altr,socfpga";
>>
>> (closest match in) Linux:
>>
>> compatible = "terasic,de0-atlas", "altr,socfpga-cyclone5", "altr,socfpga";
>>
[snip]
>> Would the best fix for those be to replace the existing compatible
>> strings, or use a union between the current barebox and Linux strings?
>
> Use the one from linux and fixup the board.c files in barebox. The
> barebox compatibles are there, because the upstream bindings didn't
> have board specific compatibles.
Which of the following options would you prefer for the dts files?
1. Linux only:
compatible = "terasic,de0-atlas", "altr,socfpga-cyclone5",
"altr,socfpga";
2. Linux listed before barebox:
compatible = "terasic,de0-atlas", "terasic,de0-nano-soc",
"altr,socfpga-cyclone5", "altr,socfpga";
3. Barebox listed before Linux:
compatible = "terasic,de0-nano-soc", "terasic,de0-atlas",
"altr,socfpga-cyclone5", "altr,socfpga";
Best regards,
Ian.
--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti at mev.co.uk> )=-
-=( Web: http://www.mev.co.uk/ )=-
More information about the barebox
mailing list