Jag har en HDMI PHY vid namn SII9022A. Med denna PHY så kan jag konvertera LCD bilder direkt till HDMI och visa allt på en skärm. Jag kan även skicka ut ljud via I2S. Bildproblemet är löst så det är inga problem. Men ljudproblemet är inte löst. Här skulle jag behöva lite hjälp.
Syfte
Syftet är att i Linux kunna konfigurera ett Device Tree som konfigurerar ljudfunktionen för denna PHY.
Mål
Att lära sig Device Tree.
Problem
Det finns ett datablad här som vi kan använda oss utav.
- Datablad från: Lattice
Som vi ser ovan så behövs inte MCKL om PLL är redan används. Då vill jag yttra två frågor:
- Om jag låter MCKL vara flytande. Används då PLL per automatik, som PLL vore en "weak" klocksignal?
- Behöver PLL konfigureras via register?
Kod: Markera allt
root@stm32-os:/proc/asound# dmesg | grep audio
[ 0.059222] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 3.445159] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 3.467797] i2c 1-0039: Fixed dependency cycle(s) with /soc/etzpc@5c007000/audio-controller@4000b000
[ 3.605216] st,stm32-i2s 4000b000.audio-controller: No cache defaults, reading back from HW
[ 3.658636] asoc-audio-graph-card sound: ASoC: no source widget found for MCLK
[ 3.664591] asoc-audio-graph-card sound: ASoC: Failed to add route MCLK -> direct -> Playback
[ 3.673099] asoc-audio-graph-card sound: ASoC: no source widget found for MCLK
[ 3.680193] asoc-audio-graph-card sound: ASoC: Failed to add route MCLK -> direct -> Capture
[ 3.688863] asoc-audio-graph-card sound: ASoC: no source widget found for Mic Bias
[ 3.698380] asoc-audio-graph-card sound: ASoC: Failed to add route Mic Bias -> direct -> MICL
[ 3.706004] asoc-audio-graph-card sound: error -ENODEV: parse error
root@stm32-os:/proc/asound# dmesg | grep hdmi
[ 0.056347] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 0.059222] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 0.066316] platform connector: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 3.445159] platform 4000b000.audio-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
[ 3.455821] platform 5a001000.display-controller: Fixed dependency cycle(s) with /soc/etzpc@5c007000/i2c@5c002000/hdmi-transmitter@39
root@stm32-os:/proc/asound#
root@stm32-os:~# cat /sys/kernel/debug/dynamic_debug/control | grep sii
drivers/gpu/drm/bridge/sii902x.c:816 [sii902x]sii902x_audio_codec_init =p "%s: No "sil,i2s-data-lanes", use default <0>\n"
drivers/gpu/drm/bridge/sii902x.c:805 [sii902x]sii902x_audio_codec_init =p "%s: No "#sound-dai-cells", no audio\n"
drivers/gpu/drm/bridge/sii902x.c:695 [sii902x]sii902x_audio_hw_params =p "%s: hdmi audio enabled\n"
drivers/gpu/drm/bridge/sii902x.c:632 [sii902x]sii902x_audio_hw_params =p "Inaccurate reference clock (%ld/%d != %u)\n"
drivers/gpu/drm/bridge/sii902x.c:577 [sii902x]sii902x_audio_hw_params =p "%s: Unsupported i2s format %u\n"
drivers/gpu/drm/bridge/sii902x.c:560 [sii902x]sii902x_audio_hw_params =p "%s: I2S clock provider mode not supported\n"
drivers/gpu/drm/bridge/sii902x.c:498 [sii902x]sii902x_mute =p "%s: %s\n"
root@stm32-os:~#