To modify some "hidden" WM8958 CODEC settings from the console you can use the below commands using novaterm. I should caution that you should be very careful because you can break something if you set your headphones or the internal speakers to drive beyond their normal operating limits.
A reboot should reset the values to default.
- See what mixer channels are available: "amixer" <enter>. I recommend copying the contents to a text editor window so you can maintain a list of defaults (which are the bottom line of each printed section). The headphones are tied to items relating to "AIF1" and "AIF1DAC1". I haven't explored speakers yet.
- To control volume: amixer set "Headphone" <0..63>
- To control volume boost: amixer set "AIF1 Boost" <0..3>
- To enable/disable "3D Stereo": amixer set "3D Stereo" toggle
- There are settings for an EQ but I haven't had success getting it to work yet. The associated settings appear to be "AIF1DAC1 EQ", "AIF1DAC1 EQ1", "AIF1DAC1 EQ2", "AIF1DAC1 EQ3", "AIF1DAC1 EQ4", "AIF1DAC1 EQ5", "AIF1DAC1 Enhanced EQ". Maybe there's another toggle or channel selection involved?
If anyone discovers any additional useful settings, be sure to share.
Edit: Changed WM8994 to WM8958. The kernel module in use is the WM8994 which is what confused me originally.