@tmassalene,
Were you able to compile the overlay and test?
Yes, It should be fine, just needing a few alterations on the .dts file
note the pps node gpios keyword, and the new pin iomuxc
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "imx6dl-pinfunc.h"
/ {
compatible = "toradex,colibri-imx6dl";
};
&{/} {
pps {
compatible = "pps-gpio";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pps>;
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl_pps: pps {
fsl,pins = <
MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0
>;
};
};
&can1 {
status = "disabled";
};
I was able to solve my issues with the Colibri Imx6dl.
The fixes:
- I was not able to get pps to work with dunfell. Moved to kirkstone.
- I was not able to get the line
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-mainline-rt"
to work, had to change the distro.
- I was using the wrong the pin name in iomux. Validated the pin name in the header file :
imx6dl-pinfunc.h
- Even with the device-tree bbpappend, the dtbo was not appended in the overlay.txt file. The binary was in the overlays folder, so had to manually add the dtbo name to the overlays.txt file.
- Our needs required changing the assert to a rising edge.
- The upstream kernel distro doesn’t have PPS configured, have to modify the kernel to add the PPS settings.
For the next person:
local.conf
DISTRO ?= "tdx-xwayland-upstream-rt"
colibri-imx6_pps_overlay.dts:
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "imx6dl-pinfunc.h"
/ {
compatible = "toradex,colibri-imx6dl";
};
&{/} {
pps {
compatible = "pps-gpio";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pps>;
gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
assert-rising-edge;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl_pps: pps {
fsl,pins = <
MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x130b0
>;
};
};
device-tree-overlays-mainline_%.bbappend:
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += " \
file://colibri-imx6_pps_overlay.dts \
"
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = " \
colibri-imx6_pps_overlay.dtbo \
"
do_collect_overlays:prepend() {
cp ${WORKDIR}/colibri-imx6_pps_overlay.dts ${S}
We ended up switching to an imx8, so will open a new support request, if there are any more issues.