Go Back   Home > Forums > > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Twisted Pear Superior quality electronic kits

Reply
 
Thread Tools Search this Thread
Old 8th November 2018, 06:11 AM   #2601
janho12345 is offline janho12345  Germany
diyAudio Member
 
Join Date: Mar 2016
Location: BW /Germany
Quote:
Originally Posted by pixelpusher View Post
When it comes to upsampling, my experience with Roon was not good. HQPlayer along with Roon did a much better job.
And I have to confirm! Upsampling is done back in the dam1021 again.
Thanks
  Reply With Quote
Old 2nd December 2018, 03:04 PM   #2602
coroner21 is offline coroner21
diyAudio Member
 
Join Date: Apr 2014
Default Porting botic patches to up to date kernel version

Hi miero, I have tried the image supplied by twluke with much success on my BeagleBone wireless. Since I would like to use archlinux and updated kernels I am currently trying to port your patches to linux-4.19.

Current status: Compilation works just fine after having done some obvious changes due to updated data structures in the ASoC API, however it currently does not work. In I2S mode I get "Transmit buffer underflow" error messages and no real lock on the DAC. DSD mode I still have to look into.

Do you have any ideas how to best troubleshoot? What is the general approach regarding further maintenance of the driver for upstream kernel updates?

Last edited by coroner21; 2nd December 2018 at 03:21 PM.
  Reply With Quote
Old 2nd December 2018, 08:23 PM   #2603
miero is offline miero  Czech Republic
diyAudio Member
 
Join Date: Jun 2011
Location: Prague
coroner21: can you share your patches? I'd like to check&try them on my BBB
__________________
BeagleBone Black with I2S, DSD and SPDIF interface (Linux driver)
http://bbb.ieero.com/
  Reply With Quote
Old 3rd December 2018, 07:08 PM   #2604
coroner21 is offline coroner21
diyAudio Member
 
Join Date: Apr 2014
Quote:
Originally Posted by miero View Post
coroner21: can you share your patches? I'd like to check&try them on my BBB
Sure, thanks a lot for your support! You can find the patches in linux-dev/patches/botic at botic7-v419 * coroner21/linux-dev * GitHub. Please note the following:
  • Patches should apply cleanly to linux-am335x package in ArchlinuxARM (after source was prepared with makepkg -o)
  • Please use -p2 patch option (currently too lazy to reformat the patches)
  • The device trees are probably wrong (I am currently using one that I hacked together by copying botic changes to the BBBW device tree)

Please let me know if I can be of further assistance!
  Reply With Quote
Old 3rd December 2018, 07:29 PM   #2605
miero is offline miero  Czech Republic
diyAudio Member
 
Join Date: Jun 2011
Location: Prague
Does your kernel support device tree overlays? Because years ago I prepared DTS overlays, but I never tested them. But I guess they might "just work".
- add BBB Botic driver overlays * miero/bb.org-overlays@f01b76c * GitHub
__________________
BeagleBone Black with I2S, DSD and SPDIF interface (Linux driver)
http://bbb.ieero.com/
  Reply With Quote
Old 3rd December 2018, 07:34 PM   #2606
coroner21 is offline coroner21
diyAudio Member
 
Join Date: Apr 2014
Quote:
Originally Posted by miero View Post
Does your kernel support device tree overlays? Because years ago I prepared DTS overlays, but I never tested them. But I guess they might "just work".
- add BBB Botic driver overlays * miero/bb.org-overlays@f01b76c * GitHub
I tried them and even played around a little with them but somehow when loading the overlay the system did not boot anymore (which is probably more due to misconfiguration of u-boot on my part). At the moment I do not have the means to debug this further (missing serial console adapter) but definitely plan to revisit device trees and overlays once the driver itself would be working in up to date kernel.
  Reply With Quote
Old 29th December 2018, 08:21 PM   #2607
coroner21 is offline coroner21
diyAudio Member
 
Join Date: Apr 2014
Reporting back with progress (finally!): I am now able to get stereo I2S working perfectly fine on my ES9018 DAC with a modified patch (attached) using the sabre32 module for I2C DAC control. This is on latest BBB kernel for Arch Linux ARM.

To ensure that I did not mess anything up by accident, I for now only patched the botic card + codecs into the kernel not modifying any of the other existing source files. This means that as of now I did not enable DSD or sample rates higher than 192k.

In addition I had to change the overlay for McASP to enable ONLY ONE serializer (as needed for stereo I2S) since I was always getting buffer underruns in case more serializers were activated in device tree:

Code:
fragment@4 {
		target = <&mcasp0>;
		__overlay__ {
			pinctrl-0 = <&mcasp0_custom_pins>;
			serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
				1 0 0 0
			>;
			tx-num-evt = <32>;
			rx-num-evt = <32>;
		};
	};
DSD and higher sample rates remain work in progress.

@miero: Are you still working on this, any updates? Let me know if I can be of assistance.
Attached Files
File Type: txt botic_card_and_codec.diff.txt (54.3 KB, 10 views)
  Reply With Quote
Old 30th December 2018, 06:38 PM   #2608
coroner21 is offline coroner21
diyAudio Member
 
Join Date: Apr 2014
Default Initial updated botic driver for Arch Linux ARM

Found the cause of the major problem with buffer underruns in case more serializers were enabled: Apparently a code change in mcasp caused unused serializers not to be explicitly de-activated anymore which does not really work for our purposes.

Reversing this and applying another minor patch based on miero's initial patch set for the botic driver I am now able to get also DSD working and sample rates up to 384khz.

The updated driver based on linux-4.19 should work with the following (only stereo playback tested on my side though):
  • Standard I2S playback (up to 384khz on 8 channels)
  • DSD playback (up to 4 channels tested only with DSD64 so far (I do not have any other DSD files))
  • I2C control of an ES9018 DAC using sabre32 codec (use the botic codec for generic I2S DAC)

Since I do not need or use it I did not care to maintain the code for the record / SPDIF configuration: This updated driver only works in I2S / DSD mode and the serconfig parameter is not parsed anymore. In addition, my clocks are 45158400 and 49152000 so this is how the driver is configured per default (the usual module parameters can be used to overwrite this).

I have created a github repository and instructions are provided there if anyone wants to try this: GitHub - coroner21/linux-am33xbot: Arch Linux ARM Kernel with botic patches
  Reply With Quote
Old 30th December 2018, 08:40 PM   #2609
miero is offline miero  Czech Republic
diyAudio Member
 
Join Date: Jun 2011
Location: Prague
Wow, thanks! :-)


I'll try to test it too.
__________________
BeagleBone Black with I2S, DSD and SPDIF interface (Linux driver)
http://bbb.ieero.com/
  Reply With Quote
Old 2nd January 2019, 02:41 PM   #2610
doremi is offline doremi
diyAudio Member
 
Join Date: Dec 2016
@coroner21: Great! If you like to pass the package I will try to test i2s 8channels.
  Reply With Quote

Reply


Support for Botic Linux driverHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Open baffle with fullrange driver and bass support Godzilla Full Range 5 22nd July 2011 01:32 PM
Low end support for single driver monitors strider75 Multi-Way 97 30th September 2009 03:02 PM
ASIO support (driver) for Labview Aoxomox Digital Line Level 0 3rd May 2009 05:29 PM
Linux/BruteFIR support coming in LspCAD tcpip Multi-Way 18 18th October 2005 03:08 AM
linux badgers Introductions 3 3rd April 2005 03:27 PM


New To Site? Need Help?

All times are GMT. The time now is 11:20 PM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 15.00%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Copyright ©1999-2019 diyAudio
Wiki