When I try to run the Jetson TX2 bootloader and kernel on a custom board, there’s some errors:
[0000.189] I> Welcome to MB2(TBoot-BPMP)(version: 01.00.160913-t186-M-00.00-mobile-1b8ce67c)
[0000.198] I> bit @ 0xd480000
[0000.201] I> Boot-device: eMMC
[0000.205] I> sdmmc bdev is already initialized
[0000.209] I> pmic: reset reason (nverc) : 0x80
[0000.216] I> Found 16 partitions in SDMMC_BOOT (instance 3)
[0000.224] I> Found 31 partitions in SDMMC_USER (instance 3)
[0000.230] I> A/B: bin_type (16) slot 0
[0000.233] I> Loading partition bpmp-fw at 0xd7800000
[0000.238] I> Reading two headers - addr:0xd7800000 blocks:1
[0000.243] I> Addr: 0xd7800000, start-block: 58777608, num_blocks: 1
[0000.259] I> Binary(16) of size 533504 is loaded @ 0xd7800000
[0000.264] I> A/B: bin_type (17) slot 0
[0000.268] I> Loading partition bpmp-fw-dtb at 0xd79f0000
[0000.273] I> Reading two headers - addr:0xd79f0000 blocks:1
[0000.279] I> Addr: 0xd79f0000, start-block: 58780024, num_blocks: 1
[0000.292] I> Binary(17) of size 465840 is loaded @ 0xd798e200
[0000.471] I> Loading SCE-FW ...
[0000.474] I> A/B: bin_type (12) slot 0
[0000.478] I> Loading partition sce-fw at 0xd7300000
[0000.483] I> Reading two headers - addr:0xd7300000 blocks:1
[0000.488] I> Addr: 0xd7300000, start-block: 58782024, num_blocks: 1
[0000.498] I> Binary(12) of size 125168 is loaded @ 0xd7300000
[0000.503] I> Init SCE
[0000.506] I> Loading APE-FW ...
[0000.509] I> A/B: bin_type (11) slot 0
[0000.512] I> Loading partition adsp-fw at 0xd7400000
[0000.517] I> Reading two headers - addr:0xd7400000 blocks:1
[0000.523] I> Addr: 0xd7400000, start-block: 58761224, num_blocks: 1
[0000.532] I> Binary(11) of size 107808 is loaded @ 0xd7400000
[0000.538] I> Copy BTCM section
[0000.541] I> A/B: bin_type (13) slot 0
[0000.544] I> Loading partition cpu-bootloader at 0x96000000
[0000.550] I> Reading two headers - addr:0x96000000 blocks:1
[0000.555] I> Addr: 0x96000000, start-block: 58740744, num_blocks: 1
[0000.567] I> Binary(13) of size 277776 is loaded @ 0x96000000
[0000.572] I> A/B: bin_type (20) slot 0
[0000.576] I> Loading partition bootloader-dtb at 0x8520f400
[0000.581] I> Reading two headers - addr:0x8520f400 blocks:1
[0000.587] I> Addr: 0x8520f400, start-block: 58742792, num_blocks: 1
[0000.599] I> Binary(20) of size 344048 is loaded @ 0x8520f400
[0000.605] I> A/B: bin_type (14) slot 0
[0000.609] I> Loading partition secure-os at 0x8530f600
[0000.614] I> Reading two headers - addr:0x8530f600 blocks:1
[0000.619] I> Addr: 0x8530f600, start-block: 58744840, num_blocks: 1
[0000.631] I> Binary(14) of size 312752 is loaded @ 0x8530f600
[0000.638] I> TOS boot-params @ 0x85000000
[0000.642] I> TOS params prepared
[0000.645] I> Loading EKS ...
[0000.648] I> A/B: bin_type (15) slot 0
[0000.652] I> Loading partition eks at 0x8590f800
[0000.656] I> Reading two headers - addr:0x8590f800 blocks:1
[0000.662] I> Addr: 0x8590f800, start-block: 58757128, num_blocks: 1
[0000.669] I> Binary(15) of size 1040 is loaded @ 0x8590f800
[0000.675] I> EKB detected (length: 0x400) @ 0x8590f800
[0000.680] I> Copied encrypted keys
[0000.684] I> boot profiler @ 0x275844000
[0000.688] I> boot profiler for TOS @ 0x275844000
[0000.692] I> Unhalting SCE
[0000.695] I> Primary Memory Start:80000000 Size:70000000
[0000.700] I> Extended Memory Start:f0110000 Size:1856f0000
[0000.707] I> MB2(TBoot-BPMP) done
NOTICE: BL31: v1.3(release):a28d87f09
NOTICE: BL31: Built : 21:15:42, Aug 12 2019
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
keystore-demo: 141: Hello world from keystore-demo app
keystore-demo: 207: main: EKB contents match expected value
exit called, thread 0xffffffffea87ad58, name trusty_app_2_7d18fc60-e9fc-11e8
platform_bootstrap_epilog: trusty bootstrap complete
[0000.949] I> Welcome to Cboot
[0000.951] I> Cboot Version: t186-dcb303f9
[0000.955] I> CPU-BL Params @ 0x275800000
[0000.959] I> 0) Base:0x00000000 Size:0x00000000
[0000.963] I> 1) Base:0x277f00000 Size:0x00100000
[0000.968] I> 2) Base:0x277e00000 Size:0x00100000
[0000.972] I> 3) Base:0x277d00000 Size:0x00100000
[0000.977] I> 4) Base:0x277c00000 Size:0x00100000
[0000.982] I> 5) Base:0x277b00000 Size:0x00100000
[0000.986] I> 6) Base:0x277800000 Size:0x00200000
[0000.991] I> 7) Base:0x277400000 Size:0x00400000
[0000.995] I> 8) Base:0x277a00000 Size:0x00100000
[0001.000] I> 9) Base:0x277300000 Size:0x00100000
[0001.004] I> 10) Base:0x276800000 Size:0x00800000
[0001.009] I> 11) Base:0x30000000 Size:0x00040000
[0001.013] I> 12) Base:0xf0000000 Size:0x00100000
[0001.017] I> 13) Base:0x30040000 Size:0x00001000
[0001.022] I> 14) Base:0x30048000 Size:0x00001000
[0001.026] I> 15) Base:0x30049000 Size:0x00001000
[0001.031] I> 16) Base:0x3004a000 Size:0x00001000
[0001.035] I> 17) Base:0x3004b000 Size:0x00001000
[0001.040] I> 18) Base:0x3004c000 Size:0x00001000
[0001.044] I> 19) Base:0x3004d000 Size:0x00001000
[0001.049] I> 20) Base:0x3004e000 Size:0x00001000
[0001.053] I> 21) Base:0x3004f000 Size:0x00001000
[0001.057] I> 22) Base:0x00000000 Size:0x00000000
[0001.062] I> 23) Base:0xf0100000 Size:0x00010000
[0001.066] I> 24) Base:0x00000000 Size:0x00000000
[0001.071] I> 25) Base:0x00000000 Size:0x00000000
[0001.075] I> 26) Base:0x00000000 Size:0x00000000
[0001.080] I> 27) Base:0x00000000 Size:0x00000000
[0001.084] I> 28) Base:0x84400000 Size:0x00400000
[0001.088] I> 29) Base:0x30000000 Size:0x00010000
[0001.093] I> 30) Base:0x278000000 Size:0x08000000
[0001.097] I> 31) Base:0x00000000 Size:0x00000000
[0001.102] I> 32) Base:0x276000000 Size:0x00600000
[0001.106] I> 33) Base:0x80000000 Size:0x70000000
[0001.111] I> 34) Base:0xf0110000 Size:0x1856f0000
[0001.115] I> 35) Base:0x00000000 Size:0x00000000
[0001.120] I> 36) Base:0x00000000 Size:0x00000000
[0001.124] I> 37) Base:0x2772e0000 Size:0x00020000
[0001.129] I> 38) Base:0x84000000 Size:0x00400000
[0001.133] I> 39) Base:0x96000000 Size:0x02000000
[0001.137] I> 40) Base:0x85000000 Size:0x01200000
[0001.142] I> 41) Base:0x275800000 Size:0x00500000
[0001.146] I> 42) Base:0x00000000 Size:0x00000000
[0001.151] I> 43) Base:0x00000000 Size:0x00000000
[0001.155] GIC-SPI Target CPU: 4
[0001.159] Interrupts Init done
[0001.162] calling constructors
[0001.165] initializing heap
[0001.168] initializing threads
[0001.171] initializing timers
[0001.174] creating bootstrap completion thread
[0001.179] top of bootstrap2()
[0001.182] CPU: ARM Cortex A57
[0001.185] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100
[0001.191] initializing platform
[0001.194] I> Boot-device: eMMC
[0001.198] I> sdmmc bdev is already initialized
[0001.204] I> Found 16 partitions in SDMMC_BOOT (instance 3)
[0001.211] I> Found 31 partitions in SDMMC_USER (instance 3)
[0001.216] W> opt-in fuse is not set, skip fuse_burning
[0001.221] I> Reserved memory at 0xfbe00000 for U-Boot relocation
[0001.227] W> No valid slot number is found in scratch register
[0001.232] W> Return default slot: _a
[0001.236] I> A/B: bin_type (21) slot 0
[0001.239] I> Loading partition kernel-dtb at 0x80000000 from device(0x1)
[0001.253] I> Kernel_dtb @0x80000000
[0001.256] I> Bl_dtb @0x8520f400
[0001.259] I> gpio framework initialized
[0001.265] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio' driver
[0001.275] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio-aon' driver
[0001.283] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.293] E> I2C: slave not found in slaves.
[0001.297] E> I2C: Could not write 0 bytes to slave: 0x00ee with repeat start false.
[0001.305] E> I2C_DEV: Failed to send register address 0x00000004.
[0001.311] E> I2C_DEV: Could not write 1 registers of size 1 to slave 0xee at 0x00000004 via instance 0.
[0001.320] E> tca9539_device_init: failed to write polar reg
[0001.326] E> tegrabl_tca9539_init: failed to init device!
[0001.331] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0001.338] E> I2C: slave not found in slaves.
[0001.342] E> I2C: Could not write 0 bytes to slave: 0x00e8 with repeat start false.
[0001.350] E> I2C_DEV: Failed to send register address 0x00000004.
[0001.356] E> I2C_DEV: Could not write 1 registers of size 1 to slave 0xe8 at 0x00000004 via instance 0.
[0001.365] E> tca9539_device_init: failed to write polar reg
[0001.370] E> tegrabl_tca9539_init: failed to init device!
[0001.378] I> fixed regulator driver initialized
[0001.410] I> register 'maxim' power off handle
[0001.416] I> virtual i2c enabled
[0001.419] I> registered 'maxim,max77620' pmic
[0001.423] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0001.436] I> Find /i2c@c250000's alias i2c7
[0001.440] I> Reading eeprom i2c=7 address=0x50
[0001.470] I> Device at /i2c@c250000:0x50
[0001.474] I> Reading eeprom i2c=7 address=0x57
[0001.478] E> I2C: slave not found in slaves.
[0001.483] E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start true.
[0001.491] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.497] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 7.
[0001.506] E> eeprom: Failed to read I2C slave device
[0001.511] I> Eeprom read failed 0x3526070d
[0001.516] I> Find /i2c@c240000's alias i2c1
[0001.520] I> Reading eeprom i2c=1 address=0x51
[0001.526] E> I2C: slave not found in slaves.
[0001.530] E> I2C: Could not write 0 bytes to slave: 0x00a2 with repeat start true.
[0001.538] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.544] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa2 at 0x00000000 via instance 1.
[0001.554] E> eeprom: Retry to read I2C slave device.
[0001.558] E> I2C: slave not found in slaves.
[0001.563] E> I2C: Could not write 0 bytes to slave: 0x00a2 with repeat start true.
[0001.571] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.577] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa2 at 0x00000000 via instance 1.
[0001.586] E> eeprom: Failed to read I2C slave device
[0001.591] I> Eeprom read failed 0x3526070d
[0001.596] I> Find /i2c@3160000's alias i2c0
[0001.600] I> Reading eeprom i2c=0 address=0x50
[0001.604] E> I2C: slave not found in slaves.
[0001.608] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.616] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.622] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
[0001.632] E> eeprom: Failed to read I2C slave device
[0001.636] I> Eeprom read failed 0x3526070d
[0001.641] I> Find /i2c@3180000's alias i2c2
[0001.645] I> Reading eeprom i2c=2 address=0x54
[0001.649] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.654] C> GPIO driver for chip_id 0x2 could not be found
[0001.660] E> cam_eeprom_read: Can't get gpio driver
[0001.664] I> Eeprom read failed 0x4d4d000d
[0001.668] I> Reading eeprom i2c=2 address=0x57
[0001.673] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.677] C> GPIO driver for chip_id 0x2 could not be found
[0001.683] E> cam_eeprom_read: Can't get gpio driver
[0001.687] I> Eeprom read failed 0x4d4d000d
[0001.691] I> create_pm_ids: id: 3310-1000-D01-B, len: 15
[0001.696] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.729] I> enabling 'vdd-hdmi' regulator
[0001.733] E> tegrabl_display_get_pdata, failed to parse dtb settings
[0001.742] E> cannot find any other nvdisp nodes
[0001.746] E> no valid display unit config found in dtb
[0001.753] W> display init failed
[0001.756] initializing target
[0001.759] calling apps_init()
[0001.762] starting app kernel_boot_app
[0001.768] I> found decompressor handler: lz4-legacy
[0001.773] I> decompressing BMP blob ...
[0001.788] I> Kernel type = Normal
[0001.791] I> Loading kernel from partition ...
[0001.795] W> No valid slot number is found in scratch register
[0001.801] W> Return default slot: _a
[0001.804] I> A/B: bin_type (24) slot 0
[0001.809] I> Boot image size read from image header: f2d10
[0001.814] I> Boot image load address: 0x0x80400000
[0001.819] I> Loading partition kernel at 0x80400000 from device(0x1)
[0002.612] I> Kernel hdr @0x80400000
[0002.615] I> Kernel dtb @0x80000000
[0002.619] I> T18x: Authenticate boot.img (bin_type 24), max size 0x4000000
[0002.627] I> T18x: Authenticate tegra194-p2888-0001-p2822-0000.dtb (bin_type 21), max size 0x100000
[0002.637] I> Checking boot.img header magic ... [0002.641] I> [OK]
[0002.643] I> Valid boot.img @ 0x80400000
[0002.647] I> decompressor handler not found
[0002.651] I> Copying kernel image (477378 bytes) from 0x80400800 to 0x80800000 ... [0002.659] I> Done
[0002.661] I> Move ramdisk (len: 0) from 0x80475800 to 0x94830000
[0002.668] I> Updated bpmp info to DTB
[0002.674] I> Ramdisk: Base: 0x94830000; Size: 0x0
[0002.678] I> Updated initrd info to DTB
[0002.682] W> WARN: Fail to override "console=none" in commandline
[0002.688] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.695] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.702] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.709] I> disabled_core_mask: 0xffffff0c
[0002.713] W> No valid slot number is found in scratch register
[0002.719] W> Return default slot: _a
[0002.722] I> Active slot suffix:
[0002.726] I> add_boot_slot_suffix: slot_suffix =
[0002.730] I> Linux Cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x2772e0000 gpt usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.2031647.1 bl_prof_dataptr=0x10000@0x275840000 sdhci_tegra.en_boot_part_access=1
[0002.767] I> Updated bootarg info to DTB
[0002.770] I> eeprom_get_mac_addr: MAC (type: 0): 00:04:4b:c6:2d:20
[0002.777] I> eeprom_get_mac_addr: MAC (type: 1): 00:04:4b:c6:2d:21
[0002.783] I> eeprom_get_mac_addr: MAC (type: 2): 00:04:4b:c6:2d:22
[0002.791] E> Found no plugin manager ids in source DT
[0002.796] W> Add plugin manager ids from board info
[0002.800] E> "plugin-manager" doesn't exist, creating
[0002.805] E> "ids" doesn't exist, creating
[0002.809] E> "connection" doesn't exist, creating
[0002.814] E> "configs" doesn't exist, creating
[0002.818] I> create_pm_ids: id: 3310-1000-D01-B, len: 15
[0002.823] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.834] I> Adding plugin-manager/ids/3310-1000-D01=/i2c@c250000:module@0x50
[0002.842] E> "i2c@c250000" doesn't exist, creating
[0002.846] E> "module@0x50" doesn't exist, creating
[0002.853] I> Adding plugin-manager/ids/3310-1000-D01-B
[0002.860] I> Adding plugin-manager/configs/3310-mem-type 00
[0002.866] I> Adding plugin-manager/configs/3310-power-config 00
[0002.872] I> Adding plugin-manager/configs/3310-misc-config 00
[0002.878] I> Adding plugin-manager/configs/3310-modem-config 00
[0002.884] I> Adding plugin-manager/configs/3310-touch-config 00
[0002.889] I> Adding plugin-manager/configs/3310-display-config 00
[0002.896] I> Adding plugin-manager/cvm
[0002.899] E> "chip-id" doesn't exist, creating
[0002.904] I> Adding plugin-manager/chip-id/A02P
[0002.908] E> "odm-data" doesn't exist, creating
[0002.913] I> Adding /chosen/plugin-manager/odm-data
[0002.922] I> added [base:0x80000000, size:0x70000000] to /memory
[0002.928] I> added [base:0xf0200000, size:0x185600000] to /memory
[0002.934] I> added [base:0x275e00000, size:0x200000] to /memory
[0002.940] I> added [base:0x276600000, size:0x200000] to /memory
[0002.946] I> added [base:0x277000000, size:0x200000] to /memory
[0002.951] I> Updated memory info to DTB
[0002.956] E> add_disp_param: failed to get display params for du=0
[0002.964] E> "reset" doesn't exist, creating
[0002.968] E> "pmc-reset-reason" doesn't exist, creating
[0002.973] E> "pmic-reset-reason" doesn't exist, creating
[0002.980] I> Adding ecid(000000016450b8881c0000000afb0340) to DT
[0002.985] I> disabled_core_mask: 0xffffff0c
[0002.998] I> Add serial number:0424118099568 as DT property
[0003.007] I> Plugin-manager override starting
[0003.012] I> node /plugin-manager/fragement@0 matches
[0003.022] I> node /plugin-manager/fragement@4 matches
[0003.034] I> node /plugin-manager/fragment-sdwake-p3310-1000-300 matches
[0003.053] I> node /plugin-manager/fragement-pmon-p3310-1000-300 matches
[0003.063] I> node /plugin-manager/fragement-pmon-p3310-1000-800 matches
[0003.071] I> node /plugin-manager/fragment-devslp@0 matches
[0003.083] I> node /plugin-manager/fragment-500-pcie-config matches
[0003.097] I> node /plugin-manager/fragment-500-xusb-config matches
[0003.120] I> node /plugin-manager/fragment-p3310-c00-comm matches
[0003.133] I> node /plugin-manager/fragment-p3310-c00-pmic matches
[0003.143] I> node /plugin-manager/fragment-p3310-c01 matches
[0003.155] I> node /plugin-manager/fragment-p3310-c03 matches
[0003.191] I> node /plugin-manager/fragment-p3310-c00-camera matches
[0003.217] I> Disable plugin-manager status in FDT
[0003.221] I> Plugin-manager override finished successfully
[0003.227] I> tegrabl_load_kernel_and_dtb: Done
[0003.231] E> tegrabl_display_clear: display is not initialized
[0003.236] W> Boot logo display failed...
[0003.240] I> Kernel EP: 0x80800000, DTB: 0x80000000
In line 146~152 we have the errors:
[0001.283] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.293] E> I2C: slave not found in slaves.
[0001.297] E> I2C: Could not write 0 bytes to slave: 0x00ee with repeat start false.
[0001.305] E> I2C_DEV: Failed to send register address 0x00000004.
[0001.311] E> I2C_DEV: Could not write 1 registers of size 1 to slave 0xee at 0x00000004 via instance 0.
[0001.320] E> tca9539_device_init: failed to write polar reg
[0001.326] E> tegrabl_tca9539_init: failed to init device!
It’s because I don’t have the I2C expander TCA9539 on my custom board.
My question is: What the file I should change to disable this chip?
I tried whit a minimal Device Tree changing the file tegra186-quill-p3310-1000-c03-00-base.dtb and the boot still trying to enable the TCA9539.
Also I tried to modify uboot, but I can’t locate where this component (and others present on devkit board and not in my custom board) is located.
Thanks