Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the design with more efficient CPU #45

Open
Kreyren opened this issue Aug 30, 2022 · 4 comments
Open

Update the design with more efficient CPU #45

Kreyren opened this issue Aug 30, 2022 · 4 comments

Comments

@Kreyren
Copy link
Contributor

Kreyren commented Aug 30, 2022

Is your feature request related to a problem? Please describe.**

Got Pinebook Pro recently and i hate that:

  1. I don't have KiCAD files for it to easily add functionality that i need e.g. fingerprint, hotswappable batteries, etc..
  2. The RK3399 has spectre and meltdown vulnerabilities and is allegedly using proprietary blobs

Describe the solution you'd like

My end goal is better, equal or tolerably worse alternative to Pinebook Pro that doesn't have security issues and proprietary blobs.

Can we do better with TERES-1? It's currently using the A64 which is too slow for me

Describe alternatives you've considered

The IMX8QM-TUKHLA seems to be a good alternative to RK3399 with allegedly no blobs, but it's still not released and it seems that it's development stalled likely due to blobs..

The next best option seems to be the iMX8QuadPlus which compared to RK3399 has one less Cortex-A72, but according to https://olimex.wordpress.com/2022/01/25/imx8mplus-som-is-alive-and-boots there is an issue with supply

Additional context

I have experience with hardware and software development and am willing to help if you can do the brainstorm on what CPU should be used.

@TsvetanUsunov
Copy link
Contributor

IMX8QM processor alone is EUR 200 this is automotive grade processor and you are not correct, there is co-processor running non free firmware inside it, which takes care of all initializations of memory, etc. NXP provide SDK so you can write your own firmware, but do not have public the sources of the firmware which are used to ship the processors, which may need quite of work.

For IMX8MQP NXP is working to mainline it, so IMO is more suitable for FOSS OSHW product.

@Kreyren
Copy link
Contributor Author

Kreyren commented Jan 20, 2023

@TsvetanUsunov In hypothetical scenario where we have the documentation needed to know how to make a board for it:

What about SnapDragon Mobile 845?
The PostmarketOS wiki says that it's fully mainlined (with partial support for modem)[1]

For IMX8MQP NXP is working to mainline it, so IMO is more suitable for FOSS OSHW product. -- @TsvetanUsunov (#45 (comment))

Because like that only adds ~0.3 GHz in comparison to A64

@Kreyren
Copy link
Contributor Author

Kreyren commented Feb 28, 2023

Found RK3588S for which the datasheet is widely available and seems like a good option considering budget and resource efficiency.

In terms of mainlining, the work seems to be ongoing in 6.1 -- https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/mainline-status.md

CC @TsvetanUsunov

Update: As discussed it's better to wait for the TUKHLA

@Kreyren
Copy link
Contributor Author

Kreyren commented Apr 22, 2023

@TsvetanUsunov What about StarFive JH7110?

Relevant: starfive-tech/VisionFive2#39

AllWinner A64 compared to StarFive JH7110:

  • CPU:
    • AllWinner A64
      • Quad-Core ARM Cortex-A53 @ up to 1.2 Ghz
    • StarFive JH7110
      • Quad-core 64-bit RISC-V SiFive U74 (RV64GC) processor @ up to 1.5 GHz with 32KB D-Cache, 32KB I-cache
      • Single-core 64-bit RISC-V SiFive S7 (RV64IMAC) monitor core with 16KB I-cache, 8KB DTIM
      • Single-core 32-bit RISC-V SiFive E24 (RV32IMFC) real-time control core with 16KB I-cache
      • Up to 2MB L2 cache
  • RAM: 2GB DDR3L -> 8GB LPDDR4
  • Architecture: aarch64 -> riscv
  • Lithography: 40nm -> 28nm
  • GPU: Mali 400 MP2 -> Imagination BXE-4-32

Info on the GPU driver for linux mainline: https://developer.imaginationtech.com/open-source-gpu-driver/

⚠️ Seems to have binary blobs for the GPU (https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/tree/powervr/powervr)

.. i guess not suitable if/until the GPU firmware is handled?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants