All Projects → redchenjs → mt762x-wm8960

redchenjs / mt762x-wm8960

Licence: GPL-2.0 license
MT762X WM8960 ALSA SoC machine driver

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to mt762x-wm8960

Apulse
PulseAudio emulation for ALSA
Stars: ✭ 574 (+2921.05%)
Mutual labels:  sound, alsa
Helenos
A portable microkernel-based multiserver operating system written from scratch.
Stars: ✭ 553 (+2810.53%)
Mutual labels:  kernel, sound
openwrt-useful-tools
A repo containing different tools compiled specifically for the Hak5 WiFi Pineapple MK6 and MK7.
Stars: ✭ 155 (+715.79%)
Mutual labels:  openwrt, mt76x8
plan44-feed
OpenWrt feed containing plan44 packages
Stars: ✭ 25 (+31.58%)
Mutual labels:  openwrt, mt7688
XPS-17-9700-Ubuntu-Soundfix
A simple script to install the necessary firmware to fix sound output (dummy sound).
Stars: ✭ 19 (+0%)
Mutual labels:  kernel, sound
alsa-utils
The Advanced Linux Sound Architecture (ALSA) - utilities
Stars: ✭ 122 (+542.11%)
Mutual labels:  sound, alsa
KubeArmor
Cloud-native Runtime Security Enforcement System
Stars: ✭ 434 (+2184.21%)
Mutual labels:  kernel
X-Piano
Now you can make your own piano!
Stars: ✭ 13 (-31.58%)
Mutual labels:  sound
openwrt-bpi-r2
Scripts for building OpenWRT for Banana Pi R2
Stars: ✭ 14 (-26.32%)
Mutual labels:  openwrt
w1-gpio-cl
Command line configured kernel mode 1-wire bus master driver. w1-gpio standard Linux module enhancement/substitution.
Stars: ✭ 17 (-10.53%)
Mutual labels:  kernel
meta-openwrt
OE/Yocto metadata layer for OpenWRT
Stars: ✭ 75 (+294.74%)
Mutual labels:  openwrt
figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 362 (+1805.26%)
Mutual labels:  sound
duckOS
Yet another hobby x86 UNIX-like operating system written in C and C++. Features a dynamically linked userspace, an in-house c standard library, and more! And yes, it runs DOOM.
Stars: ✭ 250 (+1215.79%)
Mutual labels:  kernel
kowalski-grus
WIP Kernel for Xiaomi MI 9 SE
Stars: ✭ 22 (+15.79%)
Mutual labels:  kernel
DentOS
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
Stars: ✭ 32 (+68.42%)
Mutual labels:  kernel
simetbox-openwrt-feed
SIMETBox package feed for OpenWRT (comece aqui/start here!)
Stars: ✭ 72 (+278.95%)
Mutual labels:  openwrt
reverb
Straightforward (sound/multipurpose) reverberator
Stars: ✭ 23 (+21.05%)
Mutual labels:  sound
Noisekun
🎧 Web page made with Next.js and Typescript, for listen combinations of sounds for relaxing or getting more productive on tasks.
Stars: ✭ 17 (-10.53%)
Mutual labels:  sound
hUGEDriver
An easy-to-use, fast, tracker-based, public domain sound driver for Game Boy homebrew
Stars: ✭ 26 (+36.84%)
Mutual labels:  sound
apm82181-lede
APM82181 LEDE Repository
Stars: ✭ 18 (-5.26%)
Mutual labels:  openwrt

MT762X WM8960 ALSA SoC machine driver

ALSA SoC machine driver for MT762X SoCs with WM8960 CODEC chip.

Requirements

  • OpenWrt with kernel 5.10 or later.

Preparing

  • Add the mt762x-wm8960 folder to the package/kernel folder of OpenWrt.
cd package/kernel
git clone https://github.com/redchenjs/mt762x-wm8960.git
  • Modify the target DTS file in the target/linux/ramips/dts folder of OpenWrt according to the example DTS files.

WM8960 MCLK

WM8960 can get MCLK from an externel clock source or the refclk output of MT762X SoCs (12MHz). To enable the refclk output, you can modify the dts file as follows:

refclk {
	groups = "refclk";
	function = "refclk";
};

WM8960 ADCLRC

WM8960 can internally get ADCLRC from DACLRC and the ADCLRC pin can be used as GPIO1. It is useful for some boards that only have the DACLRC pin connected and the ADCLRC pin is left floating. To enable this feature, modify the dts file as follows:

codec: wm8960@1a {
	compatible = "wlf,wm8960";
	reg = <0x1a>;
	wlf,shared-lrclk;
	wlf,hp-cfg = <0 0 0>;
	wlf,gpio-cfg = <1 0>;
};

Configuring the OpenWrt

make menuconfig

Kernel modules:

  • Navigate to > Kernel modules > Sound Support.
  • Select kmod-sound-core and kmod-sound-mt762x-wm8960.

Userspace tools:

  • Navigate to > Sound and select alsa-utils.

Building the image

make -j9 V=s

Settings

Examples of /etc/asound.conf:

  • examples/asound.conf.alsa for ALSA only.
  • examples/asound.conf.pulse for PulseAudio.

After restarting, the output of WM8960 is muted. Use these commands to set the volume.

amixer sset "Headphone" 90
amixer sset "Speaker" 90

Playback

amixer sset "Left Output Mixer PCM" on
amixer sset "Right Output Mixer PCM" on

Capture

amixer sset "Left Input Mixer Boost" on
amixer sset "Right Input Mixer Boost" on
amixer sset "ALC Function" "Stereo"

References

WM8960 block diagram

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].