We are using the additional Apalis I2C port on pins 251/253 on a custom carrier board. We have used the port in the past with the older BSP (pre 5.0). I am having trouble getting the port to enumerate in Linux with the newer BSP >5.0. I am testing my devicetree modifications on the IXORA carrier board. My customized DTB builds fine, the device boots, and there are no I2C error messaged in the boot log. But there is no indication that the additional I2C port attempted to enumerate.
Here are my Device tree modifications to imx8qm-apalis-ixora-v1.1.dtsi
&dma_subsys{
i2c4_lpcg: clock-controller@5ac40000 {
compatible = "fsl,imx8qxp-lpcg";
reg = <0x5ac40000 0x10000>;
#clock-cells = <1>;
clocks = <&clk IMX_SC_R_I2C_4 IMX_SC_PM_CLK_PER>,
<&dma_ipg_clk>;
bit-offset = <0 16>;
clock-output-names = "i2c4_lpcg_clk",
"i2c4_lpcg_ipg_clk";
power-domains = <&pd IMX_SC_R_I2C_4>;
};
i2c4: i2c@5a840000 {
reg = <0x5a840000 0x4000>;
interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&gic>;
clocks = <&i2c4_lpcg 0>,
<&i2c4_lpcg 1>;
clock-names = "per", "ipg";
assigned-clocks = <&clk IMX_SC_R_I2C_4 IMX_SC_PM_CLK_PER>;
assigned-clock-rates = <24000000>;
power-domains = <&pd IMX_SC_R_I2C_4>;
status = "disabled";
};
};
&iomuxc {
apalis-imx8qm {
pinctrl_lpi2c4: lpi2c4grp {
fsl,pins = <
IMX8QM_ENET1_MDC_DMA_I2C4_SCL 0xc600004c
IMX8QM_ENET1_MDIO_DMA_I2C4_SDA 0xc600004c
>;
};
};
};
&i2c4 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lpi2c4>;
status = "okay";
};
The system boot and I do not see any I2C errors
The new device is in /proc/device-tree
root@apalis-imx8:/proc/device-tree/bus@5a000000/i2c@5a840000# ls
#address-cells assigned-clocks clocks name power-domains
#size-cells clock-frequency interrupt-parent pinctrl-0 reg
assigned-clock-rates clock-names interrupts pinctrl-names status
root@apalis-imx8:/proc/device-tree/bus@5a000000/i2c@5a840000# cat status
okay
But I do not see anything enumerated in the /dev or with i2cdetect
root@apalis-imx8:~# i2cdetect -l
i2c-3 i2c 5a810000.i2c I2C adapter
i2c-4 i2c 5a820000.i2c I2C adapter
i2c-2 i2c 5a800000.i2c I2C adapter
i2c-5 i2c 5a830000.i2c I2C adapter
root@apalis-imx8:~#
Any insights as to what I am missing would be greatly appreciated.
Thanks