I ran all steps as given by the instructions
(http://elinux.org/CircuitCo:Audio_Cape_RevB) including installing a new DT overlay, disabling HDMI and adding to the slots file.
Then I try speaker-test -D default:EVM and put an oscilloscope on pin
P9_28. No waveform comes out. This should be the I2S serial output, but it’s just a flat line. I have no idea how to debug this.
What do you get if you check pinctrl? Are things set up as expected?
sudo cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins
Seems like it:
Relevant pins:
From dts:
pinctrl-single,pins = <
0x1ac 0x00 /* mcasp0_ahclkx, MODE0 | INPUT */
0x19c 0x22 /* mcasp0_ahclkr, */
0x194 0x20 /* mcasp0_fsx, MODE0 | OUTPUT */
0x190 0x20 /* mcasp0_aclkr.mcasp0_aclkx, MODE0 | OUTPUT_PULLDOWN */
0x198 0x20
;
From pinmux-pins (in same order as above):
pin 107 (44e109ac): 48038000.mcasp (GPIO UNCLAIMED) function pinmux_bone_audio_cape_audio_pins group pinmux_bone_audio_cape_audio_pins
pin 103 (44e1099c): 48038000.mcasp (GPIO UNCLAIMED) function pinmux_bone_audio_cape_audio_pins group pinmux_bone_audio_cape_audio_pins
pin 101 (44e10994): 48038000.mcasp (GPIO UNCLAIMED) function pinmux_bone_audio_cape_audio_pins group pinmux_bone_audio_cape_audio_pins
pin 100 (44e10990): 48038000.mcasp (GPIO UNCLAIMED) function pinmux_bone_audio_cape_audio_pins group pinmux_bone_audio_cape_audio_pins
pin 102 (44e10998): 48038000.mcasp (GPIO UNCLAIMED) function pinmux_bone_audio_cape_audio_pins group pinmux_bone_audio_cape_audio_pins
And in /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins all the modes are as they should be from the .dts, except offset 0x198 has 0x70 instead of the given 0x20 mode from the .dts file.
I have tried this on two separate BBB’s with identical results.
root@beaglebone:~# cat /sys/devices/bone_capemgr.9/slots
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONE-AUDI-02