I am now attempting to get it to work with the proper max98089 driver/codec which I have obtained from here: https://github.com/raspberrypi/linux/bl ... max98088.c
I've built this against the running kernel (stock Raspbian 4.9.80) by pulling the source into a DKMS package.
I can get the module to load ( it shows in lsmod and the "i2cdetect -y 1" shows the i2c address as reserved "UU" ) but I can't seem to make it appear as a functioning audio output within ALSA.
My device-tree overlay currently looks like this:
Code: Select all
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2708";
fragment@0 {
target = <&i2s>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
max98089@10 {
#sound-dai-cells = <0>;
compatible = "maxim,max98089", "maxim,max98088";
reg = <0x10>;
status = "okay";
};
};
};
fragment@2 {
target = <&sound>;
productname: __overlay__ {
compatible = "manufacturer,product-name";
i2c-controller = <&i2c>;
status = "okay";
};
};
};
Code: Select all
fragment@2 {
target = <&sound>;
piano_dac: __overlay__ {
compatible = "allo,piano-dac";
i2s-controller = <&i2s>;
status = "okay";
};
};
So, to summarise:
- I've got as far as a loading module, but how can I make this function as an audio output(/input) device?
- What's the purpose/meaning/source of the names used in "fragment@2"?
So presumably that's the missing piece of the puzzle?