imx8mp mipi csi camera overlay: Unable to retrieve endpoint for port at 1

Tim Harvey tharvey at gateworks.com
Fri Jul 7 17:27:58 PDT 2023


Greetings,

I have an imx219 camera connected to an imx8mp-venice-gw74xx via the
following details:
- camera is a RaspberryPi Camera v2 -
https://datasheets.raspberrypi.com/camera/camera-v2-schematics.pdf
- has its own on-board 24MHz osc so no clock is required from the baseboard
- pin 11 on the camera enables 1.8V and 2.8V LDO which is connected to
IMX8MP GPIO1_IO1 so we use that as a gpio regulator
- MIPI_CSI1 lanes 0 and 1 are used

I'm using Linux 6.4 with Laurent's pending patch to add the MIPI CSI
DT nodes to imx8mp.dtsi [1] as follows:

#include <dt-bindings/gpio/gpio.h>
#include "imx8mp-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
        compatible = "gw,imx8mp-gw74xx", "fsl,imx8mp";

        reg_cam: regulator-cam {
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_reg_cam>;
                compatible = "regulator-fixed";
                regulator-name = "reg_cam";
                gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
                enable-active-high;
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
        };

        cam24m: cam24m {
                compatible = "fixed-clock";
                #clock-cells = <0>;
                clock-frequency = <24000000>;
                clock-output-names = "cam24m";
        };
};

&i2c3 {
        #address-cells = <1>;
        #size-cells = <0>;

        imx219: sensor at 10 {
                compatible = "sony,imx219";
                reg = <0x10>;
                clocks = <&cam24m>;
                VDIG-supply = <&reg_cam>;

                port {
                        /* MIPI CSI-2 bus endpoint */
                        imx219_to_mipi_csi2: endpoint {
                                remote-endpoint = <&mipi_csi_0_in>;
                                clock-lanes = <0>;
                                data-lanes = <1 2>;
                                link-frequencies = /bits/ 64 <456000000>;
                        };
                };
        };
};

&mipi_csi_0 {
        status = "okay";

        ports {
                port at 0 {
                        mipi_csi_0_in: endpoint {
                                remote-endpoint = <&imx219_to_mipi_csi2>;
                                data-lanes = <1 2>;
                        };
                };
        };
};

&iomuxc {
        pinctrl_reg_cam: regcamgrp {
                fsl,pins = <
                        MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01     0x41
                >;
        };
};

imx-mipi-csis fails to probe due to a missing port1 endpoint and I'm
not clear what to do with that:
imx-mipi-csis 32e40000.csi: Unable to retrieve endpoint for port at 1
imx-mipi-csis: probe of 32e40000.csi failed with error -2

Any suggestions?

Best regards,

Tim
[1] https://patchwork.linuxtv.org/project/linux-media/patch/20230418153104.21337-2-laurent.pinchart@ideasonboard.com/



More information about the linux-arm-kernel mailing list