Skip to content
Snippets Groups Projects

logo: add mem logo

Merged Mikhail Vanyulin requested to merge linux-5.15.29-guf-add-memlogo into linux-5.15.29-guf
1 unresolved thread

This is a fix for issue [746-000092] logo: Implement logo driver to showlogo from RAM

If CONFIG_LOGO_SECO_MEMLOGO is set, logo driver will get logo memory address and size from dtb. And if this points to a correct data, logo, loaded into memory will be displayed.

If some part of dtb node is missing or data in the memory is incorrect, a logo, which was selected by the driver before will be used.

It is also necessary to reserve memory to which logo is loaded.

Exampled dtb nodes:

       seco-memlogo {
               compatible = "seco,memlogo";
               address = <0x14000000>;
               size = <74501>;
       };

       reserved-memory {
               #address-cells = <1>;
               #size-cells = <1>;
               ranges;

               logo_reserved: logo@14000000 {
                       reusable;
                       reg = <0x14000000 74501>;
               };
       };

Example script, which will generate logo from logo.png:

    WIDTH=492
    HEIGHT=150
    pngtopam logo.png > logo.ppm
    pnmpad -width $WIDTH -height $HEIGHT logo.ppm > logo_pad.ppm
    pnmcolormap 224 logo_pad.ppm > colormap
    pnmremap -floyd -plain -mapfile=colormap logo_pad.ppm > logo_plain.ppm
    seco-pnmtologo -t clut224 -o logo.dat -f bin logo_plain.ppm

Example command to load logo into memory from U-Boot:

    load mmc 1:3 0x14000000 logo.dat
Edited by Dmitry Petrov

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Mikhail Vanyulin changed the description

    changed the description

  • requested review from @jonas.hoeppner

  • added 1 commit

    Compare with previous version

  • Hello Jonas.

    Last change was necessary as original version in combination with following commit: seco-ne/yocto/layers/meta-seconorth-machine@aefb0c47 resulted in boot hangup:

    Console log Starting kernel ...

    [ 0.000000] Linux version 5.15.29-guf (ubuntu@srv1-lxc-1.rtsoft.de) (arm-seconorth-linux-gnueabi-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #41 SMP Tue Dec 5 17:58:43 CET 2023
    [ 0.000000] Kernel command line: console=ttymxc0,115200 ip=dhcp root=/dev/nfs nfsroot=192.168.1.3:/opt/seco.kirk/,tcp,v3 rootflags=data=journal rootwait cma=128M loglevel=6 vt.global_cursor_default=0 vt.color=0xF7 fbcon=logo-pos:center,logo-count:1,rotate:0 earlyprintk earlycon
    [ 0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space.
    [ 0.000000] random: get_random_bytes called from start_kernel+0x4c4/0x70c with crng_init=0
    [ 0.002118] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
    [ 0.007855] ... MAX_LOCKDEP_SUBCLASSES: 8
    [ 0.011827] ... MAX_LOCK_DEPTH: 48
    [ 0.016032] ... MAX_LOCKDEP_KEYS: 8192
    [ 0.020353] ... CLASSHASH_SIZE: 4096
    [ 0.024729] ... MAX_LOCKDEP_ENTRIES: 32768
    [ 0.029140] ... MAX_LOCKDEP_CHAINS: 65536
    [ 0.033576] ... CHAINHASH_SIZE: 32768
    [ 0.038039] memory used by lock dependency info: 4061 kB
    [ 0.043408] memory used for stack traces: 2112 kB
    [ 0.048218] per task-struct memory footprint: 1536 bytes
    [ 0.616140] SCSI subsystem initialized
    [ 0.620021] usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
    [ 0.626440] usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
    [ 1.462468] VFS: Disk quotas dquot_6.6.0
    [ 1.520440] armv7-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
    [ 1.909224] Initialise system trusted keyrings
    [ 1.943580] NFS: Registering the id_resolver key type
    [ 1.945950] Key type id_resolver registered
    [ 1.950095] Key type id_legacy registered
    [ 2.056853] Key type asymmetric registered
    [ 2.058206] Asymmetric key parser 'x509' registered
    [ 2.428780] SPI driver ads7846 has no spi_device_id for ti,tsc2046
    [ 2.435116] SPI driver ads7846 has no spi_device_id for ti,ads7843
    [ 2.441472] SPI driver ads7846 has no spi_device_id for ti,ads7845
    [ 2.447685] SPI driver ads7846 has no spi_device_id for ti,ads7873
    [ 2.631949] random: fast init done
    [ 2.657194] random: crng init done
    [ 2.670692] fsl-ssi-dai 202c000.ssi: No cache defaults, reading back from HW
    [ 2.691567] GPT:Primary header thinks Alt. header is not at the end of the disk.
    [ 2.699080] GPT:1714377 != 61120511
    [ 2.702838] GPT:Alternate GPT header not at the end of the disk.
    [ 2.708881] GPT:1714377 != 61120511
    [ 2.712500] GPT: Use GNU Parted to correct GPT errors.
    [ 2.723895] Key type dns_resolver registered
    [ 2.736217] Registering SWP/SWPB emulation handler
    [ 2.742189] Loading compiled-in X.509 certificates
  • Dmitry Petrov marked this merge request as draft

    marked this merge request as draft

  • Dmitry Petrov changed the description

    changed the description

  • Dmitry Petrov added 1 commit

    added 1 commit

    • 56ac5c08 - arm:dts:imx6qdl-san: Add empty reserved-memory node

    Compare with previous version

  • Dmitry Petrov added 1 commit

    added 1 commit

    • 44f8091e - fbdev: fbmem: Fix logo center image dx issue

    Compare with previous version

  • Dmitry Petrov marked this merge request as ready

    marked this merge request as ready

  • Dmitry Petrov changed the description

    changed the description

  • Dmitry Petrov added 6 commits

    added 6 commits

    • 44f8091e...f6ec3c06 - 2 commits from branch linux-5.15.29-guf
    • c8f2fe12 - logo: add mem logo
    • f5293958 - arm:dts:imx6qdl-san: Add empty reserved-memory node
    • a23bd397 - arm:dts:nallino: Add empty reserved-memory node
    • 7e900e1f - fbdev: fbmem: Fix logo center image dx issue

    Compare with previous version

  • Jonas Höppner
    Jonas Höppner @jonas.hoeppner started a thread on an outdated change in commit c8f2fe12
159 break;
160 case LINUX_LOGO_CLUT224:
161 fallthrough;
162 case LINUX_LOGO_GRAY256:
163 logo_bpc = 8;
164 break;
165 }
166
167 logo_data_size = DIV_ROUND_UP(validate_logo->width *
168 validate_logo->height *
169 logo_bpc, 8);
170
171 logo_size_validate = sizeof(struct linux_logo);
172 logo_size_validate += logo_data_size;
173 logo_size_validate += validate_logo->clutsize;
174 if (logosize < logo_size_validate)
  • Jonas Höppner
  • Mikhail Vanyulin added 11 commits

    added 11 commits

    • 7e900e1f...ee94ea87 - 7 commits from branch linux-5.15.29-guf
    • e30bc118 - logo: add mem logo
    • 492a65c2 - arm:dts:imx6qdl-san: Add empty reserved-memory node
    • 518566e8 - arm:dts:nallino: Add empty reserved-memory node
    • 971afb3b - fbdev: fbmem: Fix logo center image dx issue

    Compare with previous version

  • merged

  • Maintainer

    Integration merge request: seco-ne/yocto/manifest!1597 (merged)

  • Please register or sign in to reply
    Loading