codekipper

Members
  • Content count

    8
  • Joined

  • Last visited

  1. H3 I2S0 DT overlay

    Congratulations, this is the first time slave clock has been utilised on the mainline driver. Do you have my debug enabled?, it would be nice to see register settings during playback. I'll follow the same test procedures when I get my new codec.
  2. H3 I2S0 DT overlay

    I guess we've just never had all the possible information, the oversample rates were documented in the A20 user manual (128 was the lowest)but not in the later iterations.
  3. H3 I2S0 DT overlay

    please do....I've currently got a logic analyser on my pcm5102a boards and I'm seeing issues with the clock division which I will address. It would be good to have someone testing on an older board as my A20 EVB is no longer booting.
  4. H3 I2S0 DT overlay

    mainline should support slave mode https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/sunxi/sun4i-i2s.c?h=v4.15-rc2#n502 there is also a few patches which I haven't delivered yet here https://github.com/codekipper/linux-sunxi/commits/sunxi-wip however I still need to test these properly before pushing for mainline. I'm also trying to come up with a cleaner solution for when the codec expects 32bits frame width.
  5. H3 I2S0 DT overlay

    OK, we can reuse most of the working overlay and adapt it for the h3. Slave mode should be supported by the mainline driver but I've not tested it, however I do have a master codec in the post which should get to me sometime this week. Do you have access to a logic analyser?, BR, CK
  6. H3 I2S0 DT overlay

    It would make more sense to work with the mainline driver and fix issues with it over than working with this sun8i-i2s driver. So from what I read you have an external G-Dis DAC and some highly accurate clock board which you wish to clock both the dac and SoC with. What other connections do you have from the nanopi?, are the gpio's mentioned in the overlay used? Overlays should be fairly straight forward, can you try this?. // Definitions for G-Dis DAC /dts-v1/; /plugin/; / { compatible = "allwinner,sun8i-h3"; fragment@0 { target = <&i2s0>; __overlay__ { pinctrl-0 = <&i2s0_pins>; pinctrl-names = "default"; status = "okay"; }; }; fragment@1 { target-path = "/"; __overlay__ { i2s0_out: i2s0-out { #sound-dai-cells = <0>; compatible = "linux,spdif-dit"; }; sound_i2s { simple-audio-card,name = "G-Dis DAC"; compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&codec_dai>; simple-audio-card,frame-master = <&codec_dai>; simple-audio-card,mclk-fs = <256>; status = "okay"; simple-audio-card,cpu { sound-dai = <&i2s0>; }; codec_dai: simple-audio-card,codec { sound-dai = <&i2s0_out>; }; }; }; }; }; What did you use to get it working with the Raspberry pi?, CK
  7. H3 I2S0 DT overlay

    RJF and slave mode should work with the sun4i-i2s driver, although I've only tested i2s, LJR and master. The sun8i-i2s driver shouldn't be used but may prove useful for debugging(I used it for the lrclk setting to get hdmi audio working!). Please show me your hardware. I've not seen a pcm5102 board with on-board clocks. CK
  8. H3 I2S0 DT overlay

    Hi, which board is being used as an i2s slave?...The current mainline driver should support slave configuration but I've never tested it(audioinjector board is on its way). It's also unclear what these clk-gpios are for; is it just logic to set the clocking rate? and if that is the case then it should be in the codec driver and not the dai. CK