Dear L4T Experts,
Currently I am porting the driver of our camera board in which there’s Microchip IO-Expander (MCP23S08) for expanding controlling signals such as reset, power-down and below is the patch for tegra_defconfig :
diff --git a/kernel/kernel-5.10/arch/arm64/configs/defconfig b/kernel/kernel-5.10/arch/arm64/configs/defconfig
index f97856a59..d1fb61415 100644
--- a/kernel/kernel-5.10/arch/arm64/configs/defconfig
+++ b/kernel/kernel-5.10/arch/arm64/configs/defconfig
@@ -743,6 +743,7 @@ CONFIG_PINCTRL_TEGRA186_DPAUX=y
CONFIG_PINCTRL_TEGRA234_DPAUX=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_MAX77620=y
-CONFIG_GPIO_MCP23S08=y
+CONFIG_PINCTRL_MCP23S08=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MB86S7X=y
CONFIG_GPIO_PCA953X=y
And device-tree nodes :
IO-Expander node:
mcp23008_27: gpio@27 {
compatible = "microchip,mcp23008";
gpio-controller;
#gpio-cells = <2>;
reg = <0x27>;
status = "okay";
interrupt-parent = <&tegra_aon_gpio>;
interrupts = <TEGRA194_AON_GPIO(CC, 3) IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 3) GPIO_ACTIVE_HIGH>;
reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Q, 3) GPIO_ACTIVE_HIGH>;
interrupt-controller;
#interrupt-cells=<2>;
microchip,irq-mirror;
microchip,irq-active-high;
mcp23008_27_output_low {
status = "disabled";
};
mcp23008_27_output_high {
gpio-hog;
output-high;
gpios = <1 0 2 0 3 0>;
label = "ioexp_adv_3v3_en", "ioexp_adv_reset", "ioexp_sony_reset";
};
};
Camera node :
adv7280_e@20 {
compatible = "adi,adv7280-m";
/* I2C device address */
reg = <0x20>;
/* V4L2 device node location */
devnode = "video1";
....
reset-gpios = <&mcp23008_27 2 GPIO_ACTIVE_LOW>;
....
};
In kernel/nvidia/drivers/media/i2c/adv7280.c :
priv->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset",
GPIOD_OUT_HIGH);
if (IS_ERR(priv->reset_gpio)) {
ret = PTR_ERR(priv->reset_gpio);
v4l_err(client, "request for reset pin failed: %d\n", ret);
return ret;
}
But I got following error :
[ 13.486508] adv7280 8-0020: request for reset pin failed: -517
Meanwhile I was working perfectly in Jetpack-4.x.y
Could you help to point out what was missing, please ?
Thanks in advance and best regards,
K.