Hi Jon,
I have been reading up several threads in an attempt to get the TDM mode working. I also observed my FS siggnal had glitches. I have not configured the J21 pinouts to I2S using the pinmux template.
-
Is this required, because I can see the TX2 driving the the I2S1 signals using a logic analyzer? I tried configuring using the pinmux template. I am unsure which option to select: I2S or unused DAP1.
-
I found a thread which you had commented on to setup TDMhttps://devtalk.nvidia.com/default/topic/1031552/jetson-tx2/i2s-tdm-adx-demux/2#reply. You showed a configuration for TDM. I have also used the Nvidia documentation for ASoC products under section ADX to adapt your userspace recommendation in the referenced thread. However I get errors. Please can you confirm I am doing the right thing? See code:
amixer -c <tegrasndt186ref> cset name="ADX1 Mux" I2S1
amixer -c <tegrasndt186ref> cset name="ADX1 Output1 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output2 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output3 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output4 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output5 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output6 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output7 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Output8 Channels" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Input Channels" 8
amixer -c <tegrasndt186ref> cset name="ADMAIF1 Mux" ADX1-1
amixer -c <tegrasndt186ref> cset name="ADMAIF2 Mux" ADX1-2
amixer -c <tegrasndt186ref> cset name="ADMAIF3 Mux" ADX1-3
amixer -c <tegrasndt186ref> cset name="ADMAIF4 Mux" ADX1-4
amixer -c <tegrasndt186ref> cset name="ADMAIF5 Mux" ADX1-5
amixer -c <tegrasndt186ref> cset name="ADMAIF6 Mux" ADX1-6
amixer -c <tegrasndt186ref> cset name="ADMAIF7 Mux" ADX1-7
amixer -c <tegrasndt186ref> cset name="ADMAIF8 Mux" ADX1-8
amixer -c <tegrasndt186ref> cset name="I2S1 Channels" 8
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 0" 0
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 1" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 2" 0
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 3" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 4" 0
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 5" 1
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 6" 0
amixer -c <tegrasndt186ref> cset name="ADX1 Byte Map 7" 1
nvidia,adx-slot-size = <32>;
nvidia,adx-slot-map = <
TDM_SLOT_MAP(0, 1, 0)
TDM_SLOT_MAP(0, 1, 1)
TDM_SLOT_MAP(0, 1, 2)
TDM_SLOT_MAP(0, 1, 3)
TDM_SLOT_MAP(1, 1, 0)
TDM_SLOT_MAP(1, 1, 1)
TDM_SLOT_MAP(1, 1, 2)
TDM_SLOT_MAP(1, 1, 3)
TDM_SLOT_MAP(2, 1, 0)
TDM_SLOT_MAP(2, 1, 1)
TDM_SLOT_MAP(2, 1, 2)
TDM_SLOT_MAP(2, 1, 3)
TDM_SLOT_MAP(3, 1, 0)
TDM_SLOT_MAP(3, 1, 1)
TDM_SLOT_MAP(3, 1, 2)
TDM_SLOT_MAP(3, 1, 3)
TDM_SLOT_MAP(4, 1, 0)
TDM_SLOT_MAP(4, 1, 1)
TDM_SLOT_MAP(4, 1, 2)
TDM_SLOT_MAP(4, 1, 3)
TDM_SLOT_MAP(5, 1, 0)
TDM_SLOT_MAP(5, 1, 1)
TDM_SLOT_MAP(5, 1, 2)
TDM_SLOT_MAP(5, 1, 3)
TDM_SLOT_MAP(6, 1, 0)
TDM_SLOT_MAP(6, 1, 1)
TDM_SLOT_MAP(6, 1, 2)
TDM_SLOT_MAP(6, 1, 3)
TDM_SLOT_MAP(7, 1, 0)
TDM_SLOT_MAP(7, 1, 1)
TDM_SLOT_MAP(7, 1, 2)
TDM_SLOT_MAP(7, 1, 3)>;
Best regards
Bade