I build Linux 3.12.36/Rasp B+ with a cut-down kernel defconfig and it could not load snd_soc_pcm512x:
[ 34.734191] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[ 34.803058] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated
[ 34.852349] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[ 34.909897] i2c /dev entries driver
[ 34.942189] bcm2708_i2c_init_pinmode(1,2)
[ 34.946273] bcm2708_i2c_init_pinmode(1,3)
[ 34.972325] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[ 35.056795] pcm512x 1-004d: Failed to get supply 'AVDD': -517
[ 35.066081] pcm512x 1-004d: Failed to get supplies: -517
[ 35.071727] i2c 1-004d: Driver pcm512x requests probe deferral
[ 35.104583] snd-rpi-hifiberry-dacplus snd-rpi-hifiberry-dacplus.0: ASoC: CODEC pcm512x.1-004d not registered
[ 35.126124] snd-rpi-hifiberry-dacplus snd-rpi-hifiberry-dacplus.0: snd_soc_register_card() failed: -517
[ 35.136162] platform snd-rpi-hifiberry-dacplus.0: Driver snd-rpi-hifiberry-dacplus requests probe deferral
with this module order (/etc/modules, no depmod installed)
bcm2708-dmaengine
virt-dma
regmap-mmio
spi-bcm2708
i2c-dev
i2c-bcm2708
snd-soc-bcm2708-i2s
snd_soc_pcm512x
snd_soc_hifiberry_dacplus
Has someone an idea what's going on? Is this error an inication for a defect hardware?
Many Thanks,
Peter
Date
Votes
4 comments
-
HiFiBerry team No, this is not a defective hardware, but a kernel that is compiled incorrectly. You need to disable the power management. I can't tell you which option it is, we're always using the default configuration.
In general you should not use the 3.12 anymore, but go for 3.18. This is the version that is active now.
Best regards
Daniel -
syntheticpp Thanks, after removing CONFIG_REGULATOR pcm512x loads:
[ 45.054314] pcm512x 1-004d: No SCLK, using BCLK: -2
[ 45.068245] pcm512x 1-004d: Completed initialisation - pcm512x_probe
But now the final DAC+ driver fails toload:
[ 69.109326] snd-rpi-hifiberry-dacplus snd-rpi-hifiberry-dacplus.0: ASoC: CPU DAI bcm2708-i2s.0 not registered
[ 69.131065] snd-rpi-hifiberry-dacplus snd-rpi-hifiberry-dacplus.0: snd_soc_register_card() failed: -517
[ 69.141039] platform snd-rpi-hifiberry-dacplus.0: Driver snd-rpi-hifiberry-dacplus requests probe deferral
cat /lib/modules/3.12.36-juplym/modules.builtin | grep i2s
kernel/sound/soc/bcm/snd-soc-bcm2708-i2s.ko
Is maybe a wrong name used in snd-rpi-hifiberry-dacplus?
(I assume 3.12 is ATM more stable than 3.18 for Rasp (1) B+, because I saw a lot of DT traffic for 3.18) -
HiFiBerry team Looks like there are not all patches correct in this kernel. I can't say exactly what is wrong here. I strongly recommend to use the 3.18.x kernel with default settings.
Best regards
Daniel -
syntheticpp Seems static modules are broken in 3.12.
So I switched to loadable modules and use this modules:
regmap-mmio
regmap-i2c
regmap-spi
i2c-bcm2708
spi-bcm2708
#
soundcore
snd
snd-timer
snd-compress
#
snd-page-alloc
snd-pcm
snd-pcm-dmaengine
#
snd-soc-core
snd-soc-pcm512x
snd-soc-bcm2708-i2s
snd-soc-hifiberry-dacplus
Please sign in to leave a comment.