How to read fuses from linux on imx93?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to read fuses from linux on imx93?

1,451件の閲覧回数
michael_glembot
Contributor IV

I am able to write fuses on the imx93 from linux using the imx-ocotp-fsb-s400 driver. Now, I want to sense / read the fused values back without rebooting. Unfortunately, only the shadow register with the old values are read back. Checking the code and the imx93 reference manual(76.6.1.5), I came across the register FSB_ACC_DIS. Disabling the shadow register in code solved my issue, but a few questions are still open:

  • What stands OSCCA in OSCCA_FUSE_READ_DIS for?
  • How to set the Bit0/OSCCA_FUSE_READ_DIS in the FSB_ACC_DIS register?
    • michael_glembot_0-1733482405285.png
  • What is the benefit of reading the fuses from shadow registers instead of reading it directly from the fuses, except the fact it is easier without the ELE messaging unit?
  • Any concerns making fuse->fsb_read_dis configuarble via device tree?

Please note: I know the recommended way for burning fuses is via uboot's fuse prog. Unfortunately, we are looking for a solution from linux.

タグ(1)
0 件の賞賛
返信
3 返答(返信)

1,354件の閲覧回数
michael_glembot
Contributor IV

>> How to set the Bit0/OSCCA_FUSE_READ_DIS in the FSB_ACC_DIS register?
> OSCCA_FUSE_READ_DIS is used to check if fuse read is disabled in the device, it cannot be configured since it is a only read register.

What hw/sw part is setting the register? What is the purpose, if the customer can not change it's value? I understand that there are lock bits to control (read/write) individual parts of the fuse map., but the register seems to be independent of the lock bits. Is there a fuse to change OSCCA_FUSE_READ_DIS value?

 

>> What is the benefit of reading the fuses from shadow registers instead of reading it directly from the fuses, except the fact it is easier without the ELE messaging unit?
The main objective of shadow register use is response since the value is saved in RAM.

Is it possible to refresh the shadow register after writing to them?

 

0 件の賞賛
返信

1,310件の閲覧回数
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

The read/write access to fuses is controlled by Lock bits. In the case of our devices, to load fuse into shadow registers it is needed a power-on reset.

Best regards.

0 件の賞賛
返信

1,405件の閲覧回数
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

OSCCA_FUSE_READ_DIS is used to check if fuse read is disabled in the device, it cannot be configured since it is a only read register.

The main objective of shadow register use is response since the value is saved in RAM.

The control fuse read enable/disable is in lock bits, please check chapter 7.1.2 of i.MX93 reference manual.

Best regards,

0 件の賞賛
返信