SPRACD8 June   2019 DRA710 , DRA712 , DRA714 , DRA716 , DRA718 , DRA722 , DRA724 , DRA725 , DRA726 , DRA744 , DRA745 , DRA746 , DRA74P , DRA750 , DRA756 , DRA75P , DRA76P , DRA77P , DRA780 , DRA781 , DRA782 , DRA783 , DRA786 , DRA787 , DRA790 , DRA791 , DRA793 , DRA797 , TDA2EG-17 , TDA2HF , TDA2HG , TDA2HV , TDA2LF , TDA2P-ABZ , TDA2P-ACD , TDA2SA , TDA2SG , TDA2SX

 

  1.   Integrating New Cameras With Video Input Port on DRA7xx SoCs
    1.     Trademarks
    2. 1 Introduction
    3. 2 Video Input Port and Possible Video Sources
    4. 3 Kernel Changes to Integrate Camera Devices
      1. 3.1 V4L2 Endpoint Framework
        1. 3.1.1 VIP Device Definition
        2. 3.1.2 Camera Device Definition
      2. 3.2 Interfacing a Multichannel Video Source (TVP5158)
      3. 3.3 Interfacing a Camera Over LVDS Serializer Deserializer
        1. 3.3.1 I2C Address Remapping
        2. 3.3.2 Serializer/Deserializer Configuration
        3. 3.3.3 Serdes Device Definition
      4. 3.4 Setting up Pinmux and IODELAY
        1. 3.4.1 Getting Pinmux and IODELAY Values
      5. 3.5 Setting Up Board Muxes

VIP Device Definition

vip1 { #address-cells = <1>; #size-cells = <0>; ports { vin1a: port@1A { reg = <0>; #address-cells = <1>; endpoint@0 { remote-endpoint = <&cam1>; }; }; vin2a: port@1A { ... }; ... }; };

The above snippet describes the SoC VIP1 instance. It creates endpoint nodes for each of the video ports available for that instance. By default, all the port nodes are empty, so it is not associated with any cameras. Certain port nodes need to be populated when a new camera gets interfaced to that port. Both endpoint nodes are cross referenced in the device tree.

Table 1 describes exact names of the ports (this also matches the Technical Reference Manual (TRM) terminology) for each instance.

Table 1. Port Names

Endpoint Name VIP Instance Slice Port Name
vin1a VIP1 slice0 port A
vin1b VIP1 slice0 port B
vin2a VIP1 slice1 port A
vin2b VIP1 slice1 port B
vin3a VIP1 slice0 port A
vin3b VIP1 slice0 port B
vin4a VIP1 slice1 port A
vin4b VIP1 slice1 port B
vin5a VIP1 slice0 port A
vin6a VIP1 slice1 port A