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%E3%83%92%E3%83%A5%E3%83%BC%E3%82%BA%E3%83%9E%E3%83%83%E3%83%97%E3%81%8B%E3%82%89%E3%81%AEi.MX6DQ%20UID(%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AFID)%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%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%3EiMX6DQRM%20%E7%AC%AC%2046%20%E7%AB%A0%20(%E3%82%AA%E3%83%B3%E3%83%81%E3%83%83%E3%83%97%20OTP%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC)%20%E3%81%AB%E3%82%88%E3%82%8B%E3%81%A8%E3%80%81UID%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AF%20OCOTP%20%E3%81%AE%E3%83%99%E3%83%BC%E3%82%B9%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%8B%E3%82%89%200x410%20%E3%81%A8%200x420%20%E3%81%AE%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%E3%81%AB%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81OTP%20Bank0%20Word1%20-%20UID%20%E3%81%AE%E6%9C%80%E5%88%9D%E3%81%AE%E5%8D%98%E8%AA%9E%E3%82%92%E5%90%AB%E3%82%80%20OTP%20Bank0%20Word2%20-%20UID%20%E3%81%AE%202%20%E7%95%AA%E7%9B%AE%E3%81%AE%E5%8D%98%E8%AA%9E%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%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%3ELinux%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%A7%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%89%E3%82%8C%E3%81%9F%E6%83%85%E5%A0%B1%E3%81%A8%E6%AF%94%E8%BC%83%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3Ecat%20%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%E5%80%A4%E3%81%AF%E3%80%81uboot%20%E3%81%A8%20linux%20%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%81%A8%E5%90%8C%E3%81%98%E3%81%A7%E3%81%99%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%E6%97%A5%E6%99%82%3A%E3%83%92%E3%83%A5%E3%83%BC%E3%82%BA%E3%83%9E%E3%83%83%E3%83%97%E3%81%8B%E3%82%89%E3%81%AEi.MX6DQ%20UID(%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AFID)%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%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%E3%83%92%E3%83%A5%E3%83%BC%E3%82%BA%E3%81%AF%E3%80%81%20%3CSTRONG%3E%2Fsys%2Ffsl_otp%2FHW_OCOTP_CFG0%3C%2FSTRONG%3E%E3%80%81%20%3CSTRONG%3E%2Fsys%2Ffsl_otp%2FHW_OCOTP_CFG1%3C%2FSTRONG%3E%20%E3%81%8B%E3%82%89%E3%82%82%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%20%2Fproc%2Fcpuinfo%E3%81%8C%E3%82%BC%E3%83%AD%E3%82%92%E4%B8%8E%E3%81%88%E3%82%8B%E7%90%86%E7%94%B1%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E7%A7%81%E3%81%8C%E7%90%86%E8%A7%A3%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%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%E3%81%AE%E5%86%85%E5%AE%B9%E3%81%AF%E3%80%81arch%2Farm%2Fkernel%2Fsetup.c%20%E3%81%AE%20c_show%20%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%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%E3%81%AF%E3%80%81%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%80%A4%20(system_serial_high%20%E3%81%A8%20system_serial_low)%20%E3%82%92%E5%8F%96%E3%82%8A%E3%81%BE%E3%81%99%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%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%202%20%E3%81%A4%E3%81%AF%E3%80%81ATAG_SERIAL%20%E8%AD%98%E5%88%A5%E5%AD%90%E3%82%92%E6%8C%81%E3%81%A4%E3%82%BF%E3%82%B0%E6%A7%8B%E9%80%A0%20(ATag)%20%E3%81%8B%E3%82%89%20arch%2Farm%2Fkernel%2Fatags_parse.c%20%E3%81%A7%E9%A0%86%E7%95%AA%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%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%E3%81%AF%E3%83%96%E3%83%BC%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80%E3%83%BC%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AB%E6%B8%A1%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%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%E3%81%AF%20arch%2Farm%2Flib%2Fbootm.c%20%E3%81%A7%20ATAG%20%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81CONFIG_SERIAL_TAG%20%E3%81%8C%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81setup_serial_tag%20%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%97%E3%80%81%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E7%95%AA%E5%8F%B7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%20get_board_serial%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%BE%E3%81%99%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%E6%AE%8B%E5%BF%B5%E3%81%AA%E3%81%8C%E3%82%89%E3%80%81get_board_serial%E3%81%AFi.MX6%E3%81%AB%E3%81%AF%E5%AE%9F%E8%A3%85%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%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%E3%81%93%E3%82%8C%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AF%E3%80%81%E3%81%8A%E3%81%9D%E3%82%89%E3%81%8F%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E7%95%AA%E5%8F%B7%E3%81%AE%E5%8F%96%E5%BE%97%E6%96%B9%E6%B3%95%E3%81%A8%E5%8F%97%E3%81%91%E6%B8%A1%E3%81%97%E6%96%B9%E6%B3%95%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81%E3%81%82%E3%82%8B%E6%99%82%E7%82%B9%E3%81%A7%E7%B5%82%E4%BA%86%E3%81%97%E3%81%9F%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%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%E6%97%A5%E6%99%82%3A%E3%83%92%E3%83%A5%E3%83%BC%E3%82%BA%E3%83%9E%E3%83%83%E3%83%97%E3%81%8B%E3%82%89%E3%81%AEi.MX6DQ%20UID(%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AFID)%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%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%3EWandBoard%20Quad%E3%81%A7%E3%81%93%E3%81%AE%E3%82%88%E3%81%86%E3%81%ABSJC_CHALL%20%2F%20UNIQUE_ID%E3%82%92%E8%AA%AD%E3%82%80%E3%81%A8%E3%80%81%E3%82%BC%E3%83%AD%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ecat%20%2Fproc%2Fcpuinfo%3C%2FP%3E%3CP%3E...........%3C%2FP%3E%3CP%3E%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%20%3A%200000000000000000%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AFu-boot%E3%81%8B%E3%82%89%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8B%E3%81%AE%E3%81%A7%E3%80%81%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E7%A9%BA%E9%96%93%E3%81%8B%E3%82%89%E3%81%93%E3%82%8C%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%ABmod%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A0%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%93%E3%83%AB%E3%83%89%E3%81%AEYocto%E3%83%AC%E3%82%B7%E3%83%94%E3%81%A7%E3%81%AF%E3%80%81defconfig%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%81%93%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CTABLE%3E%3CTBODY%3E%3CTR%3E%3CTD%3E%3C%2FTD%3E%3CTD%3E%5CYocto%5Cfsl-community-bsp%5Csources%5Cmeta-fsl-arm%5Crecipes-kernel%5Clinux%5Clinux-imx-3.0.35%5Cmx6q%5Cdefconfig%E3%81%AE%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%E3%81%97%E3%81%8B%E3%81%97%E3%80%81Ubuntu%E3%80%81Yocto%E3%80%81Android%E3%81%AA%E3%81%A9%E3%80%81%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E7%95%B0%E3%81%AA%E3%82%8BLinux%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%93%E3%82%8C%E3%82%92%E8%A9%A6%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E5%B8%B8%E3%81%AB%E3%82%BC%E3%83%AD%E3%81%97%E3%81%8B%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%AA%E3%81%9C%E3%81%8B%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%80%81%E3%82%AF%E3%83%AC%E3%82%A4%3C%2FP%3E%3C%2FLINGO-BODY%3E
評価なし
バージョン履歴
最終更新日:
‎03-31-2013 08:05 PM
更新者: