(08-11-2023, 10:29 PM)lupyuen Wrote: Yep @WhiteHexagon, Zig is a really cool way to experiment with PinePhone Hardware!
I'm so happy that some folks have started porting NuttX to PinePhone Pro! I'm helping to review their code.
Also I'm now exploring NuttX for PineTab-V. So things are getting very interesting :-)
@ lupyuen I dont have any interest in the PPP, but very interested in the PineTab-V! It's a shame they have been out of stock this whole time, it would have been quite fun to work in parallel, but using Zig, although I still have much to learn!! My next step is PinePhone MIPI DPHY, which sounds like another journey into the undocumented, and log sniffing... but I made more time for this project now, whatever it is, and will be full-time from next week
Anyway I really hope the PineTab-V comes with better documentation!! It sounds very under-powered, so something as efficient as Nuttx should be a perfect fit, enjoy! I am sure by the time I catch up on PP, you will already have discovered all it's secrets and probably another 2 devices besides hehe
(08-11-2023, 10:36 AM)WhiteHexagon Wrote: I guess all the developers moved onto new shinny PineTab toys What developers? I do not think anyone is (or has ever been) working on this other than @ lupyuen (who has indeed moved on to the RISC-V stuff mostly, but is still around to help you as you can see) and you.
08-14-2023, 02:35 AM
(This post was last modified: 08-14-2023, 03:03 AM by WhiteHexagon.)
@ Kevin Kofler Okay thanks, that is what I was starting to suspect. So there are no channels to request further documentation?
My understanding was that the store/hardware side of Pine64 produces devices for the community of developers to implement the software side, but that seems almost impossible without hardware documentation. Or does the community specify the hardware component design?
Do you know how many people are working on the PineTab2 vs PineTab-V? I am just wondering where best to focus my efforts once I finished remembering how to do low level development work again
@ lupyuen btw I noticed you mentioned some display flickering in one of your articles. I came across something that might be related last night. The register PLL_DE_CTRL_REG has default values that are exact 297Mhz, vs current values of n=24,m=2. Could that be the reason?
step 2 in: https://lupyuen.github.io/articles/de#ap...lay-engine
Well, the Linux kernel drivers have some more developers than the NuttX port. But Linux kernel developers have learned to deal with poorly documented or completely undocumented hardware. Consumer-grade devices in PCs are typically much less documented than the PinePhone components. You may have noticed that a lot of the data sheets out there for the PinePhone still have "confidential" markings on them. All those documents are typically (i.e., for mainstream devices) not publicly available. The PinePhone has much better than average hardware documentation.
08-15-2023, 02:39 AM
(This post was last modified: 08-15-2023, 02:48 AM by WhiteHexagon.)
@ Kevin Kofler Yes I meant on the Linux side, do we know how many people are currently actively coding on the OS level for each of PP, PT2, PT-V please?
@ lupyuen Another diversion I could not work out how to sleep() or do a calibrated delay, so currently looking at HS Timer. (3.9.6.) Shows an example of use, but seems to directly contradict the register descriptors which talk about writing the Lo before the High. Anyway a chance for me to experiment with u56 in Zig
I got the HS Timer running although a bit hard to test the accuracy but I was wondering where the 100MHz clock is coming from, the PP schematic lists 24MHz and ~32KHz signals. First mention of 100MHz and AHBCLK.
I got my Zig version of MIPI DPHY working with the High Speed Timer for delays, although not my 56bit register yet, some strange issue but using the Lo part of the timer was enough for now. Again it would be good to know how the delay/sleep values are chosen, but for now I used the ones in your article, and it seems to be working, although it took me a while to realise the timer units are 10ns, assuming the 100MHz User Manual timer example holds true for the PinePhone...
@ lupyuen I am still following the nicely documented steps for PP display, thank you again! I came across RSB/PMIC requirements for the power. I started to implement RSB, but from another document it sounds like it should have a clock activated. I dont see where that is done, which got me wondering if the pmic/rsb is already somehow set up before we reach the NuttX image at boot time? ie currently I am following the original build scripts/steps we discussed, and manually copy the new Image.gz to my SD card, but there are other files already there. I think when I tried something this low level on the Rpi4 there was also a bit of assembly to bring the chip up to the point it could run the loaded program. Is that a part of NuttX, or built into the PP? I assume there must be some code somewhere that is reading the SD card... How is it working please?
step by step, mipi dsi this week, and I thought it was going well, until yet another black box of mystery ie all the mipi dsi lcd commands, wow I hope the RISC-V is smoother, oh wait
(08-19-2023, 04:26 AM)WhiteHexagon Wrote: if the pmic/rsb is already somehow set up before we reach the NuttX image at boot time?
Hmmm I believe it might be set up already by the U-Boot Bootloader? Sorry I'm not too clear about the internals of the PMIC / RSB, I got it to work by tracing the behaviour of the p-boot Bootloader.
|