Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Use PiSound on C2 with Mainline Kernel

Featured Replies

Hi All,

I'm tring to make Ocroid C2 working with PiSound shield.

https://github.com/BlokasLabs/pisound/tree/master/pisound-module

 

I've compiled the module, an I'm able to install it properly.

I've changed the DTS in this way

--- pisound-overlay.dts	2019-01-22 23:28:59.460427794 +0000
+++ pisound-overlay_odroid.dts	2019-01-23 01:48:20.198204778 +0000
@@ -20,10 +20,9 @@
 /dts-v1/;
 /plugin/;
 
-#include <dt-bindings/gpio/gpio.h>
-
+#include "/usr/src/linux-headers-4.19.15-meson64/include/dt-bindings/gpio/gpio.h"
 / {
-	compatible = "brcm,bcm2708";
+	compatible = "amlogic,meson-gxbb";
 
 	fragment@0 {
 		target = <&spi0>;

 

I've followed guide line here

https://docs.armbian.com/User-Guide_Allwinner_overlays/
https://wiki.odroid.com/odroid-c2/application_note/gpio/spi#c2
https://forum.armbian.com/topic/8353-use-gpio-on-c2-with-mainline-kernel/

 

but still getting trouble.

 

Do you've any tips? It spi0 the proper target to use? Do I need to displable something in C2 dts?

 

thanks

Federico

  • Author

Thanks for share the document Tony.

The pinout of pisound are referenced here https://blokas.io/pisound/docs/Specs/

 

meanwhile I've tried to upgrade the i2s driver name inside the pisound kernel module with the one used by odroid c2 but still no luck.

diff --git a/pisound-module/pisound.c b/pisound-module/pisound.c
index ab9ea1f..538fca6 100644
--- a/pisound-module/pisound.c
+++ b/pisound-module/pisound.c
@@ -939,9 +940,9 @@ static struct snd_soc_dai_link pisnd_dai[] = {
        {
                .name           = "pisound",
                .stream_name    = "pisound",
-               .cpu_dai_name   = "bcm2708-i2s.0",
+               .cpu_dai_name   = "aml-i2s-dai.0",
+               .platform_name  = "aml-i2s.0",
                .codec_dai_name = "snd-soc-dummy-dai",
-               .platform_name  = "bcm2708-i2s.0",
                .codec_name     = "snd-soc-dummy",
                .dai_fmt        =
                        SND_SOC_DAIFMT_I2S |

 

The issue here is, there is a pin compatibility problem from what I can see.  The C2 has the 40-pin header wired physically differently in terms of I2S.  The "Le Potato" board looks to have the right pins in the right place, as does the Tinker Board, and the Tritium series.  I'm sure there are others, but I haven't gotten into all of the GPIO's yet, the document I shared is for my own use, but I'm happy to share it.  It doesn't have anything special in it, other than having all the baords in one place, in theory, so you don't have to scour the internet and figure out the various vendor formats to document it.  And I go through the datasheets and look at alternate functions of the GPIO.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.