About the SoC lifecycle

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

About the SoC lifecycle

2,478 Views
dlliweihua
Contributor III

hello NXP experts,

I tried to forward my i.MX8DXP SoC lifecycle with sc_seco_forward_lifecycle( ) call,the lifecycle is one of the followin value:  

/** 
* SECO_LIFECYCLE_DEFAULT = (1U << 0) Default fab mode (early_fuses_pgrm not blown)
* SECO_LIFECYCLE_FAB = (1U << 1) Fab mode
* SECO_LIFECYCLE_NO_SECRETS = (1U << 2) No secrets
* SECO_LIFECYCLE_SECRETS = (1U << 3) With Secrets
* SECO_LIFECYCLE_SC_FW_CLSD = (1U << 4) SCU FW Closed
* SECO_LIFECYCLE_SECO_FW_CLSD = (1U << 5) SECO FW Closed
* SECO_LIFECYCLE_CLOSED = (1U << 6) Closed
* SECO_LIFECYCLE_CLOSED_FW = (1U << 7) Closed with FW
* SECO_LIFECYCLE_PART_RTN = (1U << Partial field return
* SECO_LIFECYCLE_RTN = (1U << 9) Field return
* SECO_LIFECYCLE_NO_RTN = (1U << 10) No Return

*/

But the call returns sucessfully only when lifecycle is  "SECO_LIFECYCLE_CLOSED_FW",

any other value possible will result failure.

I have burned the hashed SRK into eFuse OTP row[730-745].

Now I want to forward the SoC lifecycle to "OEM closed",

how to operate?

Thanks.

Regards,

Liweihua

 

 

 

0 Kudos
8 Replies

2,476 Views
catia_han
NXP Employee
NXP Employee

Hi Liweihua,

About how to forward the SoC lifecycle to "OEM closed", you can refer to the link:https://source.codeaurora.org/external/imx/uboot-imx/tree/doc/imx/ahab/introduction_ahab.txt?h=imx_v...

https://source.codeaurora.org/external/imx/uboot-imx/tree/doc/imx/ahab/introduction_ahab.txt?h=imx_v...

We don't need to call sc_seco_forward_lifecycle, our SCFW serial port has an interface "seco lifecycle 16" command to change lifecycle to "OEM Closed" mode directly.

BR

Catia

0 Kudos

2,461 Views
dlliweihua
Contributor III

@catia_han 

Thank you for your reply.

We want to set the "OEM close" in the mass production stage, SCFW serial port interface  is not suitable for mass production.Is there any way to realize this function through function call?

Regards.

Liweihua

0 Kudos

2,454 Views
catia_han
NXP Employee
NXP Employee

Hi Liweihua,

Do you have A core serial port and can uboot boot up?

 

BR

Catia 

0 Kudos

2,446 Views
dlliweihua
Contributor III

Hi,catia_han

I'm using IPL, not uboot.

A core serial port is available.

 

Liweihua

0 Kudos

2,414 Views
catia_han
NXP Employee
NXP Employee

Hi dlliweihua,

There is two methods you can try.

One is using JTAG port, we can send the sc_seco_forward_lifecycle() SCU API command by SCU to SECO through debugger.

The other method is that you can modify your source code. Like add a ahab_close command which can be called in the A core serial port(In our uboot, we can also call "ahab_close" to close the chip).

About how to write an ahab_close in the source code, you can refer to the file arch/arm/mach-imx/imx8/ahab.c in our uboot code. This command underlying calls the sc_seco_forward_lifecycle(ipcHndl, 16) SCU API to change lifecycle to OEM closed mode. You can use the same architecture implementation.

BR

Catia

0 Kudos

2,397 Views
dlliweihua
Contributor III

Hi catia_han,

Thanks a lot.

1. I have burned OEM SRK hash into fuse[730-745]

2. I used a boot image signed with the corresponding SGK

3. I called sc_seco_forward_lifecycle(ipcHndl, 16) , but it returned with error code 11.

The commands I used to sign the boot image are:

./cst -i csf_boot_image.txt -o ipl-imx8qxp-cpu_c0.imx.signed

./cst -i csf_fs_image.txt -o ifs-imx8qxp-cpu-graphics.imx.signed

The csf files are attached.

Please help to check them,thanks!

Liweihua

0 Kudos

2,459 Views
dlliweihua
Contributor III

@igorpadykov 

Hi,

Thank you very much,it's very useful for me.

Regards

Liweihua

0 Kudos