Hi ,
I am working on adv7280 -m video decoder with cvbs to mipi-csi interface on i.MX8 M Mini [ 5.4.70 kernel]
Please help me in finding correct driver for this module, There is two driver under bsp
1. adv7180.c driver under drivers/media/i2c/
2. adv7180.c driver under drivers/media/platform/mxc/capture/
3. I found one adv7280.c driver from http://git.toradex.com/cgit/linux-toradex.git/tree/drivers/media/i2c/soc_camera/adv7280.c?h=toradex_...
Please help me in finding the correct driver for this module.
Thanks in advance,
Deeksha
Hi Deeksha,
Were you able to solve this issue? Did you find the linux driver for adv7280?
Regards,
Sibin
Hi,
Yes, I had used adv7180 driver in this path /driver/media/i2c/adv7180.c
Regards,
Deeksha
Hi Deeksha
seems this is correct driver. In general one can post this on adv7280 vendor (Analog Devices) support portal
https://ez.analog.com/linux-software-drivers/f/q-a/87510/adv7280-linux-driver-issue
Best regards
igor
I used driver under /driver/media/i2c/adv7180.c
I added dts tree as this,
adv7280@21 {
/*compatible = "adi,adv7280-m";*/
compatible = "adv,adv7180";
reg = <0x21>; /* proccessor reads from slave ALSB bit 1 */
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adv7280>;
/* prgpp powerdown-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; */
pwn-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; /* prgwy */
/* reset-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; */
reset-gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
/*irq-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; */
PVDD-supply = <®_3p3v>;
MVDD-supply= <®_3p3v>;
DOVDD-supply= <®_3p3v>;
AVDD-supply = <®_3p3v>;
DVDD-supply = <®_3p3v>;
assigned-clocks = <&clk IMX8MM_CLK_CLKO1>;
assigned-clock-parents = <&clk IMX8MM_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
cvbs = <8>;
clocks = <&clk IMX8MM_CLK_CLKO1>;
clock-names = "csi_mclk";
mclk = <24000000>;
mclk_source = <0>;
adv7280m_out: endpoint {
clock-lanes = <0>;
data-lanes = <1>;
remote-endpoint = <&mipi1_sensor_ep>;
};
};
pinctrl_adv7280: adv7280 {
fsl,pins = <
/*MX8MM_IOMUXC_SPDIF1_IN_PWM2_OUT 0x41*/
/*MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9 0x116 */ /* video pd */
MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x140 /* video pd */
/* MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x116 */ /* video interrupt */
/*MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x156 */ /* reset pin */
MX8MM_IOMUXC_SAI1_TXFS_GPIO4_IO10 0x41 /* reset pin */
>;
};
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
clock_frequency = <24000000>;
port {
mipi1_sensor_ep: endpoint@1 {
remote-endpoint = <&adv7280m_out>;
data-lanes = <1>;
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
};
csi1_mipi_ep: endpoint@2 {
remote-endpoint = <&csi1_ep>;
};
};
};
&csi1_bridge {
fsl,mipi-mode;
csi-mux-mipi = <&gpr 0x14 4>;
status = "okay";
port {
csi1_ep: endpoint {
remote-endpoint = <&csi1_mipi_ep>;
};
};
};
Is this correct to get mipi-csi output?
i2c module is detecting with slave address 0x21,0x42,0x44
but /dev/video* node is not creating , will you help in resolving this issue ?
Thanks in advance
Regards,
Deeksha
in general, one can recheck csis-hs-settle, csis-clk-settle parameters using
also may be useful:
Best regards
igor