Jump to content

Use PiSound on C2 with Mainline Kernel


federico

Recommended Posts

Armbianmonitor:

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

Link to comment
Share on other sites

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 |

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines