Chip UID
Hello, When I flashing with tegrarcm, I can see "chip uid" like below. I'd like to use this for unique id. How can I read this from u-boot or kernel ? where does it saved? I try to dump many registers but can't find it. Thanks in advance. [code]Nvflash 4.13.0000 started BR_CID: 0x340010017410b0c810000000150000c0 rcm version 0X400001 Skipping BoardID read at miniloader level System Information: chip name: unknown chip id: 0x40 major: 1 minor: 1 chip sku: 0x0 [b]chip uid: 0x000000017410b0c810000000150000c0[/b] macrovision: disabled hdcp: disabled jtag: disabled sbk burned: false board id: 0 warranty fuse: 0 dk burned: false boot device: emmc operating mode: 3 device config strap: 0 device config fuse: 0 sdram config strap: 0 RCM communication completed[/code]
Hello,

When I flashing with tegrarcm, I can see "chip uid" like below.
I'd like to use this for unique id.
How can I read this from u-boot or kernel ?
where does it saved?
I try to dump many registers but can't find it.

Thanks in advance.


Nvflash 4.13.0000 started
BR_CID: 0x340010017410b0c810000000150000c0
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x0
chip uid: 0x000000017410b0c810000000150000c0
macrovision: disabled
hdcp: disabled
jtag: disabled
sbk burned: false
board id: 0
warranty fuse: 0
dk burned: false
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0

RCM communication completed

#1
Posted 03/01/2017 10:49 PM   
hello Jack71, UID is generated by reading the ECID fuse from ECID0 to ECID3, we're going to take a look and then get back to you, thanks
hello Jack71,

UID is generated by reading the ECID fuse from ECID0 to ECID3,
we're going to take a look and then get back to you, thanks

#2
Posted 03/02/2017 10:04 AM   
Thannks Jerry, Any news please ?
Thannks Jerry,

Any news please ?

#3
Posted 03/03/2017 02:50 PM   
hello Jack71, here's kernel function to read tegra chip uid for your reference, please check. $TOP/kernel/drivers/misc/tegra-fuse/tegra210_fuse_offsets.h unsigned long long tegra_chip_uid(void) {...}
Answer Accepted by Original Poster
hello Jack71,

here's kernel function to read tegra chip uid for your reference, please check.

$TOP/kernel/drivers/misc/tegra-fuse/tegra210_fuse_offsets.h
unsigned long long tegra_chip_uid(void) {...}

#4
Posted 03/06/2017 10:15 AM   
Awesome!! Thank you very much.
Awesome!! Thank you very much.

#5
Posted 03/06/2017 06:55 PM   
[quote="JerryChang"]hello Jack71, here's kernel function to read tegra chip uid for your reference, please check. $TOP/kernel/drivers/misc/tegra-fuse/tegra210_fuse_offsets.h unsigned long long tegra_chip_uid(void) {...} [/quote] Hi Jerry, I try to find the header tegra210_fuse_offsets.h both on my tk1 and tx1, but nothing found. I found the folder named[b] tegra-fuse [/b]in the path[b] [i]/usr/src/linux-headers-3.10.96-tegra/drivers/misc/tegra-fuse[/i][/b], but there is only one Makefile under this folder, tegra210_fuse_offsets.h is not found. Do you have any idea how I can use the kernel function tegra_chip_uid? Best, Mike
JerryChang said:hello Jack71,

here's kernel function to read tegra chip uid for your reference, please check.

$TOP/kernel/drivers/misc/tegra-fuse/tegra210_fuse_offsets.h
unsigned long long tegra_chip_uid(void) {...}



Hi Jerry,

I try to find the header tegra210_fuse_offsets.h both on my tk1 and tx1, but nothing found. I found the folder named tegra-fuse in the path /usr/src/linux-headers-3.10.96-tegra/drivers/misc/tegra-fuse, but there is only one Makefile under this folder, tegra210_fuse_offsets.h is not found. Do you have any idea how I can use the kernel function tegra_chip_uid?

Best,
Mike

#6
Posted 06/12/2017 07:20 AM   
hello WALLES, that's a kernel function, you should check the source code via L4T sources package. please download L4T sources via Embedded Download Center. thanks
hello WALLES,

that's a kernel function, you should check the source code via L4T sources package.
please download L4T sources via Embedded Download Center. thanks

#7
Posted 06/12/2017 08:53 AM   
Under L4T R21.5 (TK1) the file is: [code]drivers/misc/tegra-fuse/tegra12x_fuse_offsets.h[/code] Under L4T R24.2.1 (TX1) the file is: [code]drivers/misc/tegra-fuse/tegra210_fuse_offsets.h[/code] Under L4T R27.1 (TX2) the file is: [code]drivers/misc/tegra-fuse/tegra18x_fuse_offsets.h[/code] The above are from the download of the respective L4T release page. See: [url]https://developer.nvidia.com/embedded/linux-tegra-archive[/url]
Under L4T R21.5 (TK1) the file is:
drivers/misc/tegra-fuse/tegra12x_fuse_offsets.h


Under L4T R24.2.1 (TX1) the file is:
drivers/misc/tegra-fuse/tegra210_fuse_offsets.h


Under L4T R27.1 (TX2) the file is:
drivers/misc/tegra-fuse/tegra18x_fuse_offsets.h


The above are from the download of the respective L4T release page. See:
https://developer.nvidia.com/embedded/linux-tegra-archive

#8
Posted 06/12/2017 05:09 PM   
Does this mean, that I have to compile my custom kernel with a way to use that function? Or is it sufficient if I can have some kernel modules using that function that can be inserted into an already running kernel? Or is there a better way to get the chip UUID? Please suggest a direction to proceed. Any starting point would help a lot. Thanks.
Does this mean, that I have to compile my custom kernel with a way to use that function?
Or is it sufficient if I can have some kernel modules using that function that can be inserted into an already running kernel?

Or is there a better way to get the chip UUID?

Please suggest a direction to proceed. Any starting point would help a lot.

Thanks.

#9
Posted 02/10/2018 12:28 PM   
Scroll To Top

Add Reply