New life for an old device

A little while ago over on xda developers a user posted some information about where UART could be found on the Transformer Primes mainboard.This encouraged me to set up UART on my own personal device because of the extra fun that can be had with bootloaders.

After much procrastination, and a week off uni I decided to just go for it. Due to the size of the pads I don't recommend you attempt this unless you are comfortable with your soldering ability. The potential for permanent damage is high.

It wasn't immediately clear that everything worked after connecting it up. Garbage data was all I was getting through my USB-TTL's connection. After playing around with the shell settings I eventually figured out that the issue is to do with the connection speed. The frequency the CPU and corresponding frequency generators are working at when the CPU initialises the UART ports is so low that 57600 baud is the fastest mode of operation available.

After getting the UART port working I set out to port a different boot environment to the TF201, try and bring it more inline with the L4T releases that continue after an OEM discontinues support for a device. u-boot was fairly straight forward to bring across. There is a small issue with initialisation of the framebuffer that breaks in the cardhu config. There has been limited success for getting u-boot working, and it isn't good for much more than a shell. Over the next few days I will commit the changes made to git, and open it up for public access for more people to look over. I will cover what works and what doesn't in another post.

U-boot however has proven itself handy to load smaller binaries, such as chainloading bootloaders. With that I have started working on porting UEFI to the TF201. UEFI is not a complete port, there are still a lot of drivers required to get all the way to BDS. I will write a post about this in the future, and at the same time will open up the source tree.

All these ports do have an end goal in mind. By having a more consistent bootloader environment I hope to have a platform for multibooting to different operating systems or builds of android. Once I have a consistent boot environment I also plan on porting winocm's arm version of XNU.