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

Any chance of porting to H3 boards? #30

Open
aenertia opened this issue Sep 4, 2018 · 1 comment
Open

Any chance of porting to H3 boards? #30

aenertia opened this issue Sep 4, 2018 · 1 comment
Labels
retired Acknowledged item that is not being worked on

Comments

@aenertia
Copy link

aenertia commented Sep 4, 2018

Hi there - any chance this might be able to be ported to the sunxi H2/3/5 boards? I.e OrangePi etc.

I have a few of the waveshare screens and the sunxi is pretty well supported (well the Mali OpenGL mainlining effort is still underway) but the armsoc X and DRI stuff is available.

@juj
Copy link
Owner

juj commented Sep 4, 2018

Fbcp-ili9341 directly interacts with the BCM2835 hardware to access the SPI0, DMA and TIMER peripherals provided by the SoC. It also talks directly to the VideoCore 4 MailBox API in VC4 GPU firmware to allocate pages of memory that can be used cache coherently as DMA source. The DMA peripheral is used to both configure the SPI peripheral, but also to manage SPI bus byte reads and writes. To obtain graphics framebuffer pixel data, the DispmanX API is used.

If there exists corresponding peripherals on OrangePi or other boards that enable fulfilling the same tasks (SPI send, DMA capable memory allocation, DMA send to SPI bus, DispmanX/similar event notification of framebuffer pixel data), then you might find success in porting the driver. It is possible to disable DMA if that is not available to user space, but that does have a large drawback to CPU consumption.

If the displays in question are the same as some of the already supported display controllers, then the desired SPI communication will be the same, and the image diffing algorithm in the driver is generic, those can be reused. There is some ARM assembly in the tree, tuned carefully for ARMv6, but you can easily disable it if that gives some trouble, the C variants should be heavily optimized as well.

@juj juj added the retired Acknowledged item that is not being worked on label Dec 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
retired Acknowledged item that is not being worked on
Projects
None yet
Development

No branches or pull requests

2 participants