Baking Pi style Course for Pine64-LTS
#1
Hi Pine community! I'm a newbie and I'm really excited about the projects that people are doing here.

I recently got the Pine64-LTS board and was interested in delving very low-level into how the board works, how to understand the schematics and how to read the Allwinner64 datasheet. I'm interested in the Allwinner64 since I know it's used in the Pinetab and the Pinephone so my knowledge would be transferable. I saw a course

https://www.cl.cam.ac.uk/projects/raspbe...orials/os/

And it seemed like something I'd like to try with the pine64-lts. I know the chips and the board are different, but some of the things in the tutorial strike me as very possible to do, for example I should definitely be able to create a bootable image and write it to the SD card on the board and then boot into a baremetal program.

I recognize it may be a lot of work to try to find analogues to every section of this tutorial, but I'd like to give it a shot.

The first problem I was trying to figure out is the exact RAM address of the LED lights on the pine64-LTS. On my board, right next to the USB ports and the reset switches there are two LED lights. I wanted to try flashing them on and off with baremetal assembly code just like in the baking Pi tutorial. I'm struggling to relate the hookup of the Allwinner A64 with the schematics in Pine64-lts to spot exactly where this address is located.

If anybody has some hints or resources for doing this kind of reading I would deeply appreciate any links.

Thanks in advance!
  Reply
#2
Hello!

I made some progress in figuring out where the address of the LED light is in RAM. Based off some of the other posts, I know that the light next to the reset switch is Blue. The Blue LED listed at the bottom of page 12 on the schematic

https://files.pine64.org/doc/SOPINE-A64/...180130.pdf

is connected to PL7. According to the User Manual

https://files.pine64.org/doc/datasheet/p...l_V1.0.pdf

PL7 is a GPIO pin, to write to it you have to enable output at PL Configure Register 0. In section 3.22.1 of the above manual, it says that PIO has a base address of

0x01F02C00

and PL configure Register 0 has offset

0*0x24 + 0x00

There are 32 bits at Register 0, and the one at PL7 is bits 30:28. I would need to set these 3 bits to Output which is the bit sequence 001. At the PL Data register is where I would need to set the value of the pin. Now the PL_DAT location's offset from the PIO Base Address

0*0x24+ 0x10

From there the state of the Pin 7, which is bit 7 should be set to 0 ( I think low states correspond to the pin being on for the LED light based off of other posts here on writing to the GPIO using shell commands on linux).

Hope that helps anybody else who happened to be curious. Also pardon for any errors, I haven't tested everything just yet.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Docker Swarm Cluster with pine64-lts and armbian build tmorin 1 4,612 11-06-2018, 10:18 PM
Last Post: tllim

Forum Jump:


Users browsing this thread: 1 Guest(s)