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
    About the element14 Community
  • 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
Blog Cirrus Logic Audio Card 2015 Update
  • 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
GPIO Pinout
Raspberry Pi Wishlist
Comparison Chart
Quiz
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Former Member
  • Date Created: 16 Jan 2015 3:12 PM Date Created
  • Views 4827 views
  • Likes 4 likes
  • Comments 62 comments
Related
Recommended
  • raspberry_pi
  • raspeberry_pi_accessories

Cirrus Logic Audio Card 2015 Update

Former Member
Former Member
16 Jan 2015

Introduction to the Cirrus Logic Audio Card

With the launch of the Model B+ there was one significant, yet highly appreciated change which meant the existing audio card with the P5 pogo pins was no longer compatible with the Model B+. This is a mechanical limitation and unfortunately it wasn't possible to find a neat solution for the existing card.

To deliver the same audio experience we have updated and created a new audio card for Model B+, called the Cirrus Logic audio card. For anyone who may have missed it Wolfson Microelectronics was acquired by Cirrus Logic in the summer of 2014, hence the name change for the audio card.

This short blog introduces the new Cirrus logic audio card and provides some background on hardware and software developments.

 

Hardware

From a hardware perspective if it isn't broke then don’t mess with it - that was the simple approach we took to the hardware design.

So the updated audio card uses the same core components (WM5102 and WM8804) and has the same core architecture as the original card. From a features perspective there is no significant change however we have listened to the feedback and made some minor improvements. This is mainly around a back powering option, changing the expansion header to 2.54mm pitch, increasing the expansion header to make the unused GPIO pins from the Raspberry Pi accessible and adding the option to connect external stereo ECM microphones to the line input.  

This ensures that users can experience the same high quality audio experience using Model B / B+ or A+.

 

Please refer to the table on the main Cirrus Audio card community page, this provides a good summary of the feature comparison between cards.

 

The key take away on hardware is that the same primary functions remain on both audio cards with only minor changes in hardware design.

 

Software

From a software perspective we continue to update and improve.

Firstly the software for Model B and Model A+/B+ is exactly the same, automatic detection and pin mapping is included so there is no need for different compiled software kernels for the two boards. You can use the Cirrus 3.12 kernel image on either the Wolfson or Cirrus boards with no manual configuration or setup required.

 

What is currently available from a software perspective

  • A Raspbian image is available for download from the E14 community website using kernel 3.12. This will support the Model B,  B+ and A+ using either the Wolfson or Cirrus audio cards.
  • We have also published our source code for the 3.12 kernel on our own newly created github repository. You can find details and the source code here - https://github.com/CirrusLogic/rpi-linux/wiki

 

From the existing Raspberry Pi pull request we received good feedback on issues that users discovered, we have where possible addressed the issues and these are incorporated in the Cirrus github.


With regards to upstreaming into the Raspberry Pi kernel and in particular Kernel 3.12, we have encountered issues relative to how the kernel operates when the card is not connected, there are also issues which impact other audio cards. We have tried to find a solution to this but unfortunately the effort is not insignificant and reaches further than our own drivers. Therefore we are currently unable to support inclusion into the official Raspberry Pi 3.12 kernel.

We have discussed this with the maintainer and he is in support of this limitation and also with regards to our plans going forward.

 

What is our current plan going forward

Integration into the Raspberry pi kernel and in turn the Raspbian distribution remains our end goal. With the issues we have encountered integrating into the 3.12 kernel we are now focusing our efforts on integration to the latest kernel (3.18). The 3.18 kernel in particular adds support for device tree, this in turn provides support for add on modules and in particular will allow the issues with multiple I2S audio cards in 3.12 to be addressed. The Raspberry Pi kernel is planning to move from the current 3.12 kernel in the future so this provides an opportunity to add future support as part of the standard distribution.

 

 

There are now two audio cards available for the appropriate model of Raspberry Pi, both cards use the same software and most importantly both will deliver the same HD audio experience for both capture and playback.

 

We hope you find the new audio card a worthwhile addition to your Raspberry Pi Model B+ experience.

  • Sign in to reply

