Hi guys,
We’re struggling to get our toradex custom board working with this chip. I am wondering if we’ve got something obviously wrong in the device tree?
We’ve based our board on the Verdin dev board, but have used a different chip for the audio as described above.
The DTS looks as below, everything compile and boots, but we never see any sound cards available in linux.
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/imx8mp-clock.h>
#include "imx8mp-pinfunc.h"
/ {
/* Fragment 0: Root overlay for new nodes (sai3, sound card, regulator) */
fragment@0 {
target-path = "/";
__overlay__ {
sai3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3_cust>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
fsl,sai-mclk-direction-output;
status = "okay";
};
/* Sound card node using sai3 */
sound-tas5825m {
compatible = "simple-audio-card";
simple-audio-card,name = "tas5825m";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
/* Define the CPU DAI subnode with label dailink_master */
dailink_master: simple-audio-card,cpu {
sound-dai = <&sai3>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
/* Codec DAI subnode referencing the tas5825m device */
simple-audio-card,codec {
sound-dai = <&tas5825m>;
};
};
/* Regulator node SODIMM_48 */
reg_tas1: regulator-tas1 {
compatible = "regulator-fixed";
regulator-name = "tas_pvdd1";
regulator-min-microvolt = <3300000>; /* 3.3V */
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
};
};
};
/* Fragment 1: Create a new custom pinctrl node under &iomuxc */
fragment@1 {
target = <&iomuxc>;
__overlay__ {
pinctrl_sai3_cust: sai3grp_cust {
fsl,pins =
<MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0x1d6>, /* SODIMM 42 */
<MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0x96>, /* SODIMM 46 */
<MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0x1d6>; /* SODIMM 44 */
};
};
};
/* Fragment 2: Overlay I2C4 to disable nau8822_1a and add the tas5825m device */
fragment@2 {
target = <&i2c4>;
__overlay__ {
nau8822_1a {
status = "disabled";
};
tas5825m: tas5825m@4d {
#sound-dai-cells = <0>;
compatible = "ti,tas5825m";
reg = <0x4d>;
/* MEERCAM SODIMM 48 GPIOCHIP 3 */
pdn-gpios = <&gpio4 30 0>;
pvdd-supply = <®_3p3v>;
ti,dsp-config-name = "default";
};
};
};
};
lsmod shows the codec module loaded and running, and we see it bound with UU in our i2cdetect command.
The only thing I think that might be different is we’ve re-assigned SODIMM_48 to be an enable pin and as you can see above I’ve created a custom pin control group and removed it?
Could that be having any impact at all?
I’m currently struggling where to go next with this so any help would be greatly appreciated.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?

Hello there!
Let’s go through some key points to help you configure the SAI3 interface on your Verdin iMX8M Plus module for digital audio applications:
1. SAI3 Configuration:
The SAI3 interface supports 2/2 Tx/Rx data lines with a maximum sampling rate of 768KHz/32-bit. Your pin assignments for SAI3 should align with the standard digital audio port signals. You can refer to the Verdin iMX8M Plus datasheet for more details on this configuration.
2. Clock Configuration:
It seems your current clock setup might differ from typical configurations. Here’s an example of a working clock configuration:
assigned-clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI1_MCLK1_SEL>, <&clk IMX8MP_CLK_SAI1>;
assigned-clock-parents = <&clk IMX8MP_CLK_SAI1_ROOT>, <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>, <0>;
This setup has been shown to work effectively in similar scenarios.
3. Pin Configuration:
For SODIMM 48, this pin is typically used for “I2S_2_D_IN” with SAI3_RXD as the i.MX 8MP function. If you are reassigning this pin, ensure it is properly disabled in its original configuration to avoid conflicts.
4. Simple Audio Card:
The simple-audio-card configuration can work with a dummy codec setup. Your configuration seems similar, but you might need to adjust the clock settings as mentioned above.
If you need further assistance or a more general approach to troubleshooting, feel free to ask!
Best regards,
Toradex AI Assistant
Hi I’m Simon the electronics engineer working on this project…
Wanted to give some extra information.
I have the TAS chip wired to I2S_2 as seen here.
As mentioned we’ve repurposed pin 48 to be a normal gpio to enable the audio amp.
According to the datasheet these pins are tied to SAI3,
I guess one question would be is SAI3 0 indexed, so when we set the driver are we targeting &SAI3 or &SAI2 ?
We have confirmed with i2cdetect that the chip is seen on i2c address 4D and being used.
Also after removing the sound module and releasing the I2C address, I was able to communicate with the chip and receive its die_id register.

