I use raspbian wheezy with kernel 3.18, so i've added the following in /boot/config.txt
dtoverlay=hifiberry-digi
dtdebug=1
and made sure the onboard soundcard was not present in /etc/modules.
However the hifiverry digi soundcard does not load.. I have the following output from dmesg:
[ 8.068549] snd-hifiberry-digi sound: ASoC: CPU DAI (null) not registered
[ 8.205633] snd-hifiberry-digi sound: snd_soc_register_card() failed: -517
[ 8.324242] platform sound: Driver snd-hifiberry-digi requests probe deferral
[ 8.416263] snd-hifiberry-digi sound: ASoC: CODEC DAI wm8804-spdif not registered
[ 8.453782] snd-hifiberry-digi sound: snd_soc_register_card() failed: -517
[ 8.469608] platform sound: Driver snd-hifiberry-digi requests probe deferral
[ 8.873016] snd-hifiberry-digi sound: ASoC: CODEC DAI wm8804-spdif not registered
[ 8.902170] snd-hifiberry-digi sound: snd_soc_register_card() failed: -517
[ 8.927779] platform sound: Driver snd-hifiberry-digi requests probe deferral
[ 13.884795] snd-hifiberry-digi sound: ASoC: failed to instantiate card -1
[ 13.909584] snd-hifiberry-digi sound: snd_soc_register_card() failed: -1
[ 13.935671] snd-hifiberry-digi: probe of sound failed with error -1
and
vcdbg log msg
shows the following output:01249.402: dtdebug: /aliases:i2c_vc=i2c0
001250.368: dtdebug: /__symbols__:i2c_vc=i2c0
001251.206: dtdebug: /__overrides__:i2c_vc=i2c0
001252.786: dtdebug: /__overrides__:i2c_vc_baudrate=i2c0_baudrate
001253.356: dtdebug: /aliases:i2c=i2c1
001254.352: dtdebug: /__symbols__:i2c=i2c1
001255.237: dtdebug: /__overrides__:i2c=i2c1
001255.830: dtdebug: /aliases:i2c_arm=i2c1
001256.855: dtdebug: /__symbols__:i2c_arm=i2c1
001257.768: dtdebug: /__overrides__:i2c_arm=i2c1
001259.470: dtdebug: /__overrides__:i2c_baudrate=i2c1_baudrate
001261.185: dtdebug: /__overrides__:i2c_arm_baudrate=i2c1_baudrate
001265.774: Loaded overlay 'hifiberry-digi'
001270.411: dtdebug: Found fragment 0 (offset 36)
001272.760: dtdebug: merge_fragment(/sound,/fragment@0/__overlay__)
001272.784: dtdebug: +prop(compatible)
001272.931: dtdebug: +prop(i2s-controller)
001273.182: dtdebug: +prop(status)
001273.388: dtdebug: merge_fragment() end
001273.450: dtdebug: Found fragment 1 (offset 168)
001274.636: dtdebug: merge_fragment(/soc/i2s@7e203000,/fragment@1/__overlay__)
001274.659: dtdebug: +prop(status)
001274.905: dtdebug: merge_fragment() end
001274.989: dtdebug: Found fragment 2 (offset 244)
001276.893: dtdebug: merge_fragment(/soc/i2c@7e804000,/fragment@2/__overlay__)
001276.918: dtdebug: +prop(#address-cells)
001277.117: dtdebug: +prop(#size-cells)
001277.321: dtdebug: +prop(status)
001278.364: dtdebug: merge_fragment(/soc/i2c@7e804000/wm8804@3b,/fragment@2/__overlay__/wm8804@3b)
001278.387: dtdebug: +prop(#sound-dai-cells)
001278.600: dtdebug: +prop(compatible)
001278.792: dtdebug: +prop(reg)
001278.994: dtdebug: +prop(status)
001279.235: dtdebug: merge_fragment() end
001279.262: dtdebug: merge_fragment() end
What can i do to make it work?