Thanks, The above control looks good except that I2S would be configured for 4 channels based on -c 4 which needs a override control too. Please use the below mixer
amixer -c 1 sset “I2S1 Channels” “8”
Thanks, The above control looks good except that I2S would be configured for 4 channels based on -c 4 which needs a override control too. Please use the below mixer
amixer -c 1 sset “I2S1 Channels” “8”
This is not what I am trying to do.
In the previous commands, I route the ADX outputs to the ADMAIFs:
amixer -c 1 sset “ADMAIF1 Mux” “ADX1-1”
amixer -c 1 sset “ADMAIF2 Mux” “ADX1-2”
My understanding is that this connects ADMAIF1 to output 1 of ADX1, and ADMAIF2 to output 2 of ADX2
When I specify hw:1,0 in arecord, I am telling it to get the data from ADMAIF1, right? So it should be getting the data from ADX1-1. Similarly, when I specify hw:1,1 in arecord, I am telling it to get the data from ADMAIF2, which is connected to output 2 of the ADX (ADX1-2)
The other commands route the 8 channels of I2S1 to the input of ADX1, and then configure ADX to have two 4-channel outputs.
The following lines connect the 8 channels from I2S1 to the ADX, and instruct it to expect 8 channels on the input, and to produce two 4-channel outputs:
amixer -c 1 sset “ADX1 Mux” “I2S1”
amixer -c 1 sset “ADX1 Input Channels” “8”
amixer -c 1 sset “ADX1 Output1 Channels” “4”
amixer -c 1 sset “ADX1 Output2 Channels” “4”
amixer -c 1 sset “ADX1 Output3 Channels” “0”
amixer -c 1 sset “ADX1 Output4 Channels” “0”
The other Byte Map commands above tell the ADX where to route each input byte (i.e. which part of the output)
I understood your requirement. Please note as I2S1 is also connected in the capture path, the channels and I2S clock calculation would be for 4 channels (i.e not 8 channels as you expects as this is I2S master). So you need to override I2S to operate for 8 channel instead of -c 4 in arecord option. Please include this extra controls and let me know the result
Apologies, I mis-read your message. I will give this a try later this afternoon.
Thank you.
Update: I re-ran the sequence above and now I get nothing (0s all around). I guess I must have somehow made something work through various experiments that led up to the sequence above, but I can’t get it to work anymore at all.
I will revisit this more systematically when I have the chance.
It would be nice if the documentation had a capture path example for this. I’m not sure if the sequencing is correct, but I don’t have any good examples for dumuxing the capture path to confirm.