Reading i.MX6DQ UID (Unique ID) from fusemap

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Reading i.MX6DQ UID (Unique ID) from fusemap

Reading i.MX6DQ UID (Unique ID) from fusemap

According to iMX6DQRM chapter 46 (On-Chip OTP Controller), the UID field is located at offsets 0x410 and 0x420 from the base address of the OCOTP.  That is: OTP Bank0 Word1 - contains the first word of the UID OTP Bank0 Word2 - contains the second word of the UID.

md.l 21bc410

021bc410: d72d7372 d72d7372 d72d7372 d72d7372    rs-.rs-.rs-.rs-.

021bc420: 906709d4 906709d4 906709d4 906709d4..g...g...g...g.


Comparing to the read information under Linux shell:

cat /proc/cpuinfo

.........

Serial : 906709d4d72d7372


The value is identical from uboot and linux kernel reading back.

评论

Xia,

When I read the SJC_CHALL / UNIQUE_ID this way on my WandBoard Quad, I just get zeros:

cat /proc/cpuinfo

...........

Serial          : 0000000000000000

But, it works from u-boot, so I guess there must be a kernel mod required to access this from user space?

I think it is enabled in my Yocto recipe for the kernel build, as the defconfig file contains this setting:

\Yocto\fsl-community-bsp\sources\meta-fsl-arm\recipes-kernel\linux\linux-imx-3.0.35\mx6q\defconfig

    CONFIG_FSL_OTP=y

But, I have tried this on several different linux distros including Ubuntu, Yocto and Android and I always get just zeros.

Do you have any idea why?

Thanks, Clay

OTP fuses can also be read from /sys/fsl_otp/HW_OCOTP_CFG0, /sys/fsl_otp/HW_OCOTP_CFG1.

This is what I figured out while trying to find out why /proc/cpuinfo gives zeroes:

- the contents of /proc/cpuinfo are generated by c_show in arch/arm/kernel/setup.c.

- c_show takes global values system_serial_high and system_serial_low.

- these two are in turn set in arch/arm/kernel/atags_parse.c, from a tag structure (atag) with ATAG_SERIAL identifier.

- ATAGs are passed to the kernel by the bootloader.

- u-boot has ATAG support in arch/arm/lib/bootm.c, in this case if CONFIG_SERIAL_TAG is defined, setup_serial_tag exists and calls get_board_serial to get the serial number.

- unfortunately, ​get_board_serial is not implemented for i.MX6.

It looks like support for this was dropped at some point, perhaps with a change in how the serial number is retrieved and passed on.

