S32G2 OCOPT programming

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32G2 OCOPT programming

Jump to solution
175 Views
Fergani
Contributor II

Hi all,

We don't have any configuration switch in our hardware to burn the eFUSE configurations. For this reason we want to burn it via software and found OCOTP peripheral module and we are checking if it is right for our hardware since it is a one time operation and cannot be taken back.

Our confusion comes from the register addresses defined in the software;

#define OCOTP_GP6_127_96 0x384U
#define OCOTP_GP6_159_128 0x388U
#define OCOTP_GP6_127_96_SHADOW_REGISTER 97U
#define OCOTP_GP6_159_128_SHADOW_REGISTER 98U
#define CRC0_EFUSE_ADD 0x2DCU
#define CRC0_SHADOW_REGISTER 55U

 

What does OCOTP_GP6_127_96  mean in the register? We want to program the field BOOT_CFG1[31:0] - ADDR=0x234 field. Which shadow register value corresponds to this?

 

Thank you 

 

Tags (2)
0 Kudos
1 Solution
160 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Below will be some comments on regards of your questions:

Q1 > What does OCOTP_GP6_127_96  mean in the register?

[NXP]: This is related to the mapping of that specific FUSE address. We can see that under the S32G2_Fuse_Map_Table.xlsx file embedded under the S32G2 RM the following address is provided for GP6[127:96]:

DanielAguirre_0-1711554553669.png

For which 0x384 is the address of GP6[127:96].

Q2 > We want to program the field BOOT_CFG1[31:0] - ADDR=0x234 field. Which shadow register value corresponds to this?

[NXP]: Seeing the file mentioned before, the address should be the one you are mentioning (0x234). For the shadow register, we understand that the calculation is as follows:

Shadow Register = (Address - 0x200) / 4;

We can verify this by using the registers you are showing:

  • GP6_127_96 Shadow Register = (0x384 - 0x200) / 4 = 0x184 / 4 = 0x61 = 97
  • GP6_159_128 Shadow Register = (0x388 - 0x200) / 4 = 0x188 / 4 = 0x62 = 98

Don't know if this helps.

Also, as you are mentioning this is a one-time operation and cannot be taken back, for which care should be taken with the configuration being chosen. We can recommend contacting your local NXP FAE/DFAE/representative for confirmation on these settings.

Please, let us know.

View solution in original post

0 Kudos
3 Replies
161 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Below will be some comments on regards of your questions:

Q1 > What does OCOTP_GP6_127_96  mean in the register?

[NXP]: This is related to the mapping of that specific FUSE address. We can see that under the S32G2_Fuse_Map_Table.xlsx file embedded under the S32G2 RM the following address is provided for GP6[127:96]:

DanielAguirre_0-1711554553669.png

For which 0x384 is the address of GP6[127:96].

Q2 > We want to program the field BOOT_CFG1[31:0] - ADDR=0x234 field. Which shadow register value corresponds to this?

[NXP]: Seeing the file mentioned before, the address should be the one you are mentioning (0x234). For the shadow register, we understand that the calculation is as follows:

Shadow Register = (Address - 0x200) / 4;

We can verify this by using the registers you are showing:

  • GP6_127_96 Shadow Register = (0x384 - 0x200) / 4 = 0x184 / 4 = 0x61 = 97
  • GP6_159_128 Shadow Register = (0x388 - 0x200) / 4 = 0x188 / 4 = 0x62 = 98

Don't know if this helps.

Also, as you are mentioning this is a one-time operation and cannot be taken back, for which care should be taken with the configuration being chosen. We can recommend contacting your local NXP FAE/DFAE/representative for confirmation on these settings.

Please, let us know.

0 Kudos
155 Views
Fergani
Contributor II

Hi @Daniel-Aguirre ,

 

thank you for your quick response. It made me understand the underlying logic.

 

How do we map from 0x234 to 0x384? That is, the way going from BOOT_CFG1 to GP6[127:96] ?

 

 

Thanks

0 Kudos
126 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Thanks for your feedback. We don't seem to understand this last request. Can you help us elaborate more on the following comment:

"How do we map from 0x234 to 0x384? That is, the way going from BOOT_CFG1 to GP6[127:96] ?"

Why are you trying to map BOOT_CF1 to GP6?

Please, let us know.

0 Kudos