AnsweredAssumed Answered

Trouble enabling conditional debug access (secure debug) on LS1046A(E)

Question asked by Martin Etnestad on Dec 18, 2017

Hi all,

 

I am having some trouble enabling conditional access debug on the LS1046A(E).

We are not interested in secure boot at the moment, so it is not enabled.

 

The following are the steps I execute in U-Boot:

  1. Set PPW in SFP_SFPCR according to our peripheral clock
  2. Set debug level (DBLEV) to 1 in SFP_OSPR1
  3. Set debug challenge value in SFP_DCVR0/1
  4. Set debug response value in SFP_DRVR0/1
    • Verify that SFP_SVHESR does not indicate Hamming errors afterwards
  5. Ensure PROG_SFP pin is HIGH
  6. Execute "program fuse box" instruction via SFP_INGR
    • Verify that SFP_INGR does not indicate any errors afterwards
  7. Ensure PROG_SFP gets pulled LOW again

 

 

Unfortunately, the fuses do not seem to get written.

If I reboot or execute the "read fuse box" instruction after these steps, I read the debug level and the debug challenge values to be 0 again.

Also, the debugger can connect without any issues.

 

Since the SFP has different endianness from the CPU, I am swapping bytes in the values.

And I am quite confident that I am writing to the correct addresses, as I've checked and re-checked them several times.

 

Are these steps expected to work? Or am I missing something?

Must I set ITS for secure debug fuses to be written?

As mentioned, we are not interested in secure boot right now.

 

Best regards,

    Martin Etnestad

Outcomes