There is anyone programing for allwinner A20 bare metal?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
inaciose
Posts: 6
Joined: Mon Jul 17, 2017 10:07 pm

There is anyone programing for allwinner A20 bare metal?

Post by inaciose »

There is anyone programing for allwinner A20 bare metal willing to exchange code and experiences?
User avatar
zaval
Member
Member
Posts: 659
Joined: Fri Feb 17, 2017 4:01 pm
Location: Ukraine, Bachmut
Contact:

Re: There is anyone programing for allwinner A20 bare metal?

Post by zaval »

inaciose wrote:There is anyone programing for allwinner A20 bare metal willing to exchange code and experiences?
There is. :D
I have an a20 board (cubieboard 2), and am planning to work with it too, it's in my "target park". but now i am into mips.) still would be glad to help if I can.) it's nice to see (rare) people asking about something OTHER than those IDT/GDT and "triple fault" things. *rolleyes
especially ones messing around with arm/mips SBCs.)
now i am trying to build up a so called (by the PI speification) Dxe Core, the kernel for UEFI. after it is standing on its feet more or less stable, I definitely will look at the "portability" aspect, thus will be trying to bring it up on Beagle Bone Black and Cubieboard 2. And Pine64. And yet some noname rk3368 octa-core set top box. :D
ANT - NT-like OS for x64 and arm64.
efify - UEFI for a couple of boards (mips and arm). suspended due to lost of all the target park boards (russians destroyed our town).
inaciose
Posts: 6
Joined: Mon Jul 17, 2017 10:07 pm

Re: There is anyone programing for allwinner A20 bare metal?

Post by inaciose »

zaval wrote: There is. :D
I have an a20 board (cubieboard 2), and am planning to work with it too, it's in my "target park". but now i am into mips.) still would be glad to help if I can.) it's nice to see (rare) people asking about something OTHER than those IDT/GDT and "triple fault" things. *rolleyes
especially ones messing around with arm/mips SBCs.)
As soon as you get on A20 code, and get further from an Hello world, you will notice some lack of sample code for setting interrupt controller on A20 (gicv2 / gic400) and timers.
For now the possible sources for that kind code are:

- Linux kernel
- xv6-arm7
- u-boot (i dont see any gic related code)

I have been looking for the xv6-arm7 code, and im thinking that most of gic code maybe used on a20, but as the timer control is not for allwinner, so i need to get a sample code for setting up a timer on an A20, to undertand it and try to merge both.
User avatar
zaval
Member
Member
Posts: 659
Joined: Fri Feb 17, 2017 4:01 pm
Location: Ukraine, Bachmut
Contact:

Re: There is anyone programing for allwinner A20 bare metal?

Post by zaval »

I'd not expect "sample codes" for everything. GIC code should be generic, not a20 specific. do you have a20 PM? this is what it states in the GIC chapter:
For details about GIC, please refer to the GIC PL400 technical reference manual and ARM GIC Architecture Specification V2.0.
as of timers, they are described in the PM, scarcely though, but, yeah, it's the reference. :) I just looked at it, and saw so familiar style, they all are like written by the same person. I programmed (rather barely, without interrupts) OSTimer for jz4780 SoC recently. Anyway, you have the register list, their and their fields description, you could also instruct with uboot, timers should be there (somewhere at the very initilial stage).
ANT - NT-like OS for x64 and arm64.
efify - UEFI for a couple of boards (mips and arm). suspended due to lost of all the target park boards (russians destroyed our town).
Post Reply