Enable IC2-6 on the Apalis iMX8QM 4GB WB IT V1.1C

Dear Toradex community,

we are currently try to enable the IC2-6 (Pins 87/99) on the Apalis iMX8QM 4GB WB IT V1.1C via the device-tree for Torizon. We have successfully used IC2-2 (Pins 209/211) with the folling modification to a device-tree:

/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
// Touch connected to lvds2
&i2c2 {
    status = "okay";
}

The Problem is that the label &i2c2 does existis with our includes:

#include "imx8qm-apalis-v1.1.dtsi"
#include "imx8-apalis-eval.dtsi"
#include "pads-imx8qm.h" //include this so that you can redefine gpio pins // device-trees/include/dt-bindings/pinctrl/pads-imx8qm.h

But the label we need &i2c6 does not exists. In the file device-trees/dts-arm64/imx8mp.dtsi on line 1020 we see that there is a i2c6 configered.

We have tried to include the device-trees/dts-arm64/imx8mp.dtsi but this produece the folling errors:


torizoncore-builder dt apply imx8-apalis-sensgit-v1.1.dts --include-dir device-trees/include --include-dir device-trees/dts-arm64/ --include-dir device-trees/include/dt-bindings/pinctrl/
device-trees/dts-arm64/imx8mp.dtsi:479.23-483.7: ERROR (duplicate_label): /thermal-zones/cpu-thermal/trips/trip0: Duplicate label 'cpu_alert0' on /thermal-zones/cpu-thermal/trips/trip0 and /thermal-zones/cpu-thermal0/trips/trip0
device-trees/dts-arm64/imx8mp.dtsi:485.22-489.7: ERROR (duplicate_label): /thermal-zones/cpu-thermal/trips/trip1: Duplicate label 'cpu_crit0' on /thermal-zones/cpu-thermal/trips/trip1 and /thermal-zones/cpu-thermal0/trips/trip1
device-trees/dts-arm64/imx8mp.dtsi:205.30-208.5: ERROR (duplicate_label): /reserved-memory/dsp@92400000: Duplicate label 'dsp_reserved' on /reserved-memory/dsp@92400000 and /reserved-memory/dsp@0x92400000
device-trees/dts-arm64/imx8mp.dtsi:122.27-149.4: ERROR (duplicate_label): /opp-table: Duplicate label 'a53_opp_table' on /opp-table and /a53-opp-table
device-trees/dts-arm64/imx8mp.dtsi:151.29-155.4: ERROR (duplicate_label): /ddr_pmu@3d800000: Duplicate label 'ddr_pmu0' on /ddr_pmu@3d800000 and /bus@5c000000/ddr-pmu@5c020000
device-trees/dts-arm64/imx8mp.dtsi:163.37-171.4: ERROR (duplicate_label): /interrupt-controller@38800000: Duplicate label 'gic' on /interrupt-controller@38800000 and /interrupt-controller@51a00000
device-trees/dts-arm64/imx8mp.dtsi:530.27-533.5: ERROR (duplicate_label): /soc@0/caam-sm@100000: Duplicate label 'caam_sm' on /soc@0/caam-sm@100000 and /bus@31400000/caam-sm@31800000
device-trees/dts-arm64/imx8mp.dtsi:617.29-620.6: ERROR (duplicate_label): /soc@0/bus@30000000/pinctrl@30330000: Duplicate label 'iomuxc' on /soc@0/bus@30000000/pinctrl@30330000 and /scu/pinctrl
device-trees/dts-arm64/imx8mp.dtsi:628.26-647.6: ERROR (duplicate_label): /soc@0/bus@30000000/efuse@30350000: Duplicate label 'ocotp' on /soc@0/bus@30000000/efuse@30350000 and /scu/imx8qm-ocotp
device-trees/dts-arm64/imx8mp.dtsi:696.35-727.6: ERROR (duplicate_label): /soc@0/bus@30000000/clock-controller@30380000: Duplicate label 'clk' on /soc@0/bus@30000000/clock-controller@30380000 and /scu/clock-controller
device-trees/dts-arm64/imx8mp.dtsi:744.23-753.6: ERROR (duplicate_label): /soc@0/bus@30400000/pwm@30660000: Duplicate label 'pwm1' on /soc@0/bus@30400000/pwm@30660000 and /bus@5d000000/pwm@5d010000
device-trees/dts-arm64/imx8mp.dtsi:755.23-764.6: ERROR (duplicate_label): /soc@0/bus@30400000/pwm@30670000: Duplicate label 'pwm2' on /soc@0/bus@30400000/pwm@30670000 and /bus@5d000000/pwm@5d020000
device-trees/dts-arm64/imx8mp.dtsi:766.23-775.6: ERROR (duplicate_label): /soc@0/bus@30400000/pwm@30680000: Duplicate label 'pwm3' on /soc@0/bus@30400000/pwm@30680000 and /bus@5d000000/pwm@5d030000
device-trees/dts-arm64/imx8mp.dtsi:889.27-902.6: ERROR (duplicate_label): /soc@0/bus@30800000/can@308c0000: Duplicate label 'flexcan1' on /soc@0/bus@30800000/can@308c0000 and /bus@5a000000/can@5a8d0000
device-trees/dts-arm64/imx8mp.dtsi:904.27-917.6: ERROR (duplicate_label): /soc@0/bus@30800000/can@308d0000: Duplicate label 'flexcan2' on /soc@0/bus@30800000/can@308d0000 and /bus@5a000000/can@5a8e0000
device-trees/dts-arm64/imx8mp.dtsi:919.28-947.6: ERROR (duplicate_label): /soc@0/bus@30800000/crypto@30900000: Duplicate label 'crypto' on /soc@0/bus@30800000/crypto@30900000 and /bus@31400000/crypto@31400000
device-trees/dts-arm64/imx8mp.dtsi:942.22-946.7: ERROR (duplicate_label): /soc@0/bus@30800000/crypto@30900000/jr@3000: Duplicate label 'sec_jr2' on /soc@0/bus@30800000/crypto@30900000/jr@3000 and /bus@31400000/crypto@31400000/jr@30000
device-trees/dts-arm64/imx8mp.dtsi:949.23-957.6: ERROR (duplicate_label): /soc@0/bus@30800000/i2c@30a20000: Duplicate label 'i2c1' on /soc@0/bus@30800000/i2c@30a20000 and /bus@5a000000/i2c@5a810000
device-trees/dts-arm64/imx8mp.dtsi:959.23-967.6: ERROR (duplicate_label): /soc@0/bus@30800000/i2c@30a30000: Duplicate label 'i2c2' on /soc@0/bus@30800000/i2c@30a30000 and /bus@5a000000/i2c@5a820000
device-trees/dts-arm64/imx8mp.dtsi:969.23-977.6: ERROR (duplicate_label): /soc@0/bus@30800000/i2c@30a40000: Duplicate label 'i2c3' on /soc@0/bus@30800000/i2c@30a40000 and /bus@5a000000/i2c@5a830000
device-trees/dts-arm64/imx8mp.dtsi:979.23-987.6: ERROR (duplicate_label): /soc@0/bus@30800000/i2c@30a50000: Duplicate label 'i2c4' on /soc@0/bus@30800000/i2c@30a50000 and /bus@5a000000/i2c@5a840000
device-trees/dts-arm64/imx8mp.dtsi:1030.25-1044.6: ERROR (duplicate_label): /soc@0/bus@30800000/mmc@30b40000: Duplicate label 'usdhc1' on /soc@0/bus@30800000/mmc@30b40000 and /bus@5b000000/mmc@5b010000
device-trees/dts-arm64/imx8mp.dtsi:1046.25-1060.6: ERROR (duplicate_label): /soc@0/bus@30800000/mmc@30b50000: Duplicate label 'usdhc2' on /soc@0/bus@30800000/mmc@30b50000 and /bus@5b000000/mmc@5b020000
device-trees/dts-arm64/imx8mp.dtsi:1062.25-1076.6: ERROR (duplicate_label): /soc@0/bus@30800000/mmc@30b60000: Duplicate label 'usdhc3' on /soc@0/bus@30800000/mmc@30b60000 and /bus@5b000000/mmc@5b030000
device-trees/dts-arm64/imx8mp.dtsi:1175.24-1189.7: ERROR (duplicate_label): /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c10000: Duplicate label 'sai1' on /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c10000 and /bus@59000000/sai@59050000
device-trees/dts-arm64/imx8mp.dtsi:1191.24-1205.7: ERROR (duplicate_label): /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c20000: Duplicate label 'sai2' on /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c20000 and /bus@59000000/sai@59060000
device-trees/dts-arm64/imx8mp.dtsi:1207.24-1221.7: ERROR (duplicate_label): /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c30000: Duplicate label 'sai3' on /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c30000 and /bus@59000000/sai@59070000
device-trees/dts-arm64/imx8mp.dtsi:1223.24-1237.7: ERROR (duplicate_label): /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c50000: Duplicate label 'sai5' on /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c50000 and /bus@59000000/sai@59090000
device-trees/dts-arm64/imx8mp.dtsi:1239.24-1254.7: ERROR (duplicate_label): /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c60000: Duplicate label 'sai6' on /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c60000 and /bus@59000000/sai@59820000
device-trees/dts-arm64/imx8mp.dtsi:1256.24-1269.7: ERROR (duplicate_label): /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c80000: Duplicate label 'sai7' on /soc@0/bus@30c00000/spba-bus@30c00000/sai@30c80000 and /bus@59000000/sai@59830000
device-trees/dts-arm64/imx8mp.dtsi:1589.37-1605.6: ERROR (duplicate_label): /soc@0/bus@32c00000/irqsteer@32fc2000: Duplicate label 'irqsteer_hdmi' on /soc@0/bus@32c00000/irqsteer@32fc2000 and /bus@56260000/irqsteer@56260000
device-trees/dts-arm64/imx8mp.dtsi:1661.24-1700.6: ERROR (duplicate_label): /soc@0/bus@32c00000/hdmi@32fd8000: Duplicate label 'hdmi' on /soc@0/bus@32c00000/hdmi@32fd8000 and /bus@56260000/hdmi@56268000
device-trees/dts-arm64/imx8mp.dtsi:1756.22-1905.6: ERROR (duplicate_label): /soc@0/bus@32c00000/camera: Duplicate label 'cameradev' on /soc@0/bus@32c00000/camera and /bus@58000000/camera
device-trees/dts-arm64/imx8mp.dtsi:1763.25-1790.7: ERROR (duplicate_label): /soc@0/bus@32c00000/camera/isi@32e00000: Duplicate label 'isi_0' on /soc@0/bus@32c00000/camera/isi@32e00000 and /bus@58000000/camera/isi@58100000
device-trees/dts-arm64/imx8mp.dtsi:1792.25-1813.7: ERROR (duplicate_label): /soc@0/bus@32c00000/camera/isi@32e02000: Duplicate label 'isi_1' on /soc@0/bus@32c00000/camera/isi@32e02000 and /bus@58000000/camera/isi@58110000
device-trees/dts-arm64/imx8mp.dtsi:1866.30-1884.7: ERROR (duplicate_label): /soc@0/bus@32c00000/camera/csi@32e40000: Duplicate label 'mipi_csi_0' on /soc@0/bus@32c00000/camera/csi@32e40000 and /bus@58000000/camera/csi@58227000
device-trees/dts-arm64/imx8mp.dtsi:1886.30-1904.7: ERROR (duplicate_label): /soc@0/bus@32c00000/camera/csi@32e50000: Duplicate label 'mipi_csi_1' on /soc@0/bus@32c00000/camera/csi@32e50000 and /bus@58000000/camera/csi@58247000
device-trees/dts-arm64/imx8mp.dtsi:1923.30-1934.4: ERROR (duplicate_label): /dma-apbh@33000000: Duplicate label 'dma_apbh' on /dma-apbh@33000000 and /bus@5b000000/dma-apbh@5b810000
device-trees/dts-arm64/imx8mp.dtsi:1936.26-1950.4: ERROR (duplicate_label): /gpmi-nand@33002000: Duplicate label 'gpmi' on /gpmi-nand@33002000 and /bus@5b000000/gpmi-nand@5b812000
device-trees/dts-arm64/imx8mp.dtsi:2203.20-2220.4: ERROR (duplicate_label): /dsp@3b6e8000: Duplicate label 'dsp' on /dsp@3b6e8000 and /bus@55000000/dsp@556e8000
ERROR: Input tree has errors, aborting (use -f to force output)
error: cannot apply imx8-apalis-sensgit-v1.1.dts.

What modifications does we have to make to use the IC2-6 (Pins 87/99)?

You can find our device-tree imx8-apalis-sensgit-v1.1.dts

Best regards
Alias-Alias

Greetings @alias-alias,

First of all the reason you’re having those compilation errors is because you’re including imx8mp.dtsi. This device tree include file is for the i.MX8MP SoC, you’re using a module with the i.MX8QM SoC. Which is why this is causing issues.

Now as for using those I2C pins, first of all are you sure you need to use pins 87/99? While these pins can be used as general purpose I2C they are low speed with no DMA support.

If you’re sure you want to do this then here’s what you need to do:

Then I believe you should be able to use these pins as a general purpose I2C.

Best Regards,
Jeremias