Tegra Chip ID not yet available ????

hi all

i tried to install Tegra186_Linux_R28.1.0_aarch64.tbz2 on Jetson TX2 reference board.

but, booting is failed and Booting is infinite loop…

U-Boot 2016.07-g5971907 (Feb 08 2017 - 18:01:58 -0800)

TEGRA186
Model: NVIDIA P2771-0000-500
DRAM: 7.8 GiB
MC: Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: eth0: ethernet@2490000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
462 bytes read in 84 ms (4.9 KiB/s)
p2771-0000 eMMC boot options
1: primary kernel
Enter choice: 1: primary kernel
Retrieving file: /boot/Image
20280368 bytes read in 2255 ms (8.6 MiB/s)
append: fbcon=map:0 net.ifnames=0 console=tty0 OS=l4t console=ttyS0,115200n8 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 gpt tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 android.kerneltype=normal androidboot.serialno=0335115020673 vpr_resize root=/dev/mmcblk1p1 rw rootwait

Flattened Device Tree blob at 92000000

Booting using the fdt blob at 0x92000000
reserving fdt memory region: addr=80000000 size=10000
Using Device Tree in place at 0000000092000000, end 0000000092041814

Starting kernel …

[ 0.000000] Booting Linux on physical CPU 0x100
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.38-tegra (buildbrain@mobile-u64-553) (gcc version 4.8.5 (GCC) ) #1 SMP PREEMPT Thu Jul 20 00:49:07 PDT 2017
[ 0.000000] Boot CPU: AArch64 Processor [411fd073]
[ 0.000000] earlycon: Early serial console at MMIO32 0x3100000 (options ‘’)
[ 0.000000] bootconsole [uart0] enabled
[ 0.000000] Reserved memory: initialized node vpr-carveout, compatible id nvidia,vpr-carveout
[ 0.000000] Reserved memory: initialized node ramoops_carveout, compatible id nvidia,ramoops
[ 0.000000] cma: Reserved 64 MiB at 0x00000000f2000000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.0 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] PERCPU: Embedded 17 pages/cpu @ffffffc1ffcaa000 s31232 r8192 d30208 u69632
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 2019520
[ 0.000000] Kernel command line: fbcon=map:0 net.ifnames=0 console=tty0 OS=l4t console=ttyS0,115200n8 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 gpt tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 android.kerneltype=normal androidboot.serialno=0335115020673 vpr_resize root=/dev/mmcblk1p1 rw rootwait
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
[ 0.000000] Memory: 7278920K/8206336K available (10976K kernel code, 1817K rwdata, 5712K rodata, 1164K init, 682K bss, 173752K reserved, 753664K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vmalloc : 0xffffff8000000000 - 0xffffffbdbfff0000 ( 246 GB)
[ 0.000000] vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum)
[ 0.000000] 0xffffffbdc2000000 - 0xffffffbdca000000 ( 128 MB actual)
[ 0.000000] fixed : 0xffffffbffa7fd000 - 0xffffffbffac00000 ( 4108 KB)
[ 0.000000] PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000 ( 16 MB)
[ 0.000000] modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB)
[ 0.000000] memory : 0xffffffc000000000 - 0xffffffc200000000 ( 8192 MB)
[ 0.000000] .init : 0xffffffc0010cd000 - 0xffffffc0011f0000 ( 1164 KB)
[ 0.000000] .text : 0xffffffc000080000 - 0xffffffc0010cd000 ( 16692 KB)
[ 0.000000] .data : 0xffffffc001211000 - 0xffffffc0013d7430 ( 1818 KB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=6.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=6
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] Architected cp15 timer(s) running at 31.25MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xe6a171046, max_idle_ns: 881590405314 ns
[ 0.000003] sched_clock: 56 bits at 31MHz, resolution 32ns, wraps every 4398046511088ns
[ 0.009235] Tegra Chip ID not yet available
[ 0.013579] ------------[ cut here ]------------
[ 0.018361] WARNING: at ffffffc000449684 [verbose debug info unavailable]
[ 0.025395] Modules linked in:
[ 0.028556]
[ 0.030096] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.38-tegra #1
[ 0.036769] Hardware name: quill (DT)
[ 0.040561] task: ffffffc001224ec0 ti: ffffffc001214000 task.ti: ffffffc001214000
[ 0.048323] PC is at tegra_read_chipid+0x48/0x54
[ 0.053106] LR is at tegra_read_chipid+0x48/0x54
[ 0.057887] pc : [] lr : [] pstate: 600000c5
[ 0.065551] sp : ffffffc001217e90
[ 0.068981] x29: ffffffc001217e90 x28: ffffffc00146a210
[ 0.074490] x27: 0000000000000000 x26: 0000000000000000
[ 0.079999] x25: ffffffc00121b9d8 x24: ffffffc00121caf0
[ 0.085508] x23: ffffffc00146a000 x22: ffffffc1ffdc5d50
[ 0.091016] x21: 0000000000000000 x20: 0000000000000001
[ 0.096522] x19: ffffffc001449ea0 x18: 000000000000000c
[ 0.102028] x17: 000000000000123f x16: 0000000000000001
[ 0.107532] x15: 0000000000000002 x14: 3536343038393334
[ 0.113038] x13: 2079726576652073 x12: ffffffc001234000
[ 0.118547] x11: 0000000000000002 x10: 0000000000000000
[ 0.124052] x9 : 000000000000002a x8 : 7661207465792074
[ 0.129558] x7 : 0000000000000000 x6 : ffffffc0010fdf80
[ 0.135067] x5 : ffffffc0010fdea4 x4 : 0000000000000000
[ 0.140574] x3 : 0000000000000000 x2 : 0000000000000001
[ 0.146080] x1 : ffffffc001214000 x0 : 000000000000001f
[ 0.151587]
[ 0.153133] —[ end trace cb88537fdc8fa200 ]—
[ 0.157916] Call trace:
[ 0.160448] [] tegra_read_chipid+0x48/0x54
[ 0.166312] [] tegra_get_platform+0xc/0xb8
[ 0.172178] [] tegra186_timer_init+0xf0/0x304
[ 0.178315] [] clocksource_probe+0x60/0xa0
[ 0.184182] [] time_init+0x14/0x44
[ 0.189327] [] start_kernel+0x28c/0x3b0
[ 0.194921] [<0000000080b2e000>] 0x80b2e000
[ 0.199887] Tegra Chip ID not yet available
[ 0.204227] ------------[ cut here ]------------
[ 0.209008] WARNING: at ffffffc000449684 [verbose debug info unavailable]
[ 0.216040] Modules linked in:
[ 0.219199]
[ 0.220738] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 4.4.38-tegra #1
[ 0.228673] Hardware name: quill (DT)
[ 0.232463] task: ffffffc001224ec0 ti: ffffffc001214000 task.ti: ffffffc001214000
[ 0.240218] PC is at tegra_read_chipid+0x48/0x54
[ 0.245000] LR is at tegra_read_chipid+0x48/0x54
[ 0.249780] pc : [] lr : [] pstate: 600000c5
[ 0.257445] sp : ffffffc001217e90
[ 0.260875] x29: ffffffc001217e90 x28: ffffffc00146a210
[ 0.266381] x27: 0000000000000001 x26: 0000000000000001
[ 0.271888] x25: ffffffc00121b9d8 x24: ffffffc00121caf0
[ 0.277394] x23: ffffffc00146a000 x22: ffffffc1ffdc5d50
[ 0.282900] x21: 0000000000000001 x20: 0000000000000002
[ 0.288404] x19: ffffffc001449ea0 x18: 000000000000000c
[ 0.293912] x17: 000000000000123f x16: 0000000000000001
[ 0.299418] x15: 0000000000000002 x14: 3536343038393334
[ 0.304922] x13: 2079726576652073 x12: ffffffc001234000
[ 0.310427] x11: 0000000000000002 x10: 0000000000000000
[ 0.315930] x9 : 000000000000004f x8 : 616c696176612074
[ 0.321436] x7 : 0000000000000000 x6 : ffffffc0010fdf80
[ 0.326939] x5 : ffffffc0010fdea4 x4 : 0000000000000000
[ 0.332446] x3 : 0000000000000000 x2 : 0000000000000001
[ 0.337950] x1 : ffffffc001214000 x0 : 000000000000001f
[ 0.343457]
[ 0.344992] —[ end trace cb88537fdc8fa201 ]—

