element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum New reworked driver for Wolfson/Cirrus Logic audio card
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 390 replies
  • Subscribers 737 subscribers
  • Views 40889 views
  • Users 0 members are here
  • raspberry_pi
  • raspeberry_pi_accessories
Related

New reworked driver for Wolfson/Cirrus Logic audio card

hiassoft
hiassoft over 9 years ago

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

RPi Linux driver for Wolfson / Cirrus Logic Audio Card

 

Source: https://github.com/HiassofT/rpi-linux/tree/cirrus-ng-4.9.0

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

 

Important notes:

  • 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!

 

so long,

 

Hias

  • Sign in to reply
  • Cancel
Parents
  • psyj
    psyj over 7 years ago

    Matthias,

     

    A long time away from the BB and software development for me, moving house and building a new one! Why is this important (to me)?

     

    Well I have moved over to a rather fine Marantz amp  ......... which 30 seconds after end of play starts letting out a nasty mains hum. It seems that it is much less tolerant than my old amp of its inputs going open circuit.  I presume that this is due to the sound card being put into standby (via DAPM?). Despite several experiments I have failed to find out which module / parameter needs to be hit.  Is this something that your driver does, or does it sit in the wider system?

     

    As always, many thanks

     

    John

     

    More generally for those that are interested,  the PCB I fabricated up last year still works fine, despite my fears about surface oxidation of the copper.  However I will be moving over to the ribbon cable approach that I mentioned when I build my Quad clone ...... which my wife tells me should be after I have built our bedroom :-(

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • psyj
    psyj over 7 years ago

    Matthias,

     

    A long time away from the BB and software development for me, moving house and building a new one! Why is this important (to me)?

     

    Well I have moved over to a rather fine Marantz amp  ......... which 30 seconds after end of play starts letting out a nasty mains hum. It seems that it is much less tolerant than my old amp of its inputs going open circuit.  I presume that this is due to the sound card being put into standby (via DAPM?). Despite several experiments I have failed to find out which module / parameter needs to be hit.  Is this something that your driver does, or does it sit in the wider system?

     

    As always, many thanks

     

    John

     

    More generally for those that are interested,  the PCB I fabricated up last year still works fine, despite my fears about surface oxidation of the copper.  However I will be moving over to the ribbon cable approach that I mentioned when I build my Quad clone ...... which my wife tells me should be after I have built our bedroom :-(

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • hiassoft
    hiassoft over 7 years ago in reply to psyj

    psyj  schrieb:

     

    Well I have moved over to a rather fine Marantz amp  ......... which 30 seconds after end of play starts letting out a nasty mains hum. It seems that it is much less tolerant than my old amp of its inputs going open circuit.  I presume that this is due to the sound card being put into standby (via DAPM?). Despite several experiments I have failed to find out which module / parameter needs to be hit.  Is this something that your driver does, or does it sit in the wider system?

    This is very odd, never had such an issue. Does this also happen if you select an unused input on the amp? Maybe something's coupling into the audio cable from the soundcard to the amp?

     

    There's the pmdown_time module parameter of snd-soc-core which controls how long the outputs will be active after the sound device has been closed. But the default is 5000ms which doesn't quite match your 30 seconds...

     

    so long,

     

    Hias

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • psyj
    psyj over 7 years ago in reply to hiassoft

    MY apologies, I forgot to reply  (which might be important for some other readers).  The input hum is the same regardless of whether the audio cable is plugged into the pi or not.  So yes it seems the input (all of them) is very intolerant of being left open circuit.  I have checked the timing again, and yes it is 30 seconds, which is odd since the time to pmdown is 5 seconds.  Obviously in the grand scheme of things this problem is unimportant, since it is in no way connected to how to use the wolfson/pi, so please do not worry yourself. You most certainly have more important things to do.

     

    In addition, I have just brought a "Allo" relay switched analogue attenuator, which always presents a load to the amp input....hence no problem. I have high hopes for it, especially since I can run the 5102 at its full output

     

    Reegards

     

    John

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube