• Disclaimer: This Vendor's Forum is a paid-for commercial area. Unlike the rest of diyAudio, the Vendor has complete control of what may or may not be posted in this forum. If you wish to discuss technical matters outside the bounds of what is permitted by the Vendor, please use the non-commercial areas of diyAudio to do so.

Support for Botic Linux driver

Try running make build first.

Thanks for suggestion but this caused error with the C90 warning like below:
Code:
root@arm:/usr/src/lirc-bbb-master# make build
make -C /lib/modules/`uname -r`/build M=$PWD
make[1]: Entering directory '/usr/src/linux-headers-4.8.13-botic7-rc3'
  LD      /usr/src/lirc-bbb-master/built-in.o
  CC [M]  /usr/src/lirc-bbb-master/lirc_bbb.o
/usr/src/lirc-bbb-master/lirc_bbb.c: In function ‘is_right_chip’:
/usr/src/lirc-bbb-master/lirc_bbb.c:284:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  int *pin_wanted = (int *)data;
  ^~~

-snip-

/usr/src/lirc-bbb-master/lirc_bbb.c:279:12: warning: ‘is_right_chip’ defined but not used [-Wunused-function]
 static int is_right_chip(struct gpio_chip *chip, void *data)
            ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:295: recipe for target '/usr/src/lirc-bbb-master/lirc_bbb.o' failed
make[2]: *** [/usr/src/lirc-bbb-master/lirc_bbb.o] Error 1
Makefile:1473: recipe for target '_module_/usr/src/lirc-bbb-master' failed
make[1]: *** [_module_/usr/src/lirc-bbb-master] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.8.13-botic7-rc3'
Makefile:12: recipe for target 'build' failed
make: *** [build] Error 2
The gcc I used is the latest (Debian 6.3.0-18). A problem of declaration order? Thank you.
 
Add
CFLAGS=-std=c99
to the top of the make file and find out...

Thanks again for your help. Unfortunately this didn't work like below:

Code:
root@arm:/usr/src/lirc-bbb-master# vi Makefile
root@arm:/usr/src/lirc-bbb-master# make build
make -C /lib/modules/`uname -r`/build M=$PWD
make[1]: Entering directory '/usr/src/linux-headers-4.8.13-botic7-rc3'
scripts/Makefile.build:49: *** CFLAGS was changed in "/usr/src/lirc-bbb-master/Makefile". Fix it to use ccflags-y.  Stop.
Makefile:1473: recipe for target '_module_/usr/src/lirc-bbb-master' failed
make[1]: *** [_module_/usr/src/lirc-bbb-master] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.8.13-botic7-rc3'
Makefile:14: recipe for target 'build' failed
I'm not sure how and where to use ccflags-y to fix.

Regards,
 
Coming from and older Botic setup I upgraded to latest Volumio for BBB.

I can only play 48k (and multiple) files but with 44.1/88.2 I have no sound but no errors either.

Has it to do with differences between uEnv.txt and /sys/module/snd_soc_botic/parameters ?

/boot/uEnv.txt:
#Docs for Botic: http://bbb.ieero.com/
optargs=
snd_soc_botic.ext_masterclk=5
snd_soc_botic.dsd_format_switch=0
snd_soc_botic.serconfig=I---
snd_soc_botic.dai_format=16385

root@volumio:/home/volumio# for i in /sys/module/snd_soc_botic/parameters/*; do echo $i=$(cat $i); done
/sys/module/snd_soc_botic/parameters/blr_ratio=64
/sys/module/snd_soc_botic/parameters/clk_44k1=22579200
/sys/module/snd_soc_botic/parameters/clk_48k=24576000
/sys/module/snd_soc_botic/parameters/dai_format=16385
/sys/module/snd_soc_botic/parameters/dsd_format_switch=1
/sys/module/snd_soc_botic/parameters/ext_masterclk=3
/sys/module/snd_soc_botic/parameters/pinconfig=default
/sys/module/snd_soc_botic/parameters/serconfig=MMMM

I would expect this to be the same ??
I use fot 48k the internal clock and for 44.1 an external clock.
I suspect a problem here.

I do not have to mount uEnv.txt (mount /dev/mmcblk0p1 /boot/uboot --> nano /boot/uboot/uEnv.txt) as with the original Botic ?
 
miero, thanks!
I use Volumio from the official website.
I added to uEnv.txt
snd_soc_davinci_mcasp.mute_pin=0
and have "mute" on pin P9_30
But I want to invert the "mute" signal on P9_30
I change to
snd_soc_davinci_mcasp.mute_pin=16777216
but no changes occur.
What am I doing wrong?
 
Last edited:
My complete command line to the kernel is:
optargs=snd_soc_botic.ext_masterclk=7 snd_soc_botic.dsd_format_switch=3 snd_soc_botic.serconfig=--MM snd_soc_davinci_mcasp.mute_pin=0 snd_soc_botic.pinconfig=compat snd_soc_botic.clk_44k1=34662600 snd_soc_botic.clk_48k=36864000

If I set snd_soc_davinci_mcasp.mute_pin=1 then I get "mute" on pin P9_41
I suggested that we should addition new value to the default value "-1".
default value "-1"
data0 value "+1"
-1+(+1)=0
If I set = 0 and got "mute" on pin P9_30. So I addition "0 + 16777216 = 16777216" With this value, I also get "mute" on pin P9_30 without inversion.
If I set = 1 and also = 16777217 I get "mute" on pin P9_41. Always without inversion.

Does someone have the inverse of the "mute" signal?
 
Last edited: