Kernel-4.18.0-80.el8_ov7670

  • Omnivision OV7670 CMOS sensor

The Omnivision OV7670 sensor supports multiple resolutions output, such as
CIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
output formats.

Required Properties:

  • compatible: should be “ovti,ov7670”
  • clocks: reference to the xclk input clock.
  • clock-names: should be “xclk”.

Required Endpoint Properties:

  • hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
  • vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.

Optional Properties:

  • reset-gpios: reference to the GPIO connected to the resetb pin, if any.
    Active is low.
  • powerdown-gpios: reference to the GPIO connected to the pwdn pin, if any.
    Active is high.
  • ov7670,pclk-hb-disable: a boolean property to suppress pixel clock output
    signal during horizontal blankings.

The device node must contain one ‘port’ child node with one ‘endpoint’ child
sub-node for its digital output video port, in accordance with the video
interface bindings defined in:
Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:

i2c1: i2c@f0018000 {
    ov7670: camera@21 {
        compatible = "ovti,ov7670";
        reg = <0x21>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
        reset-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
        powerdown-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
        clocks = <&pck0>;
        clock-names = "xclk";
        assigned-clocks = <&pck0>;
        assigned-clock-rates = <25000000>;

        ov7670,pclk-hb-disable;

        port {
            ov7670_0: endpoint {
                hsync-active = <0>;
                vsync-active = <0>;

                remote-endpoint = <&isi_0>;
            };
        };
    };
};