[U-Boot,1/1] rockchip: rk3288: provide ${fdtfile}

Message ID 20180412224557.11090-1-xypron.glpk@gmx.de
State Accepted
Delegated to: Philipp Tomsich
Headers show
Series
  • [U-Boot,1/1] rockchip: rk3288: provide ${fdtfile}
Related show

Commit Message

Heinrich Schuchardt April 12, 2018, 10:45 p.m.
All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
So we can use it to define ${fdtfile} in rk3288_common.h.

This variable is needed by the distro boot command.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 include/configs/rk3288_common.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Kever Yang April 13, 2018, 7:54 a.m. | #1
Hi Heinrich,

    What kind of issue do you met without this patch?

I think distro boot always work fine in my side without this patch.

Thanks,
- Kever
On 04/13/2018 06:45 AM, Heinrich Schuchardt wrote:
> All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
> So we can use it to define ${fdtfile} in rk3288_common.h.
>
> This variable is needed by the distro boot command.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  include/configs/rk3288_common.h | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
> index 78595b86ec..762a206143 100644
> --- a/include/configs/rk3288_common.h
> +++ b/include/configs/rk3288_common.h
> @@ -73,6 +73,7 @@
>  #define CONFIG_EXTRA_ENV_SETTINGS \
>  	"fdt_high=0x0fffffff\0" \
>  	"initrd_high=0x0fffffff\0" \
> +	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
>  	"partitions=" PARTS_DEFAULT \
>  	ENV_MEM_LAYOUT_SETTINGS \
>  	ROCKCHIP_DEVICE_SETTINGS \
Kever Yang April 13, 2018, 8:01 a.m. | #2
Hi Heinrich,

    Does this fdtfile will used for kernel? There should be a fdt config
for kernel dtb in boot config file,

and we should not use U-Boot dtb for kernel, they are different.


Thanks,
- Kever
On 04/13/2018 03:54 PM, Kever Yang wrote:
> Hi Heinrich,
>
>     What kind of issue do you met without this patch?
>
> I think distro boot always work fine in my side without this patch.
>
> Thanks,
> - Kever
> On 04/13/2018 06:45 AM, Heinrich Schuchardt wrote:
>> All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
>> So we can use it to define ${fdtfile} in rk3288_common.h.
>>
>> This variable is needed by the distro boot command.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>> ---
>>  include/configs/rk3288_common.h | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
>> index 78595b86ec..762a206143 100644
>> --- a/include/configs/rk3288_common.h
>> +++ b/include/configs/rk3288_common.h
>> @@ -73,6 +73,7 @@
>>  #define CONFIG_EXTRA_ENV_SETTINGS \
>>  	"fdt_high=0x0fffffff\0" \
>>  	"initrd_high=0x0fffffff\0" \
>> +	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
>>  	"partitions=" PARTS_DEFAULT \
>>  	ENV_MEM_LAYOUT_SETTINGS \
>>  	ROCKCHIP_DEVICE_SETTINGS \
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Mark Kettenis April 13, 2018, 8:24 a.m. | #3
> From: Kever Yang <kever.yang@rock-chips.com>
> Date: Fri, 13 Apr 2018 15:54:07 +0800
> 
> Hi Heinrich,
> 
>     What kind of issue do you met without this patch?
> 
> I think distro boot always work fine in my side without this patch.

Without this, U-Boot won't load a new device tree from disk before
starting the EFI application.  This means the device tree provided by
U-Boot will be used which doesn't work very well with newer kernels.

