How to custom start-up logo

Currently, when install TX2 on our customer board, it don’t show the start-up logo.
it is only working on official board.

In addation, can you let me know how to update the start-up logo?

27653276,

Please dump the cboot log from uart first.

As for the boot logo, please refer to
https://devtalk.nvidia.com/default/topic/1031327/jetson-tx2/change-cboot-boot-logo-l4t-28-2-/

Hello WayneWWW,

[0000.153] C> I2C command failed
[0000.156] C> block index = (4) and rail_id = (1)
[0000.161] C> Addr: Reg = [0xe8:0x07]: 336166925
[0000.278] I> Welcome to MB2(TBoot-BPMP)(version: 01.00.160913-t186-M-00.00-mobile-c4328dc3)
[0000.286] I> Default Heap @ [0xd486400 - 0xd488400]
[0000.291] I> DMA Heap @ [0x85200000 - 0x86200000]
[0000.296] I> bit @ 0xd480000
[0000.299] I> BR-BCT relocated to 0xd7020000
[0000.303] I> Boot-device: eMMC
[0000.306] I> sdmmc bdev is already initialized
[0000.311] I> pmic: reset reason (nverc) : 0x50
[0000.315] I> Reading GPT from 512 for device 00000003
[0000.321] I> Reading GPT from 8388096 for device 00000003
[0000.329] I> Found 13 partitions in 00000003 device
[0000.333] I> Reading GPT from 512 for device 00010003
[0000.340] I> Found 29 partitions in 00010003 device
[0000.345] W> No valid slot number is found in scratch register
[0000.351] W> Return default slot: _a
[0000.354] I> A/B: bin_type (16) slot 0
[0000.358] I> Loading partition bpmp-fw at 0xd7800000
[0000.363] I> Reading two headers - addr:0xd7800000 blocks:1
[0000.368] I> Addr: 0xd7800000, start-block: 58761217, num_blocks: 1
[0000.383] I> Binary(16) of size 529040 is loaded @ 0xd7800000
[0000.389] W> No valid slot number is found in scratch register
[0000.395] W> Return default slot: _a
[0000.398] I> A/B: bin_type (17) slot 0
[0000.402] I> Loading partition bpmp-fw-dtb at 0xd79f0000
[0000.407] I> Reading two headers - addr:0xd79f0000 blocks:1
[0000.412] I> Addr: 0xd79f0000, start-block: 58763633, num_blocks: 1
[0000.426] I> Binary(17) of size 465760 is loaded @ 0xd798e200
[0000.605] I> BPMP-FW load address = 0xd7800000
[0000.609] I> BPMP-FW DTB load address = 0x5018e200
[0000.614] I> Loading SCE-FW …
[0000.617] W> No valid slot number is found in scratch register
[0000.623] W> Return default slot: _a
[0000.626] I> A/B: bin_type (12) slot 0
[0000.630] I> Loading partition sce-fw at 0xd7300000
[0000.635] I> Reading two headers - addr:0xd7300000 blocks:1
[0000.640] I> Addr: 0xd7300000, start-block: 58765633, num_blocks: 1
[0000.649] I> Binary(12) of size 76592 is loaded @ 0xd7300000
[0000.654] I> Init SCE
[0000.657] I> Copy BTCM section
[0000.660] W> No valid slot number is found in scratch register
[0000.665] W> Return default slot: _a
[0000.669] I> A/B: bin_type (13) slot 0
[0000.672] I> Loading partition cpu-bootloader at 0x96000000
[0000.678] I> Reading two headers - addr:0x96000000 blocks:1
[0000.683] I> Addr: 0x96000000, start-block: 58740737, num_blocks: 1
[0000.695] I> Binary(13) of size 282736 is loaded @ 0x96000000
[0000.700] W> No valid slot number is found in scratch register
[0000.706] W> Return default slot: _a
[0000.709] I> A/B: bin_type (20) slot 0
[0000.713] I> Loading partition bootloader-dtb at 0x8520f400
[0000.718] I> Reading two headers - addr:0x8520f400 blocks:1
[0000.724] I> Addr: 0x8520f400, start-block: 58742785, num_blocks: 1
[0000.734] I> Binary(20) of size 220368 is loaded @ 0x8520f400
[0000.740] I> MB2-params(VA) @ 0xd7000000
[0000.744] I> CPUBL-params(VA) @ 0xd7000000
[0000.748] I> CPUBL-params(PA) @ 0x277000000
[0000.752] I> CPU-BL loaded @ PA 0x96000000
[0000.756] I> Loading TOS …
[0000.759] W> No valid slot number is found in scratch register
[0000.764] W> Return default slot: _a
[0000.768] I> A/B: bin_type (14) slot 0
[0000.771] I> Loading partition secure-os at 0x8530f600
[0000.776] I> Reading two headers - addr:0x8530f600 blocks:1
[0000.782] I> Addr: 0x8530f600, start-block: 58744833, num_blocks: 1
[0000.790] I> Binary(14) of size 62576 is loaded @ 0x8530f600
[0000.796] I> Copying Monitor (length: 0xf270) from 0x8530f800 to 0x40000000
[0000.803] I> Erasing Monitor @ 0x8530f800
[0000.808] I> Unhalting SCE
[0000.810] I> Primary Memory Start:80000000 Size:70000000
[0000.815] I> Extended Memory Start:f0110000 Size:185ef0000
[0000.822] I> Waypoint2-ACK: 0x52012714
[0000.826] I> MB2(TBoot-BPMP) done