Top Comments

  • Former Member
    Former Member over 11 years ago in reply to Former Member +1
    It's unfortunate that we all have to engage in wishful thinking when it comes to looking for driver updates. Right now we're all scouring the internet, hoping to find things like updated drivers, better…
  • shabaz
    shabaz over 10 years ago in reply to Former Member +1
    bob p wrote: It's CirrusLogic's responsibility to fix their hardware/software problems. A minor point, but legally, that is likely not the case in most jurisdictions. I guess you mean some moral responsibility…
  • Former Member
    Former Member over 11 years ago in reply to binauralhead

    Hi Alan, I saw your post as I'm on a similar trail to you - just bought a Rpi B+ and Cirrus audio card, hoping to live stream, in my case locally on my LAN. I'm an even greener newbie than you though - out of my depth really in trying to compile from source etc. But I'm replying to your post just in case you've not seen these two threads (you probably have): https://stmllr.net/blog/live-streaming-mp3-audio-with-darkice-and-icecast2-on-raspberry-pi/  & OpenELEC Mediacenter - OpenELEC Forum - Topic: Wolfson Audio Card Support (1/12)   Although the first is using a standard Rpi B and the Rasbian distro, and the second doesn't involve DarkIce or Icecast2, I was wondering if someone who's a lot more knowledgeable than me might be able to use the information there to create a software image that would accomplish what you and I are seeking. Please post again if you make any progress. Good luck!

    Nick

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • binauralhead
    binauralhead over 11 years ago

    After seeing the specs on this card I purchased one!   AND a newer Raspberry Pi B+!!

    However, I am unable to use it in a way that I was hoping to use it. Ughhhh...

     

    Previously I was using a Debian image with Darkice and Icecast2, to stream live audio to a remote "radio" station website.

    I was using an external USB sound device [Behringer UCA202] I was getting great results in stereo at 44,100.

     

    Seeing the Cirrus Logic card my eyes almost popped out of my head with excitement. I'm not sure of the maximum rate I could stream with the Raspberry Pi, but I'm sure that the Cirrus Logic card has less "noise floor" than the Behringer UCA202 USB device.


    I have tried the Cirrus Logic image for the card, works real nice, very impressive sound with my headphones, however, trying to get Darkice and Icecast2 to stream from the card is not so easy, I've failed in trying to achieve this. Not particular for wanting the GUI as more interested working headless - just switch on and stream on the 3G network.


    I have tried to compile a kernel - from links on how to do this here (https://github.com/CirrusLogic/rpi-linux/wiki/Building-the-code).

    It breaks and I can't compile - even after installing Ubuntu on a spare PC - This could be my newbie greenness though!

    Trying to add Darkice and Icecast2 with other MP3 libraries gives errors, and I know that I can't update else the kernel is over written, dang!

     

    What I am after is a simple solution so that I can switch on the Pi (no need for the GUI as I'm totally portable), start Darkice and Icecast2 and stream audio from the Cirrus Logic card as a MP3 stream (for the on-line radio station), I am at a total loss in what to do about it, or if this is actually possible to do yet, with the card?

     

    I look quite regular for solutions for this, and have not found any yet. For now, am not able to use the new Raspberry Pi that I purchased with the Cirrus Logic audio card, I can still use my Old Raspberry Pi & Behringer UCA202 - but it's very disappointing in the mean time.

     

    Alan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fujg1980
    fujg1980 over 11 years ago

    HI Jonny,

    The pi 2 is now on sale. The card can work with pi 2. Is there any plan to post the driver to snappy Ubuntu ?

     

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • royleith
    royleith over 11 years ago

    Hi Jonny,

     

    I've only just discovered this thread and I am glad to see continued support on the Raspi, although I sympathise with your problems getting it fully integrated in the Raspbian kernel.

     

    I have just cut and pasted my comment in another thread as I think it stands on its own. Forgive the slight rant.

     

    As you were. I did complete the working mixer. I, then, decided to update to the latest Cirrus software.

     

    Alsamixer is significantly different and several of the controls no longer report the actual values set in amixer.   The card now appears correctly as hw:1. The Master control is gone and the only way to adjust the playback volume is using the panel widget. It was better when all of the key controls were available in amixer. Finally, the driver is broken! Muting and unmuting the 'HPOUT1 Digital Switch' (aka the headset mute switch) brings up the Mute warning in the Panel icon. It makes no difference whether the headset is connected to the playback path from the Raspberry Pi (AIF1RX) , or not.


    I have tested this with both my mixer revised to work with the new driver and manually setting the values in amixer. I have not actually tried out the latest mixer with sounds (although I have checked that all of the settings are correctly set in amixer), but it looks as though the headset switch must always be on in order to play the Raspberry Pi back through any of the outputs. This is a significant error that was not found in the previous driver.

     

    I'm going to put things on hold in the hope that, when the Raspian kernel has the driver coded in by default, Cirrus will have got their act together re the driver.

    BTW, the mixer is written in Python and Tkinter. If you can find a way for me to get it to you, you are welcome to use it (GPL3).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to fujg1980

    Hi Jianguo,

     

    The Cirrus audio card for the Rasp B+ has basically the same functionality as the earlier card for the Rasp PI B except the connector changes to suit the B+. There is still no access to the WM5102 to program the DSP.

     

    Additionally, we do not support echo cancellation on the WM5102 and would not be able to develop software for this either, even if the DSP could be programmed.

     

    Hope this helps.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • 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 © 2026 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