Documentation / devicetree / bindings / media / ti,da850-vpif.txt


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
Texas Instruments VPIF
----------------------

The TI Video Port InterFace (VPIF) is the primary component for video
capture and display on the DA850/AM18x family of TI DaVinci/Sitara
SoCs.

TI Document reference: SPRUH82C, Chapter 35
http://www.ti.com/lit/pdf/spruh82

Required properties:
- compatible: must be "ti,da850-vpif"
- reg: physical base address and length of the registers set for the device;
- interrupts: should contain IRQ line for the VPIF

Video Capture:

VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
single 16-bit channel. It should contain one or two port child nodes
with child 'endpoint' node. If there are two ports then port@0 must
describe the input and port@1 output channels. Please refer to the
bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.

Example using 2 8-bit input channels, one of which is connected to an
I2C-connected TVP5147 decoder:

	vpif: vpif@217000 {
		compatible = "ti,da850-vpif";
		reg = <0x217000 0x1000>;
		interrupts = <92>;

		port@0 {
			vpif_input_ch0: endpoint@0 {
				reg = <0>;
				bus-width = <8>;
				remote-endpoint = <&composite_in>;
			};

			vpif_input_ch1: endpoint@1 {
				reg = <1>;
				bus-width = <8>;
				data-shift = <8>;
			};
		};

		port@1 {
			vpif_output_ch0: endpoint {
				bus-width = <8>;
				remote-endpoint = <&composite_out>;
			};
		};
	};

[ ... ]

&i2c0 {

	tvp5147@5d {
		compatible = "ti,tvp5147";
		reg = <0x5d>;

		port {
			composite_in: endpoint {
				hsync-active = <1>;
				vsync-active = <1>;
				pclk-sample = <0>;

				/* VPIF channel 0 (lower 8-bits) */
				remote-endpoint = <&vpif_input_ch0>;
				bus-width = <8>;
			};
		};
	};

	adv7343@2a {
		compatible = "adi,adv7343";
		reg = <0x2a>;

		port {
			composite_out: endpoint {
				adi,dac-enable = <1 1 1>;
				adi,sd-dac-enable = <1>;

				remote-endpoint = <&vpif_output_ch0>;
				bus-width = <8>;
			};
		};
	};
};


Alternatively, an example when the bus is configured as a single
16-bit input (e.g. for raw-capture mode):

	vpif: vpif@217000 {
		compatible = "ti,da850-vpif";
		reg = <0x217000 0x1000>;
		interrupts = <92>;

		port {
			vpif_ch0: endpoint {
				  bus-width = <16>;
			};
		};
	};