OE4T / meta-tegra

BSP layer for NVIDIA Jetson platforms, based on L4T
MIT License
401 stars 221 forks source link

u-boot problems #58

Closed jhaws1982 closed 6 years ago

jhaws1982 commented 6 years ago

I'm having 2 problems with the image generated with tegraflash:

  1. u-boot-jetson-tx1.bin flashes properly but will not boot. I've been running morty, but have also tried pyro-l4t-r28.1 with the same results. I get the following output on the serial console from morty:

<LOTS OF OUTPUT DURING FLASH - NO ERRORS NOTED> ... [0068.504] partition DTB write successful. [0068.515] Writing BCT partition [0068.518] bct_init bctinit [0068.602] partition BCT write successful. [0068.610] Change state to cold boot mode [0068.614] Flushing data to stroage [0000.183] [TegraBoot] (version 24.00.2015.42-mobile-ec3b827e) [0000.189] Processing in cold boot mode Bootloader 2 [0000.193] A02 Bootrom Patch rev = 63 [0000.196] Power-up reason: software reset [0000.200] No Battery Present [0000.203] RamCode = 0 [0000.205] Platform has Ddr4 type ram [0000.209] max77620 disabling SD1 Remote Sense [0000.213] Setting Ddr voltage to 1125mv [0000.217] Serial Number of Pmic Max77663: 0x811ad [0000.224] Entering ramdump check [0000.227] Get RamDumpCarveOut = 0x0 [0000.231] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8 [0000.236] Last reboot was clean, booting normally! [0000.240] Sdram initialization is successful [0000.244] SecureOs Carveout Base=0xff800000 Size=0x00800000 [0000.250] GSC1 Carveout Base=0xff700000 Size=0x00100000 [0000.255] GSC2 Carveout Base=0xff600000 Size=0x00100000 [0000.260] GSC3 Carveout Base=0xff500000 Size=0x00100000 [0000.265] GSC4 Carveout Base=0xff400000 Size=0x00100000 [0000.270] GSC5 Carveout Base=0xff300000 Size=0x00100000 [0000.276] BpmpFw Carveout Base=0xff2c0000 Size=0x00040000 [0000.281] Lp0 Carveout Base=0xff2bf000 Size=0x00001000 [0000.296] RamDump Carveout Base=0xff23f000 Size=0x00080000 [0000.302] Platform-DebugCarveout: 0 [0000.305] Nck Carveout Base=0xff03f000 Size=0x00200000 [0000.310] Non secure mode. Disable rollback prevention [0000.315] AOTAG Init Done [0000.352] Using GPT Primary to query partitions [0000.358] Loading Tboot-CPU binary [0000.407] Verifying bootloader in OdmNonSecureSBK mode [0000.417] Bootloader load address is 0xa0000000, entry address is 0xa0000258 [0000.424] Bootloader downloaded successfully. [0000.428] Downloaded Tboot-CPU binary to 0xa0000258 [0000.433] MAX77620_GPIO1 Configured. [0000.436] MAX77620_GPIO5 Configured. [0000.440] CPU power rail is up [0000.442] CPU clock enabled [0000.446] Performing RAM repair [0000.449] Updating A64 Warmreset Address to 0xa00002e9 [0000.466] Bootloader DTB Load Address: 0x83000000 [0000.483] Kernel DTB Load Address: 0x83080000 [0000.488] Bootloader is not valid [0000.491] Error in NvTbootLoadBinary: 0x14 ! [0000.495] GPT: Partition NOT found ! [0000.498] Find Partition via GPT Failed [0000.502] Find Partition via PT Failed [0000.506] function NvTbootGetBinaryOffsets: 0x1 error [0000.510] Error in NvTbootLoadBinary: 0x1 ! [0000.514] Error is 1

And the following from pyro:

