Minimum hardware to boot nano

I’m trying to troubleshoot what seems to be a booting issue on a custom carrier board. So far I have only installed power supply capacitors and exposed the USB0 pins, nothing more. I am manually applying 5v to the POWER_EN pin once power stabilises. I’m expecting the Nano to boot and present itself over USB, the same nano board does this in the devkit carrier. On another, more assembled, version of my carrier board I have listened over UART2 and get no data (again, the same nano outputs when in the devkit carrier).

I’d like to know what the minimum hardware connections are to get the nano to boot as I seem to be missing something.

Any help appreciated.

I’ve made progress, I found a loose negative connection providing power. I’m now able to flash the production nano modules in my carrier board and they boot! They do however stop short of showing up on USB. The serial output is below.

Is it apparent to anyone why it would be stopping short of appearing as a USB device?

Thanks for any help

Blockquote
[0000.230] [L4T TegraBoot] (version 00.00.2018.01-l4t-39a9dc3d)
[0000.236] Processing in cold boot mode Bootloader 2
[0000.240] A02 Bootrom Patch rev = 1023
[0000.244] Power-up reason: pmc por
[0000.247] No Battery Present
[0000.250] pmic max77620 reset reason
[0000.253] pmic max77620 NVERC : 0x40
[0000.256] RamCode = 0
[0000.259] Platform has DDR4 type RAM
[0000.262] max77620 disabling SD1 Remote Sense
[0000.266] Setting DDR voltage to 1125mv
[0000.270] Serial Number of Pmic Max77663: 0x634d9
[0000.278] Entering ramdump check
[0000.281] Get RamDumpCarveOut = 0x0
[0000.284] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8
[0000.289] Last reboot was clean, booting normally!
[0000.294] Sdram initialization is successful
[0000.298] SecureOs Carveout Base=0x00000000ff800000 Size=0x00800000
[0000.304] Lp0 Carveout Base=0x00000000ff780000 Size=0x00001000
[0000.310] BpmpFw Carveout Base=0x00000000ff700000 Size=0x00080000
[0000.316] GSC1 Carveout Base=0x00000000ff600000 Size=0x00100000
[0000.322] GSC2 Carveout Base=0x00000000ff500000 Size=0x00100000
[0000.327] GSC4 Carveout Base=0x00000000ff400000 Size=0x00100000
[0000.333] GSC5 Carveout Base=0x00000000ff300000 Size=0x00100000
[0000.339] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000
[0000.355] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000
[0000.361] Platform-DebugCarveout: 0
[0000.364] Nck Carveout Base=0x00000000ff080000 Size=0x00200000
[0000.370] Non secure mode, and RB not enabled.
[0000.387] Csd NumOfBlocks=0
[0000.579] *** Booting BFS0.
[0000.585] Using BFS PT to query partitions
[0001.170] *** Booting KFS0.
[0001.174] Using GPT Primary to query partitions
[0001.178] Loading Tboot-CPU binary
[0001.185] Verifying TBC in OdmNonSecureSBK mode
[0001.195] Bootloader load address is 0xa0000000, entry address is 0xa0000258
[0001.202] Bootloader downloaded successfully.
[0001.206] Downloaded Tboot-CPU binary to 0xa0000258
[0001.211] MAX77620_GPIO5 configured
[0001.215] CPU power rail is up
[0001.218] CPU clock enabled
[0001.221] Performing RAM repair
[0001.224] Updating A64 Warmreset Address to 0xa00002e9
[0001.230] Loading NvTbootBootloaderDTB
[0001.246] Verifying NvTbootBootloaderDTB in OdmNonSecureSBK mode
[0001.312] Bootloader DTB Load Address: 0x83000000
[0001.317] Loading NvTbootKernelDTB
[0001.333] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode
[0001.398] Kernel DTB Load Address: 0x83100000
[0001.404] Loading cboot binary
[0001.415] Verifying EBT in OdmNonSecureSBK mode
[0001.456] Bootloader load address is 0x92c00000, entry address is 0x92c00258
[0001.463] Bootloader downloaded successfully.
[0001.468] Next binary entry address: 0x92c00258
[0001.472] BoardId: 3448
[0001.477] Overriding pmu board id with proc board id
[0001.482] Display board id is not available
[0001.493] Verifying SC7EntryFw in OdmNonSecureSBK mode
[0001.545] /bpmp deleted
[0001.548] SC7EntryFw header found loaded at 0xff700000
[0001.736] OVR2 PMIC
[0001.738] Bpmp FW successfully loaded
[0001.743] WB0 init successfully at 0xff780000
[0001.747] Set NvDecSticky Bits
[0001.751] GSC2 address ff53fffc value c0edbbcc
[0001.757] GSC MC Settings done
[0001.760] TOS Image length 53680
[0001.764] Monitor size 53680
[0001.766] OS size 0
[0001.772] Secure Os AES-CMAC Verification Success!
[0001.776] TOS image cipher info: plaintext
[0001.780] Loading and Validation of Secure OS Successful
[0001.796] SC7 Entry Firmware - 0xff700000, 0x4000
[0001.801] NvTbootPackSdramParams: start.
[0001.806] NvTbootPackSdramParams: done.
[0001.809] Tegraboot started after 159908 us
[0001.813] Basic modules init took 1362376 us
[0001.818] Sec Bootdevice Read Time = 543 ms, Read Size = 14457 KB
[0001.823] Sec Bootdevice Write Time = 0 ms, Write Size = 0 KB
[0001.829] Next stage binary read took 7382 us
[0001.833] Carveout took -19256 us
[0001.836] CPU initialization took 342839 us
[0001.840] Total time taken by TegraBoot 1693341 us

