TX2i Custom Carrier Board Bootloop


I am trying to bring-up a custom carrier board for a Jetson TX2i. When trying to boot on the custom carrier board the module fails to boot, retries, and continues this loop indefinitely. I have logged the console output and attached it. When comparing with the log from a successful boot on the TX2i development kit the log diverges at line 437.

Any help would be appreciated.

customboard_boot.log (150.5 KB)

hello rgalliath,

you’ve enter linux kernel according to the logs,
however, there’re kernel panics and it makes system reboot.
for example,

[   60.246317] Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 3
[   60.253770] SMP: stopping secondary CPUs
[   61.642024] SMP: failed to stop secondary CPUs 0,2-5
[   61.647224] Kernel Offset: disabled
[   61.650788] Memory Limit: none
[   61.702031] Rebooting in 5 seconds..

had you refer to Jetson TX2 Series OEM Product Design Guide for the recommendations and guidelines to create a product?
you may also check pinmux spreadsheets, if your board schematic differs from that for Jetson TX2 Developer Kit board, you must change the pinmux configuration applied by the software. please refer to developer guide as see-also.


I’ve followed the Adaptation and Bring-Up guide. My guess is that I have an error with my configuration of the device tree, as the adaptation guide isn’t very thorough as to the changes that need to be made and it is not an area I have much experience in.

Here is my current procedure:

  1. Create configuration files from the pinmux dtsi files.
    1.1. cd <L4T>/kernel/pinmux/t186
    1.2. python pinmux-dts2cfg.py --pinmux addr_info.txt gpio_add_info.txt por_val.txt tegra18x-myboard-pinmux.dtsi tegra18x-myboard-gpio-default.dtsi 1.0 > ../../../bootloader/t186ref/BCT/tegra18x-mb1-bct-pinmux-quilll-myboard.cfg
    1.3. python pinmux-dts2cfg.py --pad pad_info.txt tegra18x-myboard-padvoltage-default.dtsi 1.0 > ../../../bootloader/t186ref/BCT/tegra18x-mb1-bct-pad-quill-myboard.cfg

  2. Modify PMIC configuration
    2.1. cd <L4T>/bootloader/t186ref/BCT
    2.2. cp tegra186-mb1-bct-quill-p3489-1000-a00.cfg tegra18x-mb1-pmic-quill-myboard.cfg
    2.3. Remove lines 70 - 94 from tegra18x-mb1-pmic-quill-myboard.cfg
    2.4. Modify line 21 to read pmic.generic.1.block-count = 4;

  3. Build the device tree from source
    3.1. Modify tegra186-quill-p3489-1000-a00-00-base.dts adding the following nodes to the root node.

i2c@31b0000 {
    pinctrl-names = "default";
    pinctrl-0 = <&dpaux0_default>;

i2c@3190000 {
    pinctrl-names = "default";
    pinctrl-0 = <&dpaux_default>;
  1. (continued)
    3.2. Add the following to the host1x node.
dpaux@155c0000 {
    status = "okay";
    compatible = "nvidia,tegra186-dpaux-padctl";
    /delete-property/ power-domains;
    dpaux0_default: pinmux@0 {
        dpaux0_pins {
            pins = "dpaux-0";
            function = "i2c";

dpaux@15040000 {
    status = "okay";
    compatible = "nvidia,tegra186-dpaux1-padctl";
    /delete-property/ power-domains;
    dpaux_default: pinmux@0 {
        dpaux1_pins {
            pins = "dpaux1-1";
            function = "i2c";
  1. (continued)
    3.3. Compile the DTB

  2. Modify jetson-tx2i.conf making the following changes

  1. Flash the TX2i
  2. Install the TX2i module in my custom board and attempt to boot

hello rgalliath,

how about skip step-2, do not modify PMIC configuration.
please also check this topic as see-also, Topic 190334.
there’re steps for your reference, we’ve verified with the pinmux spreadsheet created cfg file.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.