[0032.845] partition DTB write successful. [0032.856] Writing BCT partition [0032.860] bct_init bctinit [0032.942] partition BCT write successful. [0032.950] Change state to cold boot mode [0032.954] Flushing data to stroage [0000.162] [TegraBoot] (version 00.00.2014.50-mobile-d44d4bf0) [0000.168] Processing in cold boot mode Bootloader 2 [0000.172] A02 Bootrom Patch rev = 63 [0000.176] Power-up reason: software reset [0000.179] No Battery Present [0000.182] RamCode = 0 [0000.184] Platform has Ddr4 type ram [0000.188] max77620 disabling SD1 Remote Sense [0000.192] Setting Ddr voltage to 1125mv [0000.196] Serial Number of Pmic Max77663: 0x811ad [0000.203] Entering ramdump check [0000.206] Get RamDumpCarveOut = 0x0 [0000.210] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8 [0000.215] Last reboot was clean, booting normally! [0000.219] Sdram initialization is successful [0000.223] SecureOs Carveout Base=0xff800000 Size=0x00800000 [0000.229] GSC1 Carveout Base=0xff700000 Size=0x00100000 [0000.234] GSC2 Carveout Base=0xff600000 Size=0x00100000 [0000.239] GSC3 Carveout Base=0xff500000 Size=0x00100000 [0000.244] GSC4 Carveout Base=0xff400000 Size=0x00100000 [0000.249] GSC5 Carveout Base=0xff300000 Size=0x00100000 [0000.255] BpmpFw Carveout Base=0xff2c0000 Size=0x00040000 [0000.260] Lp0 Carveout Base=0xff2bf000 Size=0x00001000 [0000.275] RamDump Carveout Base=0xff23f000 Size=0x00080000 [0000.281] Platform-DebugCarveout: 0 [0000.284] Nck Carveout Base=0xff03f000 Size=0x00200000 [0000.289] Non secure mode, and RB not enabled. [0000.319] Using GPT Primary to query partitions [0000.324] Loading Tboot-CPU binary [0000.373] Verifying bootloader in OdmNonSecureSBK mode [0000.383] Bootloader load address is 0xa0000000, entry address is 0xa0000258 [0000.390] Bootloader downloaded successfully. [0000.394] Downloaded Tboot-CPU binary to 0xa0000258 [0000.399] MAX77620_GPIO1 Configured. [0000.403] MAX77620_GPIO5 Configured. [0000.406] CPU power rail is up [0000.409] CPU clock enabled [0000.413] Performing RAM repair [0000.416] Updating A64 Warmreset Address to 0xa00002e9 [0000.444] Bootloader DTB Load Address: 0x83000000 [0000.472] Kernel DTB Load Address: 0x83100000 [0000.477] Loading cboot binary [0000.570] Verifying bootloader in OdmNonSecureSBK mode [0000.609] Bootloader load address is 0x92c00000, entry address is 0x92c00258 [0000.616] Bootloader downloaded successfully. [0000.620] GPT: Partition NOT found ! [0000.623] Find Partition via GPT Failed [0000.627] Find Partition via PT Failed [0000.631] function NvTbootGetBinaryOffsets: 0x1 error [0000.635] Error in NvTbootLoadBinary: 0x1 ! [0000.639] Next binary entry address: 0x92c00258 [0000.644] BoardId: 2180 [0000.649] dram memory type is 3 [0000.653] WB0 init successful [0000.679] Bpmp FW successfully loaded [0000.682] Set NvDecSticky Bits [0000.685] GSC1 address : ff700000 [0000.689] GSC2 address ff63fffc value c0edbbcc [0000.694] GSC2 address : ff600000 [0000.697] GSC3 address : ff500000 [0000.701] GSC4 address : ff400000 [0000.705] GSC5 address : ff300000 [0000.708] GSC MC Settings done [0000.711] TOS plaintext Image length 28752 [0000.715] Monitor size 28752 [0000.718] OS size 0 [0000.721] Secure OS image signature not verified [0000.726] Loading and Validation of Secure OS Successful [0000.732] NvTbootPackSdramParams: start. [0000.737] NvTbootPackSdramParams: done. [0000.740] Tegraboot started after 141606 us [0000.744] Basic modules init took 289640 us [0000.748] Sec Bootdevice Read Time = 215 ms, Read Size = 9476 KB [0000.754] Sec Bootdevice Write Time = -1940251271 ms, Write Size = -68719477 KB [0000.761] Next stage binary read took 23772 us [0000.766] Carveout took 207062 us [0000.769] CPU initialization took 96466 us [0000.773] Total time taken by TegraBoot 616940 us

[0000.777] Starting CPU & Halting co-processor