[0001.845] Starting CPU & Halting co-processor

64NOTICE: BL31: v1.3(release):23b153a63
NOTICE: BL31: Built : 22:39:57, Dec 9 2019
ERROR: Error initializing runtime service trusty_fast
[0001.967] RamCode = 0
[0001.972] LPDDR4 Training: Read DT: Number of tables = 2
[0001.977] EMC Training (SRC-freq: 204000; DST-freq: 1600000)
[0001.990] EMC Training Successful
[0001.993] 408000 not found in DVFS table
[0001.999] RamCode = 0
[0002.002] DT Write: emc-table@204000 succeeded
[0002.008] DT Write: emc-table@1600000 succeeded
[0002.012] LPDDR4 Training: Write DT: Number of tables = 2
[0002.070]
[0002.071] Debug Init done
[0002.074] Marked DTB cacheable
[0002.076] Bootloader DTB loaded at 0x83000000
[0002.081] Marked DTB cacheable
[0002.084] Kernel DTB loaded at 0x83100000
[0002.088] DeviceTree Init done
[0002.104] Pinmux applied successfully
[0002.108] gicd_base: 0x50041000
[0002.111] gicc_base: 0x50042000
[0002.114] Interrupts Init done
[0002.119] Using base:0x60005090 & irq:208 for tick-timer
[0002.124] Using base:0x60005098 for delay-timer
[0002.128] platform_init_timer: DONE
[0002.132] Timer(tick) Init done
[0002.135] osc freq = 38400 khz
[0002.140]
[0002.141] Welcome to L4T Cboot
[0002.144]
[0002.145] Cboot Version: 00.00.2018.01-t210-40c3ff9c
[0002.150] calling constructors
[0002.153] initializing heap
[0002.155] initializing threads
[0002.158] initializing timers
[0002.161] creating bootstrap completion thread
[0002.166] top of bootstrap2()
[0002.169] CPU: ARM Cortex A57
[0002.171] CPU: MIDR: 0x411FD071, MPIDR: 0x80000000
[0002.176] initializing platform
[0002.230] Config for emmc ddr50 mode completed
[0002.234] sdmmc bdev is already initialized
[0002.238] Enable APE clock
[0002.241] Un-powergate APE partition
[0002.245] of_register: registering tegra_udc to of_hal
[0002.250] of_register: registering inv20628-driver to of_hal
[0002.255] of_register: registering ads1015-driver to of_hal
[0002.261] of_register: registering lp8557-bl-driver to of_hal
[0002.267] of_register: registering bq2419x_charger to of_hal
[0002.272] of_register: registering bq27441_fuel_gauge to of_hal
[0002.284] gpio framework initialized
[0002.287] of_register: registering tca9539_gpio to of_hal
[0002.293] of_register: registering tca9539_gpio to of_hal
[0002.298] of_register: registering i2c_bus_driver to of_hal
[0002.304] of_register: registering i2c_bus_driver to of_hal
[0002.309] of_register: registering i2c_bus_driver to of_hal
[0002.315] pmic framework initialized
[0002.318] of_register: registering max77620_pmic to of_hal
[0002.324] regulator framework initialized
[0002.328] of_register: registering tps65132_bl_driver to of_hal
[0002.333] initializing target
[0002.339] gpio_driver_register: register ‘tegra_gpio_driver’ driver
[0002.350] fixed regulator driver initialized
[0002.367] initializing OF layer
[0002.370] NCK carveout not present
[0002.374] Skipping dts_overrides
[0002.378] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.395] I2C Bus Init done
[0002.397] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.408] I2C Bus Init done
[0002.410] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.421] I2C Bus Init done
[0002.423] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.434] I2C Bus Init done
[0002.436] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.447] I2C Bus Init done
[0002.449] of_children_init: Ops found for compatible string maxim,max77620
[0002.460] max77620_init using irq 118
[0002.464] register ‘maxim,max77620’ pmic
[0002.469] gpio_driver_register: register ‘max77620-gpio’ driver
[0002.475] of_children_init: Ops found for compatible string nvidia,tegra210-i2c
[0002.485] I2C Bus Init done
[0002.489] NCK carveout not present
[0002.499] Find /i2c@7000c000’s alias i2c0
[0002.503] get eeprom at 1-a0, size 256, type 0
[0002.512] Find /i2c@7000c500’s alias i2c2
[0002.515] get eeprom at 3-a0, size 256, type 0
[0002.520] get eeprom at 3-ae, size 256, type 0
[0002.524] pm_ids_update: Updating 1,a0, size 256, type 0
[0002.530] I2C slave not started
[0002.533] I2C write failed
[0002.535] Writing offset failed
[0002.538] eeprom_init: EEPROM read failed
[0002.542] pm_ids_update: eeprom init failed
[0002.546] pm_ids_update: Updating 3,a0, size 256, type 0
[0002.576] pm_ids_update: The pm board id is 3448-0002-400
[0002.583] Adding plugin-manager/ids/3448-0002-400=/i2c@7000c500:module@0x50
[0002.591] pm_ids_update: pm id update successful
[0002.595] pm_ids_update: Updating 3,ae, size 256, type 0
[0002.601] I2C slave not started
[0002.604] I2C write failed
[0002.606] Writing offset failed
[0002.609] eeprom_init: EEPROM read failed
[0002.613] pm_ids_update: eeprom init failed
[0002.644] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0002.649] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB
[0002.658] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0002.664] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB
[0002.672] updating /chosen/nvidia,ethernet-mac node 00:04:4b:ea:2a:b1
[0002.679] Plugin Manager: Parse ODM data 0x00094000
[0002.689] shim_cmdline_install: /chosen/bootargs: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[0002.713] Find /i2c@7000c000’s alias i2c0
[0002.717] get eeprom at 1-a0, size 256, type 0
[0002.726] Find /i2c@7000c500’s alias i2c2
[0002.730] get eeprom at 3-a0, size 256, type 0
[0002.734] get eeprom at 3-ae, size 256, type 0
[0002.738] pm_ids_update: Updating 1,a0, size 256, type 0
[0002.744] I2C slave not started
[0002.747] I2C write failed
[0002.749] Writing offset failed
[0002.752] eeprom_init: EEPROM read failed
[0002.756] pm_ids_update: eeprom init failed
[0002.760] pm_ids_update: Updating 3,a0, size 256, type 0
[0002.791] pm_ids_update: The pm board id is 3448-0002-400
[0002.797] Adding plugin-manager/ids/3448-0002-400=/i2c@7000c500:module@0x50
[0002.804] pm_ids_update: pm id update successful
[0002.809] pm_ids_update: Updating 3,ae, size 256, type 0
[0002.814] I2C slave not started
[0002.817] I2C write failed
[0002.820] Writing offset failed
[0002.823] eeprom_init: EEPROM read failed
[0002.827] pm_ids_update: eeprom init failed
[0002.857] Add serial number:1423419000204 as DT property
[0002.865] Applying platform configs
[0002.871] platform-init is not present. Skipping
[0002.876] calling apps_init()
[0002.892] Found 17 GPT partitions in “sdmmc3_user”
[0002.896] Proceeding to Cold Boot
[0002.900] starting app android_boot_app
[0002.903] Device state: unlocked
[0002.906] display console init
[0002.915] could not find regulator
[0002.938] hdmi cable not connected
[0002.942] is_hdmi_needed: HDMI not connected, returning false
[0002.947] hdmi is not connected
[0002.950[0002.955] DT entry for leds-pwm not found
] sor0 is not supported
[0002.961] display_console_init: no valid display out_type
[0002.969] subnode volume_up is not found !
[0002.973] subnode back is not found !
[0002.976] subnode volume_down is not found !
[0002.980] subnode menu is not found !
[0002.984] Gpio keyboard init success
[0003.031] found decompressor handler: lz4-legacy
[0003.045] decompressing blob (type 1)…
[0003.079] display_resolution: No display init
[0003.083] Failed to retrieve display resolution
[0003.088] Could not load/initialize BMP blob…ignoring
[0003.138] decompressor handler not found
[0003.141] load_firmware_blob: Firmware blob loaded, entries=2
[0003.147] -------> se_aes_verify_sbk_clear: 747
[0003.152] se_aes_verify_sbk_clear: Error
[0003.155] bl_battery_charging: connected to external power supply
[0003.163] xusb is supported
[0003.169] error while finding nvidia,portmap
[0003.673] xusb blob version 0 size 124416
[0003.677] firmware size 124416
[0003.682] Firmware timestamp: 0x5da88fc3, Version: 50.25 release
[0003.691] xhci0: 64 bytes context size, 32-bit DMA
[0003.731] usbus0: 5.0Gbps Super Speed USB v3.0
[0003.751] uhub0: <Nvidia XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
[0004.401] uhub0: 9 ports with 9 removable, self powered
[0005.401] failed to get HID devices
[0005.405] failed to init xhci or no usb device attached
[0005.412] display_console_ioctl: No display init
[0005.417] switch_backlight failed
[0005.426] device_query_partition_size: failed to open partition sdmmc3_user:MSC !
[0005.434] MSC Partition not found
[0005.443] device_query_partition_size: failed to open partition sdmmc3_user:USP !
[0005.451] USP partition read failed!
[0005.454] blob_init: blob-partition USP header read failed
[0005.460] android_boot Unable to update recovery partition
[0005.465] kfs_getpartname: name = LNX
[0005.469] Loading kernel from LNX
[0005.532] load kernel from storage
[0005.542] decompressor handler not found
[0005.561] Successfully loaded kernel and ramdisk images
[0005.568] display_resolution: No display init
[0005.572] Failed to retrieve display resolution
[0005.576] bmp blob is not loaded and initialized
[0005.581] Failed to display boot-logo
[0005.584] NCK carveout not present
[0005.588] Skipping dts_overrides
[0005.591] NCK carveout not present
[0005.601] Find /i2c@7000c000’s alias i2c0
[0005.605] get eeprom at 1-a0, size 256, type 0
[0005.614] Find /i2c@7000c500’s alias i2c2
[0005.617] get eeprom at 3-a0, size 256, type 0
[0005.622] get eeprom at 3-ae, size 256, type 0
[0005.626] pm_ids_update: Updating 1,a0, size 256, type 0
[0005.632] I2C slave not started
[0005.635] I2C write failed
[0005.637] Writing offset failed
[0005.640] eeprom_init: EEPROM read failed
[0005.644] pm_ids_update: eeprom init failed
[0005.648] pm_ids_update: Updating 3,a0, size 256, type 0
[0005.678] pm_ids_update: The pm board id is 3448-0002-400
[0005.685] Adding plugin-manager/ids/3448-0002-400=/i2c@7000c500:module@0x50
[0005.693] pm_ids_update: pm id update successful
[0005.697] pm_ids_update: Updating 3,ae, size 256, type 0
[0005.703] I2C slave not started
[0005.706] I2C write failed
[0005.708] Writing offset failed
[0005.711] eeprom_init: EEPROM read failed
[0005.715] pm_ids_update: eeprom init failed
[0005.746] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0005.751] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB
[0005.760] eeprom_get_mac: EEPROM invalid MAC address (all 0xff)
[0005.766] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB
[0005.774] updating /chosen/nvidia,ethernet-mac node 00:04:4b:ea:2a:b1
[0005.781] Plugin Manager: Parse ODM data 0x00094000
[0005.791] shim_cmdline_install: /chosen/bootargs: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[0005.808] Add serial number:1423419000204 as DT property
[0005.817] “bpmp” doesn’t exist, creating
[0005.823] Updated bpmp info to DTB
[0005.828] Updated initrd info to DTB
[0005.831] “proc-board” doesn’t exist, creating
[0005.837] Updated board info to DTB
[0005.840] “pmu-board” doesn’t exist, creating
[0005.846] Updated board info to DTB
[0005.849] “display-board” doesn’t exist, creating
[0005.855] Updated board info to DTB
[0005.858] “reset” doesn’t exist, creating
[0005.863] Updated reset info to DTB
[0005.866] display_console_ioctl: No display init
[0005.871] display_console_ioctl: No display init
[0005.875] display_console_ioctl: No display init
[0005.880] Cmdline: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,2 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000
[0005.914] DTB cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[0005.929] boot image cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[0005.945] Updated bootarg info to DTB
[0005.949] Adding uuid 00000001644612810c00000013fb8200 to DT
[0005.955] Adding eks info 0 to DT
[0005.960] WARNING: Failed to pass NS DRAM ranges to TOS, err: -7
[0005.966] Updated memory info to DTB
[0005.975] set vdd_core voltage to 1125 mv
[0005.979] setting ‘vdd-core’ regulator to 1125000 micro volts
[0006.001] Found secure-pmc; disable BPMP

