98 lines
2.9 KiB
Plaintext
98 lines
2.9 KiB
Plaintext
Renesas R-Car Video Input driver (rcar_vin)
|
|
-------------------------------------------
|
|
|
|
The rcar_vin device provides video input capabilities for the Renesas R-Car
|
|
family of devices. The current blocks are always slaves and suppot one input
|
|
channel which can be either RGB, YUYV or BT656.
|
|
|
|
- compatible: Must be one or more of the following
|
|
- "renesas,vin-r8a7795" for the R8A7795 device
|
|
- "renesas,vin-r8a7794" for the R8A7794 device
|
|
- "renesas,vin-r8a7793" for the R8A7793 device
|
|
- "renesas,vin-r8a7792" for the R8A7792 device
|
|
- "renesas,vin-r8a7791" for the R8A7791 device
|
|
- "renesas,vin-r8a7790" for the R8A7790 device
|
|
- "renesas,vin-r8a7779" for the R8A7779 device
|
|
- "renesas,vin-r8a7778" for the R8A7778 device
|
|
- "renesas,rcar-gen2-vin" for a generic R-Car Gen2 compatible device.
|
|
- "renesas,rcar-gen3-vin" for a generic R-Car Gen3 compatible device.
|
|
|
|
When compatible with the generic version nodes must list the
|
|
SoC-specific version corresponding to the platform first
|
|
followed by the generic version.
|
|
|
|
- reg: the register base and size for the device registers
|
|
- interrupts: the interrupt for the device
|
|
- clocks: Reference to the parent clock
|
|
|
|
Additionally, an alias named vinX will need to be created to specify
|
|
which video input device this is.
|
|
|
|
The per-board settings:
|
|
- port sub-node describing a single endpoint connected to the vin
|
|
as described in video-interfaces.txt[1]. Only the first one will
|
|
be considered as each vin interface has one input port.
|
|
|
|
These settings are used to work out video input format and widths
|
|
into the system.
|
|
|
|
|
|
Device node example
|
|
-------------------
|
|
|
|
aliases {
|
|
vin0 = &vin0;
|
|
};
|
|
|
|
vin0: vin@e6ef0000 {
|
|
compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
|
|
clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
|
|
reg = <0 0xe6ef0000 0 0x1000>;
|
|
interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
Board setup example (vin1 composite video input)
|
|
------------------------------------------------
|
|
|
|
&i2c2 {
|
|
status = "ok";
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
adv7180@20 {
|
|
compatible = "adi,adv7180";
|
|
reg = <0x20>;
|
|
remote = <&vin1>;
|
|
|
|
port {
|
|
adv7180: endpoint {
|
|
bus-width = <8>;
|
|
remote-endpoint = <&vin1ep0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* composite video input */
|
|
&vin1 {
|
|
pinctrl-0 = <&vin1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "ok";
|
|
|
|
port {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
vin1ep0: endpoint {
|
|
remote-endpoint = <&adv7180>;
|
|
bus-width = <8>;
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
|
|
[1] video-interfaces.txt common video media interface
|