{"id":15893708,"url":"https://github.com/pguyot/wm8960","last_synced_at":"2025-08-20T15:23:27.843Z","repository":{"id":42026645,"uuid":"205930747","full_name":"pguyot/wm8960","owner":"pguyot","description":"WM8960 driver for RaspberryPi","archived":false,"fork":false,"pushed_at":"2024-04-29T12:13:30.000Z","size":50,"stargazers_count":21,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T13:21:59.963Z","etag":null,"topics":["audio","linux-driver","nabaztag","raspbian"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pguyot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["pguyot"]}},"created_at":"2019-09-02T20:21:40.000Z","updated_at":"2025-04-01T23:16:27.000Z","dependencies_parsed_at":"2024-10-28T03:24:37.131Z","dependency_job_id":"c56bd62e-7411-4f41-9d8c-2b16b264b915","html_url":"https://github.com/pguyot/wm8960","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pguyot/wm8960","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pguyot%2Fwm8960","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pguyot%2Fwm8960/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pguyot%2Fwm8960/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pguyot%2Fwm8960/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pguyot","download_url":"https://codeload.github.com/pguyot/wm8960/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pguyot%2Fwm8960/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271339434,"owners_count":24742418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","linux-driver","nabaztag","raspbian"],"created_at":"2024-10-06T08:12:51.784Z","updated_at":"2025-08-20T15:23:27.793Z","avatar_url":"https://github.com/pguyot.png","language":"C","funding_links":["https://github.com/sponsors/pguyot"],"categories":[],"sub_categories":[],"readme":"# WM8960 driver for RaspberryPi\n\nPristine WM8960 Linux driver directly taken from Linux source tree.\nBased on d2912cb15bdda8ba4a5dd73396ad62641af2f520 commit of [wm8960.c](https://github.com/torvalds/linux/blob/d2912cb15bdda8ba4a5dd73396ad62641af2f520/sound/soc/codecs/wm8960.c) and [wm8960.h](https://github.com/torvalds/linux/blob/d2912cb15bdda8ba4a5dd73396ad62641af2f520/sound/soc/codecs/wm8960.h) files.\n\nCompatible with recent versions of Raspbian (with kernel version \u003e 4.18, e.g. Raspbian Buster).\n\n## Datasheet\n\nWM8960's datasheet can be found here:\nhttps://statics.cirrus.com/pubs/proDatasheet/WM8960_v4.4.pdf\n\n## Installation\n\nClone source code.\nOptionally edit overlay file to suit your hardware.\nCompile and install with\n\n    make\n    sudo make install\n\nMakefile will automatically edit /boot/config.txt and add/enable if required the following params and overlays:\n\n    dtparam=i2c_arm=on\n    dtoverlay=i2s-mmap\n    dtparam=i2s=on\n    dtoverlay=wm8960\n\nYou might want to review changes before rebooting.\n\nAfter reboot, edit mixer settings with alsamixer. In particular you will probably want to enable switches \"Left Output Mixer PCM\" and \"Right Output Mixer PCM\" (cf schema on page 1 of datasheet) and push up the Headphone or Speaker volumes.\n\n## Overlay\n\nwm8960 is our own overlay. It defines an ALSA sound card using built-in simple-sound-card driver and based on WM8960 codec.\nIt is derived from https://github.com/respeaker/seeed-voicecard/blob/master/seeed-2mic-voicecard-overlay.dts\n\nIt defines the following overrides:\n- `mclk_frequency` clock frequency is set to 12 MHz.\n- `alsaname` defines the name of the card and defaults to wm8960.\n\nFor example, you can change ALSA name with the following line in `/boot/config.txt`:\n\n    dtoverlay=wm8960,alsaname=mycard\n\n## Known limitations\n\n- Some configuration switches are not exposed (e.g. MICBIAS level).\n- WM8960 can play sounds at 12 kHz and 24 kHz yet these frequencies are not reported as available. This is a Linux/ALSA limitation and would require additional code. ALSA plug interface will do the necessary conversion to 48 kHz.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpguyot%2Fwm8960","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpguyot%2Fwm8960","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpguyot%2Fwm8960/lists"}