08-11-2023, 10:36 AM
(This post was last modified: 08-11-2023, 10:37 AM by WhiteHexagon.)
Hi @lupyuen , congratulations on the milestone! You raced through that one
In the meantime I only just finished testing my 'tcon' and 'de' implementations in Zig. Last 'gotcha' was SRAM_CTRL_REG1 having a default value, meaning undocumented, that needed to be zeroed. I find all these undocumented hacks really unsettling. For example on the tcon side I removed the delay after PLL_VIDEO0 and instead looped waiting for the LOCK bit, no idea if that is valid, but seems to work and removes one mystery delay() call (which anyway I could not work out how to implement in Zig), but it would be nice to have confirmation on all these small tweaks that seem to be needed. I guess all the developers moved onto new shinny PineTab toys
Although it seems to have gone very quiet regarding blog news etc, 4 months? did I miss some other news regarding the community? Anyway I think I continue a while longer, since this is good for exercising my Zig skills.
So what is next for you? the educational plans? or LVGL on star64?
In the meantime I only just finished testing my 'tcon' and 'de' implementations in Zig. Last 'gotcha' was SRAM_CTRL_REG1 having a default value, meaning undocumented, that needed to be zeroed. I find all these undocumented hacks really unsettling. For example on the tcon side I removed the delay after PLL_VIDEO0 and instead looped waiting for the LOCK bit, no idea if that is valid, but seems to work and removes one mystery delay() call (which anyway I could not work out how to implement in Zig), but it would be nice to have confirmation on all these small tweaks that seem to be needed. I guess all the developers moved onto new shinny PineTab toys
Although it seems to have gone very quiet regarding blog news etc, 4 months? did I miss some other news regarding the community? Anyway I think I continue a while longer, since this is good for exercising my Zig skills.So what is next for you? the educational plans? or LVGL on star64?

Code:
//step 1 - configure PLL
var pll = ccu.PLL_VIDEO0_CTRL_REG.peek();
pll.PLL_ENABLE = true;
ccu.PLL_VIDEO0_CTRL_REG.poke(pll);
//wait PLL stable
while (ccu.PLL_VIDEO0_CTRL_REG.peek().LOCK == false) {
lockWaitCntr += 1;
if (lockWaitCntr > 10000) {
debug.red(true);
return;
}
}