I feel at this stage given that the chip is live and talking, this must be something we have wrong in our driver configuration…
Any help will be appreciated.
I’ve had another crack this morning, latest dts and dmesg attached… still not working
Any bigger brains who can see what I am doing wrong would be greatly appreciated 
broken-dmesg-alsa (29.0 KB)
Dts
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/imx8mp-clock.h>
#include "imx8mp-pinfunc.h"
/ {
/* Fragment 0: Root overlay for new nodes (sai3, sound card, regulator) */
fragment@0 {
target-path = "/";
__overlay__ {
/* Sound card node using sai3 */
sound-tas5825m {
compatible = "simple-audio-card";
simple-audio-card,name = "tas5825m";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
/* Define the CPU DAI subnode with label dailink_master */
dailink_master: simple-audio-card,cpu {
sound-dai = <&sai3>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
/* Codec DAI subnode referencing the tas5825m device */
simple-audio-card,codec {
sound-dai = <&tas5825m>;
};
};
/* Regulator node */
reg_tas1: regulator-tas1 {
compatible = "regulator-fixed";
regulator-name = "tas_pvdd1";
regulator-min-microvolt = <3300000>; /* 3.3V */
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
};
};
};
/* Fragment 1: Create a new custom pinctrl node under &iomuxc */
fragment@1 {
target = <&iomuxc>;
__overlay__ {
pinctrl_sai3_cust: sai3grp_cust {
fsl,pins =
<MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0x1d6>, /* SODIMM 42 */
<MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0x96>, /* SODIMM 46 */
<MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0x1d6>; /* SODIMM 44 */
};
};
};
/* Fragment 2: Disable nau8822_1a and add the tas5825m device */
fragment@2 {
target = <&nau8822_1a>;
__overlay__ {
status = "disabled";
};
};
fragment@3 {
target = <&sai3>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3_cust>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
fsl,sai-mclk-direction-output;
};
};
fragment@4 {
target = <&sai1>;
__overlay__ {
status = "disabled";
};
};
fragment@5 {
target = <&i2c4>;
__overlay__ {
tas5825m: tas5825m@4d {
#sound-dai-cells = <0>;
compatible = "ti,tas5825m";
reg = <0x4d>;
/* MEERCAM SODIMM 48 GPIOCHIP 3 */
pdn-gpios = <&gpio4 30 0>;
pvdd-supply = <®_3p3v>;
ti,dsp-config-name = "default";
};
};
};
};
root@meercam-worker-test:/proc/device-tree # find . | grep tas
./sound-tas5825m
./sound-tas5825m/simple-audio-card,bitclock-master
./sound-tas5825m/simple-audio-card,name
./sound-tas5825m/simple-audio-card,format
./sound-tas5825m/compatible
./sound-tas5825m/simple-audio-card,cpu
./sound-tas5825m/simple-audio-card,cpu/dai-tdm-slot-num
./sound-tas5825m/simple-audio-card,cpu/phandle
./sound-tas5825m/simple-audio-card,cpu/sound-dai
./sound-tas5825m/simple-audio-card,cpu/dai-tdm-slot-width
./sound-tas5825m/simple-audio-card,cpu/name
./sound-tas5825m/simple-audio-card,codec
./sound-tas5825m/simple-audio-card,codec/sound-dai
./sound-tas5825m/simple-audio-card,codec/name
./sound-tas5825m/simple-audio-card,frame-master
./sound-tas5825m/name
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/ti,dsp-config-name
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/#sound-dai-cells
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/compatible
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/pdn-gpios
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/reg
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/phandle
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/pvdd-supply
./soc@0/bus@30800000/i2c@30a50000/tas5825m@4d/name
Hello @alan01252 and @Simon_RN,
From your device tree overlays, I see that you are using an older syntax.
It should still work, but we recommend using the newer syntax for overlays.
We have many examples here: overlays - device-tree-overlays.git - Sources for Device Tree Overlays
Audio is something that can be tricky to get right on the device tree.
What could be part of the issue here is that sai3
is being redeclared in your overlay.
You can see that it is already declared in the following file: imx8mp.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules
In this case, you should just modify properties of this node. For example, using the current syntax:
&sai3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3_cust>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
fsl,sai-mclk-direction-output;
status = "okay";
};
Using sai3
in the device tree is correct, as this is the interface available on on the Verdin iMX8MP for Verdin_I2S_2. Just the way it is being used which is incorrect.
I am also missing in the device tree is an explicit configuration for the GPIO pin which is used as AMP_PWR_EN.
This should not be the issue here, as the default mode of the pin is to be a GPIO, but configuring the pinmuxing is still recommended when a specific mode is required.
The other point I would check is if the I2C interface being used is the correct one, but that seems to be the case from what Simon sent. So no worries here.
Otherwise, maybe some alsa configuration could be getting in the way as well, but we can check that after the changes to the device tree are done.
Best Regards,
Bruno
Hi Bruno,
I’m using the old syntax because the new syntax didn’t seem to update the root node.
Although I have just seen this stackoverflow answer got updated, which might explain things 
Regarding the dts, not sure if you noticed I updated in my second response in this thread.
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/imx8mp-clock.h>
#include "imx8mp-pinfunc.h"
/ {
fragment@3 {
target = <&sai3>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3_cust>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
fsl,sai-mclk-direction-output;
};
};
};
Isn’t that fragment modifying in place? For example if I cat the status on boot I see “okay” whereas by default it’s disabled?
root@test:/ # cat ./sys/firmware/devicetree/base/soc@0/bus@30c00000/spba-bus@30c00000/sai@30c30000/status
okay
edit:
I also tried removing everything in the dts that was using those pins like the backlight nodes etc but that’s also made no difference : (
I added some logs to the simple-sound-card.c it’s some sort of defer issue
[ 9.760222] asoc-simple-card sound-tas5825m: asoc_simple_probe: Allocating private data
[ 9.768472] asoc-simple-card sound-tas5825m: asoc_simple_probe: Private card structure allocated
[ 9.777523] asoc-simple-card sound-tas5825m: asoc_simple_probe: Getting DAIs count
[ 9.785411] asoc-simple-card sound-tas5825m: asoc_simple_probe: Initializing private data for DAI links
[ 9.794886] asoc-simple-card sound-tas5825m: asoc_simple_probe: Parsing device tree configuration
[ 9.803831] asoc-simple-card sound-tas5825m: asoc_simple_probe: Cleaning up after error: -517
So I am pretty confident the DTS is at least being picked up and stuff is trying to be loaded, just need to work out exactly what it thinks it’s waiting for… more logs needed 
@bruno.tx it’s not perhaps requiring this is it? CONFIG_SND_SOC_FSL_SAI=y?
edit:
made no difference
More logs added, I am sure there’s something we’re missing around the sai3, but for the life of me I can’t think what it is.
[ 12.519132] asoc-simple-card sound-tas5825m: asoc_simple_probe: Initializing private data for DAI links
[ 12.519141] asoc-simple-card sound-tas5825m: asoc_simple_probe: Parsing device tree configuration
[ 12.519144] asoc-simple-card sound-tas5825m: simple_parse_of: Parsing widgets
[ 12.519148] asoc-simple-card sound-tas5825m: simple_parse_of: Parsing routing
[ 12.519153] asoc-simple-card sound-tas5825m: simple_parse_of: Parsing pin switches
[ 12.519157] asoc-simple-card sound-tas5825m: simple_parse_of: Iterating through DAI links
[ 12.519164] asoc-simple-card sound-tas5825m: __simple_for_each_link: Looking for simple-audio-card,dai-link node
[ 12.519169] asoc-simple-card sound-tas5825m: __simple_for_each_link: simple-audio-card,dai-link node not found, using top node
[ 12.519174] asoc-simple-card sound-tas5825m: __simple_for_each_link: Processing node /sound-tas5825m with 2 children
[ 12.519184] asoc-simple-card sound-tas5825m: __simple_for_each_link: Found codec node /sound-tas5825m/simple-audio-card,codec
[ 12.519193] asoc-simple-card sound-tas5825m: __simple_for_each_link: No platform node in /sound-tas5825m
[ 12.519201] asoc-simple-card sound-tas5825m: __simple_for_each_link: Parsing convert properties for child /sound-tas5825m/simple-audio-card,codec
[ 12.519220] asoc-simple-card sound-tas5825m: __simple_for_each_link: Parsing convert properties for child /sound-tas5825m/simple-audio-card,cpu
[ 12.519234] asoc-simple-card sound-tas5825m: __simple_for_each_link: Processing child /sound-tas5825m/simple-audio-card,codec
[ 12.519240] asoc-simple-card sound-tas5825m: __simple_for_each_link: Using normal branch for child /sound-tas5825m/simple-audio-card,codec (li->cpu=1, (child==codec_node)=1)
[ 12.519248] asoc-simple-card sound-tas5825m: __simple_for_each_link: Processing child /sound-tas5825m/simple-audio-card,cpu
[ 12.519255] asoc-simple-card sound-tas5825m: __simple_for_each_link: Using normal branch for child /sound-tas5825m/simple-audio-card,cpu (li->cpu=1, (child==codec_node)=0)
[ 12.519274] asoc-simple-card sound-tas5825m: __simple_for_each_link: func_noml returned -517 for child /sound-tas5825m/simple-audio-card,cpu
[ 12.519284] asoc-simple-card sound-tas5825m: __simple_for_each_link: Error -517 returned for child /sound-tas5825m/simple-audio-card,cpu
[ 12.519291] asoc-simple-card sound-tas5825m: __simple_for_each_link: Exiting with ret=-517
[ 12.519297] asoc-simple-card sound-tas5825m: simple_parse_of: simple_for_each_link failed: -517
[ 12.519301] asoc-simple-card sound-tas5825m: asoc_simple_probe: Cleaning up after error: -517
Okay I added more logging to the sai driver, and it looks like our error is here
fsl-sai 30c30000.sai: fsl_sai_probe: Using imx_pcm_dma_init for DMA PCM registration
sl-sai 30c30000.sai: fsl_sai_probe: imx_pcm_dma_init failed: -517
Right that was fixed by adding these modules
CONFIG_SND_SOC_FSL_SAI=y
CONFIG_IMX_SDMA=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
It was this:
Without:
CONFIG_SND_SOC_FSL_SAI=y
The sai never gets probed, and you just get the deferred message with no reaason for the cause I could see.
Without:
CONFIG_IMX_SDMA=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
The sai module also fails, with both those we see our sound card.
Hello @alan01252,
Sorry for the delay.
Just to confirm, with these changes you are able to use the codec correctly, right?
Best Regards,
Bruno
Thanks @bruno.tx well, we;re onto the next issue:
Well we’re onto the next issue 
root@worker-test:/ # aplay /usr/share/sounds/alsa/Noise.wav
Playing WAVE '/usr/share/sounds/alsa/Noise.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
aplay: set_params:1416: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: S16_LE
SUBFORMAT: STD
SAMPLE_BITS: 16
FRAME_BITS: 16
CHANNELS: 1
RATE: 48000
PERIOD_TIME: 125000
PERIOD_SIZE: 6000
PERIOD_BYTES: 12000
PERIODS: 4
BUFFER_TIME: 500000
BUFFER_SIZE: 24000
BUFFER_BYTES: 48000
TICK_TIME: 0
root@meercam-worker-test:/ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: tas5825m [tas5825m], device 0: 30c30000.sai-tas5825m-amplifier tas5825m.3-004d-0 [30c30000.sai-tas5825m-amplifier tas5825m.3-004d-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@meercam-worker-test:/ #
[ 585.994927] fsl-sai 30c30000.sai: failed to derive required Tx rate: 3072000
[ 586.002162] fsl-sai 30c30000.sai: ASoC: error at snd_soc_dai_hw_params on 30c30000.sai: -22
[ 586.013126] 30c30000.sai-tas5825m-amplifier: ASoC: __soc_pcm_hw_params() failed (-22)
[ 1048.424661] fsl-sai 30c30000.sai: failed to derive required Tx rate: 3072000
[ 1048.431988] fsl-sai 30c30000.sai: ASoC: error at snd_soc_dai_hw_params on 30c30000.sai: -22
[ 1048.441822] 30c30000.sai-tas5825m-amplifier: ASoC: __soc_pcm_hw_params() failed (-22)
[ 1974.132051] EXT4-fs (mmcblk2p2): re-mounted. Opts: (null). Quota mode: none.
[ 1993.953616] fsl-sai 30c30000.sai: failed to derive required Tx rate: 3072000
[ 1993.960760] fsl-sai 30c30000.sai: ASoC: error at snd_soc_dai_hw_params on 30c30000.sai: -22
[ 1993.970564] 30c30000.sai-tas5825m-amplifier: ASoC: __soc_pcm_hw_params() failed (-22)
Any hints would be greatly appreciated 
I think we’re good, working DTS
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/imx8mp-clock.h>
#include "imx8mp-pinfunc.h"
/ {
/* Fragment 0: Root overlay for new nodes (sai3, sound card, regulator) */
fragment@0 {
target-path = "/";
__overlay__ {
/* Sound card node using sai3 */
sound-tas5825m {
compatible = "simple-audio-card";
simple-audio-card,name = "tas5825m";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
/* Define the CPU DAI subnode with label dailink_master */
dailink_master: simple-audio-card,cpu {
sound-dai = <&sai3>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
/* Codec DAI subnode referencing the tas5825m device */
simple-audio-card,codec {
sound-dai = <&tas5825m>;
};
};
/* Regulator node */
reg_tas1: regulator-tas1 {
compatible = "regulator-fixed";
regulator-name = "tas_pvdd1";
regulator-min-microvolt = <3300000>; /* 3.3V */
regulator-max-microvolt = <3300000>;
regulator-boot-on;
gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
};
};
};
/* Fragment 1: Create a new custom pinctrl node under &iomuxc */
fragment@1 {
target = <&iomuxc>;
__overlay__ {
pinctrl_sai3_cust: sai3grp_cust {
fsl,pins =
<MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0x1d6>, /* SODIMM 42 */
<MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0x96>, /* SODIMM 46 */
<MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0x1d6>; /* SODIMM 44 */
};
};
};
/* Fragment 2: Disable nau8822_1a and add the tas5825m device */
fragment@2 {
target = <&nau8822_1a>;
__overlay__ {
status = "disabled";
};
};
fragment@3 {
target = <&sai3>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3_cust>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
fsl,sai-mclk-direction-output;
};
};
fragment@4 {
target = <&sai1>;
__overlay__ {
status = "disabled";
};
};
fragment@5 {
target = <&i2c4>;
__overlay__ {
tas5825m: tas5825m@4d {
#sound-dai-cells = <0>;
compatible = "ti,tas5825m";
reg = <0x4d>;
/* MEERCAM SODIMM 48 GPIOCHIP 3 */
pdn-gpios = <&gpio4 30 0>;
};
};
};
};
Plus
CONFIG_SND_SOC_FSL_SAI=y
CONFIG_IMX_SDMA=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
And we have sound…
1 Like
Hello @alan01252,
Thanks for the update and sharing your solution.
Best Regards,
Bruno