Here’s a simpler version of what you have:
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "imx8mp-pinfunc.h"
/ {
compatible = "toradex,verdin-imx8mp";
};
&gpio_expander_21 {
status = "disabled";
};
&nau8822_1a {
status = "disabled";
};
&hwmon {
status = "disabled";
};
&pwm3 {
status = "disabled";
};
&i2c6 {
clock-frequency = <400000>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c6>;
pinctrl-1 = <&pinctrl_i2c6_gpio>;
scl-gpios = <&gpio3 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio3 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
};
&ecspi1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
spidev@0 {
/* Use compatible "rohm,dh2228fv" to bind spidev driver */
compatible = "rohm,dh2228fv";
reg = <0>;
spi-max-frequency = <10000000>;
};
};
&iomuxc {
pinctrl_i2c6: i2c6grp {
fsl,pins =
<MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL 0x400001c6>,
<MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA 0x400001c6>;
};
pinctrl_i2c6_gpio: i2c6gpiogrp {
fsl,pins =
<MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x400001c6>,
<MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x400001c6>;
};
};
Most of your overlay wasn’t actually doing anything or was redundant. What I just shared has equivalent behavior to your overlay, removing the useless and redundant portions.
I was able to remove the pca953x 3-0021: failed writing register
message by disabling gpio_expander_21
as you can see. All the other logs are inherent to the system and can’t be trivially removed. These logs are not harmful nor do they impact the boot time in any significant way.
If you have any further issues please open a new thread. This thread has gone on long enough and we have deviated from the original topic of the thread. I’ve given you the exact overlay you need for this situation, and I see no point in prolonging this discussion any further.
Best Regards,
Jeremias