Almost there 🙂 Just finish DMA driver and I2S
driver, committed two patch to my github.
(clone and checkout VoCore2, update feeds, then it will be ready to compile.)
PS: I planed to reuse exists dma/i2s code for mt7620/mt7621, but none of them are real compatible with mt7628… 🙁
It is really hard work for Linux kernel develop. Code is a simple part, but understanding Linux arch is really a time-cost work(also every linux kernel has some slightly difference). I learned a lot from reading the source of linux, and really love the flash wisdom between the line of the code.
I am going to do:
audio codec driver: this driver for the dock part, codec wm8988 or es8388.
spi dma driver: current spi driver just works but without dma the transfer is slow and takes full cpu time. There is some example in linux kernel source such as spi-ep93xx.c. Write this driver will be skillful, need to understand DMA arch and SPI arch.
clock driver: standard linux kernel should have clock driver for every device on the bus, current openwrt driver just like a “hack”, using fixed clock frequency in the source. If we want our code in real linux kernel(is that LEDE going to do?) must follow their rules.