NOTICE: BL31: v1.2(release):e1e4477
NOTICE: BL31: Built : 00:08:30, May 17 2018
NOTICE: Trusty image missing.
ERROR: Error initializing runtime service trusty_fast
[0001.187] I> Welcome to Cboot
[0001.189] I> Cboot Version: 00.00.2014.50-t186-0c600f85
[0001.194] I> CPU-BL Params @ 0x277000000
[0001.198] I> 0) Base:0x00000000 Size:0x00000000
[0001.203] I> 1) Base:0x277f00000 Size:0x00100000
[0001.207] I> 2) Base:0x277e00000 Size:0x00100000
[0001.212] I> 3) Base:0x277d00000 Size:0x00100000
[0001.216] I> 4) Base:0x277c00000 Size:0x00100000
[0001.221] I> 5) Base:0x277b00000 Size:0x00100000
[0001.225] I> 6) Base:0x277800000 Size:0x00200000
[0001.230] I> 7) Base:0x277400000 Size:0x00400000
[0001.234] I> 8) Base:0x277a00000 Size:0x00100000
[0001.239] I> 9) Base:0x277300000 Size:0x00100000
[0001.243] I> 10) Base:0x276800000 Size:0x00800000
[0001.248] I> 11) Base:0x30000000 Size:0x00040000
[0001.252] I> 12) Base:0xf0000000 Size:0x00100000
[0001.257] I> 13) Base:0x30040000 Size:0x00001000
[0001.261] I> 14) Base:0x30048000 Size:0x00001000
[0001.265] I> 15) Base:0x30049000 Size:0x00001000
[0001.270] I> 16) Base:0x3004a000 Size:0x00001000
[0001.274] I> 17) Base:0x3004b000 Size:0x00001000
[0001.279] I> 18) Base:0x3004c000 Size:0x00001000
[0001.283] I> 19) Base:0x3004d000 Size:0x00001000
[0001.288] I> 20) Base:0x3004e000 Size:0x00001000
[0001.292] I> 21) Base:0x3004f000 Size:0x00001000
[0001.296] I> 22) Base:0x00000000 Size:0x00000000
[0001.301] I> 23) Base:0xf0100000 Size:0x00010000
[0001.305] I> 24) Base:0x00000000 Size:0x00000000
[0001.310] I> 25) Base:0x00000000 Size:0x00000000
[0001.314] I> 26) Base:0x00000000 Size:0x00000000
[0001.319] I> 27) Base:0x00000000 Size:0x00000000
[0001.323] I> 28) Base:0x84400000 Size:0x00400000
[0001.328] I> 29) Base:0x30000000 Size:0x00010000
[0001.332] I> 30) Base:0x278000000 Size:0x08000000
[0001.336] I> 31) Base:0x00000000 Size:0x00000000
[0001.341] I> 32) Base:0x276000000 Size:0x00600000
[0001.345] I> 33) Base:0x80000000 Size:0x70000000
[0001.350] I> 34) Base:0xf0110000 Size:0x185ef0000
[0001.354] I> 35) Base:0x00000000 Size:0x00000000
[0001.359] I> 36) Base:0x00000000 Size:0x00000000
[0001.363] I> 37) Base:0x2772e0000 Size:0x00020000
[0001.368] I> 38) Base:0x84000000 Size:0x00400000
[0001.372] I> 39) Base:0x96000000 Size:0x02400000
[0001.377] I> 40) Base:0x85000000 Size:0x01200000
[0001.381] I> 41) Base:0x277000000 Size:0x00280000
[0001.386] I> 42) Base:0x00000000 Size:0x00000000
[0001.390] I> 43) Base:0x00000000 Size:0x00000000
[0001.394] GIC-SPI Target CPU: 4
[0001.398] Interrupts Init done
[0001.401] calling constructors
[0001.404] initializing heap
[0001.407] initializing threads
[0001.410] initializing timers
[0001.413] creating bootstrap completion thread
[0001.418] top of bootstrap2()
[0001.421] CPU: ARM Cortex A57
[0001.424] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100
[0001.429] initializing platform
[0001.432] I> Boot-device: eMMC
[0001.436] I> sdmmc bdev is already initialized
[0001.440] I> Reading GPT from 512 for device 00000003
[0001.446] I> Reading GPT from 8388096 for device 00000003
[0001.453] I> Found 13 partitions in 00000003 device
[0001.457] I> Reading GPT from 512 for device 00010003
[0001.463] I> Found 29 partitions in 00010003 device
[0001.468] W> opt-in fuse is not set, skip fuse_burning
[0001.473] I> Bl_dtb @0x8520f400
[0001.476] I> gpio framework initialized
[0001.480] I> tegrabl_gpio_driver_register: register ‘tegra_gpio_main_driver’ driver
[0001.487] I> tegrabl_gpio_driver_register: register ‘tegra_gpio_aon_driver’ driver
[0001.494] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.502] E> i2c dev write failed
[0001.505] E> tca9539_device_init: failed to write polar reg
[0001.510] E> tegrabl_tca9539_init: failed to init device!
[0001.515] E> GPIO TCA9539 driver init failed
[0001.632] I> decompressor handler not found
[0001.638] I> fixed regulator driver initialized
[0001.670] I> register ‘maxim’ power off handle
[0001.675] I> virtual i2c enabled
[0001.678] I> registered ‘maxim,max77620’ pmic
[0001.682] I> tegrabl_gpio_driver_register: register ‘max77620-gpio’ driver
[0001.692] I> Find /i2c@c250000’s alias i2c7
[0001.696] I> Reading eeprom i2c=7 address=0x50
[0001.726] I> Device at /i2c@c250000:0x50
[0001.730] I> Reading eeprom i2c=7 address=0x57
[0001.735] E> i2c dev read failed
[0001.738] E> eeprom: Failed to read I2C slave device
[0001.742] I> Eeprom read failed 0x1a89800d
[0001.747] I> Find /i2c@c240000’s alias i2c1
[0001.751] I> Reading eeprom i2c=1 address=0x51
[0001.757] E> i2c dev read failed
[0001.760] E> eeprom: Retry to read I2C slave device.
[0001.765] E> i2c dev read failed
[0001.768] E> eeprom: Failed to read I2C slave device
[0001.773] I> Eeprom read failed 0x1a89800d
[0001.777] I> Find /i2c@3160000’s alias i2c0
[0001.781] I> Reading eeprom i2c=0 address=0x50
[0001.786] E> i2c dev read failed
[0001.789] E> eeprom: Failed to read I2C slave device
[0001.794] I> Eeprom read failed 0x1a89800d
[0001.799] I> Find /i2c@3180000’s alias i2c2
[0001.803] I> Reading eeprom i2c=2 address=0x54
[0001.807] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.812] C> GPIO driver for chip_id 0x2 could not be found
[0001.817] E> cam_eeprom_read: Can’t get gpio driver
[0001.822] I> Eeprom read failed 0x2693400d
[0001.826] I> create_pm_ids: id: 3310-1000-D00-E, len: 15
[0001.831] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00, len: 93
[0001.844] I> found one nvdisp nodes at offset = 77300
[0001.849] E> dsi not supported yet
[0001.852] I> found one nvdisp nodes at offset = 78212
[0001.862] I> enabling ‘vdd-hdmi’ regulator
[0001.866] C> GPIO driver for chip_id 0x3 could not be found
[0001.871] I> found one nvdisp nodes at offset = 79016
[0001.876] I> no valid display unit config found in dtb
[0001.881] W> display init failed
[0001.884] initializing target
[0001.887] calling apps_init()
[0001.890] starting app android_boot_app
[0001.894] I> Gpio keyboard init success
[0001.898] I> Kernel type = Normal
[0001.901] I> Loading kernel/boot.img from storage …
[0001.906] W> No valid slot number is found in scratch register
[0001.911] W> Return default slot: _a
[0001.915] I> A/B: bin_type (0) slot 0
[0001.918] I> Loading partition kernel at 0xa8000000
[0002.679] I> tegrabl_auth_payload: partition kernel (bin_type 0)
[0002.686] W> No valid slot number is found in scratch register
[0002.691] W> Return default slot: _a
[0002.695] I> A/B: bin_type (1) slot 0
[0002.698] I> Loading partition kernel-dtb at 0x92000000
[0002.710] I> tegrabl_auth_payload: partition kernel-dtb (bin_type 1)
[0002.717] I> Kernel DTB @ 0x92000000
[0002.720] I> Checking boot.img header magic … [0002.724] I> [OK]
[0002.726] I> Valid boot.img @ 0xa8000000
[0002.730] I> decompressor handler not found
[0002.734] I> Copying kernel image (487818 bytes) from 0xa8000800 to 0x80080000 … [0002.741] I> Done
[0002.743] I> Move ramdisk (len: 0) from 0xa8078000 to 0x9d000000
[0002.750] I> Updated bpmp info to DTB
[0002.755] I> Ramdisk: Base: 0x9d000000; Size: 0x0
[0002.759] I> Updated initrd info to DTB
[0002.763] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.770] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.777] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.785] I> disabled_core_mask: 0xffffff0c
[0002.789] W> No valid slot number is found in scratch register
[0002.794] W> Return default slot: _a
[0002.798] I> Active slot suffix:
[0002.801] I> add_boot_slot_suffix: slot_suffix =
[0002.805] I> add_serialno: Serial Num = 0420819050367
[0002.810] I> Linux Cmdline: root=/dev/mmcblk0p1 rw rootwait console=ttyS0,115200n8 console=tty0 OS=l4t fbcon=map:0 net.ifnames=0 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 nvdumper_reserved=0x2772e0000 gpt tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.2.1 androidboot.serialno=0420819050367 bl_prof_dataptr=0x10000@0x277040000 sdhci_tegra.en_boot_part_access=1
[0002.849] I> Updated bootarg info to DTB
[0002.853] E> “plugin-manager” doesn’t exist, creating
[0002.858] E> “odm-data” doesn’t exist, creating
[0002.864] I> eeprom_get_mac_addr: MAC (type: 0): 00:04:4b:dd:f9:c6
[0002.870] I> eeprom_get_mac_addr: MAC (type: 1): 00:04:4b:dd:f9:c7
[0002.876] I> eeprom_get_mac_addr: MAC (type: 2): 00:04:4b:dd:f9:c8
[0002.882] E> “ids” doesn’t exist, creating
[0002.886] E> “connection” doesn’t exist, creating
[0002.890] E> “configs” doesn’t exist, creating
[0002.895] I> create_pm_ids: id: 3310-1000-D00-E, len: 15
[0002.900] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00, len: 93
[0002.911] I> Adding plugin-manager/ids/3310-1000-D00=/i2c@c250000:module@0x50
[0002.918] E> “i2c@c250000” doesn’t exist, creating
[0002.922] E> “module@0x50” doesn’t exist, creating
[0002.929] I> Adding plugin-manager/ids/3310-1000-D00-E
[0002.935] I> Adding plugin-manager/configs/3310-mem-type 00
[0002.941] I> Adding plugin-manager/configs/3310-power-config 00
[0002.946] I> Adding plugin-manager/configs/3310-misc-config 00
[0002.952] I> Adding plugin-manager/configs/3310-modem-config 00
[0002.958] I> Adding plugin-manager/configs/3310-touch-config 00
[0002.964] I> Adding plugin-manager/configs/3310-display-config 00
[0002.970] E> “chip-id” doesn’t exist, creating
[0002.974] I> Adding plugin-manager/chip-id/A02P
[0002.980] I> added [base:0x80000000, size:0x70000000] to /memory
[0002.986] I> added [base:0xf0200000, size:0x185e00000] to /memory
[0002.992] I> added [base:0x276600000, size:0x200000] to /memory
[0002.997] E> WARNING: Failed to pass NS DRAM ranges to TOS
[0003.003] I> Updated memory info to DTB
[0003.008] E> “reset” doesn’t exist, creating
[0003.012] E> “pmc-reset-reason” doesn’t exist, creating
[0003.017] E> “pmic-reset-reason” doesn’t exist, creating
[0003.023] I> disabled_core_mask: 0xffffff0c
[0003.032] I> Add serial number as DT property
[0003.037] I> tegrabl_load_kernel_and_dtb: Done
[0003.041] E> tegrabl_display_clear: display is not initialized
[0003.047] W> Boot logo display failed…