64NOTICE: BL31: v1.2(release):cc5fd7c NOTICE: BL31: Built : 00:37:02, Jul 20 2017 NOTICE: Trusty image missing. ERROR: Error initializing runtime service trusty_fast [0000.918] RamCode = 0 [0000.939] LPDDR4 Training: Read DT: Number of tables = 10 [0000.944] EMC Training (SRC-freq: 204000; DST-freq: 40800) [0000.949] EMC Training Skipped [0000.952] EMC Training (SRC-freq: 204000; DST-freq: 68000) [0000.957] EMC Training Skipped [0000.960] EMC Training (SRC-freq: 204000; DST-freq: 102000) [0000.965] EMC Training Skipped [0000.968] EMC Training (SRC-freq: 204000; DST-freq: 204000) [0000.973] EMC Training Skipped [0000.976] EMC Training (SRC-freq: 204000; DST-freq: 408000) [0000.982] EMC Training Successful [0000.985] EMC Training (SRC-freq: 204000; DST-freq: 665600) [0000.991] EMC Training Successful [0000.994] EMC Training (SRC-freq: 204000; DST-freq: 800000) [0001.006] EMC Training Successful [0001.009] EMC Training (SRC-freq: 204000; DST-freq: 1065600) [0001.032] EMC Training Successful [0001.035] EMC Training (SRC-freq: 204000; DST-freq: 1331200) [0001.056] EMC Training Successful [0001.059] EMC Training (SRC-freq: 204000; DST-freq: 1600000) [0001.079] EMC Training Successful [0001.082] Switching to 800000 KHz Success [0001.092] RamCode = 0 [0001.096] DT Write: emc-table@40800 succeeded [0001.102] DT Write: emc-table@68000 succeeded [0001.108] DT Write: emc-table@102000 succeeded [0001.114] DT Write: emc-table@204000 succeeded [0001.120] DT Write: emc-table@408000 succeeded [0001.126] DT Write: emc-table@665600 succeeded [0001.132] DT Write: emc-table@800000 succeeded [0001.138] DT Write: emc-table@1065600 succeeded [0001.144] DT Write: emc-table@1331200 succeeded [0001.150] DT Write: emc-table@1600000 succeeded [0001.155] LPDDR4 Training: Write DT: Number of tables = 10 [0001.189] [0001.190] Debug Init done [0001.193] Marked DTB cacheable [0001.196] Bootloader DTB loaded at 0x83000000 [0001.201] Marked DTB cacheable [0001.204] Kernel DTB loaded at 0x83100000 [0001.208] DeviceTree Init done [0001.227] Pinmux applied successfully [0001.233] gicd_base: 0x50041000 [0001.237] gicc_base: 0x50042000 [0001.240] Interrupts Init done [0001.246] Using base:0x60005008 & irq:33 for tick-timer [0001.251] Using base:0x60005000 for delay-timer [0001.255] platform_init_timer: DONE [0001.259] Timer(tick) Init done [0001.264] osc freq = 38400 khz [0001.269] [0001.271] welcome to cboot [0001.273] [0001.274] Cboot Version: 00.00.2014.50-t210-fadd1be5 [0001.279] calling constructors [0001.282] initializing heap [0001.285] initializing threads [0001.288] initializing timers [0001.291] creating bootstrap completion thread [0001.295] top of bootstrap2() [0001.298] CPU: ARM Cortex A57 [0001.301] CPU: MIDR: 0x411FD071, MPIDR: 0x80000000 [0001.306] initializing platform [0001.332] config for ddr50 mode completed [0001.336] sdmmc bdev is already initialized [0001.340] Enable APE clock [0001.342] Un-powergate APE partition [0001.346] of_register: registering tegra_udc to of_hal [0001.351] of_register: registering inv20628-driver to of_hal [0001.357] of_register: registering ads1015-driver to of_hal [0001.362] of_register: registering lp8557-bl-driver to of_hal [0001.368] of_register: registering bq2419x_charger to of_hal [0001.373] of_register: registering cpc to of_hal [0001.378] of_register: registering bq27441_fuel_gauge to of_hal [0001.398] gpio framework initialized [0001.401] of_register: registering tca9539_gpio to of_hal [0001.406] of_register: registering tca9539_gpio to of_hal [0001.412] of_register: registering i2c_bus_driver to of_hal [0001.417] of_register: registering i2c_bus_driver to of_hal [0001.423] of_register: registering i2c_bus_driver to of_hal [0001.428] pmic framework initialized [0001.432] of_register: registering max77620_pmic to of_hal [0001.437] regulator framework initialized [0001.441] of_register: registering tegra_xhci to of_hal [0001.446] initializing target [0001.455] gpio_driver_register: register 'tegra_gpio_driver' driver [0001.467] fixed regulator driver initialized [0001.538] initializing OF layer [0001.541] NCK carveout not present [0001.545] Skipping dts_overrides [0001.549] of_children_init: Ops found for compatible string nvidia,tegra210-xhci [0001.557] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.588] I2C Bus Init done [0001.591] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.606] I2C Bus Init done [0001.608] of_children_init: Ops found for compatible string ti,tca9539 [0001.622] tca9539_init: i2c bus: 2, slave addr: 0xe8 [0001.627] I2C slave not started [0001.630] I2C write failed [0001.633] i2c write failed [0001.635] Slave: 0xe8, Register 0x4 Instance 2, Buffer Size: 0 [0001.641] tca9539_device_init: failed to write polar reg [0001.647] tca9539_init: failed to init device! [0001.651] of_children_init: Ops found for compatible string ti,tca9539 [0001.665] tca9539_init: i2c bus: 2, slave addr: 0xee [0001.670] I2C slave not started [0001.673] I2C write failed [0001.676] i2c write failed [0001.678] Slave: 0xee, Register 0x4 Instance 2, Buffer Size: 0 [0001.684] tca9539_device_init: failed to write polar reg [0001.689] tca9539_init: failed to init device! [0001.694] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.709] I2C Bus Init done [0001.711] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.726] I2C Bus Init done [0001.729] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.744] I2C Bus Init done [0001.747] of_children_init: Ops found for compatible string maxim,max77620 [0001.762] max77620_init using irq 118 [0001.767] register 'maxim,max77620' pmic [0001.772] gpio_driver_register: register 'max77620-gpio' driver [0001.778] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.793] I2C Bus Init done [0001.798] NCK carveout not present [0001.801] shim_invoke: No NCT, Calling dts updates [0001.822] Find /i2c@7000c000's alias i2c0 [0001.826] get eeprom at 1-a2, size 256, type 0 [0001.830] get eeprom at 1-ae, size 256, type 0 [0001.846] Find /i2c@7000c400's alias i2c1 [0001.849] get eeprom at 2-a0, size 256, type 0 [0001.865] Find /i2c@7000c500's alias i2c2 [0001.869] get eeprom at 3-a0, size 256, type 0 [0001.873] get eeprom at 3-ae, size 256, type 0 [0001.885] Find /host1x/i2c@546c0000's alias i2c6 [0001.889] get eeprom at 7-a8, size 256, type 0 [0001.894] pm_ids_update: Updating 1,a2, size 256, type 0 [0001.899] I2C slave not started [0001.902] I2C write failed [0001.905] Writing offset failed [0001.908] eeprom_init: EEPROM read failed [0001.912] pm_ids_update: eeprom init failed [0001.916] pm_ids_update: Updating 1,ae, size 256, type 0 [0001.921] I2C slave not started [0001.924] I2C write failed [0001.927] Writing offset failed [0001.930] eeprom_init: EEPROM read failed [0001.934] pm_ids_update: eeprom init failed [0001.938] pm_ids_update: Updating 2,a0, size 256, type 0 [0001.943] I2C slave not started [0001.946] I2C write failed [0001.949] Writing offset failed [0001.952] eeprom_init: EEPROM read failed [0001.956] pm_ids_update: eeprom init failed [0001.960] pm_ids_update: Updating 3,a0, size 256, type 0 [0001.990] pm_ids_update: The pm board id is 2180-1000-400 [0001.999] Adding plugin-manager/ids/2180-1000-400=/i2c@7000c500:module@0x50 [0002.009] pm_ids_update: pm id update successful [0002.014] pm_ids_update: Updating 3,ae, size 256, type 0 [0004.020] I2C Rx fifo filled timeout [0004.023] I2c Read failed [0004.025] Slave: 0xae, Register 0x0 Instance 3, Buffer Size: 0 [0004.031] eeprom_init: EEPROM read failed [0004.035] pm_ids_update: eeprom init failed [0004.039] pm_ids_update: Updating 7,a8, size 256, type 0 [0004.046] GPIO driver for phandle 0xd6 could not be found [0006.052] I2C Rx fifo filled timeout [0006.056] I2c Read failed [0006.058] Slave: 0xa8, Register 0x0 Instance 3, Buffer Size: 0 [0006.064] eeprom_init: EEPROM read failed [0006.068] pm_ids_update: eeprom init failed [0006.074] GPIO driver for phandle 0xd6 could not be found [0006.107] updating /chosen/nvidia,wifi-mac node 00:04:4b:65:c3:bf [0006.116] updating /chosen/nvidia,bluetooth-mac node 00:04:4b:65:c3:c0 [0006.125] updating /chosen/nvidia,ethernet-mac node 00:04:4b:65:c3:c1 [0006.132] Plugin Manager: Parse ODM data 0x00084000 [0006.168] Find /i2c@7000c000's alias i2c0 [0006.172] get eeprom at 1-a2, size 256, type 0 [0006.176] get eeprom at 1-ae, size 256, type 0 [0006.192] Find /i2c@7000c400's alias i2c1 [0006.196] get eeprom at 2-a0, size 256, type 0 [0006.211] Find /i2c@7000c500's alias i2c2 [0006.215] get eeprom at 3-a0, size 256, type 0 [0006.219] get eeprom at 3-ae, size 256, type 0 [0006.231] Find /host1x/i2c@546c0000's alias i2c6 [0006.235] get eeprom at 7-a8, size 256, type 0 [0006.240] pm_ids_update: Updating 1,a2, size 256, type 0 [0006.245] I2C slave not started [0006.248] I2C write failed [0006.251] Writing offset failed [0006.254] eeprom_init: EEPROM read failed [0006.258] pm_ids_update: eeprom init failed [0006.262] pm_ids_update: Updating 1,ae, size 256, type 0 [0006.267] I2C slave not started [0006.270] I2C write failed [0006.273] Writing offset failed [0006.276] eeprom_init: EEPROM read failed [0006.280] pm_ids_update: eeprom init failed [0006.284] pm_ids_update: Updating 2,a0, size 256, type 0 [0006.289] I2C slave not started [0006.292] I2C write failed [0006.295] Writing offset failed [0006.298] eeprom_init: EEPROM read failed [0006.302] pm_ids_update: eeprom init failed [0006.306] pm_ids_update: Updating 3,a0, size 256, type 0 [0006.336] pm_ids_update: The pm board id is 2180-1000-400 [0006.344] Adding plugin-manager/ids/2180-1000-400=/i2c@7000c500:module@0x50 [0006.351] pm_ids_update: pm id update successful [0006.355] pm_ids_update: Updating 3,ae, size 256, type 0 [0008.361] I2C Rx fifo filled timeout [0008.365] I2c Read failed [0008.367] Slave: 0xae, Register 0x0 Instance 3, Buffer Size: 0 [0008.373] eeprom_init: EEPROM read failed [0008.377] pm_ids_update: eeprom init failed [0008.381] pm_ids_update: Updating 7,a8, size 256, type 0 [0008.388] GPIO driver for phandle 0xd6 could not be found [0010.394] I2C Rx fifo filled timeout [0010.397] I2c Read failed [0010.400] Slave: 0xa8, Register 0x0 Instance 3, Buffer Size: 0 [0010.406] eeprom_init: EEPROM read failed [0010.409] pm_ids_update: eeprom init failed [0010.416] GPIO driver for phandle 0xd6 could not be found [0010.448] Chip UID is 00000001641225830800000007fb02c0 [0010.456] shim_cmdline_install: /chosen/bootargs: androidboot.modem=none androidboot.serialno=03225160366050c002fb androidboot.security=non-secure [0010.469] Add serial number:03225160366050c002fb as DT property [0010.477] calling apps_init() [0010.482] Found 18 GPT partitions in "sdmmc3_user" [0010.487] Proceeding to Cold Boot [0010.490] starting app android_boot_app [0010.494] Device state: unlocked [0010.497] display console init [0010.502] skip-display-init in bootloader [0010.506] set_instance_and_out_type: invalid out_type [0010.511] display_console_init: No display init [0010.522] Gpio keyboard init success [0010.525] bct_init bctinit [0010.528] device_query_partition_size: failed to open partition sdmmc3_user:BMP ! [0010.535] BMP partition read failed! [0010.539] blob_init: blob-partitDT entry for leds-pwm not found i[0010.553] on BMP header read failed [0010.556] load_bmp_blob: BMP blob initialization failed [0010.561] Could not load/initialize BMP blob...ignoring [0010.566] bl_battery_charging: connected to external power supply [0010.578] display_console_ioctl: No display init [0010.582] switch_backlight failed [0010.585] bct_init bctinit [0010.588] device_query_partition_size: failed to open partition sdmmc3_user:MSC ! [0010.596] MSC Partition not found [0010.599] bct_init bctinit [0010.601] bct_init bctinit [0010.605] blob_init: USP partition does not have valid Blob [0010.610] Loading android kernel [0010.614] Android boot image magic number invalid [0010.619] Failed while loading kernel and ramdisk images [0010.624] Failed to boot Android [0010.627] starting fastboot mode [0010.633] fastboot cmd_init done. [0010.636] platform does not support off-mode-charge [0010.641] usbdcd_init Initialize USBF driver [0010.645] usbdcd_phy_open oscfreq = 5 [0010.654] usbdcd_start Start the initialized controller [0010.[0010.662] -- suspend -- 662] display_console_clear: No display init [0010.669] Error in fastboot menu [0010.672] Continue booting ... [0010.675] [0010.676] display_console_clear: No display init [0010.680] Loading android kernel [0010.684] Android boot image magic number invalid [0010.689] Failed while loading kernel and ramdisk images [0010.694] Failed to boot Android [0010.697] starting fastboot mode [0010.732] fastboot cmd_init done. [0010.735] platform does not support off-mode-charge [0010.740] usbdcd_idisplay_console_clear: No display init [0010.748] Error in fastboot menu [0010.751] Continue booting ... [0010.754] [0010.755] display_console_clear: No display init [0010.759] [0010.761] ----------------------------------------------- [0010.766] Synchronous Exception: DATA ABORT (FAR: 8) [0010.771] ----------------------------------------------- [0010.776] PAR_ELX: 0x80b [0010.779] [0010.780] ESR 0x96000005: ec 0x25, il 0x1, iss 0x5 [0010.785] ----------------------------------------------- [0010.790] [Stack Trace] [0010.792] [0010.794] => pc:0x92C39C94, sp:0x92C9A6F0 [0010.797] => pc:0x92C3893C, sp:0x92C9A920 [0010.801] => pc:0x92C38854, sp:0x92C9A940 [0010.805] => pc:0x92C03DEC, sp:0x92C9A950 [0010.809] => pc:0x92C38948, sp:0x92C9A9D0 [0010.813] => pc:0x92C38854, sp:0x92C9AB30 [0010.817] => pc:0x92C03DEC, sp:0x92C9AB40 [0010.821] => pc:0x92C0464C, sp:0x92C9ABC0 [0010.825] => pc:0x92C036C0, sp:0x92C9AD20 [0010.829] => pc:0x92C02CF8, sp:0x92C9ADA0 [0010.833] => pc:0x92C02CC0, sp:0x92C9ADB0 [0010.837] ----------------------------------------------- [0010.842] iframe 0x92c9a600: [0010.845] x0 0x 92c64000 x1 0x 0 x2 0x 260 x3 0x 2 [0010.854] x4 0x a x5 0x 92c9a6e0 x6 0x 20 x7 0x 6d365b1f [0010.864] x8 0x a x9 0x 7 x10 0x 92c9260d x11 0x 401 [0010.873] x12 0x 10000000 x13 0x 40 x14 0x 1 x15 0x 92cb6958 [0010.882] x16 0x ffff0 x17 0x 10000 x18 0x 0 x19 0x 92c90000 [0010.892] x20 0x 92c64518 x21 0x 83028a30 x22 0x 92c64000 x23 0x 92c90000 [0010.901] x24 0x 400 x25 0x 24 x26 0x 92c9a9c0 x27 0x 0 [0010.910] x28 0x 0 x29 0x 92c9a920 lr 0x 92c38940 sp 0x 92c9a6f0 [0010.919] elr 0x 92c39c94 [0010.923] spsr 0x 60000309 [0010.926] ----------------------------------------------- [0010.931] panic (caller 0x92c01238): die [0010.935] HALT: spinning forever...

  1. I can workaround the above problem by changing the u-boot image created to the NVIDIA provided one in flash.xml (changing u-boot-jetson-tx1.bin to u-boot-dtb.bin). However, when I flash this way, the DTB doesn't seem to be included in the main image. I checked the ext3 file and it doesn't have the DTB in /boot and listing the contents of /boot on the eMMC in u-boot shows that it is missing there as well.

