Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  gmsl-cameras.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2017 Ideas on Board <kieran.bingham@ideasonboard.com>
 * Copyright (C) 2021 Jacopo Mondi <jacopo+renesas@jmondi.org>
 *
 * Device Tree Source (overlay) that describes GMSL camera connected to
 * Fakra connectors for the Eagle V3M and Condor V3H (and compatible) boards.
 *
 * The following cameras are currently supported: RDACM20 and RDACM21.
 *
 * The board .dts file that include this has to select which cameras are in use
 * by specifying the camera model with:
 *
 * #define GMSL_CAMERA_RDACM20
 * or
 * #define GMSL_CAMERA_RDACM21
 *
 * And which cameras are connected to the board by defining:
 * for GMSL channel 0:
 *    #define GMSL_CAMERA_0
 *    #define GMSL_CAMERA_1
 *    #define GMSL_CAMERA_2
 *    #define GMSL_CAMERA_3
 *
 * for GMSL channel 1:
 *    #define GMSL_CAMERA_4
 *    #define GMSL_CAMERA_5
 *    #define GMSL_CAMERA_6
 *    #define GMSL_CAMERA_7
 */

#include <dt-bindings/gpio/gpio.h>

/* Validate the board file settings. */
#if !defined(GMSL_CAMERA_RDACM20) && !defined(GMSL_CAMERA_RDACM21)
#error "Camera model should be defined by the board file"
#endif

#if defined(GMSL_CAMERA_RDACM20) && defined(GMSL_CAMERA_RDACM21)
#error "A single camera model should be selected"
#endif

#if !defined(GMSL_CAMERA_0) && !defined(GMSL_CAMERA_1) && \
    !defined(GMSL_CAMERA_2) && !defined(GMSL_CAMERA_3) && \
    !defined(GMSL_CAMERA_4) && !defined(GMSL_CAMERA_5) && \
    !defined(GMSL_CAMERA_6) && !defined(GMSL_CAMERA_7)
#error "At least one camera should be selected"
#endif

/* Deduce from the enabled cameras which GMSL channels are active. */
#if defined(GMSL_CAMERA_0) || defined(GMSL_CAMERA_1) || \
    defined(GMSL_CAMERA_2) || defined(GMSL_CAMERA_3)
#define GMSL_0
#endif

#if defined(GMSL_CAMERA_4) || defined(GMSL_CAMERA_5) || \
    defined(GMSL_CAMERA_6) || defined(GMSL_CAMERA_7)
#define GMSL_1
#endif

/* Deduce the camera model compatible string. */
#if defined(GMSL_CAMERA_RDACM20)
#define GMSL_CAMERA_MODEL "imi,rdacm20"
#elif defined(GMSL_CAMERA_RDACM21)
#define GMSL_CAMERA_MODEL "imi,rdacm21"
#endif

#ifdef GMSL_0
&vin0 {
 status = "okay";
};

&vin1 {
 status = "okay";
};

&vin2 {
 status = "okay";
};

&vin3 {
 status = "okay";
};

&gmsl0 {
 status = "okay";

#if defined(GMSL_CAMERA_RDACM21)
 maxim,reverse-channel-microvolt = <100000>;
#endif

 ports {
#ifdef GMSL_CAMERA_0
  port@0 {
   max9286_in0: endpoint {
    remote-endpoint = <&fakra_con0>;
   };
  };
#endif

#ifdef GMSL_CAMERA_1
  port@1 {
   max9286_in1: endpoint {
    remote-endpoint = <&fakra_con1>;
   };

  };
#endif

#ifdef GMSL_CAMERA_2
  port@2 {
   max9286_in2: endpoint {
    remote-endpoint = <&fakra_con2>;
   };

  };
#endif

#ifdef GMSL_CAMERA_3
  port@3 {
   max9286_in3: endpoint {
    remote-endpoint = <&fakra_con3>;
   };

  };
#endif
 };

 i2c-mux {
#ifdef GMSL_CAMERA_0
  i2c@0 {
   status = "okay";

   camera@51 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x51>, <0x61>;

    port {
     fakra_con0: endpoint {
      remote-endpoint = <&max9286_in0>;
     };
    };
   };
  };
#endif

#ifdef GMSL_CAMERA_1
  i2c@1 {
   status = "okay";

   camera@52 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x52>, <0x62>;

    port {
     fakra_con1: endpoint {
      remote-endpoint = <&max9286_in1>;
     };
    };
   };
  };
#endif

#ifdef GMSL_CAMERA_2
  i2c@2 {
   status = "okay";

   camera@53 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x53>, <0x63>;

    port {
     fakra_con2: endpoint {
      remote-endpoint = <&max9286_in2>;
     };
    };
   };
  };
#endif

#ifdef GMSL_CAMERA_3
  i2c@3 {
   status = "okay";

   camera@54 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x54>, <0x64>;

    port {
     fakra_con3: endpoint {
      remote-endpoint = <&max9286_in3>;
     };
    };
   };
  };
#endif
 };
};
#endif /* ifdef GMSL_0 */

#ifdef GMSL_1
&vin4 {
 status = "okay";
};

&vin5 {
 status = "okay";
};

&vin6 {
 status = "okay";
};

&vin7 {
 status = "okay";
};

&gmsl1 {
 status = "okay";

#if defined(GMSL_CAMERA_RDACM21)
 maxim,reverse-channel-microvolt = <100000>;
#endif

 ports {
#ifdef GMSL_CAMERA_4
  port@0 {
   max9286_in4: endpoint {
    remote-endpoint = <&fakra_con4>;
   };
  };
#endif

#ifdef GMSL_CAMERA_5
  port@1 {
   max9286_in5: endpoint {
    remote-endpoint = <&fakra_con5>;
   };

  };
#endif

#ifdef GMSL_CAMERA_6
  port@2 {
   max9286_in6: endpoint {
    remote-endpoint = <&fakra_con6>;
   };

  };
#endif

#ifdef GMSL_CAMERA_7
  port@3 {
   max9286_in7: endpoint {
    remote-endpoint = <&fakra_con7>;
   };

  };
#endif
 };

 i2c-mux {
#ifdef GMSL_CAMERA_4
  i2c@0 {
   status = "okay";

   camera@55 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x55>, <0x65>;

    port {
     fakra_con4: endpoint {
      remote-endpoint = <&max9286_in4>;
     };
    };
   };
  };
#endif

#ifdef GMSL_CAMERA_5
  i2c@1 {
   status = "okay";

   camera@56 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x56>, <0x66>;

    port {
     fakra_con5: endpoint {
      remote-endpoint = <&max9286_in5>;
     };
    };
   };
  };
#endif

#ifdef GMSL_CAMERA_6
  i2c@2 {
   status = "okay";

   camera@57 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x57>, <0x67>;

    port {
     fakra_con6: endpoint {
      remote-endpoint = <&max9286_in6>;
     };
    };
   };
  };
#endif

#ifdef GMSL_CAMERA_7
  i2c@3 {
   status = "okay";

   camera@58 {
    compatible = GMSL_CAMERA_MODEL;
    reg = <0x58>, <0x68>;

    port {
     fakra_con7: endpoint {
      remote-endpoint = <&max9286_in7>;
     };
    };
   };
  };
#endif
 };
};
#endif /* ifdef GMSL_1 */

[ Dauer der Verarbeitung: 0.20 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge