did anyone ever get a definitive register map for the remote update controller sopc block?
I have the remote update working, and now need to write the logic so that the board can tell if it is in factory mode because it failed to reconfig to an app image or because of a power cycle to the board.
anyone know which register gives us this information?:confused:
Looks like register 15 might hold the answers, if only I knew what the bit fields of this register meant.
Based on trial and error I will assume that in factory mode,
reg15 = 0x0 = power cycled board
reg15 = 0x8 = failed to reconfig to app image, app image is corrupt.
reg15 = 0x1 = failed to reconfig because reconfig was called from app code.
reg15 = 0x10 = happens when I configure from the .SOF file via JTAG
Does this look correct?
I would like my code to load factory from power cycle and then do a reconfig. But if it fails and comes back to facotory, I need to know that so I don't have a scenario where I keep looping forever trying to reconfig.
after power cycle
remote_update_controller_p[0] 0x0
remote_update_controller_p[1] 0x0
remote_update_controller_p[2] 0x0
remote_update_controller_p[3] 0x0
remote_update_controller_p[4] 0x0
remote_update_controller_p[5] 0x0
remote_update_controller_p[6] 0x0
remote_update_controller_p[7] 0x0
remote_update_controller_p[8] 0x0
remote_update_controller_p[9] 0x0
remote_update_controller_p[10] 0x3
remote_update_controller_p[11] 0x0
remote_update_controller_p[12] 0x3
remote_update_controller_p[13] 0x0
remote_update_controller_p[14] 0x0
remote_update_controller_p[15] 0x0
remote_update_controller_p[16] 0x0
remote_update_controller_p[17] 0x0
remote_update_controller_p[18] 0x0
remote_update_controller_p[19] 0x0
remote_update_controller_p[20] 0x3
remote_update_controller_p[21] 0x0
remote_update_controller_p[22] 0x0
remote_update_controller_p[23] 0x0
remote_update_controller_p[24] 0x0
remote_update_controller_p[25] 0x1
remote_update_controller_p[26] 0x0
remote_update_controller_p[27] 0x1
remote_update_controller_p[28] 0x0
remote_update_controller_p[29] 0x0
remote_update_controller_p[30] 0x1
remote_update_controller_p[31] 0x0
remote_update_controller_p[32] 0x0
after failed reconfig from factory image using an intentionally corrupted application image.
remote_update_controller_p[0] 0x0
remote_update_controller_p[1] 0x0
remote_update_controller_p[2] 0x0
remote_update_controller_p[3] 0x0
remote_update_controller_p[4] 0x0
remote_update_controller_p[5] 0x0
remote_update_controller_p[6] 0x0
remote_update_controller_p[7] 0x0
remote_update_controller_p[8] 0x0
remote_update_controller_p[9] 0x0
remote_update_controller_p[10] 0x1400000
remote_update_controller_p[11] 0x1
remote_update_controller_p[12] 0x400000
remote_update_controller_p[13] 0x0
remote_update_controller_p[14] 0x0
remote_update_controller_p[15] 0x8
remote_update_controller_p[16] 0x0
remote_update_controller_p[17] 0x0
remote_update_controller_p[18] 0x0
remote_update_controller_p[19] 0x0
remote_update_controller_p[20] 0x3
remote_update_controller_p[21] 0x0
remote_update_controller_p[22] 0x0
remote_update_controller_p[23] 0x0
remote_update_controller_p[24] 0x0
remote_update_controller_p[25] 0x1
remote_update_controller_p[26] 0x0
remote_update_controller_p[27] 0x1
remote_update_controller_p[28] 0x0
remote_update_controller_p[29] 0x0
remote_update_controller_p[30] 0x1
remote_update_controller_p[31] 0x0
remote_update_controller_p[32] 0x0
after successful reconfig to app image from factory image remote_update_controller_p[0] 0x1
remote_update_controller_p[1] 0x0
remote_update_controller_p[2] 0x0
remote_update_controller_p[3] 0x0
remote_update_controller_p[4] 0x8
remote_update_controller_p[5] 0x0
remote_update_controller_p[6] 0x0
remote_update_controller_p[7] 0x0
remote_update_controller_p[8] 0x1
remote_update_controller_p[9] 0x0
remote_update_controller_p[10] 0x8
remote_update_controller_p[11] 0x0
remote_update_controller_p[12] 0x8
remote_update_controller_p[13] 0x0
remote_update_controller_p[14] 0x0
remote_update_controller_p[15] 0x10
remote_update_controller_p[16] 0x1
remote_update_controller_p[17] 0x0
remote_update_controller_p[18] 0x0
remote_update_controller_p[19] 0x0
remote_update_controller_p[20] 0x400000
remote_update_controller_p[21] 0x0
remote_update_controller_p[22] 0x0
remote_update_controller_p[23] 0x10
remote_update_controller_p[24] 0x0
remote_update_controller_p[25] 0x0
remote_update_controller_p[26] 0x0
remote_update_controller_p[27] 0x0
remote_update_controller_p[28] 0x40400
remote_update_controller_p[29] 0x0
remote_update_controller_p[30] 0x0
remote_update_controller_p[31] 0x0
remote_update_controller_p[32] 0x0
after triggering a reconfig from the app image, it fails and goes back to factory image as this is not allowed.
remote_update_controller_p[0] 0x0
remote_update_controller_p[1] 0x0
remote_update_controller_p[2] 0x0
remote_update_controller_p[3] 0x0
remote_update_controller_p[4] 0x0
remote_update_controller_p[5] 0x0
remote_update_controller_p[6] 0x0
remote_update_controller_p[7] 0x0
remote_update_controller_p[8] 0x0
remote_update_controller_p[9] 0x0
remote_update_controller_p[10] 0x5400000
remote_update_controller_p[11] 0x0
remote_update_controller_p[12] 0x400000
remote_update_controller_p[13] 0x0
remote_update_controller_p[14] 0x0
remote_update_controller_p[15] 0x1
remote_update_controller_p[16] 0x0
remote_update_controller_p[17] 0x0
remote_update_controller_p[18] 0x0
remote_update_controller_p[19] 0x0
remote_update_controller_p[20] 0x3
remote_update_controller_p[21] 0x0
remote_update_controller_p[22] 0x0
remote_update_controller_p[23] 0x0
remote_update_controller_p[24] 0x0
remote_update_controller_p[25] 0x1
remote_update_controller_p[26] 0x0
remote_update_controller_p[27] 0x1
remote_update_controller_p[28] 0x0
remote_update_controller_p[29] 0x0
remote_update_controller_p[30] 0x1
remote_update_controller_p[31] 0x0
remote_update_controller_p[32] 0x0