The PinePhones are the best bang for the buck when it comes to an open source smartphone.
To add to what Dave says is done on the original A64 PinePhone; There is drivers and a file interface through #P for gate/reset and the clock. I only have the A64-LTS board, and I was originally working with sirjofri who had a PinePhone. We found that the A64-LTS board would run stable at a higher CPU clock than the PinePhone. But the CPU clock can be set from user space. sirjofri did drivers for some of the side keys, which seemed to work on the corresponding pins on the A64-LTS board. He also did a driver for the RTC, but I couldn't test that. Me and sirjorfi stopped because I could get the power management working on A64-LTS, but it wouldn't work on the PinePhone. Dave fixed that. Power management is also accessible through #P, so in theory both cpu clock and managing power to accessories can be done through the file interface in user space. The wifi was some realtek chip that ran over SDIO, so it would be something like the raspberry pi wifi driver. And iirc, the quectel eg25 cell radio had a usb interface. And the kernel needs work on the MMU code. Currently it has no uncached ram set aside for a framebuffer or ring buffers for networking. I was playing around with a 42bit memory mask, rather than the 34bit mask used in other 9front arm kernels. But as Dave said, it needs to be redone to work with the new 9front standard arm64 code. On Mon, Jan 20, 2025 at 11:55 AM Dave MacFarlane via 9fans <9fans@9fans.net> wrote: > > Quoth sirjofri <sirjofri+ml-9f...@sirjofri.de>: > > Hi, > > > > 20.01.2025 19:07:27 ron minnich <rminn...@gmail.com>: > > > > > I'm getting more and more bothered by the mountain of things going on in > > > my phones that I can never understand. > > > > > > So I got curious and found this: > > > https://www.instructables.com/Build-Your-Own-Smartphone/ > > > > > > and now I can't get a cellphone that runs plan 9 out of my head. > > > > > > Am I out of my head? > > > > Just in case, we* are already working on a 9front port to the pinephone. > > Currently, there are issues with the display driver, and driver development > > in general needs a lot of work still. > > > > Take a look: https://github.com/driusan/9front-A64 (I think this is the > > most current version) > > > > *We=currently mostly _not_ me > > > > sirjofri > > That is my dev fork of adventurein9's A64 kernel to add > Pinephone support to his A64-LTS kernel. I'm having a hard > time finding time to work on it, but that's the most current > version other than local development flailing around with the > DE trying to debug why I can only get it to show a white screen. > > Pinephone patches are welcome. I can probably find time to > apply / test any that anyone sends me. > > The current status is: > - booting - works (done by adventuresin9), but the original kernel predates > 9front having a generic arm64 kernel and should be refactored to use > that > - sdMMC/eMMC - should mostly work. Hasn't been rigorously tested. > - backlight - works, but /dev/brightness should be rewritten to > be a /dev/light consistent with the MNT Reform > - display - currently a giant mess based off of: > > https://lupyuen.github.io/articles/dsi#appendix-sequence-of-steps-for-pinephone-display-driver > and needs to be refactored once I (or anyone) gets it to work > - most other drivers - audio, usb, touch panel, gps, wifi, modem, buttons, > accelerometer/gyroscope, etc need to be written. > > - Dave ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T16bc2f805737b521-Mbbba10afc3e1fb85d0d9ef0e Delivery options: https://9fans.topicbox.com/groups/9fans/subscription