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