Fsl_pwm with Colibri iMX8X

Hello @crsl,
syntax errors on the device-tree can be caused by different reasons. Since you just posted a snippet I cannot say for sure, but I think you’re missing an & in front of pwm5:

&pwm5: pwm@40038000 {
compatible = “fsl,imx8qm-ftm-pwm”;
reg = <0x40038000 0x1000>;
#pwm-cells = <3>;
clock-names = “ftm_sys”, “ftm_ext”,
“ftm_fix”, “ftm_cnt_clk_en”;
clocks = <&clks IMX8QM_CLK_FTM0>,
<&clks IMX8QM_CLK_FTM0_EXT_SEL>,
<&clks IMX8QM_CLK_FTM0_FIX_SEL>,
<&clks IMX8QM_CLK_FTM0_EXT_FIX_EN>;
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_pwm0_1>;
big-endian;
};

You want to change this node instead of create a new one. You have to place the node modifications (addressed with the &) in the root of the device-tree, out of the

                                                                                                                                              
/ {                                                                                                                                           
        model = "Toradex Colibri iMX8QXP Module";                                                                                             
        compatible = "toradex,colibri-imx8x", "fsl,imx8qxp";                                                                                  
}; 

Also, using the change node syntax, you can leave out the parts you don’t want to change, they will be merged automatically. You could do something like this:

&pwm5 {
pinctrl-0 = <&pinctrl_pwm0_1>;
};

where pinctrl_pwm0_1 is the node you used to define the new pin settings.
Also please note that the best place to do these modifications would be on the carrier board device-tree (if you create your own you can get our device-trees as base and modify them to match your hardware).

Please don’t forget to disable pinctrl nodes that could be touching the same pins you’re using.

Rafael