[PATCH 10/11] arm: fdt: omap: update dts panel node

dariobin at libero.it dariobin at libero.it
Tue Feb 11 21:06:33 CET 2020


> Il 11 febbraio 2020 alle 5.11 Lokesh Vutla <lokeshvutla at ti.com> ha scritto:
> 
> 
> 
> 
> On 11/02/20 1:49 AM, dariobin at libero.it wrote:
> > Hi Lokesh
> > 
> >> Il 10 febbraio 2020 alle 5.22 Lokesh Vutla <lokeshvutla at ti.com> ha scritto:
> >>
> >>
> >>
> >>
> >> On 10/02/20 12:17 AM, Dario Binacchi wrote:
> >>> Add the "u-boot,dm-pre-reloc" property to the "ti,tilcdc,panel"
> >>> compatible node. In this way the video-uclass module can allocate the
> >>> amount of memory needed to be assigned to the frame buffer.
> >>
> >> hmm..why do you need to add pre-reloc for allocating the memory? pre-reloc flag
> >> is needed only when probing before relocation.
> >>
> > u-boot told me with an error message. 
> > Following the message I arrived at the video-uclass.c:
> > 
> > 		/* Device tree node may need the 'u-boot,dm-pre-reloc' or
> > 		 * 'u-boot,dm-pre-proper' tag
> > 		 */
> > 		printf("Video device '%s' cannot allocate frame buffer memory -ensure the device is set up before relocation\n",
> > 		       dev->name);
> > 		return -ENOSPC;
> 
> When does your driver gets probed?
The driver is probed in 
int board_late_init(void)
{
        ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
        if (ret)
                printf("Unable to get VIDEO device (%d)\n", ret);

        ret = uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con);
        if (ret)
                printf("Unable to get VIDEO CONSOLE device (%d)\n", ret);

	snprintf(buf, sizeof(buf), "%s\n%s\n", U_BOOT_VERSION, corp);
	vidconsole_position_cursor(con, 0, 0);
	for (s = buf; *s; s++)
		vidconsole_put_char(con, *s);

}

but, without the "u-boot,dm-pre-reloc" property, the error occurs early, during the video device post_binding.
I enabled debug messages in :
- drivers/core/device.c
- drivers/core/uclass.c
- drivers/video/video-uclass.c
and this is what is displayed by u-boot console:
U-Boot SPL 2018.11-rc2 (Feb 11 2020 - 17:34:58 +0100)
Trying to boot from NAND
## Checking hash(es) for Image uboot ... sha1+ OK
## Checking hash(es) for Image fdt ... sha1+ OK


U-Boot 2018.11-rc2 (Feb 11 2020 - 17:34:58 +0100)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x
DRAM:  Video frame buffers from 8fff0000 to 8fff0000
256 MiB
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'root_driver'
   - not found
Bound device mod_exp_sw to root_driver
Bound device scm at 210000 to l4_wkup at 44c00000
Bound device l4_wkup at 44c00000 to ocp
Bound device gpio at 44e07000 to ocp
Bound device gpio at 4804c000 to ocp
Bound device gpio at 481ac000 to ocp
Bound device gpio at 481ae000 to ocp
Bound device serial at 44e09000 to ocp
Bound device serial at 48022000 to ocp
Bound device serial at 48024000 to ocp
Bound device serial at 481a6000 to ocp
Bound device i2c at 44e0b000 to ocp
Bound device i2c at 4802a000 to ocp
Bound device mmc at 48060000 to ocp
Bound device timer at 48040000 to ocp
Bound device timer at 48042000 to ocp
Bound device timer at 48044000 to ocp
Bound device timer at 48046000 to ocp
Bound device timer at 48048000 to ocp
Bound device timer at 4804a000 to ocp
Bound device usb at 47401000 to usb at 47400000
Bound device usb at 47401800 to usb at 47400000
Bound device usb at 47400000 to ocp
Bound device ethernet at 4a100000 to ocp
Bound device ocp to root_driver
Video device 'panel' cannot allocate frame buffer memory -ensure the device is set up before relocation
Error binding driver 'am335x_fb': -28
Some drivers failed to bind
initcall sequence 8ffca898 failed at call 8080f71f (err=-28)
### ERROR ### Please RESET the board ###  

Thanks
Best Regards
Dario 
> 
> Thanks and regards,
> Lokesh
> 
> >>>
> >>> Signed-off-by: Dario Binacchi <dariobin at libero.it>
> >>
> >> $subject should be : arm: dts: am335x:
> > Ok. I will change it.
> > 
> >>
> >>> ---
> >>>
> >>>  arch/arm/dts/am335x-brppt1-mmc.dts  | 2 ++
> >>>  arch/arm/dts/am335x-brppt1-nand.dts | 2 ++
> >>>  arch/arm/dts/am335x-brppt1-spi.dts  | 2 ++
> >>>  arch/arm/dts/am335x-brsmarc1.dts    | 1 +
> >>>  arch/arm/dts/am335x-brxre1.dts      | 2 ++
> >>>  arch/arm/dts/am335x-evm.dts         | 1 +
> >>>  arch/arm/dts/am335x-evmsk.dts       | 1 +
> >>>  arch/arm/dts/am335x-guardian.dts    | 1 +
> >>>  arch/arm/dts/am335x-pdu001.dts      | 1 +
> >>>  arch/arm/dts/am335x-pxm50.dts       | 1 +
> >>>  arch/arm/dts/am335x-rut.dts         | 1 +
> >>>  arch/arm/dts/da850-evm.dts          | 1 +
> >>>  12 files changed, 16 insertions(+)
> >>>
> >>> diff --git a/arch/arm/dts/am335x-brppt1-mmc.dts b/arch/arm/dts/am335x-brppt1-mmc.dts
> >>> index 9be34d9da0..6f919711f0 100644
> >>> --- a/arch/arm/dts/am335x-brppt1-mmc.dts
> >>> +++ b/arch/arm/dts/am335x-brppt1-mmc.dts
> >>> @@ -53,6 +53,8 @@
> >>>  		bkl-pwm = <&pwmbacklight>;
> >>>  		bkl-tps = <&tps_bl>;
> >>>  
> >>> +		u-boot,dm-pre-reloc;
> >>
> >> This is u-boot specific dt flag. Please use it under *-u-boot.dtsi file.
> > Ok. I will fix it.
> > 
> > ---
> > Dario
> >>
> >> Thanks and regards,
> >> Lokesh


More information about the U-Boot mailing list