-
Posts
15 -
Joined
-
Last visited
Reputation Activity
-
Valery Rezvyakov got a reaction from Christos in H3 I2S0 DT overlay
driver not support
I2S slave on mainline H3/5
https://github.com/nikkov/friendlyarm-linux/tree/sunxi-4.11.y
https://github.com/ua3nbw-cf/orangepi_i2s
-
Valery Rezvyakov got a reaction from Christos in Armbian 5.36 with kernel 4.14, on-board codec sound?
amixer -c 0 -q set "Line Out" 100%+ unmute amixer -c 0 -q set "DAC" 100%+ unmute
-
Valery Rezvyakov got a reaction from Christos in H3 I2S0 DT overlay
Get the source & create a simple Makefile:
mkdir adau7002 cd adau7002 wget https://raw.githubusercontent.com/trsqr/media_tree/bd676c0c04ec94bd830b9192e2c33f2c4532278d/sound/soc/codecs/adau7002.c nano Makefile Makefile contents:
obj-m := adau7002.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean install: sudo cp adau7002.ko /lib/modules/$(shell uname -r) sudo depmod -a Those indentations are a single tab character - use spaces & it won't work.
Build:
make all install Next, we create a new device tree overlay. Create a file i2s-soundcard-overlay.dts with this content:
/dts-v1/; /plugin/; / { compatible = "allwinner,sun8i-h3"; fragment@0 { target-path = "/"; __overlay__ { adau7002_codec: adau7002_codec { #sound-dai-cells = <0>; compatible = "adi,adau7002"; status = "okay"; }; }; }; fragment@1 { target = <&i2s0>; __overlay__ { status = "okay"; pinctrl-0 = <&i2s0_pins>; sound-dai = <&adau7002_codec>; pinctrl-names = "default"; }; }; fragment@2 { target-path = "/"; __overlay__ { sound_i2s { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,name = "adau7002"; simple-audio-card,bitclock-slave = <&dailink0_slave>; simple-audio-card,frame-slave = <&dailink0_slave>; simple-audio-card,widgets = "Microphone", "Microphone Jack"; simple-audio-card,routing = "PDM_DAT", "Microphone Jack"; status = "okay"; simple-audio-card,cpu { sound-dai = <&i2s0>; }; dailink0_slave: simple-audio-card,codec { sound-dai = <&adau7002_codec>; }; }; }; }; }; Compile & install the overlay:
armbian-add-overlay i2s-soundcard-overlay.dts Reboot and you'll have a microphone recording device
root@orangepipc:~# arecord -l **** List of CAPTURE Hardware Devices **** card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: adau7002 [adau7002], device 0: 1c22000.i2s-adau7002-hifi adau7002-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 I don't have anything to test it with, but alsamixer shows a sound card with the chosen name and no controls, which is what you would expect.
lsmod | grep snd
root@orangepipc:~# lsmod | grep snd snd_soc_hdmi_codec 16384 1 snd_soc_simple_card 16384 0 snd_soc_adau7002 16384 1 snd_soc_simple_card_utils 16384 1 snd_soc_simple_card snd_soc_core 118784 7 snd_soc_adau7002,sun4i_codec,sun4i_i2s,sun8i_codec_analog,snd_soc_hdmi_codec,snd_soc_simple_card_utils,snd_soc_simple_card snd_pcm_dmaengine 16384 1 snd_soc_core snd_pcm 69632 4 sun4i_i2s,snd_pcm_dmaengine,snd_soc_hdmi_codec,snd_soc_core snd_timer 24576 1 snd_pcm snd 45056 3 snd_timer,snd_soc_core,snd_pcm soundcore 16384 1 snd
-
Valery Rezvyakov got a reaction from MitchD in H3 I2S0 DT overlay
make linux-menuconfig (by buildroot)
Device Drivers
----->Sound card support
----->Advanced Linux Sound Archtecture
------>ALSA for Soc audio support
--------->Allwinner Soc Audio support
[*]Allwinner A10 I2S Support
patch:
diff --git a/sound/soc/sunxi/Kconfig b/sound/soc/sunxi/Kconfig index 22408bc..7842de4 100644 --- a/sound/soc/sunxi/Kconfig +++ b/sound/soc/sunxi/Kconfig @@ -30,8 +30,10 @@ config SND_SUN8I_CODEC_ANALOG config SND_SUN4I_I2S tristate "Allwinner A10 I2S Support" + depends on OF select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO + select SND_SOC_PCM5102A help Say Y or M if you want to add support for codecs attached to the Allwinner A10 I2S. You will also need to select the On the Orange:
dpkg -i linux-headers-next-sunxi_5.34_armhf.deb
file sun8i-h3-I2S-out.dts :
armbian-add-overlay sun8i-h3-I2S-out.dts
reboot
results:
root@orangepipc:~# uname -a Linux orangepipc 4.13.12-sunxi #6 SMP Tue Nov 14 02:58:07 MSK 2017 armv7l GNU/Linux root@orangepipc:~# cat /proc/asound/cards 0 [I2Smaster ]: I2S-master - I2S-master I2S-master 1 [Codec ]: H3_Audio_Codec - H3 Audio Codec H3 Audio Codec 2 [allwinnerhdmi ]: allwinner_hdmi - allwinner,hdmi allwinner,hdmi root@orangepipc:~# dmesg |grep i2s [ 9.529374] asoc-simple-card sound_i2s: pcm5102a-hifi <-> 1c22000.i2s mapping ok [ 10.406113] asoc-simple-card sound: i2s-hifi <-> 1c22800.i2s mapping ok root@orangepipc:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: I2Smaster [I2S-master], device 0: 1c22000.i2s-pcm5102a-hifi pcm5102a-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: allwinnerhdmi [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
-
Valery Rezvyakov got a reaction from Christos in H3 I2S0 DT overlay
make linux-menuconfig (by buildroot)
Device Drivers
----->Sound card support
----->Advanced Linux Sound Archtecture
------>ALSA for Soc audio support
--------->Allwinner Soc Audio support
[*]Allwinner A10 I2S Support
patch:
diff --git a/sound/soc/sunxi/Kconfig b/sound/soc/sunxi/Kconfig index 22408bc..7842de4 100644 --- a/sound/soc/sunxi/Kconfig +++ b/sound/soc/sunxi/Kconfig @@ -30,8 +30,10 @@ config SND_SUN8I_CODEC_ANALOG config SND_SUN4I_I2S tristate "Allwinner A10 I2S Support" + depends on OF select SND_SOC_GENERIC_DMAENGINE_PCM select REGMAP_MMIO + select SND_SOC_PCM5102A help Say Y or M if you want to add support for codecs attached to the Allwinner A10 I2S. You will also need to select the On the Orange:
dpkg -i linux-headers-next-sunxi_5.34_armhf.deb
file sun8i-h3-I2S-out.dts :
armbian-add-overlay sun8i-h3-I2S-out.dts
reboot
results:
root@orangepipc:~# uname -a Linux orangepipc 4.13.12-sunxi #6 SMP Tue Nov 14 02:58:07 MSK 2017 armv7l GNU/Linux root@orangepipc:~# cat /proc/asound/cards 0 [I2Smaster ]: I2S-master - I2S-master I2S-master 1 [Codec ]: H3_Audio_Codec - H3 Audio Codec H3 Audio Codec 2 [allwinnerhdmi ]: allwinner_hdmi - allwinner,hdmi allwinner,hdmi root@orangepipc:~# dmesg |grep i2s [ 9.529374] asoc-simple-card sound_i2s: pcm5102a-hifi <-> 1c22000.i2s mapping ok [ 10.406113] asoc-simple-card sound: i2s-hifi <-> 1c22800.i2s mapping ok root@orangepipc:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: I2Smaster [I2S-master], device 0: 1c22000.i2s-pcm5102a-hifi pcm5102a-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: allwinnerhdmi [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
-
Valery Rezvyakov got a reaction from tkaiser in CoovaChilli and Freeradius for a Wifi Hotspot with captive portal
Hello everyone, today I would like to show you how to compile CoovaChilli and Freeradius for a Wifi Hotspot with captive portal on an Orange Pi PC (or PC Plus). I'm writing this because I couldn't find anything related to this topic on the internet, so I wrote this not very detailed guide.
wget https://raw.githubusercontent.com/ua3nbw/opihotspot/master/opihotspot_debian.sh chmod +x opihotspot_debian.sh ./opihotspot_debian.sh Russian version https://ua3nbw.ru/all/orangepi-coovachilli-and-freeradius-for-a-wifi-hotspot-with-capt/