I just found this today. Looks like the NanoPi H5 line of SBCs can output in 786Khz?! Support I2S 768kHz * blue777/NanoPi-NEO2-I2S_MCLK@6ca18e9 * GitHub
NanoPi-NEO2 の I2SでMCLK出力 & 384kHz, 768kHz, 1536kHz, 8kHz対応 - Qiita (you need to use google translate for this one if you don't speak Japanese
Might be worth it to give this one a shot. The Neo2 is $20 so it would be a cheap experiment.
I will also add that the reason I am asking this question is because the only source for these USB -> I2S cards seems to be diyinhk.com. Don't get me wrong, its reasonably priced, but there has to be another way...
I own both an Orange Pi PC and a NanoPi A25. They are in a drawer somewhere. Both have the codec that Sunxi incororated into the SOC - it's supposedly 24bit and at least up to 192k. The problem is that these very small SBCs use the board's ground as the analog reference for the audio output. It's pretty noisy, and kind of takes away from the high sample rates and 24 bits and it not useful for anything but headphones.
I have attached a 1kHz spectrum for the A64 based NanoPi SBC from FriendlyElec. This was taken with the SBCs output at mac. S/N is worse than 70dB!
Attachments
Last edited:
But we are talking about i2s output, right? The codec shouldn't matter in that case.
Correct. I think Charlie might be referring to the 3.5 jack?
There are countless ways for the sound output. But the input path - the audio gadget driver - is the missing part. Part of the code was provided by samsung, probably planned for their android phones - that would explain the fixed samplerates for capture and playback. But the question is - can you finish the driver? Or are you willing to hire someone? E.g. through the alsa-devel mailing list subscribed by SoC specialists.
You bring up a good point. The output is only half the battle, the usb gadget needs to function also. What are you referring to with the samsung thing?
Correct. I think Charlie might be referring to the 3.5 jack?
Yes I was. Sorry about that! Analog output is just pretty bad, but that is not what you are interested in...
Correct, but wasn't it replaced by this? linux/u_audio.h at master * torvalds/linux * GitHub
May I ask what makes you think that linux/u_uac2.h at master * torvalds/linux * GitHub was replaced by a file of a different name linux/u_audio.h at master * torvalds/linux * GitHub , both files being in the same version of the kernel project?
Github has great search capability, why not using it:
Search * u_uac2.h * GitHub
Search * u_audio.h * GitHub
Why do I think it was replaced? Because I read the commit where it was added (Which is entitled: "usb: gadget: f_uac2: convert to new function interface with backward compatibility"): usb: gadget: f_uac2: convert to new function interface with backward … * torvalds/linux@f8f93d2 * GitHub
From the commit:
Notice is the search results you posted for u_uac2.h that the 3 results are:
1. The actual file
2. A driver in the legacy directory
3. The actual function (f_uac2.c) where u_audio.h is also included
From the commit:
Converting uac2 to the new function interface requires converting
the USB uac2's function code and its users.
This patch converts the f_uac2.c to the new function interface.
The file is now compiled into a separate usb_f_uac2.ko module.
The old function interface is provided by means of a preprocessor
conditional directives. After all users are converted, the old interface
can be removed.
Notice is the search results you posted for u_uac2.h that the 3 results are:
1. The actual file
2. A driver in the legacy directory
3. The actual function (f_uac2.c) where u_audio.h is also included
Last edited:
Exactly with that commit the samsung code was added by
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> - a guy from Samsung.
I do not see any sign of replacing it when it was in fact added. No that is really matters
You are right, not worth arguing over. But are you suggesting the uac 2.0 gadget driver doesn't work?
I think I am just going to have to play around with it and find out, the info out there is pretty spread out. This suggests though that the default values can be changed: USB Audio Gadget: Support multiple sampling rates [LWN.net]
On another note, I found out the Atomic Pi comes with an onboard XU208-128-TQ64. Seems like the logical board to try with this experiment.
On another note, I found out the Atomic Pi comes with an onboard XU208-128-TQ64. Seems like the logical board to try with this experiment.
Thanks for the patch catch. Unfortunately it has not made it into upstream History for drivers/usb/gadget/function/f_uac2.c - torvalds/linux * GitHub
But maybe it will work, I keep my fingers crossed for your project.
But maybe it will work, I keep my fingers crossed for your project.
On another note, I found out the Atomic Pi comes with an onboard XU208-128-TQ64. Seems like the logical board to try with this experiment.
The XMOS chip itself won't give you much, you'll need to program it to do what you need as it doesn't seem to support anything higher than 48 KHz as is: Increase I2S Audio output from 48Khz to 192Khz - Champ - Forums for Shopify
- Status
- This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
- Home
- Source & Line
- PC Based
- Is it possible to use an SBC as a standalone DAC?