Attempting to upgrade audio hardware and finding the correct drivers.
I am attempting to update some hardware on an embedded Linux system (kernel-220.127.116.11) and I was hoping to find some guidance here (new to Linux about 4 months worth of experience). The hardware components that will be changing are the audio codec and the amplifier. Specifically, the board (i.mx51) will migrate its old wm8753 codec to a wm8750 (which no machine driver exists for) and the amplifier is changing from a SA48631TK to a MAX98307-TQFN16.
The codec driver for the new wm8750 does exist in the kernel and I believe I have found the old machine driver that was used for the old codec: kernel-18.104.22.168/sound/soc/imx/imx-ccwmx51-wm8753.c The documentation says that ASoC splits the system into 3 drivers: codec driver (wm8753.c), machine driver (imx-ccwmx51-wm8753.c) and a platform driver.
The way I found the machine driver was with a grep search in the kernel main directory: grep -lr "struct snd_soc_card" * I tried a similar strategy to find the platform driver but the results are not inclusive enough considering I am not aware of what the naming schema would be for such a driver.
I was hoping the community might help me understand a few things:
-How to find the platform driver
-Will I need to alter the platform driver
-Since there is no machine driver for the wm8750 can the old machine driver for the old codec be altered to work for the wm8750
-Will I need to make changes anywhere in the kernel to reflect the change in the amplifier
-Can I ping the new hardware to differentiate it from the old hardware s/t during installation the wrong code will not be loaded onto the wrong box
I have datasheets for both codecs and amplifiers and a circuit diagram if anyone would find that information of use. Your help and attention would greatly appreciated, thanks!