[PATCH v2 10/13] arm: dts: am335x: add 'u-boot,dm-pre-reloc' to panel

dariobin at libero.it dariobin at libero.it
Mon Feb 17 13:47:18 CET 2020


> Il 17 febbraio 2020 alle 11.56 Felix Brack <fb at ltec.ch> ha scritto:
> 
> 
> 
> 
> On 16.02.20 16:09, 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.
> > In the case of the boards that support Linux, the addition of the
> > property in the *-u-boot.dtsi file still required  changing its dts
> > file adding a label to the panel node in order to be referenced.
> > 
> > Signed-off-by: Dario Binacchi <dariobin at libero.it>
> > 
> > 
> >  - Change subject line in: arm: dts: am335x:
> >  - Move 'u-boot,dm-pre-reloc' property in *-u-boot.dtsi files for
> >    boards tha support Linux
> >  - Ran building tests with CONFIG_AM335X_LCD enabled and disabled for
> >    following configurations:
> >     - brxre1_defconfig           --> success
> >     - am335x_guardian_defconfig  --> success
> >     - am335x_evm_defconfig       --> success
> >     - da850evm_defconfig         --> failure with CONFIG_AM335X_LCD enabled
> > 
> >    Enabling CONFIG_AM335X_LCD causes building errors even without applying
> >    the patch. The driver has never been enabled on the da850 and must be
> >    adapted for this platform.
> > 
> > ---
> > 
> > Changes in v2: None
> > 
> >  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-u-boot.dtsi      |  4 ++++
> >  arch/arm/dts/am335x-evm.dts              |  2 +-
> >  arch/arm/dts/am335x-evmsk-u-boot.dtsi    | 10 ++++++++++
> >  arch/arm/dts/am335x-evmsk.dts            |  2 +-
> >  arch/arm/dts/am335x-guardian-u-boot.dtsi |  4 ++++
> >  arch/arm/dts/am335x-guardian.dts         |  2 +-
> >  arch/arm/dts/am335x-pdu001-u-boot.dtsi   |  4 ++++
> >  arch/arm/dts/am335x-pdu001.dts           |  2 +-
> >  arch/arm/dts/am335x-pxm50-u-boot.dtsi    | 10 ++++++++++
> >  arch/arm/dts/am335x-pxm50.dts            |  2 +-
> >  arch/arm/dts/am335x-rut-u-boot.dtsi      | 10 ++++++++++
> >  arch/arm/dts/am335x-rut.dts              |  2 +-
> >  arch/arm/dts/da850-evm-u-boot.dtsi       |  4 ++++
> >  arch/arm/dts/da850-evm.dts               |  2 +-
> >  19 files changed, 62 insertions(+), 7 deletions(-)
> >  create mode 100644 arch/arm/dts/am335x-evmsk-u-boot.dtsi
> >  create mode 100644 arch/arm/dts/am335x-pxm50-u-boot.dtsi
> >  create mode 100644 arch/arm/dts/am335x-rut-u-boot.dtsi
> > 
> > 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;
> > +
> >  		panel-info {
> >  			ac-bias		= <255>;
> >  			ac-bias-intrpt	= <0>;
> > diff --git a/arch/arm/dts/am335x-brppt1-nand.dts b/arch/arm/dts/am335x-brppt1-nand.dts
> > index 11bd5c551c..9d4340f591 100644
> > --- a/arch/arm/dts/am335x-brppt1-nand.dts
> > +++ b/arch/arm/dts/am335x-brppt1-nand.dts
> > @@ -53,6 +53,8 @@
> >  		bkl-pwm = <&pwmbacklight>;
> >  		bkl-tps = <&tps_bl>;
> >  
> > +		u-boot,dm-pre-reloc;
> > +
> >  		panel-info {
> >  			ac-bias		= <255>;
> >  			ac-bias-intrpt	= <0>;
> > diff --git a/arch/arm/dts/am335x-brppt1-spi.dts b/arch/arm/dts/am335x-brppt1-spi.dts
> > index 01ab74be5e..c078af8fba 100644
> > --- a/arch/arm/dts/am335x-brppt1-spi.dts
> > +++ b/arch/arm/dts/am335x-brppt1-spi.dts
> > @@ -54,6 +54,8 @@
> >  		bkl-pwm = <&pwmbacklight>;
> >  		bkl-tps = <&tps_bl>;
> >  
> > +		u-boot,dm-pre-reloc;
> > +
> >  		panel-info {
> >  			ac-bias		= <255>;
> >  			ac-bias-intrpt	= <0>;
> > diff --git a/arch/arm/dts/am335x-brsmarc1.dts b/arch/arm/dts/am335x-brsmarc1.dts
> > index a63fc2da22..7e9516e8f8 100644
> > --- a/arch/arm/dts/am335x-brsmarc1.dts
> > +++ b/arch/arm/dts/am335x-brsmarc1.dts
> > @@ -59,6 +59,7 @@
> >  		/*backlight = <&tps_bl>; */
> >  		compatible = "ti,tilcdc,panel";
> >  		status = "okay";
> > +		u-boot,dm-pre-reloc;
> >  
> >  		panel-info {
> >  			ac-bias		= <255>;
> > diff --git a/arch/arm/dts/am335x-brxre1.dts b/arch/arm/dts/am335x-brxre1.dts
> > index 33d8ab78d8..6091a12fb7 100644
> > --- a/arch/arm/dts/am335x-brxre1.dts
> > +++ b/arch/arm/dts/am335x-brxre1.dts
> > @@ -79,6 +79,8 @@
> >  
> >  		backlight = <&tps_bl>;
> >  
> > +		u-boot,dm-pre-reloc;
> > +
> >  		panel-info {
> >  			ac-bias		= <255>;
> >  			ac-bias-intrpt	= <0>;
> > diff --git a/arch/arm/dts/am335x-evm-u-boot.dtsi b/arch/arm/dts/am335x-evm-u-boot.dtsi
> > index b6b97ed16d..fc0250bd24 100644
> > --- a/arch/arm/dts/am335x-evm-u-boot.dtsi
> > +++ b/arch/arm/dts/am335x-evm-u-boot.dtsi
> > @@ -8,6 +8,10 @@
> >  	status = "disabled";
> >  };
> >  
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > +
> >  &usb0 {
> >  	dr_mode = "peripheral";
> >  };
> > diff --git a/arch/arm/dts/am335x-evm.dts b/arch/arm/dts/am335x-evm.dts
> > index 0bda4d4429..4aa8c78003 100644
> > --- a/arch/arm/dts/am335x-evm.dts
> > +++ b/arch/arm/dts/am335x-evm.dts
> > @@ -104,7 +104,7 @@
> >  		default-brightness-level = <8>;
> >  	};
> >  
> > -	panel {
> > +	panel: panel {
> >  		compatible = "ti,tilcdc,panel";
> >  		status = "okay";
> >  		pinctrl-names = "default";
> > diff --git a/arch/arm/dts/am335x-evmsk-u-boot.dtsi b/arch/arm/dts/am335x-evmsk-u-boot.dtsi
> > new file mode 100644
> > index 0000000000..1105ec471f
> > --- /dev/null
> > +++ b/arch/arm/dts/am335x-evmsk-u-boot.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * am335x-evmsk U-Boot Additions
> > + *
> > + * Copyright (C) 2020 Dario Binacchi <dariobin at libero.it>
> > + */
> > +
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > diff --git a/arch/arm/dts/am335x-evmsk.dts b/arch/arm/dts/am335x-evmsk.dts
> > index 5762967cf7..1fff1095c9 100644
> > --- a/arch/arm/dts/am335x-evmsk.dts
> > +++ b/arch/arm/dts/am335x-evmsk.dts
> > @@ -166,7 +166,7 @@
> >  		};
> >  	};
> >  
> > -	panel {
> > +	panel: panel {
> >  		compatible = "ti,tilcdc,panel";
> >  		pinctrl-names = "default", "sleep";
> >  		pinctrl-0 = <&lcd_pins_default>;
> > diff --git a/arch/arm/dts/am335x-guardian-u-boot.dtsi b/arch/arm/dts/am335x-guardian-u-boot.dtsi
> > index 156b9b0e83..77d6e90598 100644
> > --- a/arch/arm/dts/am335x-guardian-u-boot.dtsi
> > +++ b/arch/arm/dts/am335x-guardian-u-boot.dtsi
> > @@ -22,6 +22,10 @@
> >  	u-boot,dm-pre-reloc;
> >  };
> >  
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > +
> >  &rtc {
> >  	clocks = <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>;
> >  	clock-names = "int-clk";
> > diff --git a/arch/arm/dts/am335x-guardian.dts b/arch/arm/dts/am335x-guardian.dts
> > index 5ed2133e78..bd3c890a37 100644
> > --- a/arch/arm/dts/am335x-guardian.dts
> > +++ b/arch/arm/dts/am335x-guardian.dts
> > @@ -62,7 +62,7 @@
> >  		};
> >  	};
> >  
> > -	panel {
> > +	panel: panel {
> >  		compatible = "ti,tilcdc,panel";
> >  		pinctrl-names = "default", "sleep";
> >  		pinctrl-0 = <&lcd_pins_default &lcd_disen_pins>;
> > diff --git a/arch/arm/dts/am335x-pdu001-u-boot.dtsi b/arch/arm/dts/am335x-pdu001-u-boot.dtsi
> > index 84a07bdef4..301959a361 100644
> > --- a/arch/arm/dts/am335x-pdu001-u-boot.dtsi
> > +++ b/arch/arm/dts/am335x-pdu001-u-boot.dtsi
> > @@ -44,3 +44,7 @@
> >  &mmc2_pins {
> >  	u-boot,dm-pre-reloc;
> >  };
> > +
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > diff --git a/arch/arm/dts/am335x-pdu001.dts b/arch/arm/dts/am335x-pdu001.dts
> > index ae43d61f4e..c7f512852e 100644
> > --- a/arch/arm/dts/am335x-pdu001.dts
> > +++ b/arch/arm/dts/am335x-pdu001.dts
> > @@ -49,7 +49,7 @@
> >  		regulator-boot-on;
> >  	};
> >  
> > -	panel {
> > +	panel: panel {
> This introduces another difference between the LINUX and and the U-Boot
> DTS file. Not sure but instead of referencing a label can't we use this
> in the *-u-boot.dtsi?
> 
> / {
> 	panel {
> 		u-boot,dm-pre-reloc;
> 		};
> 	};
> 
Yes, you are right.

I built am335x_guardian_defconfig with your suggestion.
dtc -I dtb -O dts -o /tmp/am335x-guardian.dts arch/arm/dts/am335x-guardian.dtb

      panel {
                compatible = "ti,tilcdc,panel";
                pinctrl-names = "default", "sleep";
                pinctrl-0 = <0x48 0x49>;
                pinctrl-1 = <0x4a>;
                u-boot,dm-pre-reloc;

                display-timings {
...

> >  		compatible = "ti,tilcdc,panel";
> >  		status = "okay";
> >  		pinctrl-names = "default";
> > diff --git a/arch/arm/dts/am335x-pxm50-u-boot.dtsi b/arch/arm/dts/am335x-pxm50-u-boot.dtsi
> > new file mode 100644
> > index 0000000000..f69fd384ac
> > --- /dev/null
> > +++ b/arch/arm/dts/am335x-pxm50-u-boot.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * am335x-pxm50 U-Boot Additions
> > + *
> > + * Copyright (C) 2020 Dario Binacchi <dariobin at libero.it>
> > + */
> > +
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > diff --git a/arch/arm/dts/am335x-pxm50.dts b/arch/arm/dts/am335x-pxm50.dts
> > index f4e66d29d5..dcd3f6732f 100644
> > --- a/arch/arm/dts/am335x-pxm50.dts
> > +++ b/arch/arm/dts/am335x-pxm50.dts
> > @@ -16,7 +16,7 @@
> >  	model = "PXM2/PXM50";
> >  	compatible = "ti,am335x-evm", "ti,am33xx";
> >  
> > -		panel {
> > +		panel: panel {
> >  			compatible = "ti,tilcdc,panel";
> >  			backlight = <&backlight0>;
> >  			pinctrl-names = "default";
> > diff --git a/arch/arm/dts/am335x-rut-u-boot.dtsi b/arch/arm/dts/am335x-rut-u-boot.dtsi
> > new file mode 100644
> > index 0000000000..b351eba6ee
> > --- /dev/null
> > +++ b/arch/arm/dts/am335x-rut-u-boot.dtsi
> > @@ -0,0 +1,10 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * am335x-rut U-Boot Additions
> > + *
> > + * Copyright (C) 2020 Dario Binacchi <dariobin at libero.it>
> > + */
> > +
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > diff --git a/arch/arm/dts/am335x-rut.dts b/arch/arm/dts/am335x-rut.dts
> > index 145247344f..0278bb4dcd 100644
> > --- a/arch/arm/dts/am335x-rut.dts
> > +++ b/arch/arm/dts/am335x-rut.dts
> > @@ -86,7 +86,7 @@
> >  		reg = <0x80000000 0x10000000>; /* 256 MB */
> >  	};
> >  
> > -	panel {
> > +	panel: panel {
> >  		compatible = "ti,tilcdc,panel";
> >  		pinctrl-names = "default";
> >  		pinctrl-0 = <&lcd_pins_s0>;
> > diff --git a/arch/arm/dts/da850-evm-u-boot.dtsi b/arch/arm/dts/da850-evm-u-boot.dtsi
> > index aa42d30c72..a3c9ab19b9 100644
> > --- a/arch/arm/dts/da850-evm-u-boot.dtsi
> > +++ b/arch/arm/dts/da850-evm-u-boot.dtsi
> > @@ -28,6 +28,10 @@
> >  	u-boot,dm-spl;
> >  };
> >  
> > +&panel {
> > +	u-boot,dm-pre-reloc;
> > +};
> > +
> >  &serial2 {
> >  	u-boot,dm-spl;
> >  };
> > diff --git a/arch/arm/dts/da850-evm.dts b/arch/arm/dts/da850-evm.dts
> > index f04bc3e153..b1b1158411 100644
> > --- a/arch/arm/dts/da850-evm.dts
> > +++ b/arch/arm/dts/da850-evm.dts
> > @@ -42,7 +42,7 @@
> >  		default-brightness-level = <7>;
> >  	};
> >  
> > -	panel {
> > +	panel: panel {
> >  		compatible = "ti,tilcdc,panel";
> >  		pinctrl-names = "default";
> >  		pinctrl-0 = <&lcd_pins>;
> > 
> 
> --
> Felix


More information about the U-Boot mailing list