felipeduque

Members
  • Content Count

    14
  • Joined

  • Last visited

Everything posted by felipeduque

  1. I was struggling to make SPH0645 I2S microphone to work with H3 mainline kernel (4.14.87), on NanoPi Neo Core. After weeks of distress, I finally made it work! Maybe some will find it useful. Here's what I did: 1- In file sound/soc/sunxi/sun4i-i2s.c, change the following line { SUN8I_I2S_RX_CHAN_SEL_REG, 0x00000000 } to { SUN8I_I2S_RX_CHAN_SEL_REG, 0x00001000 } You may have to download the linux-source package for your kernel version, or you can build your own kernel. It's weird that in legacy kernel, this register was assigned 0x00001000 by default (and the mi
  2. Hi, @cibernuts. I was struggling to make the same mic (SPH0645 I2S) to work with H3 mainline kernel (4.14.87), on NanoPi Neo Core. After weeks of distress, I finally made it work! Here's what I did: 1- In file sound/soc/sunxi/sun4i-i2s.c, change the following line { SUN8I_I2S_RX_CHAN_SEL_REG, 0x00000000 } to { SUN8I_I2S_RX_CHAN_SEL_REG, 0x00001000 } You may have to download the linux-source package for your kernel version, or you can build your own kernel. I'm not sure if this register can be accessed through an overlay. I tried my best but could not find
  3. @dony71 The "make linux-menuconfig" stuff is just saying that you need to compile the kernel with the "Allwinner A10 I2S Support" option enabled. You can do it by several means, one of which is the "make linux-menuconfig", but I don't remember how to do it. However, you can compile the kernel using Vagrant. That's how I've always done.
  4. Apparently the fix by @JohnF doesn't work on mainline (it did work for me on legacy). This fix worked for me on mainline.
  5. It works here. Thanks. Apparently things were different on legacy. I had to do this workaround, but it didn't work on mainline.
  6. I2S left-justify requires audio_format = 3. As far as I'm concerned, there is no audio_format = 0. But I think you may run into hardware issues with I2S on OPi zero. See this post.
  7. I've been delving into I2S driver on H3 (legacy kernel) because I need TDM (time-division multiplexing) mics to work. So I came across what all those fex parameters really mean. Almost all of them can be found in sunxi-daudio0.c, some can be found in sunxi-snddaudio0.c, and you need to match those parameters to H3 datasheet. I'll spit out some of my findings. Please feel free to ask questions about any of the parameters. - daudio_master: it goes from 1 to 4. It selects slave/master combinations of bit clock and frame sync. = 1: bit clock and frame sync are inp
  8. @burak That's good to know. However, I'm struggling to make the proper changes to sun4i-i2s.c and device tree stuff. Would you be willing to share the files you had to change?
  9. Hi, @projetoarduino, thank you very much for your straightforward fix. You mention in your readme that your modified device tree also enables audio. What kind of audio? I tried to record audio with my I2S microphone but arecord doesn't show any audio interface...
  10. Hi, all. I have the same question ("Can you install Armbian to NanoPi Neo Core eMMC?") but on legacy kernel. I was able to install Armbian to NanoPi Neo Core eMMC on mainline, following this topic, but cannot find anyone who made it work on legacy. (I really want to use legacy because I need I2S microphones, and was not able to make them work on mainline.) (Another option was to use NanoPi Neo Air legacy image, which supports eMMC out of the box, but I also need Ethernet, which isn't supported by Neo Air!)
  11. Hi all. I'm still struggling to capture I2S audio on my OrangePi PC (H3), mainline kernel. I've followed all steps by @Valery Rezvyakov and was able to see the I2S input device with arecord -l, just like @Christos. However, audio is not captured properly: there is an annoying DC offset at about 99% of maximum output value, thus only downwards signal excursion is possible (in fact, they are captured, as I can see them with Audacity). I'm using Adafruit SPH0645 I2S microphone as the capture device, and it's not a hardware problem because it works perfectly with legacy kernel. Audio f
  12. That's exactly the same problem I'm facing right now with legacy 3.4.113 on Nano Pi NEO Air (H3 chip). Audio recorded with e.g. S32_LE format is garbage, whereas S16_LE is perfect. Has anybody figured out how to handle this? I tried meddling with pcm0 parameters to no avail.
  13. Version 5.38 now, but there is no spi0 in armbian-config. There are i2c0, usbhost0 etc, but no spi0... And now eth0 won't even show up, but the module is correctly loaded (same "chip not found error" though). My bad when writing the post. It was correct in my file.
  14. Hi all. I've been struggling for several days to establish an internet connection via enc28j60 (Ethernet to SPI device) on my Nano Pi NEO Air, running Armbian 5.27, kernel 4.11.3. I have this custom DTS file added to my armbianEnv.txt, with two small modifications regarding the interrupt pin (apparently, PA7 is not available on Nano Pi NEO Air). I have pins = "A17"; ... interrupts = <0 17 2>; instead of pins = "PA7"; ... interrupts = <0 7 2>; The DT stuff is correctly loaded during boot, and an eth0 interface shows up (initially with random M