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

Adam Ford aford173 at gmail.com
Fri Jul 7 18:10:48 PDT 2023


On Fri, Jul 7, 2023 at 7:28 PM Tim Harvey <tharvey at gateworks.com> wrote:
>
> 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?

I think the port needs to point to an ISI node or a ISP node.
Linux-next shows port at 1 pointing to  isi_in_0.  In the patch you're
referencing, it appears that node at 1 is missing.

Check out:

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm64/boot/dts/freescale/imx8mp.dtsi?h=next-20230707&id=9da15c4c850dd53309e07d5611f33655f8f8c05d

See if that helps.

adam


>
> 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