> Thanks,
> - Kever
> On 04/13/2018 06:45 AM, Heinrich Schuchardt wrote:
> > All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
> > So we can use it to define ${fdtfile} in rk3288_common.h.
> >
> > This variable is needed by the distro boot command.
> >
> > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> > ---
> >  include/configs/rk3288_common.h | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
> > index 78595b86ec..762a206143 100644
> > --- a/include/configs/rk3288_common.h
> > +++ b/include/configs/rk3288_common.h
> > @@ -73,6 +73,7 @@
> >  #define CONFIG_EXTRA_ENV_SETTINGS \
> >  	"fdt_high=0x0fffffff\0" \
> >  	"initrd_high=0x0fffffff\0" \
> > +	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
> >  	"partitions=" PARTS_DEFAULT \
> >  	ENV_MEM_LAYOUT_SETTINGS \
> >  	ROCKCHIP_DEVICE_SETTINGS \
> 
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>
Heinrich Schuchardt April 13, 2018, 9:13 a.m. | #4
On 04/13/2018 10:01 AM, Kever Yang wrote:
> Hi Heinrich,
> 
>      Does this fdtfile will used for kernel? There should be a fdt config
> for kernel dtb in boot config file,
> 
> and we should not use U-Boot dtb for kernel, they are different.
> 
> 
> Thanks,
> - Kever
> On 04/13/2018 03:54 PM, Kever Yang wrote:
>> Hi Heinrich,
>>
>>      What kind of issue do you met without this patch?
>>
>> I think distro boot always work fine in my side without this patch.

Run make tinker-rk3288_defconfig

In the environment you get:
   soc=rockchip
   board=tinker_rk3288

According to doc/README.pxe:

   If the fdtfile environment variable is set, <path>/<fdtfile> is
   retrieved. Otherwise, the filename is generated from the soc and
   board environment, i.e. <path>/<soc>-<board>.dtb is retrieved.

The logic is implemented in file cmd/pxe.c.

So instead of retrieving tinker_rk3288.dtb we will try to read 
rockchip-tinker_rk3288.dtb which is incorrect.

If you want to look downstream, Debian package flash-kernel uses 
${fdtfile} as the preferred way to identify the dtb file. The variable 
is prerequisite for images that shall run on different SOCs.
See /etc/flash-kernel/bootscript/bootscr.uboot-generic.

Best regards

Heinrich

>>
>> Thanks,
>> - Kever
>> On 04/13/2018 06:45 AM, Heinrich Schuchardt wrote:
>>> All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
>>> So we can use it to define ${fdtfile} in rk3288_common.h.
>>>
>>> This variable is needed by the distro boot command.
>>>
>>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>>> ---
>>>   include/configs/rk3288_common.h | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
>>> index 78595b86ec..762a206143 100644
>>> --- a/include/configs/rk3288_common.h
>>> +++ b/include/configs/rk3288_common.h
>>> @@ -73,6 +73,7 @@
>>>   #define CONFIG_EXTRA_ENV_SETTINGS \
>>>   	"fdt_high=0x0fffffff\0" \
>>>   	"initrd_high=0x0fffffff\0" \
>>> +	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
>>>   	"partitions=" PARTS_DEFAULT \
>>>   	ENV_MEM_LAYOUT_SETTINGS \
>>>   	ROCKCHIP_DEVICE_SETTINGS \
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot@lists.denx.de
>> https://lists.denx.de/listinfo/u-boot
> 
> 
>
Dr. Philipp Tomsich April 25, 2018, 10:04 a.m. | #5
> All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
> So we can use it to define ${fdtfile} in rk3288_common.h.
> 
> This variable is needed by the distro boot command.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  include/configs/rk3288_common.h | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Dr. Philipp Tomsich April 25, 2018, 10:04 a.m. | #6
> All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
> So we can use it to define ${fdtfile} in rk3288_common.h.
> 
> This variable is needed by the distro boot command.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  include/configs/rk3288_common.h | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Dr. Philipp Tomsich April 26, 2018, 7:05 a.m. | #7
> All rk3288 default configs define CONFIG_DEFAULT_DEVICE_TREE.
> So we can use it to define ${fdtfile} in rk3288_common.h.
> 
> This variable is needed by the distro boot command.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
>  include/configs/rk3288_common.h | 1 +
>  1 file changed, 1 insertion(+)
> 

Applied to u-boot-rockchip, thanks!

Patch

diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
index 78595b86ec..762a206143 100644
--- a/include/configs/rk3288_common.h
+++ b/include/configs/rk3288_common.h
@@ -73,6 +73,7 @@ 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"fdt_high=0x0fffffff\0" \
 	"initrd_high=0x0fffffff\0" \
+	"fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
 	"partitions=" PARTS_DEFAULT \
 	ENV_MEM_LAYOUT_SETTINGS \
 	ROCKCHIP_DEVICE_SETTINGS \