U-Boot 2016.07-g0536cf2a27 (Dec 09 2019 - 22:40:32 -0800)

TEGRA210
Model: NVIDIA P3450-Porg
Board: NVIDIA P3450-PORG
DRAM: 4 GiB
MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1
SF: Failed to get idcodes
*** Warning - spi_flash_probe() failed, using default environment

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Card did not respond to voltage select!
** Bad device mmc 1 **
Hit any key to stop autoboot: 1  0
Card did not respond to voltage select!
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
733 bytes read in 83 ms (7.8 KiB/s)
1: primary kernel
Retrieving file: /boot/initrd
5487751 bytes read in 250 ms (20.9 MiB/s)
Retrieving file: /boot/Image
34191368 bytes read in 806 ms (40.5 MiB/s)
append: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,2 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet

Flattened Device Tree blob at 83100000

Booting using the fdt blob at 0x83100000
reserving fdt memory region: addr=80000000 size=20000
Using Device Tree in place at 0000000083100000, end 00000000831776fe

Starting kernel …

[ 1.011632] tegradc tegradc.1: dpd enable lookup fail:-19 [ 1.517686] Host read timeout at address 545c00c4 [ 1.721036] imx219 7-0010: imx219_board_setup: error during i2c read probe (-121) [ 1.728596] imx219 7-0010: board setup failed [ 1.756961] imx219 8-0010: imx219_board_setup: error during i2c read probe (-121) [ 1.764485] imx219 8-0010: board setup failed [ 2.187895] cgroup: cgroup2: unknown option "nsdelegate" [ 3.134227] using random self ethernet address [ 3.138869] using random host ethernet address [ 3.484266] using random self ethernet address [ 3.488741] using random host ethernet address [ 3.557497] random: crng init done [ 3.560902] random: 7 urandom warning(s) missed due to ratelimiting [ 5.526453] Please complete system configuration setup on the serial port provided by Jetson's USB device mode connection. e.g. /dev/ttyACMx where x can 0, 1, 2 etc.

I can’t help on the custom board, but you will want to remove the “quiet” from the kernel command line argument, and then post the serial boot console. This will either be in the “/boot/extlinux/extlinux.conf” “APPEND” key/value pair, or in some cases the device tree at the “chosen->bootargs” node.