Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20688 Discussions

Arria 10 SoC FPGA power fail safe update from HPS in Linux (no access to u-boot)

TKele
Beginner
1,623 Views

Hi,

 

By default a peripheral and core image is stored in the external persistent storage which is flashed by u-boot. To update, u-boot can fetch new images over tftp or Linux can overwrite these images and perform a reboot. First is not feasible in our setup at the user, and the latter is not power fail safe.

 

Solution idea #1:

It would be sufficient to flash a fixed minimal peripheral image by u-boot to initialize the DDR controller only to let Linux boot. Then the FPGA can be fully configured from Linux with an image stored in the file system which the user can change.

Question #1: Can a combined image be written to the FPGA without resetting the DDR controller as Linux needs it to operate? Combined because peripherals can change, only DDR remains.

Question #2: Can partial reconfiguration work from early IO release mode or only if the FPGA entered user mode? Reference Manual a10_5v4 chapter A.8.2 says only in user mode.

 

Solution idea #2:

If non of the above can work, then two peripheral images can be stored. One user and one back up (only to initialize DDR controller). If user one is corrupted or unable to flash, then u-boot can fall back to the back up one, let Linux start so it can re-write the user one again and reboot. (If core needs to be re-written can be checked by an application, the critical is the peripheral.)

Question #3: Is there a driver ready to use to address write in flash outside the file system in https://github.com/altera-opensource/linux-socfpga/tree/socfpga-4.9.78-ltsi

 

Question in general: What is the most efficient (uses least space) way of handling such an FPGA update?

 

Thanks for the replies in advance!

 

Regards,

Tibor

0 Kudos
5 Replies
MelvinSwee_T_Intel
651 Views

Hi,

I am reviewing all the open questions on the forums and found this thread of yours. I apologize that no one seems to answer this question that you posted. Since it has been a few days since you posted this question, I am wondering if you have found the answer? If not, I can assign someone to assist you. Let me know. Thanks.

Regards,

Melvin  

0 Kudos
TKele
Beginner
651 Views

Hi Melvin,

 

Thank you for your message. No, there is no solution found yet, so if possible please assign it to someone.

 

Regards,

Tibor

0 Kudos
Ahmed_H_Intel1
Employee
651 Views

Hi Tibor,

Sorry for the delay, our agents are busy. I am working on this now, will reply to you ASAP. Please accept my apologize for any incontinence happen.

Regards.

 

0 Kudos
TKele
Beginner
651 Views

Hi

Is there any update here?

Regards,

Tibor

0 Kudos
Ahmed_H_Intel1
Employee
651 Views

Hi TKele,

I've checked with the internal teams to answer your questions sincerely, but unfortunately I couldn't find an answer for your questions or a useful information, Please accept my apologize for this.

Please explain to me how I can help you get closer to the answer.

Regards.

0 Kudos
Reply