%3CLINGO-SUB%20id%3D%22lingo-sub-1129021%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BB%8E%E4%BF%9D%E9%99%A9%E4%B8%9D%E5%9B%BE%E8%AF%BB%E5%8F%96%20i.MX6DQ%20UID%EF%BC%88%E5%94%AF%E4%B8%80%20ID%EF%BC%89%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1129021%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E6%A0%B9%E6%8D%AE%20iMX6DQRM%20%E7%AC%AC%2046%20%E7%AB%A0%EF%BC%88%E7%89%87%E4%B8%8A%20OTP%20%E6%8E%A7%E5%88%B6%E5%99%A8%EF%BC%89%EF%BC%8CUID%20%E5%AD%97%E6%AE%B5%E4%BD%8D%E4%BA%8E%E8%B7%9D%20OCOTP%20%E5%9F%BA%E5%9C%B0%E5%9D%80%E5%81%8F%E7%A7%BB%E9%87%8F%200x410%20%E5%92%8C%200x420%20%E5%A4%84%E3%80%82%E5%8D%B3%EF%BC%9AOTP%20Bank0%20Word1%20-%20%E5%8C%85%E5%90%AB%20UID%20%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%20OTP%20Bank0%20Word2%20-%20%E5%8C%85%E5%90%AB%20UID%20%E7%9A%84%E7%AC%AC%E4%BA%8C%E4%B8%AA%E5%AD%97%E3%80%82%3C%2FP%3E%3CP%3Emd.l%2021bc410%3C%2FP%3E%3CP%3E021bc410%3A%20d72d7372%20d72d7372%20d72d7372%20d72d7372%26nbsp%3B%26nbsp%3B%26nbsp%3B%20rs-.rs-.rs-.rs-.%3C%2FP%3E%3CTABLE%3E%3CTBODY%3E%3CTR%3E%3CTD%3E021bc420%3A%20906709d4%20906709d4%20906709d4%20906709d4%3C%2FTD%3E%3CTD%3E..g...g...g...g.%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%E5%AF%B9%E6%AF%94Linux%20shell%E4%B8%8B%E8%AF%BB%E5%8F%96%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%E7%8C%AB%2Fproc%2Fcpuinfo%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E.........%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3ESerial%20%3A%20906709d4d72d7372%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%E4%BB%8E%20uboot%20%E5%92%8C%20Linux%20%E5%86%85%E6%A0%B8%E8%AF%BB%E5%9B%9E%E7%9A%84%E5%80%BC%E6%98%AF%E7%9B%B8%E5%90%8C%E7%9A%84%E3%80%82%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1129023%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E4%BB%8E%E4%BF%9D%E9%99%A9%E4%B8%9D%E5%9B%BE%E8%AF%BB%E5%8F%96i.MX6DQ%20UID%EF%BC%88%E5%94%AF%E4%B8%80ID%EF%BC%89%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1129023%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3EOTP%20%E4%BF%9D%E9%99%A9%E4%B8%9D%E4%B9%9F%E5%8F%AF%E4%BB%A5%E4%BB%8E%3CSTRONG%3E%2Fsys%2Ffsl_otp%2FHW_OCOTP_CFG0%3C%2FSTRONG%3E%20%E3%80%81%20%3CSTRONG%3E%2Fsys%2Ffsl_otp%2FHW_OCOTP_CFG1%3C%2FSTRONG%3E%E8%AF%BB%E5%8F%96%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%BF%99%E6%98%AF%E6%88%91%E5%9C%A8%E5%B0%9D%E8%AF%95%E6%89%BE%E5%87%BA%E4%B8%BA%E4%BB%80%E4%B9%88%20%2Fproc%2Fcpuinfo%20%E7%BB%99%E5%87%BA%E9%9B%B6%E6%97%B6%E5%8F%91%E7%8E%B0%E7%9A%84%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E-%20%2Fproc%2Fcpuinfo%20%E7%9A%84%E5%86%85%E5%AE%B9%E7%94%B1%20arch%2Farm%2Fkernel%2Fsetup.c%20%E4%B8%AD%E7%9A%84%20c_show%20%E7%94%9F%E6%88%90%E3%80%82%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E-%20c_show%20%E9%87%87%E7%94%A8%E5%85%A8%E5%B1%80%E5%80%BC%20system_serial_high%20%E5%92%8C%20system_serial_low%E3%80%82%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E-%20%E8%BF%99%E4%B8%A4%E4%B8%AA%E4%BE%9D%E6%AC%A1%E5%9C%A8%20arch%2Farm%2Fkernel%2Fatags_parse.c%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%EF%BC%8C%E6%9D%A5%E8%87%AA%E5%B8%A6%E6%9C%89%20ATAG_SERIAL%20%E6%A0%87%E8%AF%86%E7%AC%A6%E7%9A%84%E6%A0%87%E7%AD%BE%E7%BB%93%E6%9E%84%20(atag)%E3%80%82%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E-%20ATAG%20%E7%94%B1%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E4%BC%A0%E9%80%92%E7%BB%99%E5%86%85%E6%A0%B8%E3%80%82%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E-%20u-boot%20%E5%9C%A8%20arch%2Farm%2Flib%2Fbootm.c%20%E4%B8%AD%E5%85%B7%E6%9C%89%20ATAG%20%E6%94%AF%E6%8C%81%EF%BC%8C%E5%9C%A8%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%AE%9A%E4%B9%89%E4%BA%86%20CONFIG_SERIAL_TAG%EF%BC%8C%E5%88%99%20setup_serial_tag%20%E5%AD%98%E5%9C%A8%E5%B9%B6%E8%B0%83%E7%94%A8%20get_board_serial%20%E6%9D%A5%E8%8E%B7%E5%8F%96%E5%BA%8F%E5%88%97%E5%8F%B7%E3%80%82%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E-%20%E9%81%97%E6%86%BE%E7%9A%84%E6%98%AF%EF%BC%8Ci.MX6%20%E6%B2%A1%E6%9C%89%E5%AE%9E%E7%8E%B0%20get_board_serial%E3%80%82%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22color%3A%20%23000000%3B%20font-family%3A%20Calibri%2C%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20font-size%3A%2016px%3B%22%3E%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%AF%B9%E6%AD%A4%E7%9A%84%E6%94%AF%E6%8C%81%E5%9C%A8%E6%9F%90%E4%B8%AA%E6%97%B6%E5%80%99%E8%A2%AB%E6%94%BE%E5%BC%83%E4%BA%86%EF%BC%8C%E4%B9%9F%E8%AE%B8%E6%98%AF%E5%BA%8F%E5%88%97%E5%8F%B7%E7%9A%84%E6%A3%80%E7%B4%A2%E5%92%8C%E4%BC%A0%E9%80%92%E6%96%B9%E5%BC%8F%E5%8F%91%E7%94%9F%E4%BA%86%E5%8F%98%E5%8C%96%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1129022%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E4%BB%8E%E4%BF%9D%E9%99%A9%E4%B8%9D%E5%9B%BE%E8%AF%BB%E5%8F%96i.MX6DQ%20UID%EF%BC%88%E5%94%AF%E4%B8%80ID%EF%BC%89%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1129022%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3EXia%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%BD%93%E6%88%91%E5%9C%A8%20WandBoard%20Quad%20%E4%B8%8A%E4%BB%A5%E8%BF%99%E7%A7%8D%E6%96%B9%E5%BC%8F%E8%AF%BB%E5%8F%96%20SJC_CHALL%20%2F%20UNIQUE_ID%20%E6%97%B6%EF%BC%8C%E6%88%91%E5%8F%AA%E5%BE%97%E5%88%B0%E9%9B%B6%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E7%8C%AB%2Fproc%2Fcpuinfo%3C%2FP%3E%3CP%3E...........%3C%2FP%3E%3CP%3E%E5%BA%8F%E5%88%97%E5%8F%B7%EF%BC%9A00000000000000000%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E5%AE%83%E5%8F%AF%E4%BB%A5%E4%BB%8E%20u-boot%20%E8%BF%90%E8%A1%8C%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E7%8C%9C%E6%83%B3%E5%BF%85%E9%A1%BB%E6%9C%89%E4%B8%80%E4%B8%AA%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E6%89%8D%E8%83%BD%E4%BB%8E%E7%94%A8%E6%88%B7%E7%A9%BA%E9%97%B4%E8%AE%BF%E9%97%AE%E5%AE%83%EF%BC%9F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%88%91%E8%AE%A4%E4%B8%BA%E5%AE%83%E5%9C%A8%E6%88%91%E7%9A%84%20Yocto%20%E5%86%85%E6%A0%B8%E6%9E%84%E5%BB%BA%E9%85%8D%E6%96%B9%E4%B8%AD%E5%90%AF%E7%94%A8%E4%BA%86%EF%BC%8C%E5%9B%A0%E4%B8%BA%20defconfig%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%AD%A4%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CTABLE%3E%3CTBODY%3E%3CTR%3E%3CTD%3E%3C%2FTD%3E%3CTD%3E%5CYocto%5Cfsl%E7%A4%BE%E5%8C%BA-bsp%5Csources%5Cmeta-fsl-arm%5Crecipes-kernel%5Clinux%5Clinux-imx-3.0.35%5Cmx6q%5Cdefconfig%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20CONFIG_FSL_OTP%3Dy%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E6%88%91%E5%B7%B2%E7%BB%8F%E5%9C%A8%E5%8C%85%E6%8B%AC%20Ubuntu%E3%80%81Yocto%20%E5%92%8C%20Android%20%E5%9C%A8%E5%86%85%E7%9A%84%E5%87%A0%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%9A%84%20Linux%20%E5%8F%91%E8%A1%8C%E7%89%88%E4%B8%8A%E5%B0%9D%E8%AF%95%E8%BF%87%E6%AD%A4%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%BD%86%E5%BE%97%E5%88%B0%E7%9A%84%E6%80%BB%E6%98%AF%E9%9B%B6%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%BD%A0%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%8C%E5%85%8B%E8%8E%B1%3C%2FP%3E%3C%2FLINGO-BODY%3E
无评分
版本历史
最后更新:
‎03-31-2013 08:05 PM
更新人: