On 8/16/23 14:08, Patrice CHOTARD wrote:
>
>
> On 8/14/23 16:35, Dario Binacchi wrote:
>> Patrice, All
>>
>> On Mon, Aug 7, 2023 at 9:41 AM Patrice CHOTARD
>> <[email protected]> wrote:
>>>
>>>
>>>
>>> On 7/10/23 21:02, Dario Binacchi wrote:
>>>> Hi Patrick,
>>>>
>>>> On Mon, Jul 10, 2023 at 1:31 PM Patrick Delaunay
>>>> <[email protected]> wrote:
>>>>>
>>>>> Display the STMicroelectronics logo with features VIDEO_LOGO and
>>>>> SPLASH_SCREEN on STMicroelectronics boards.
>>>>>
>>>>> With CONFIG_SYS_VENDOR = "st", the logo st.bmp is selected, loaded at the
>>>>> address indicated by splashimage and centered with "splashpos=m,m".
>>>>>
>>>>> Signed-off-by: Patrick Delaunay <[email protected]>
>>>>> ---
>>>>>
>>>>> MAINTAINERS | 1 +
>>>>> configs/stm32mp15_basic_defconfig | 3 +++
>>>>> configs/stm32mp15_defconfig | 3 +++
>>>>> configs/stm32mp15_trusted_defconfig | 3 +++
>>>>> include/configs/stm32mp15_st_common.h | 4 +++-
>>>>> tools/logos/st.bmp | Bin 0 -> 18244 bytes
>>>>> 6 files changed, 13 insertions(+), 1 deletion(-)
>>>>> create mode 100644 tools/logos/st.bmp
>>>>>
>>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>>> index d724b6467344..dfe9409bc7fe 100644
>>>>> --- a/MAINTAINERS
>>>>> +++ b/MAINTAINERS
>>>>> @@ -578,6 +578,7 @@ F: include/dt-bindings/clock/stm32mp*
>>>>> F: include/dt-bindings/pinctrl/stm32-pinfunc.h
>>>>> F: include/dt-bindings/reset/stm32mp*
>>>>> F: include/stm32_rcc.h
>>>>> +F: tools/logos/st.bmp
>>>>> F: tools/stm32image.c
>>>>> N: stm
>>>>> N: stm32
>>>>> diff --git a/configs/stm32mp15_basic_defconfig
>>>>> b/configs/stm32mp15_basic_defconfig
>>>>> index 424ae5dbdfaf..9ea5aaa7145a 100644
>>>>> --- a/configs/stm32mp15_basic_defconfig
>>>>> +++ b/configs/stm32mp15_basic_defconfig
>>>>> @@ -171,6 +171,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0483
>>>>> CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
>>>>> CONFIG_USB_GADGET_DWC2_OTG=y
>>>>> CONFIG_VIDEO=y
>>>>> +CONFIG_VIDEO_LOGO=y
>>>>> CONFIG_BACKLIGHT_GPIO=y
>>>>> CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
>>>>> CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
>>>>> @@ -178,6 +179,8 @@ CONFIG_VIDEO_STM32=y
>>>>> CONFIG_VIDEO_STM32_DSI=y
>>>>> CONFIG_VIDEO_STM32_MAX_XRES=1280
>>>>> CONFIG_VIDEO_STM32_MAX_YRES=800
>>>>> +CONFIG_SPLASH_SCREEN=y
>>>>> +CONFIG_SPLASH_SCREEN_ALIGN=y
>>>>> CONFIG_BMP_16BPP=y
>>>>> CONFIG_BMP_24BPP=y
>>>>> CONFIG_BMP_32BPP=y
>>>>> diff --git a/configs/stm32mp15_defconfig b/configs/stm32mp15_defconfig
>>>>> index 2700b5c49910..4d0a81f8a871 100644
>>>>> --- a/configs/stm32mp15_defconfig
>>>>> +++ b/configs/stm32mp15_defconfig
>>>>> @@ -147,6 +147,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0483
>>>>> CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
>>>>> CONFIG_USB_GADGET_DWC2_OTG=y
>>>>> CONFIG_VIDEO=y
>>>>> +CONFIG_VIDEO_LOGO=y
>>>>> CONFIG_BACKLIGHT_GPIO=y
>>>>> CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
>>>>> CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
>>>>> @@ -154,6 +155,8 @@ CONFIG_VIDEO_STM32=y
>>>>> CONFIG_VIDEO_STM32_DSI=y
>>>>> CONFIG_VIDEO_STM32_MAX_XRES=1280
>>>>> CONFIG_VIDEO_STM32_MAX_YRES=800
>>>>> +CONFIG_SPLASH_SCREEN=y
>>>>> +CONFIG_SPLASH_SCREEN_ALIGN=y
>>>>> CONFIG_BMP_16BPP=y
>>>>> CONFIG_BMP_24BPP=y
>>>>> CONFIG_BMP_32BPP=y
>>>>> diff --git a/configs/stm32mp15_trusted_defconfig
>>>>> b/configs/stm32mp15_trusted_defconfig
>>>>> index 5b94e0c6d2e7..0a7d8624858d 100644
>>>>> --- a/configs/stm32mp15_trusted_defconfig
>>>>> +++ b/configs/stm32mp15_trusted_defconfig
>>>>> @@ -147,6 +147,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0483
>>>>> CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
>>>>> CONFIG_USB_GADGET_DWC2_OTG=y
>>>>> CONFIG_VIDEO=y
>>>>> +CONFIG_VIDEO_LOGO=y
>>>>> CONFIG_BACKLIGHT_GPIO=y
>>>>> CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
>>>>> CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
>>>>> @@ -154,6 +155,8 @@ CONFIG_VIDEO_STM32=y
>>>>> CONFIG_VIDEO_STM32_DSI=y
>>>>> CONFIG_VIDEO_STM32_MAX_XRES=1280
>>>>> CONFIG_VIDEO_STM32_MAX_YRES=800
>>>>> +CONFIG_SPLASH_SCREEN=y
>>>>> +CONFIG_SPLASH_SCREEN_ALIGN=y
>>>>> CONFIG_BMP_16BPP=y
>>>>> CONFIG_BMP_24BPP=y
>>>>> CONFIG_BMP_32BPP=y
>>>>> diff --git a/include/configs/stm32mp15_st_common.h
>>>>> b/include/configs/stm32mp15_st_common.h
>>>>> index b45982a35b8c..60838cb0e3f0 100644
>>>>> --- a/include/configs/stm32mp15_st_common.h
>>>>> +++ b/include/configs/stm32mp15_st_common.h
>>>>> @@ -10,7 +10,9 @@
>>>>>
>>>>> #define STM32MP_BOARD_EXTRA_ENV \
>>>>> "usb_pgood_delay=2000\0" \
>>>>> - "console=ttySTM0\0"
>>>>> + "console=ttySTM0\0" \
>>>>> + "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
>>>>> + "splashpos=m,m\0"
>>>>>
>>>>> #include <configs/stm32mp15_common.h>
>>>>>
>>>>> diff --git a/tools/logos/st.bmp b/tools/logos/st.bmp
>>>>> new file mode 100644
>>>>> index
>>>>> 0000000000000000000000000000000000000000..f59d3c5cef6b8bce5213a1ef42a9cdaa3c5dbc58
>>>>> GIT binary patch
>>>>> literal 18244
>>>>> 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
>>>>>
>>>>> literal 0
>>>>> HcmV?d00001
>>>>>
>>>>> --
>>>>> 2.25.1
>>>>>
>>>>
>>>> I downloaded the patch from Patchwork, but when I apply it (git am
>>>> board-stm32mp1-add-splash-screen-with-stmicroelectronics-logo.patch),
>>>> the file tools/logos/st.bmp is empty, and the compilation fails.
>>>> I'm sorry for the stupid question, but what am I doing wrong?
>>>>
>>>> Thanks and regards,
>>>> Dario
>>>
>>> Hi Dario
>>>
>>> I applied this patch on v2023.07 U-Boot tags and everything works fine, no
>>> compilation errors and the logo is displayed as described in Patrick's
>>> patch.
>>
>> I run the next commands:
>> $ git checkout -b 2023.07 v2023.07
>> $ git am
>> ~/Downloads/board-stm32mp1-add-splash-screen-with-stmicroelectronics-logo.patch
>>
>>>
>>> The tools/logos/st.bmp is not empty, its size is 18244 bytes.
>>
>> $ file tools/logos/st.bmp
>> tools/logos/st.bmp: empty
>
>
> Hi Dario
>
> I found the reason why we got different behavior.
>
> In my side i retrieved the patch from my mailer (Thunderbird) and not
> from patchwork as you did.
>
> I confirm, from patchwork i get the same issue as yours, there is an
> issue with binary part of the patch => st.bmp file
>
> When part of the patch include binary, we should use --binary option
> which was not the case when Patrick generated this patch.
>
> I will resubmit the patch with correct option.
I generate again this patch using --binary and full-index options, i submitted
it
to the mailing list but unfortunately, the issue is the same.
It seems that patchwork can't handle correctly patch included binary parts.
Please find attached the patch to try in your side
Patrice
>
> Thanks for pointing this issue.
>
> Patrice
>
>>
>>>
>>> Can you show the compilation error you get ?
>>>
>>
>> HOSTCC tools/spl_size_limit
>> tools/bmp_logo --gen-info ./tools/logos/st.bmp > include/bmp_logo.h
>> ERROR: Input file is not a bitmap
>> make[3]: *** [tools/Makefile:315: include/bmp_logo.h] Error 1
>> make[3]: *** Deleting file 'include/bmp_logo.h'
>> make[3]: *** Waiting for unfinished jobs....
>> make[2]: *** [Makefile:1853: tools] Error 2
>> make[1]: *** [package/pkg-generic.mk:293:
>> /home/dario/projects/passgat/stm32mp157f-dk2/buildroot/output/build/uboot-custom/.stamp_built]
>> Error 2
>> make: *** [Makefile:82: _all] Error 2
>>
>> Thanks and regards,
>> Dario
>>
>>> Thanks
>>> Patrice
>>
>>
>>
> _______________________________________________
> Uboot-stm32 mailing list
> [email protected]
> https://st-md-mailman.stormreply.com/mailman/listinfo/uboot-stm32
From 55b1dbe46c12d7bcbf9685c0f7d7242d21589929 Mon Sep 17 00:00:00 2001
From: Patrick Delaunay <[email protected]>
Date: Mon, 10 Jul 2023 13:30:59 +0200
Subject: [U-BOOT internal] board: stm32mp1: add splash screen with
stmicroelectronics logo
Display the STMicroelectronics logo with features VIDEO_LOGO and
SPLASH_SCREEN on STMicroelectronics boards.
With CONFIG_SYS_VENDOR = "st", the logo st.bmp is selected, loaded at the
address indicated by splashimage and centered with "splashpos=m,m".
Series-version: 2
Series-changes:2
- generate patch using --binary and --full-index option.
Signed-off-by: Patrick Delaunay <[email protected]>
---
MAINTAINERS | 1 +
configs/stm32mp15_basic_defconfig | 3 +++
configs/stm32mp15_defconfig | 3 +++
configs/stm32mp15_trusted_defconfig | 3 +++
include/configs/stm32mp15_st_common.h | 4 +++-
tools/logos/st.bmp | Bin 0 -> 18244 bytes
6 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 tools/logos/st.bmp
diff --git a/MAINTAINERS b/MAINTAINERS
index 3bf60c4643a..525098e22de 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -577,6 +577,7 @@ F: include/dt-bindings/clock/stm32mp*
F: include/dt-bindings/pinctrl/stm32-pinfunc.h
F: include/dt-bindings/reset/stm32mp*
F: include/stm32_rcc.h
+F: tools/logos/st.bmp
F: tools/stm32image.c
N: stm
N: stm32
diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index 13355ebb469..953f6eb376f 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -175,6 +175,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0483
CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
CONFIG_USB_GADGET_DWC2_OTG=y
CONFIG_VIDEO=y
+CONFIG_VIDEO_LOGO=y
CONFIG_BACKLIGHT_GPIO=y
CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
@@ -182,6 +183,8 @@ CONFIG_VIDEO_STM32=y
CONFIG_VIDEO_STM32_DSI=y
CONFIG_VIDEO_STM32_MAX_XRES=1280
CONFIG_VIDEO_STM32_MAX_YRES=800
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
CONFIG_BMP_16BPP=y
CONFIG_BMP_24BPP=y
CONFIG_BMP_32BPP=y
diff --git a/configs/stm32mp15_defconfig b/configs/stm32mp15_defconfig
index 2669aae0f2f..dd619e6429b 100644
--- a/configs/stm32mp15_defconfig
+++ b/configs/stm32mp15_defconfig
@@ -151,6 +151,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0483
CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
CONFIG_USB_GADGET_DWC2_OTG=y
CONFIG_VIDEO=y
+CONFIG_VIDEO_LOGO=y
CONFIG_BACKLIGHT_GPIO=y
CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
@@ -158,6 +159,8 @@ CONFIG_VIDEO_STM32=y
CONFIG_VIDEO_STM32_DSI=y
CONFIG_VIDEO_STM32_MAX_XRES=1280
CONFIG_VIDEO_STM32_MAX_YRES=800
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
CONFIG_BMP_16BPP=y
CONFIG_BMP_24BPP=y
CONFIG_BMP_32BPP=y
diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
index 5f0fb456510..aba182c93be 100644
--- a/configs/stm32mp15_trusted_defconfig
+++ b/configs/stm32mp15_trusted_defconfig
@@ -151,6 +151,7 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0483
CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
CONFIG_USB_GADGET_DWC2_OTG=y
CONFIG_VIDEO=y
+CONFIG_VIDEO_LOGO=y
CONFIG_BACKLIGHT_GPIO=y
CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
@@ -158,6 +159,8 @@ CONFIG_VIDEO_STM32=y
CONFIG_VIDEO_STM32_DSI=y
CONFIG_VIDEO_STM32_MAX_XRES=1280
CONFIG_VIDEO_STM32_MAX_YRES=800
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
CONFIG_BMP_16BPP=y
CONFIG_BMP_24BPP=y
CONFIG_BMP_32BPP=y
diff --git a/include/configs/stm32mp15_st_common.h b/include/configs/stm32mp15_st_common.h
index 866cd7a719f..c4854cb0ddb 100644
--- a/include/configs/stm32mp15_st_common.h
+++ b/include/configs/stm32mp15_st_common.h
@@ -10,7 +10,9 @@
#define STM32MP_BOARD_EXTRA_ENV \
"usb_pgood_delay=2000\0" \
- "console=ttySTM0\0"
+ "console=ttySTM0\0" \
+ "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "splashpos=m,m\0"
#include <configs/stm32mp15_common.h>
diff --git a/tools/logos/st.bmp b/tools/logos/st.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..f59d3c5cef6b8bce5213a1ef42a9cdaa3c5dbc58
GIT binary patch
literal 18244
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
literal 0
HcmV?d00001
--
2.25.1