element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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 on Raspberry Pi 3 B
  • 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 5 replies
  • Subscribers 663 subscribers
  • Views 1870 views
  • Users 0 members are here
  • cirrus-logic-audio-card
  • raspberry-pi3
  • raspberry_pi
  • raspeberry_pi_accessories
Related

Cirrus Logic Audio Card on Raspberry Pi 3 B

Former Member
Former Member over 9 years ago

UPDATE: If you are new to the Cirrus Logic Audio Card, you should know the installation instructions in the manual as well as the Cirrus Logic wiki on Github are completely outdated and useless. Instead, follow the instructions by hiassoft at: http://www.horus.com/~hias/cirrus-driver.html

 


 

Original Post:

 

I've been trying to get the Raspberry Pi 3 B working with the Cirrus Logic Audio Card this weekend with no success. This Element 14 page for the card clearly says the RPi 3 B is supported so I would imagine someone actually made sure this was true. I've tried several times to follow the directions provided by Cirrus Logic in their Github repo.

 

Here's exactly what I did:

 

1. Set up an SD card with the latest Noobs.

 

2. Install Rasbian and log in.

 

3. Connect to my WiFi network.

 

4. Change the keyboard to English US.

 

5. Open the web browser to pull up my notes.

 

6. Carefully run the following commands in order which I've adapted from the wiki.

 

$ sudo apt-get update && sudo apt-get -y upgrade

$ sudo apt-get -y install bc

 

$ mkdir -p /tmp/AudioRepos/raspberrypi/tools

$ mkdir -p /tmp/AudioRepos/CirrusLogic/rpi-linux

 

$ git clone --depth 1 https://github.com/raspberrypi/tools /tmp/AudioRepos/raspberrypi/tools

$ git clone --depth 1 https://github.com/CirrusLogic/rpi-linux /tmp/AudioRepos/CirrusLogic/rpi-linux

 

$ make -C /tmp/AudioRepos/CirrusLogic/rpi-linux bcm2709_defconfig

$ make -C /tmp/AudioRepos/CirrusLogic/rpi-linux -j4

$ make -C /tmp/AudioRepos/CirrusLogic/rpi-linux -j4 modules

$ sudo make -C /tmp/AudioRepos/CirrusLogic/rpi-linux modules_install

 

$ /tmp/AudioRepos/raspberrypi/tools/mkimage/mkknlimg /tmp/AudioRepos/CirrusLogic/rpi-linux/arch/arm/boot/zImage /tmp/AudioRepos/raspberrypi/tools/mkimage/kernel7.img

 

$ sudo cp /tmp/AudioRepos/raspberrypi/tools/mkimage/kernel7.img /boot/kernel7.img

$ sudo cp /tmp/AudioRepos/CirrusLogic/rpi-linux/arch/arm/boot/dts/rpi-cirrus-wm5102-overlay.dtb /boot/overlays/

 

$ sudo bash -c "echo 'dtoverlay=rpi-cirrus-wm5102-overlay' > /boot/config.txt"

$ sudo bash -c "echo -e 'softdep arizona-spi pre: arizona-ldo1\nsoftdep spi-bcm2708 pre: fixed' > /etc/modprobe.d/raspi-blacklist.conf"

 

$ git clone --depth 1 https://github.com/CirrusLogic/wiki-content /tmp/AudioRepos/CirrusLogic/wiki-content

$ mkdir ~/AudioScripts

$ mv /tmp/AudioRepos/CirrusLogic/wiki-content/scripts/* ~/AudioScripts/

$ chmod +x ~/AudioScripts/*.sh

 

$ sudo shutdown -r now

 

Then on restart, the Pi hangs. There are several "Driver leds-gpio requests probe deferral" messages which might mean something. There is also "nonblocking pool is initialized":

image

 

In addition, there is an error related to mmc_bcm2835:

image

 

On the Cirrus Logic board itself, both lights turn on:

image

 

And I definitely have it attached completely:

image

 

 

Anyway, even though I know a thing or two about the command line, I'm not really a low-level guy. I don't compile kernels so I'm not sure how to diagnose this, or even what these errors mean. But I can guarantee you having the CL Audio Card with a RPi 3 B and following the steps above, anyone can replicate this issue.

 

Does anyone have first-hand knowledge that these two actually work together? Can anyone help me figure out what is wrong with my configuration?

 

Thank you.

  • Sign in to reply
  • Cancel
  • boga
    boga over 9 years ago

    Hi, Tom!

     

    I can assure that I went through the same steps and I am seeing exactly the same screen at boot. That's why I started a similar discussion here: Cirrus Logic Audio Card and Raspberry Pi 3.

    At least now I know that I am not the only one. Seems to be a systematic error after following the Cirrus Logic Official Guide.

    Hopefully an expert can look into this.

     

    Regards,

    Boga

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 9 years ago in reply to boga

    Hi Boga,

     

    Looks like we're working on the same exact thing today. I'm glad I'm not the only one with these issues.

     

    I hope someone who knows the internals of the system can help figure this out. I was going to open an issue on GitHub where, presumably, the Cirrus Logic developers might notice, but they don't allow anyone to submit issues there.

     

    - Tom D.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 9 years ago

    Good news!

     

    I was able to boot the Raspberry Pi 3 B and I got the sound card to play back some audio.

     

    I noticed a post from another discussion where user hiassoft linked to his own page with source code and compiled kernels. I downloaded and installed the pre-compiled kernel and followed the configuration instructions. On restart, and after running the appropriate script, I was able to get sound from a YouTube video with my headphones hooked up to the audio card.

     

    So it seems to work!

     

    Next step will be to try to compile the code myself and to reconcile the differences between the hiassoft's code and the out-dated Cirrus Logic repo.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • boga
    boga over 9 years ago in reply to Former Member

    Supergood news, man!

    Thank you very much. I will try it out a.s.a.p!  image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 9 years ago in reply to Former Member

    Alright so the two versions aren't even close. It looks like Cirrus Logic has abandoned updating the software. Meanwhile, amazing work is being done here: Driver fixes and updates to kernel 3.18.16 and 4.0.5

    • 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