Do you have any idea to fix this issue?

Hi syobuda,

Are you download Root File System?
Please following quick start guide steps:
https://developer.nvidia.com/embedded/dlc/l4t-quick-start-guide-28-1

thanks for reply.

Is chipid written as a kernel image by flash.sh?

i used SD boot.
The reason is that I can not do flashing because I am using vm.
so, i maked the kernel image and copied the kernel image to the boot of the SD card.

To copy to the sd card, use the following method.

cd $TEGRA_KERNEL_OUT/modules
tar --owner root --group root -cjf kernel_supplements.tbz2 *
mv kernel_supplements.tbz2 …/arch/arm64/boot/
cd …/arch/arm64/boot/
sudo cp Image /media/wavetc/ba5dc7a3-26ef-478e-9928-dba3dc09a34f/boot/Image
sudo cp ./dts/tegra186-quill-p3310-1000-c03-00-base.dtb /media/wavetc/ba5dc7a3-26ef-478e-9928-dba3dc09a34f/boot/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb
sudo cp ./dts/tegra186-quill-p3310-1000-a00-00-base.dtb /media/wavetc/ba5dc7a3-26ef-478e-9928-dba3dc09a34f/boot/tegra186-quill-p3310-1000-a00-00-base.dtb
sudo cp ./dtb/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dtb /media/wavetc/ba5dc7a3-26ef-478e-9928-dba3dc09a34f/boot/tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dtb
sudo cp ./dts/tegra186-quill-p3310-1000-c03-00-base.dtb /media/wavetc/ba5dc7a3-26ef-478e-9928-dba3dc09a34f/boot/tegra186-quill-p3310-1000-c03-00-base.dtb
sudo tar -xvf kernel_supplements.tbz2 -C /media/wavetc/ba5dc7a3-26ef-478e-9928-dba3dc09a34f/