U-Boot 2016.07-dirty (Jun 28 2019 - 15:30:11 +0800)

That’s log TX2 is running on my board.

Thanks

Also, It seem like we also need to have the cboot support customer dsi lcd screen .

Can you let me knonw the following:

  1. How to get Cboot source?
  2. How to compile Cboot?

Thanks

I think the issue is

[0001.862] I> enabling 'vdd-hdmi' regulator
[0001.866] C> GPIO driver for chip_id 0x3 could not be found

Could you check your hardware design?

Sorry that the cboot source of rel-32.1 is not yet released.

However, HDMI display is working fine when ubuntu desktop start-up.
Can you let me know the reason that cboot is checking “GPIO driver for chip_id 0x3”?

Also, Can you let me know how to enable DSI LCD in Cboot?
I have got R28.2.1 Cboot Source.

For Our Hardware design, We don’t use TCA9539,
Can we simple comment the following line:
err = tegrabl_tca9539_init() ?

27653276,

vdd-hdmi regulator is based on tca9539 pmic and your board seems does not have this GPIO expander board.

[0001.494] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.502] E> i2c dev write failed
[0001.505] E> tca9539_device_init: failed to write polar reg
[0001.510] E> tegrabl_tca9539_init: failed to init device!
[0001.515] E> GPIO TCA9539 driver init failed

I think what you should skip is the one that enables the vdd-hdmi regulator.

Hello WayneWWW,

I have got boot logo working on my board under HDMI output mode by skip enables the vdd-hdmi regulator.
It seem the R28.2.1 cboot does not support DSI.
How to get dsi lcd screen working on R28.2.1?
Are there one patch to get dsi working?

Thanks

Hello Wayne,

Regarding as TX2 is not supporting DSI Panel in cboot ,Have any updates on the issues?

Thanks

Hi,

No, there is no patch that can enable dsi in cboot yet. If your issue is really urgent, please find nvidia sales to highlight it.

Hi Wayne,

Got it.
Have you any plan to have one realse to support the feature?

Thanks

Hi WayneWWW,

I am interested on working adding the DSI cboot support. 

Do you know if currently it is not supported because the hardware/software design blocks the MIPI DSI output on that booting stage or is it just because the software hasn't been enhanced yet to support it? Do you think that we could add this support with the documentation available in the TRM?

Thanks,
-David

Hi David,

IMO, this is due to the software which does not implement it. You could try to add it based on the TRM and our driver from kernel.

Hi Wayne,

Thanks for the quick response. We will chat with the customer and see if we proceed adding this support.

-David