View or comment on this project log on Hackaday.io
I'm not sure why I'm working on the soundcard now; sound is pretty low priority (below power, display, touch, network connectivity...), but the speaker and headphone connectors are close to the touchscreen connectors.
Since my touchscreen controller is going to be expensive to manufacture, I'm going to have it on a separate PCB than the rest of the project. The board that has my audio codec will wrap around the touchscreen controller, since it needs to have connectors for the speakers, headphone/mic, and potentially send line out audio to the portrait dock connector.
I haven't decided whether to keep the portrait dock daughterboard, which is a long, narrow PCB that goes from the connector labeled as "Portrait dock" above, and ends with the 30-pin connector at the bottom of the iPad. It also has the iPad's wifi/BT controller on it - a BCM4329 connected via SDIO, which does appear to be supported in Linux. I think Apple put the wifi/BT controller here because it minimizes the antenna cable lengths -- one is behind the screen in the bottom-left, one is behind the Apple logo on the back. If I keep it, I won't have to deal with anything RF. It might also be sorta fun to keep 30-pin connector compatibility, so I can use original iPad/iPod accessories to break out component video (which the RPi CM4 has, for some reason), line-out, USB, etc. On the other hand, scrapping the 30-pin connector and putting in some USB-C ports instead would open up some more modern possibilities: HDMI/DP output, USB PD, USB 3 speeds, Thunderbolt... Plus I wouldn't have to scrounge around eBay for obsolete dongles.
Anyway, for now I've started designing a circuit with a codec from TI, a pair of class-D amplifiers for the speakers (also from TI), and some analog switches to allow me to route the line-out signal elsewhere. The codec also has ADCs that I can use for the internal and external (headphone) microphones.
TI has some codecs that have almost everything I want: built-in class D amplifiers for speakers, built-in headphone amplifiers, additional line-out pins, but most of the good ones are WLCSP, meaning 0.5mm BGA or smaller, meaning expensive PCBs. I've opted for one of the QFN packages, which I should be able to lay out with the capabilities of cheap PCB manufacturers.