[U-Boot] [PATCH v2 2/2] armv8: s32v234: Introduce basic support for s32v234evb

Alexander Graf agraf at suse.de
Sun May 8 09:21:21 CEST 2016



On 08.05.16 01:59, Eddy Petrișor wrote:
> 
> Pe 7 mai 2016 7:22 p.m., "Alexander Graf" <agraf at suse.de
> <mailto:agraf at suse.de>> a scris:
>>
>>
>> On Apr 28, 2016, at 12:07 AM, Eddy Petrișor <eddy.petrisor at nxp.com
> <mailto:eddy.petrisor at nxp.com>> wrote:
>>
>> > From: Eddy Petrișor <eddy.petrisor at gmail.com
> <mailto:eddy.petrisor at gmail.com>>
>>
>> […]
>>
>> > +#define CONFIG_CMD_ENV
>> > +#define CONFIG_EXTRA_ENV_SETTINGS \
>> > +     "script=boot.scr\0" \
>> > +     "uimage=uImage\0" \
>> > +     "ramdisk=rootfs.uimg\0"\
>> > +     "console=ttyLF0\0" \
>> > +     "fdt_high=0xffffffff\0" \
>> > +     "initrd_high=0xffffffff\0" \
>> > +     "fdt_file=s32v234-evb.dtb\0" \
>> > +     "fdt_addr=0xC2000000\0" \
>> > +     "kernel_addr=0xC307FFC0\0" \
>> > +     "ramdisk_addr=0xC4000000\0" \
>> > +     "boot_fdt=try\0" \
>> > +     "ip_dyn=yes\0" \
>> > +     "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
>> > +     "mmcpart=1\0" \
>> > +     "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
>> > +     "update_sd_firmware_filename=u-boot.imx\0" \
>> > +     "update_sd_firmware=" \
>> > +             "if test ${ip_dyn} = yes; then " \
>> > +                     "setenv get_cmd dhcp; " \
>> > +             "else " \
>> > +                     "setenv get_cmd tftp; " \
>> > +             "fi; " \
>> > +             "if mmc dev ${mmcdev}; then "   \
>> > +                     "if ${get_cmd} ${update_sd_firmware_filename};
> then " \
>> > +                             "setexpr fw_sz ${filesize} / 0x200; " \
>> > +                             "setexpr fw_sz ${fw_sz} + 1; "  \
>> > +                             "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
>> > +                     "fi; "  \
>> > +             "fi\0" \
>> > +     "mmcargs=setenv bootargs console=${console},${baudrate} " \
>> > +             "root=${mmcroot}\0" \
>> > +     "loadbootscript=" \
>> > +             "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr}
> ${script};\0" \
>> > +     "bootscript=echo Running bootscript from mmc ...; " \
>> > +             "source\0" \
>> > +     "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${kernel_addr}
> ${uimage}\0" \
>> > +     "loadramdisk=fatload mmc ${mmcdev}:${mmcpart} ${ramdisk_addr}
> ${ramdisk}\0" \
>> > +     "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr}
> ${fdt_file}\0" \
>> > +     "jtagboot=echo Booting using jtag...; " \
>> > +             "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
>> > +     "jtagsdboot=echo Booting loading Linux with ramdisk from
> SD...; " \
>> > +             "run loaduimage; run loadramdisk; run loadfdt;"\
>> > +             "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
>> > +     "mmcboot=echo Booting from mmc ...; " \
>> > +             "run mmcargs; " \
>> > +             "if test ${boot_fdt} = yes || test ${boot_fdt} = try;
> then " \
>> > +                     "if run loadfdt; then " \
>> > +                             "bootm ${loadaddr} - ${fdt_addr}; " \
>> > +                     "else " \
>> > +                             "if test ${boot_fdt} = try; then " \
>> > +                                     "bootm; " \
>> > +                             "else " \
>> > +                                     "echo WARN: Cannot load the
> DT; " \
>> > +                             "fi; " \
>> > +                     "fi; " \
>> > +             "else " \
>> > +                     "bootm; " \
>> > +             "fi;\0" \
>> > +     "netargs=setenv bootargs console=${console},${baudrate} " \
>> > +             "root=/dev/nfs " \
>> > +     "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
>> > +             "netboot=echo Booting from net ...; " \
>> > +             "run netargs; " \
>> > +             "if test ${ip_dyn} = yes; then " \
>> > +                     "setenv get_cmd dhcp; " \
>> > +             "else " \
>> > +                     "setenv get_cmd tftp; " \
>> > +             "fi; " \
>> > +             "${get_cmd} ${uimage}; " \
>> > +             "if test ${boot_fdt} = yes || test ${boot_fdt} = try;
> then " \
>> > +                     "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
>> > +                             "bootm ${loadaddr} - ${fdt_addr}; " \
>> > +                     "else " \
>> > +                             "if test ${boot_fdt} = try; then " \
>> > +                                     "bootm; " \
>> > +                             "else " \
>> > +                                     "echo WARN: Cannot load the
> DT; " \
>> > +                             "fi; " \
>> > +                     "fi; " \
>> > +             "else " \
>> > +                     "bootm; " \
>> > +             "fi;\0"
>> > +
>> > +#define CONFIG_BOOTCOMMAND \
>> > +        "mmc dev ${mmcdev}; if mmc rescan; then " \
>> > +                "if run loadbootscript; then " \
>> > +                        "run bootscript; " \
>> > +                "else " \
>> > +                        "if run loaduimage; then " \
>> > +                                "run mmcboot; " \
>> > +                        "else run netboot; " \
>> > +                        "fi; " \
>> > +                "fi; " \
>> > +        "else run netboot; fi"
>>
>> Do you think you could move all of that to distro boot
> (config_distro_defaults.h)?
> 
> I've looked at the code there and I haven't seen yet how it binds with
> the rest of the code, I'll have to test the change. I can try and get
> back to you.

I don't see anything particular in your boot command that wouldn't get
covered by the existing distro targets, so I guess it's just a matter of
defining the right boot targets and including the header.

Please check out doc/README.distro for more details.

> 
> I suppose I should rebase on the latest code and target 2016.07, so I
> should repost in the next merge window, right? Because in that case I
> would like to discuss some other changes in the imximage tool that are
> needed for s32v234.

I don't think you need to wait for the merge window. The merge window
only says when patches get picked up into the tree, but you can post and
have patches reviewed at any time.


Alex


More information about the U-Boot mailing list