Jump to content

Georgios Fevgidis

Members
  • Posts

    11
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi I am using codekeppers suggested overlay in mainline kernel as I2S slave with my external clock board BUT after playing one or two tracks I notice that the channels swap. Do anyone else noticed that? Is there any solutions for that?
  2. I did some testing today and I can tell that the overlay you suggested works just fine both as slave and right justified format. I only played 16/44 tracks (feeding nanopi neo with a 2.8224 MHz bitclock and a 44.1 KHz LRclock from my clockcard). My setup is almost identical as nikkov except for the external clock card I will do some more testing and report back. I have some small issues with pops and clicks when the nanopi is in pause state but I dont think it has something to do with the software.
  3. I must start saying thank you for trying helping me. I am back in Stockholm now and I will try your suggestion tomorrow. I am loading this overlay to RPi /dts-v1/; /plugin/; / { compatible = "brcm,bcm2708"; fragment@0 { target = <&i2s>; __overlay__ { status = "okay"; }; }; fragment@1 { target-path = "/"; __overlay__ { pcm1794a_codec: pcm1794a_codec { #sound-dai-cells = <0>; compatible = "ti,pcm1794a"; status = "okay"; }; }; }; fragment@2 { target = <&sound>; __overlay__ { compatible = "simple-audio-card"; simple-audio-card,name = "G-Dis-DAC"; simple-audio-card,format = "right_j"; simple-audio-card,bitclock-master = <&codec_dai>; simple-audio-card,frame-master = <&codec_dai>; status="okay"; cpu_dai: simple-audio-card,cpu { sound-dai = <&i2s>; dai-tdm-slot-num = <2>; dai-tdm-slot-width = <32>; }; codec_dai: simple-audio-card,codec { sound-dai = <&pcm1794a_codec>; }; }; }; }; I agree with you about using the mainline driver but according to some answers earlier in the thread I thought it didnt supported slave mode. I can post some pictures of my dac/reclocking board ao you can see how it looks like.
  4. I really believe that someone like nikkov here could easily point me to the right direction. with the overlay part.
  5. No I am not talking about pcm5102 boards. The reason I want to do this is to get lower jitter from the transport nanopi neo in this case. I use own designed hardware based on a high quality clock that generates my bitclock and LRclock and feeds those to the sbc that obviously must be in slave mode generating the data for me. Then I reclock Bclk lrclk and data and send them to a discrete R2R DAC. That is the reason I need the data to be i r_j format. That works fine with Raspberry pi. But for some reason I always get better results using nanopi or odroid instead for RPi
  6. I tested on my nanopi neo yesterday. I didnt had so much time but it seems to work both i slave and master mode. I will test some more to figure out how the fs switches work. My problem is that I am not a software guy and it is difficult to figure out how to set things like right_j format. I can see in the driver (sun8i-i2c) that it is support for that.
  7. I mean applying the patch from that link https://github.com/ua3nbw-cf/orangepi_i2s and building a new image you get two new overlays you can set in armbian-config one for i2s master and one for i2s slave. i2s slave looks like that. +/dts-v1/; +/plugin/; + +/ { + compatible = "allwinner,sun8i-h3"; + + fragment@0 { + target-path = "/"; + __overlay__ { + pcm5102a: pcm5102a { + #sound-dai-cells = <0>; + compatible = "ti,pcm5102a"; + }; + }; + }; + + fragment@1 { + target = <&i2s0>; + __overlay__ { + compatible = "allwinner,sun8i-h3-i2s-slave"; + status = "okay"; + pinctrl-0 = <&i2s0_pins &i2sclk_pins>; + sound-dai = <&pcm5102a>; + clock-source = "external"; + clk-gpios = <&pio 0 6 1>, <&pio 6 6 1>, <&pio 6 7 1>; /* PA6 , PG6 , PG7 */ + }; + }; + + fragment@2 { + target = <&pio>; + __overlay__ { + i2sclk_pins: i2sclk_pins { + pins = "PA6", "PG6", "PG7"; + function = "gpio_out"; + }; + }; + }; +}; + It uses the sun8i-i2s driver instead. But as you can see those overlays dont use simple-card thats why I wonder how one can set the I2S format in that overlay.
  8. I did a new build for nanopi neo according to the orangepi_i2s link above and it works but as you can see in my example my codec accepts only right justified I2S format Do you know how to change the overlays for master/slave to get that format? Since those doesnt use simple-card at all?
  9. I tried to set my nanopi neo in I2S slave mode using the dts file in the thread and added the bitclock-master/frame-master lines fragment@2 { target = <&sound>; __overlay__ { compatible = "simple-audio-card"; simple-audio-card,name = "G-Dis-DAC"; simple-audio-card,format = "right_j"; simple-audio-card,bitclock-master = <&codec_dai>; simple-audio-card,frame-master = <&codec_dai>; status="okay"; but the sound card doesnt show up after reboot. Is something wrong with the syntax or does the driver not support that?
  10. Ok nice that someone else than me seems to be interested to get I2S slave mode working. In my opinion it is the only way to have a chance to get hi end audio from those devices. I tried the changes you suggested for a time ago and failed that was the reason I sent my question here. But I never thought that it could be the version of debian that didn't supported that. So I have the same question as you What version supports those settings?
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines