Спасибо за ссылочку на форум, там оказалось полезное.
Пример CPU/ICaсhe меня дважды смутил. Во первых в нем предлагается указывать кэшируемые функции явным образом, линкуя их в специальный сектор, неким образом проассоциированный с ICache. Во вторых если верить даташиту там кэш даже не включался, в BC2 писалась хрень. В третьих тест кэша на микроloopах никому неинтересен. Я поднял их самый мегатолстый пример LVGL и затестил его на голой флеши и на включенном ICache по предложению из форума:
li a0, 0x1000003
csrw 0xbc2, a0
li a0, 0x0
csrw 0xBD0, a0 // supposed to clear cache, clearly not doing it
li a0, 0x1000001
csrw 0xbc2, a0
И действительно, о чудо, оно неплохо взлетело. Циферок исполнения из голой ОЗУ конечно не получилось, но ужаса уже нет, стало юзабельно.