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
Raspberry Pi Forum Cirrus Logic Audio Card working on the Raspberry Pi 2
  • 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 165 replies
  • Subscribers 715 subscribers
  • Views 26933 views
  • Users 0 members are here
  • wolfson
  • raspberry
  • audio
  • pi
  • cirrus
  • raspberry_pi
  • rpi2
  • raspeberry_pi_accessories
  • pi2
Related

Cirrus Logic Audio Card working on the Raspberry Pi 2

e14 Contributor
e14 Contributor over 11 years ago

Hi all!

 

As you might know, Cirrus Logic's main kernel source branch recently switched to 3.18.

My first thought was "Hmm, that means the Cirrus Logic card could finally work on the RPi2..."

I have built a couple of 3.18 kernels for my B+ and RPi2 and I have managed to get both models to produce sound image

 

It's still early days, i.e. there are possibly bugs and glitches to fix, but for those of you who would like to try it out I've made an image file that you can download here:

https://drive.google.com/file/d/0BzIaxMH3N5O1cmJ1bFhMcG1hc0E/view?usp=sharing

The file is a 1.3 GB zip. Uncompressed size is 3.1 GB, so it fits comfortably on a 4 GB card.


The image is based on the standard 2015-02-16-raspbian-wheezy image from the Foundation that you flash to a SD card for a fresh install.

I have only added my kernels and set up the configuration files to get the card going.

It should work on the older B model  with a Wolfson Audio Card too, but I haven't tested that yet.

 

Have fun!

--

Ragnar

  • Sign in to reply
  • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    Hi Ragnar

     

    yes, both items verified, the config.txt is exactly as your example, all other lines only comments (and by the way if I put the # kernel.... the original kernel is working again)

      -rwxr-xr-x 1 root root 0 Mar 27 17:59 /boot/overlays/rpi-cirrus-wm5102-overlay.dtb is my answer on ls -l /boot/overlays/rpi-cirrus-wm5102-overlay.dtb

     

    Have you seen my added hint on a failure message after using the tar command?

    Txs for your help!!!

    Frank

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    No, I didn't see that. It definitely hints at a corrupt download, though. There shouldn't be any complaints from tar.

     

    $ md5sum kernel_3_18_9_W_CL.tgz 
    ce65d837280659e90ea99b5b6aba8566 kernel_3_18_9_W_CL.tgz

     

     

    EDIT: I missed this at first:

      -rwxr-xr-x 1 root root 0 Mar 27 17:59 /boot/overlays/rpi-cirrus-wm5102-overlay.dtb is my answer on ...

    That doesn't look right, the overlay file is zero bytes, it should be 3334 bytes.

    --

    Ragnar

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    Hello Ragnar,

    finally solved as you gave me the hint and you were right --> the overlay file was empty.

    And I found out why and want to post it here as this might happen to other folks as well:

    • The md5 checksum was OK on the windows machine as well as on the RPi
    • The error message while extracting the tgz file was:     tar: Exiting with failure status due to previous errors

    Reason for that:

    • While downloading the kernel...._CL.tgz file on a windows machine and copying the file to the SD card to the /boot directory (as this is the only visible directory under windows)
    • The /boot directory was 100% used and consequently no file could be really writen into this dir --> above error message generated

     

    root@raspberrypi:/# df -h

    Filesystem      Size Used Avail Use% Mounted on

    rootfs          15G 2.6G  12G  19% /

    /dev/root        15G 2.6G  12G  19% /

    devtmpfs        214M 0  214M  0% /dev

    tmpfs            44M 232K  44M  1% /run

    tmpfs          5.0M    0 5.0M  0% /run/lock

    tmpfs            88M    0 88M  0% /run/shm

    /dev/mmcblk0p1 56M  56M    0 100% /boot


    After removing the kernel..._CL.tgz file to another location everything operated perfectly. I got the CL card to work, yipiyeah


    Txs for your hints!!


    Frank

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago

    Thanks,

    I used the Listen_to_SPDIF_on_LineOut.sh skript and it works perfect with 44.100 Khz.

    However when the source uses 48.000 Khz, the music comes with a lot of noise and distortion.

    Unfortunately I can't disable 48khz on my PS3  :-(

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • hiassoft
    hiassoft over 11 years ago in reply to e14 Contributor

    Some One wrote:

    I used the Listen_to_SPDIF_on_LineOut.sh skript and it works perfect with 44.100 Khz.

    However when the source uses 48.000 Khz, the music comes with a lot of noise and distortion.

    Not sure if it's related to your issue, but I noticed that the mixer names changed from "SPDIF in" / "SPDIF out" to "SPDIF In" / "SPDIF Out" in the kernel 3.18 driver. I've attached updated listen scripts, give them a try, maybe that fixes your issue.

     

    so long,

     

    Hias

    Attachments:
    https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/91/Listen_5F00_scripts_5F00_3.18.tgz
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to hiassoft

    That didn't change it, but  thanks for trying.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    See here on how to change the S/PDIF rate:

    http://www.element14.com/community/message/107506/l/re-re-re-re-is-it-possible-to-send-audio-from-spdif-in-to-the-lineou…

     

    --

    Ragnar

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    Hi Ragnar,

    I'm a bit confused I'm afraid! I saw your .deb files and tried to install the drivers with these .deb file. The package was installed, but thats obviously not enough to get the card working. So could you tell us the steps to follow to get the card working? Do i also need the .tar files? Please forgive me if this is a stupid question. The method with the .tar files only worked for me perfectly.

     

    Thanks for your great work!

     

    Thomas

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    Hi Thomas!

     

    No, you don't need the .tar file, but you have to make the same kind of changes to the configuration files.

    After you have installed  the .deb package, add these lines

     

    dtparam=spi=on
    dtparam=i2c_arm=on
    dtoverlay=rpi-cirrus-wm5102-overlay

    to the file /boot/config.txt

     

    On a RPi2B, also add

    kernel=vmlinuz-3.18.9-v7cludlmmapfll

     

    or, on all others, add

     

    kernel=vmlinuz-3.18.9cludlmmapfll

    to /boot/config.txt

     

    Put these lines into /etc/modprobe.d/raspi-blacklist.conf  (create the file if it doesn't exist.)

    softdep arizona-spi pre: arizona-ldo1
    softdep spi-bcm2708 pre: fixed

     

    EDIT to add: You  also need the overlay file rpi-cirrus-wm5102-overlay.dtb if you don't already have it in /boot/overlays. You can extract the tar file in some temporary location and then copy the overlay file from it to /boot/overlays.

    --

    Ragnar

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 11 years ago in reply to e14 Contributor

    Hi Ragnar,

    that was the missing part! It's running now!

     

    Thanks for the good work and your kind support!

     

    Thomas

    • 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 © 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.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube