Ouch, I'm sorry - incorrect "To:".
lintweaker; can you push that RT patch to mpd-dsd github branch please?
lintweaker; can you push that RT patch to mpd-dsd github branch please?
Ouch, I'm sorry - incorrect "To:".
lintweaker; can you push that RT patch to mpd-dsd github branch please?
I have created the 'mpd-dsd-018-rt' branch. Should be ready to go.
After 2 months and 2 days updated Botic driver (v3) is OUT!
http://bbb.ieero.com/
Notice:
- changed default pins for data2 from P9_28 to P9_42 (but it can be switched back easily )
- compatible with Botic cape (however not tested yet)
- changed configuration of channels (see README)
- added possibility to output SPDIF streams (four of them)
- underruns should be fixed now (with playing on real-time priority)
- from command line use "chrt 1 play ... " to play with real-time priority
- BBB overclocked to 1GHz by default
- interrupt handler for mcasp (detects HW errors and resumes halted playback in worst case)
- updated MPD with DSD and realtime patches (provided by lintweaker - many thanks!)
Known issues:
- playback of 384kHz works in 50% cases
Enjoy!
http://bbb.ieero.com/
Notice:
- changed default pins for data2 from P9_28 to P9_42 (but it can be switched back easily )
- compatible with Botic cape (however not tested yet)
- changed configuration of channels (see README)
- added possibility to output SPDIF streams (four of them)
- underruns should be fixed now (with playing on real-time priority)
- from command line use "chrt 1 play ... " to play with real-time priority
- BBB overclocked to 1GHz by default
- interrupt handler for mcasp (detects HW errors and resumes halted playback in worst case)
- updated MPD with DSD and realtime patches (provided by lintweaker - many thanks!)
Known issues:
- playback of 384kHz works in 50% cases
Enjoy!
Last edited:
Great work Miero.After 2 months and 2 days updated Botic driver (v3) is OUT!
Have updated my BBB and tested using I2S DAC and Squeezelite - all working fine.
Thanks Miero (and lintweaker) - great work that we really appreciate.
I'll update my BBB over the weekend.
Now all we need is.....
Ray
I'll update my BBB over the weekend.
Now all we need is.....
Ray
After 2 months and 2 days updated Botic driver (v3) is OUT!
-snip-
Enjoy!
Thank you, miero! It's perfect. Now I'm enjoying flawless sound of DSD128.
And also thank you for your contribution, lintweaker.
Best regards,
twluke
Well done. 
DSD Seek support works now and no more hang at the end of certain DSD128 songs.

DSD Seek support works now and no more hang at the end of certain DSD128 songs.
Last edited:
Hello,
I'm really interested by this thread because i would like to support DSD on an Imx6 with WM8741 DAC. As i read previously, it seems to be possible with the botic driver to support wm8741. I just wanted to discuss with you on what i need concerning imx6 or another SOC. As I understood, you are using a GPIO to send the DSD data but what caps do i need to do that on imx6? I'm checking in the meanwhile to sort out the information...🙂
I'm really interested by this thread because i would like to support DSD on an Imx6 with WM8741 DAC. As i read previously, it seems to be possible with the botic driver to support wm8741. I just wanted to discuss with you on what i need concerning imx6 or another SOC. As I understood, you are using a GPIO to send the DSD data but what caps do i need to do that on imx6? I'm checking in the meanwhile to sort out the information...🙂
(offtopic) dabrain, you need to study datasheet of imx6. The DSD using McASP (BBB audio subsystem) is implemented using Burst transfers. Check the driver source code and the AM335x datasheet.
Miero, thanks for these refinements.
Also, do you find that with the BBB locked to 1000Mhz that it gets warm/hot?
If so, do you think we should add a small heatsink to the Sitara processor?
Thanks
I like to know the underlying settings - are you just using these 2 commands at bootup?- BBB overclocked to 1GHz by default
Code:
cpufreq-set -g userspace
cpufreq-set -f 1000Mhz
If so, do you think we should add a small heatsink to the Sitara processor?
Thanks
there are different arguments used for cpufreq-set... check the file /etc/rc.local
cpu consumes more power when running at higher frequency, but it seems that it is not much either and the heatsink is not needed in my environment
cpu consumes more power when running at higher frequency, but it seems that it is not much either and the heatsink is not needed in my environment
Well done Miero, I've been following your posts and this is a remarkable achievement. Looking forward to trying it out when my Beagle eventually turns up.
cpu consumes more power when running at higher frequency
Thanks miero, can you put a number to the power consumption of the BBB running your new distribution?
Ray
Miero, great improvement! Congrats!After 2 months and 2 days updated Botic driver (v3) is OUT!
Enjoy!
No more 'machine gun' sound with my setup. Everythings plays flawlessly.
BTW is volume control for the es9018 implemented? edit: noticed on your webpage, its for the next release
Last edited:
Hello Miero,
After reading code and datasheet, i would to clarify some points. Indeed the imx6 give acces to a synchronous serial interface SSI which allow to communicate with different kind of serial devices. Thats the way today i'm communicating with a wm8740 in I2S. In your DSD solution, i understand that you are using a fake PCM mode in ALSA to send DSD data and so I'm wondering about the burst transfer mode. Why do I need this mode to transfer DSD ?
Is it a kind of I2S msasp mode subset ?
For now i'm sorry if i ask stupid questions but i'm trying to sort out what do I need on my chip to perform what you did with mcASP.
Best regards.
After reading code and datasheet, i would to clarify some points. Indeed the imx6 give acces to a synchronous serial interface SSI which allow to communicate with different kind of serial devices. Thats the way today i'm communicating with a wm8740 in I2S. In your DSD solution, i understand that you are using a fake PCM mode in ALSA to send DSD data and so I'm wondering about the burst transfer mode. Why do I need this mode to transfer DSD ?
Is it a kind of I2S msasp mode subset ?
For now i'm sorry if i ask stupid questions but i'm trying to sort out what do I need on my chip to perform what you did with mcASP.
Best regards.
Good question dabrain. The I2S is subset of TDM (Time Division Multiplex) which combines multiple channels (e.g. left+right channel) into single stream. For DSD_U8 you need two streams (stereo) with single channel in the each. So you need to setup TDM to 1 channel in stream (i.e. no multiplex), but this is not valid configuration option in McASP. However the McASP supports setting number 0 into that register, which is the (non-periodic) Burst mode but for DSD it is used periodically.
Another option is to use DSD_U16_LE bit format which can be played as 4ch 16bit PCM but you need to adapt something (ALSA or player) to reorder bytes in DSD stream.
Another option is to use DSD_U16_LE bit format which can be played as 4ch 16bit PCM but you need to adapt something (ALSA or player) to reorder bytes in DSD stream.
Thx a lot miero. I just purchased a beaglebone black to perform some tests against your distribution. But i'm not able to launch the DSD playback. I'm getting this error.
Failed to open mixer for 'Botic'
Do I need to have ES9018 plugged in ? Or can i just get the signal out from the dedicated pins ? Do i need to change a setting to support the dsd files included in the distrib ?
Best regards.
Steph
Failed to open mixer for 'Botic'
Do I need to have ES9018 plugged in ? Or can i just get the signal out from the dedicated pins ? Do i need to change a setting to support the dsd files included in the distrib ?
Best regards.
Steph
- Home
- More Vendors...
- Twisted Pear
- Support for Botic Linux driver