How can I resolve these issues? Both morty and pyro exhibit the same behaviors (though I really like not relying on the NVIDIA JetPack install for the flashing tools). Is there a specific hash I need to be on with poky and meta-openembedded?

What am I doing wrong?

And on a related note I'd like to know the best way of specifying a different DTB for my hardware. I'm utilizing carrier boards from ConnectTech and they provide DTB files defining their hardware. How can I make those override the default DTB?

Thanks!

madisongh commented 6 years ago

First, are you trying to use L4T R24.2 or R28.1? The bootloaders, and the way U-Boot is handled, are completely different in the two releases, and you can't mix and match. With R24, U-Boot is loaded directly by nvtboot and does not have the device tree bundled. With R28, U-Boot is loaded by cboot and is packaged like an Android kernel image, with the device tree.

Did you make any changes to the U-Boot source?

Are you setting IMAGE_FSTYPES = "tegraflash" in your build configuration and using the doflash script in the resulting zip package to flash the device, or did you use some other method?

In meta-tegra, the morty and pyro branches are based off L4T R24.2.1 for the TX1. The pyro-l4t-r28.1 branch uses R28.1. You should be able to use the latest off the correspondingly-named branches in poky/oe-core and meta-openemebedded, although TBH I haven't tested morty lately, as I've been focused on pyro and rocko.