I installed JetPack-L4T-3.1-linux-x64.run and I used the image from Linux_for_Tegra_tx2/kernel, but i got the same error.
I want to know how to give a chipid without using flash.sh.
Does anyone know what to do?

Hi syobuda,

You can check this topic:

Refer detail steps on L4T documentaion: https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-1

  • Setting Up Your File System → Step 2: Copy the rootfs to the Device

thanks for reply~

i was downloaded rootfs to SDCard…
sdcard image was all default(Linux_for_Tegra_tx2/rootfs) images…
but, I got the same error…

i have jetson TX2 board and got the TX2 sources…

i found Error codes in Linux_for_Tegra_tx2/sources/kernel/kernel-4.4/drivers/soc/tegra/fuse/tegra-apbmisc.c
I have commented in the codes.
How can i set the default APBMISC node in dts???
I can’t find default APBMISC node in dts files (Linux_for_Tegra_tx2/sources/hardware/)
Help me~~~!!!

u32 tegra_read_chipid(void)
{
if (!apbmisc_base)
tegra_init_apbmisc();

if (!apbmisc_base) {
    <u><b>////// <<<<< always below print output and infinit loop.... >>>>>> ///////</b></u>

    WARN(1, "Tegra Chip ID not yet available\n",__func__);
    return 0;
}

return readl_relaxed(apbmisc_base + 4);

}

