[U-Boot] [PATCH] armv8/ls1043a: Add MTD partition scheme

york sun york.sun at nxp.com
Wed Jul 20 00:02:10 CEST 2016


On 04/06/2016 10:46 PM, Wenbin Song wrote:
> Hi: York
>
> Please see my inline comments.
>
> Best Regards
> Wenbin Song
>
>> -----Original Message-----
>> From: York Sun [mailto:york.sun at nxp.com]
>> Sent: Thursday, April 07, 2016 1:18 AM
>> To: Wenbin Song <wenbin.song at nxp.com>; Mingkai Hu
>> <mingkai.hu at nxp.com>; u-boot at lists.denx.de
>> Cc: Qianyu Gong <qianyu.gong at nxp.com>; Shaohui Xie
>> <shaohui.xie at nxp.com>; Zhiqiang Hou <zhiqiang.hou at nxp.com>
>> Subject: Re: [PATCH] armv8/ls1043a: Add MTD partition scheme
>>
>> On 04/06/2016 12:11 AM, Wenbin Song wrote:
>>> Hi: York
>>>
>>> I set bootargs  as the following steps:
>>>
>>> => env default mtdparts
>>> => printenv mtdparts
>>>
>> mtdparts=mtdparts=60000000.nor:1m(nor_bank0_rcw),1m(nor_bank0_uboot)
>> ,1
>>>
>> m(nor_bank0_uboot_env),1m(nor_bank0_fman_uconde),40m(nor_bank0_fit
>> ),1m
>>>
>> (nor_bank4_rcw),1m(nor_bank4_uboot),1m(nor_bank4_uboot_env),1m(nor_
>> ban
>>>
>> k4_fman_ucode),40m(nor_bank4_fit);7e800000.flash:1m(nand_uboot),1m(na
>> n
>>> d_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file
>>> _system)
>>> => env default bootargs
>>> => printenv bootargs
>>> bootargs=console=ttyS0,115200 root=/dev/ram0
>>> earlycon=uart8250,mmio,0x21c0500 ${mtdparts}
>>>
>>>
>>> The macro  CONFIG_BOOTARGS  only be extern as an char-string, and it will
>> be spliced into default_environment array .
>>>
>>>  const uchar default_environment[] = { #ifdef  CONFIG_BOOTARGS
>>>           "bootargs="     CONFIG_BOOTARGS                 "\0"
>>>  #endif
>>>
>>> The variable we use to have $consoledev, $othbootargs  was used in the
>> following cases:
>>>
>>> 858  #define CONFIG_BOOTCOMMAND \
>>> 859         "setenv bootargs root=/dev/ram rw "             \
>>> 860         "console=$consoledev,$baudrate $othbootargs;"   \
>>> 861         "setenv ramdiskaddr 0x02000000;"                \
>>> 862         "setenv fdtaddr 0x00c00000;"                    \
>>> 863         "setenv loadaddr 0x1000000;"                    \
>>> 864         "bootm $loadaddr $ramdiskaddr $fdtaddr"
>>>
>>> Because the "setenv"  will be executed  , So the variable could be extended.
>>
>> I see what you mean. I am trying to reduce the environmental variables.
>> Do you need the variable "mtdparts"?
>
> [wenbin]
>
> I export this variable in order to make easier  to modify the bootargs under uboot command-line.
>
> For example:
> =>setenv bootargs  "console=ttyS0,115200  root=/dev/ram0  $mtdparts"
> =>setenv bootargs  "console=ttyLP0,115200  root=/dev/ram0  $mtdparts"
>
> Use the $mtdparts to instead of a long string.
>
>
>> Would it be a better idea to set bootargs using the bootcmd?
> [wenbin]
>
>  yes, It is a good idea.
>  But we need all kinds of  ways to boot kernel  with this  "bootargs".  The bootcmd only can specify one boot-way.
> IOW,  only the way specified by this "bootcmd"  can  execute " setenv  bootargs".
> So I want to supply the default bootargs  by the CONFIG_BOOTARGS .
>
>
>>
>> While you are on it, I suggest you take a look at other variables.
>> "console=ttyAMA0,38400n8" is wrong here.
>>
>> We don't have to copy kernel image from NOR flash to DDR if the ramdisk load
>> address is set properly in its file. So you can remove the copying from bootcmd.
>>
> [wenbin]
>
> Ok, thanks for your advices,  I will modify them on the later patch.
>

Wenbin,

Do you have an update?

York



More information about the U-Boot mailing list