As for the custom device trees, if the vendor provided source files, you should be able to customize the kernel build to include them (along with any other kernel patches the vendor might have provided). You might want to use a different MACHINE name and set KERNEL_DEVICETREE in the machine configuration file to point to the correct dtb file.

jhaws1982 commented 6 years ago

I've tried both branches, R24.2 and R28.1. Knowing R24.2 only supports TX1 I'll stick with that.

I did not make any changes to the U-Boot source.

Yes, IMAGE_FSTYPES is set to tegraflash and it is generating the zip file properly. And I am using the doflash.sh script generated. However, if I mount the generated ext3 imageon my host, there is no device tree in /boot. Flashing the image file from the zip archive to the board (and using u-boot-dtb.bin instead of the generated u-boot-jetson-tx1.bin), u-boot confirms the same thing - the device tree is missing from /boot.

I think I could easily work around the u-boot-jetson-tx1.bin problem if the device tree was present, but I can't find where in the recipes that is getting put in. I'm guessing in the tegraflash scripts? But if that is the case, why is it missing in the ext3 filesystem too? What recipe should be putting it where it needs to go? Maybe I've got a conflicting bbappend in one of my other layers I'm including?

Really I'm having two problems:

  1. u-boot-jetson-tx1.bin doesn't boot.
  2. The device tree is missing in the rootfs.

I'll rebuild today, ensuring I'm on pyro-l4t-r24.2.2 and post the flashing results from the serial console.

And thanks for the tip on the custom device tree. I'll ping ConnectTech and see if they will provide the source files. They just provide the blobs in their CTI-L4T download. I've messed with making my own machine layers in the past - this doesn't seem like it will be too bad. I should just be able to copy your jetson-tx* machines and customize them, don't you think?

Thanks for all the help!

jhaws1982 commented 6 years ago

I just double checked what version of JetPack I had installed and it is version 3.0, which should be R24.2.1 for the TX1 - so I believe that should match. I built with branch pyro-l4t-r24.2.2 (after cleaning tmp and cache, my sstate and downloads are elsewhere).

Flashed from my JetPack 3.0 and it boots just fine now. I also noticed that it is generating an ext4 instead of ext3, which it wasn't doing before and the DTB was included in that image.

I must have had some weird cross-configuration problem that was messing me up.

Thanks for the help!

madisongh commented 6 years ago

Good to hear that that cleared up the problem. And yes, you should be able to use the existing jetson-tx1.conf as a starting point, then customize as needed.