void tegra_init_apbmisc(void)
{
struct resource apbmisc, straps;
struct device_node *np;
const struct of_device_id *match;

np = of_find_matching_node_and_match(NULL, apbmisc_match, &match);
if (!np) {
    <u><b>///// <<<<< How can i set the default APBMISC node in dts??? Do you have default APBMISC mode in dts?>>>>> /////</b></u>

    /*
     * Fall back to legacy initialization for 32-bit ARM only. [u][b]All
     * 64-bit ARM device tree files for Tegra are required to have
     * an APBMISC node.[/b][/u]

     *
     * This is for backwards-compatibility with old device trees
     * that didn't contain an APBMISC node.
     */

#if 1 // 20180206 test by JC
if (IS_ENABLED(CONFIG_ARM))
WARN(1, “[%s:%d] is_enabled true\n”,func,LINE);
else
WARN(1, “[%s:%d] is_enabled false\n”,func,LINE);

    if (soc_is_tegra())
        WARN(1, "[%s:%d] soc_is_tegra true\n",__func__,__LINE__);
    else
        WARN(1, "[%s:%d] soc_is_tegra false\n",__func__,__LINE__);

#endif
///// <<< IS_ENABLED(CONFIG_ARM) is false, soc_is_tegra() is true >>>> /////

    if (IS_ENABLED(CONFIG_ARM) && soc_is_tegra()) {
        /* APBMISC registers (chip revision, ...) */
        apbmisc.start = 0x70000800;
        apbmisc.end = 0x70000863;
        apbmisc.flags = IORESOURCE_MEM;

        /* strapping options */
        if (tegra_get_chip_id() == TEGRA124) {
            straps.start = 0x7000e864;
            straps.end = 0x7000e867;
        } else {
            straps.start = 0x70000008;
            straps.end = 0x7000000b;
        }

        straps.flags = IORESOURCE_MEM;

        pr_warn("Using APBMISC region %pR\n", &apbmisc);
        pr_warn("Using strapping options registers %pR\n",
            &straps);
    } else {
        <u><b>///// <<<< so, always entry this point >>>> /////</b></u>

[/u]
/*
* At this point we’re not running on Tegra, so play
* nice with multi-platform kernels.
*/
return;
}
} else {

}

hello syobuda

  1. please refer to this topic to use VM to flash Jetson.
    [url]JetPack 3.0/3.1 Install with a VM - Jetson TX2 - NVIDIA Developer Forums

  2. if you would like to boot from SD card, please refer to
    [Release 28.1 Development Guide]->[Flashing and Booting the Target Device]

thanks for reply.

i was test for Jetpack-L4T-3.1 ( Tegra linux R28.1,0 kernel version 3.3.38).
booting is failed with “Tegra Chip ID not yet available” and Booting is infinite loop…

also, i was test for Jetpack-L4T-3.0 ( Tegra Linux R27.1.0 kernel version 3.3.15)
booting is work fine…

so, What do I need to add to build the 4.4.38 kernel, unlike the 4.4.15 version?

hello syobuda,

please share your whole steps,
starting from based on which JetPack release to what’s the modification you had done.
thanks

thanks for reply.

  1. i was clone to tx2 board emmc (kernel version 4.4.15) to sdcard following belows.

Umount and format /dev/mmcblk1p1. This would clean up the partition.

Run fdisk to re-partition the SD Card before formatting if necessary.

$ sudo umount /dev/mmcblk1p1
$ sudo mkfs.ext4 /dev/mmcblk1p1

Mount the freshly formatted /dev/mmcblk1p1. The UUID would differ for

your SD Card partition.

$ sudo mount /dev/mmc1blk1p1 /media/ubuntu/9ae7c5ba-e812-445b-bfce-20f9d2ac78b6

Copy all files from rootfs to /dev/mmcblk1p1, while excluding the

directory /dev/mmcblk1p1 is mounted on. This step might take 10~20 min.

$ sudo rsync -avxHAX --progress / /media/ubuntu/9ae7c5ba-e812-445b-bfce-20f9d2ac78b6/

Specify “root=/dev/mmcblk1p1” (replacing /dev/mmcblk0p1) in extlinux.conf

$ sudo vim /media/ubuntu/9ae7c5ba-e812-445b-bfce-20f9d2ac78b6/boot/extlinux/extlinux.conf

Specify “/dev/mmcblk1p1” (replacing /dev/root) as the mount device

for root (/) in fstab

$ sudo vim /media/ubuntu/9ae7c5ba-e812-445b-bfce-20f9d2ac78b6/lib/init/fstab
$ sync

  1. In host OS ( Ubuntu 16.04 and 14.04), install JetPack-L4T-3.1-linux-x64.run in JetPack3.1 directory and install JetPack-L4T-3.0-linux-x64.run in JetPack3.0

  2. I just copy Image, .dtb files to sdcard and extract kernel_supplements.tbz2 to sdcard.
    cd JetPack3.0/64_TX2/Linux_for_Tegra_tx2/kernel
    sudo cp Image /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/boot/
    sudo cp ./dtb/.dtb /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/boot/dtb/
    sudo cp ./dtb/
    .dtb /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/boot/
    sudo tar -xvf kernel_supplements.tbz2 -C /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/

  3. sdcard booting is fine for JetPack 3.0 (kernel version 4.4.15)

  4. and then, I just changed to Jetpack3.1 for JetPack 3.1 image copy
    cd JetPack3.1/64_TX2/Linux_for_Tegra_tx2/kernel
    sudo cp Image /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/boot/
    sudo cp ./dtb/.dtb /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/boot/dtb/
    sudo cp ./dtb/
    .dtb /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/boot/
    sudo tar -xvf kernel_supplements.tbz2 -C /media/wavetc/53146584-ae42-4e11-b2b2-ff4b44747b9a/

  5. boot failed and infinite loop…

Although it may not matter you should probably use gdisk instead of fdisk. GPT partition type is the more common partition on SD cards and eMMC. So long as both U-Boot and Linux understand old style BIOS partitions it shouldn’t actually harm anything.

Second, was the mkfs.ext4 from the Jetson or from a host? In the case of a Jetson I know this will work, but in the case of some hosts there will be 64-bit extensions which U-Boot does not understand…when it comes time to find the file system U-Boot will fail. If on your system you look at “/etc/mke2fs.conf”, see if the ext4 section has either of these:

metadata_csum
64bit

…if those are present you’ll need to adjust your mkfs.ext4 with options to disable those (assuming mmcblk1p1…adjust if needed):

sudo mkfs.ext4 -O ^metadata_csum,^64bit /dev/mmcblk1p1

Also, if you restore a clone from one Jetson to another, then the L4T version of both systems should be the same. For example, you can’t take a clone from an R27.1 release and put it on an R28.1 release.