Frenc

From coreboot
Jump to: navigation, search

What is frenc

frenc is a open source embedded controller firmware for the H8s which is the embedded controller of many Lenovo Thinkpads and some Macbooks. frenc itself is a bootloader for h8s. While developing a full open source firmware for the H8s, it came to the point, a split of the firmware into two parts could speed up the development. One part is a bootloader, one part is an application. Why? Because Lenovo used several of the debug wires for other purpose. How do you do development, when you an error could end in a brick or you have to resolder 5 pins on undocumented locations. With a bootloader in place, the development can start and we can recover from broken applications.

firmware boot up

  • code executed on the reset vector
  • frenc (boot loader)
  • application (operating system)

is frenc working on $thinkpad_model ?

Atm: No. When major features of frenc are finished, the development of the application can begun. But for every model, it needs modification to fit the exact board. It may possible to support multiple boards with one firmware and detect the exact model.

remaining major tasks

  • finish xmodem support
  • implement flash hardware support
  • implement i2c master/slave hardware support
  • allow console handle i2c i/o
  • write a buspirate uart console based on i2c

blog entries

The most things are done while Google Summer of Code (GSoC) 2015 and is documented in blog posts. Take a look to blogs.coreboot.org and the early steps (pre-GSoC) on lunarius.fe80.eu.

naming

It's name is a combined word from Frank and ec. Frank short form Frankenstein. The board looks really like frankenstein. Lot's of modification, replaced some brain and we got electricity. But yet there is no thunderbolt.

source code

github