Thank you @Chavira for your response.
I made changes as you recommended and the dtc compiler throws errors.
gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
Error: syntax error
FATAL ERROR: Unable to parse input tree
gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
Error: syntax error
FATAL ERROR: Unable to parse input tree
With regard to pin configuration, I didn't find the node pinctrl_gpio_led.
It is defined as
pinctrl_gpio_led = "/soc@0/bus@30000000/pinctrl@30330000/gpioledgrp";
inside __symbols__ {}
However, I can find the gpioledgrp node, so I guessed this to be the node you were referring to in order to add pin configuration. In original dts file, it is defined as
gpioledgrp {
fsl,pins = <0x120 0x380 0x00 0x05 0x00 0x140>;
phandle = <0x96>;
};
I added the pin configuration and now looks like this:
gpioledgrp {
fsl,pins = <MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x140 MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x140>;
phandle = <0x96>;
};
Error: syntax error
FATAL ERROR: Unable to parse input tree
I have added the dts file, which is decompiled from original dtb file (Command: dtc -I dtb -O dts -f imx8mp-evk.dtb -o imx8mp-evk.dts), in my original post.
I suspect something to be wrong with my dts file. I am not sure though.