A full reply is probably best, for others that may be reading (oh I flatter myself). The original thread is correct, you could cut the trace, but equally you could remove pin 12 from the 40 pin header. Or equally remove R39. All three are electrically identical. Removal of R39 is the most elegant in my opinion, but carries risks in implementing.
I cannot find mention of R30 anywhere but, if I have missed the reference, it is a typing error, 9 and 0 being next to one another on the keyboard.
Also on this question I note what I think is a typo on your part. So just to clarify, when you say "pin 12 (on wolfson) to 3" that should of course read "pin 12 (on pi) to 3" .... ie as per the pcb layout above.
So to answer your question directly, your approach is one of several possible equally valid solutions. I would not underestimate the hardness of the component, nor the risk to the PCB, but it is your call.
For the approach that you are proposing, the description of Hias on page 7 of this thread seems to answer your needs the best.
the R30 is in there a few times! but belonging to Matthias.
here's the full thread:
I should have said soldering point on the 40pin wolfson connecter that mates with pin 12 on the Pi, to pin 3 of. P5!
that's right, isn't it?
on your circuit diagram above, it appears to me that the wolfson pin 12 goes to pi pin 33.
how is it that p33 doesn't figure in the other two solutions, R39 and trace cut?
Hi . I am pretty sure it is R39 is the one to go, perhaps Hais could confirm (The reason I am not 100% certain is that my solutions do not involve a board modification, so I have never done this myself). It is R39 that connects the 8804 (spdif controller) to GPIO A (ie pin 12 of the 26 way header). R30 is the pull up resistor on the same line (which, if memory serves me correctly, Hais says to leave:- which would make perfect sense)
Yes, that is right, pin 12 of 40 way connector to pin 3 of the 8 pin header.
Your reading of my pcb is correct. That connection is there for completeness ...... the board is designed to make the Wolfson card resemble the Cirrus card as closely as possible ..... but the current (and all previous versions) of the linux driver do not use this line (hence why removing R39 and leaving a weak pull up , R30, is a completely acceptable solution)
John, so you're saying the pin 33 connection is redundant? thanks
that is correct
Where can I find the parameter set generated by the driver (and modified by cset commands) please? I need to populate a database of current values and parsing the plain text output given by "amixer -Dhw:0 scontents" takes a great deal of effort
My intention is to continue "-Dhw:0 cset commands to control the device, but tracking revisions through scontents does not seem wise
You can use alsactl store to get a complete dump of the current mixer settings. eg:
/usr/sbin/alsactl store -f my-settings
This'll create a simple to read and parse text file. Linux distributions also use that to get persistent mixer settings across reboots. On shutdown they call alsactl store, on boot alsactl restore.
If you are interested in specific changes from the mixer scripts just call them with sh -x,. eg "sh -x ./Playback_to_Lineout.sh" and watch for amixer calls.
Many thanks for that alternative approach, it does seem to provide a more readable text file than "amixer -Dhw:0 scontents". My only problem is that it is still a huge file to parse (27000+ lines, 500k file) ...... but I will see if it parses more easily/ more rapidly. Either way many thanks, I will let everyone know how I get on ..... my final objective is to generate a GUI based on php/html in order to control the device in a rather more informative way than alsamixer.
I've been working on a driver rework, mainly to get rid of the requirement to carry around a bunch of patches to upstream driver code, and also to fix some outstanding issues and introduce some new features.
Most issues have been ironed out so here's the first public release.
Edit: the driver has been included in official RPi kernels. Just run sudo rpi-update to install it.
You still have to install the mixer scripts and add the /etc/modprobe.d file. See my website for details
Precompiled kernel: http://www.horus.com/~hias/tmp/cirrus/cirrus-ng-linux-4.9.0.tgz
New mixer scripts: http://www.horus.com/~hias/tmp/cirrus/cirrus-ng-scripts.tgz
- The new driver bases on the rather fresh kernel 4.9.0 which means there's some risk of (yet unknown) issues. Use it at your own risk and please run "rpi-update" to get the latest firmware before installing the new driver.
- The soundcard name has been changed from "snd_rpi_wsp" to "RPi-Cirrus", also several ALSA controls have been removed and new ones were added. This means the old usecase scripts and any custom-made scripts will no longer work. Use the new mixer scripts instead of the old usecase/listen scripts.
- The new driver supports setting (and receiving) of the S/PDIF channel status bits (aka AES bits). If you add an ALSA card configuration file this means applications like Kodi can do proper AC3/DTS passthrough. A sample card configuration file (plus the mixer scripts) can be found here: https://github.com/HiassofT/rpi-cirrus-config
- I haven't fully updated the documentation on my website RPi Linux driver for Wolfson / Cirrus Logic Audio Card yet, will do that during the next weeks/months. But except for the things noted above most stuff should still work as in previous driver versions.
Please report back if you tested the driver (either successfully or unsuccessfully), any feedback will help me!