Brooklyn/arch/arm/boot/dts/overlays/ov7251-overlay.dts
2021-11-09 16:52:08 +05:00

122 lines
2.2 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-only
// Definitions for OV7251 camera module on VC I2C bus
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
/{
compatible = "brcm,bcm2835";
fragment@0 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ov7251: ov7251@60 {
compatible = "ovti,ov7251";
reg = <0x60>;
status = "okay";
clocks = <&ov7251_clk>;
clock-names = "xclk";
clock-frequency = <24000000>;
vdddo-supply = <&ov7251_dovdd>;
vdda-supply = <&cam1_reg>;
vddd-supply = <&ov7251_dvdd>;
rotation = <0>;
orientation = <2>;
port {
ov7251_0: endpoint {
remote-endpoint = <&csi1_ep>;
clock-lanes = <0>;
data-lanes = <1>;
clock-noncontinuous;
link-frequencies =
/bits/ 64 <456000000>;
};
};
};
};
};
fragment@1 {
target = <&csi1>;
__overlay__ {
status = "okay";
port {
csi1_ep: endpoint {
remote-endpoint = <&ov7251_0>;
data-lanes = <1>;
};
};
};
};
fragment@2 {
target = <&i2c0if>;
__overlay__ {
status = "okay";
};
};
fragment@3 {
target-path="/";
__overlay__ {
ov7251_dovdd: fixedregulator@1 {
compatible = "regulator-fixed";
regulator-name = "ov7251_dovdd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ov7251_dvdd: fixedregulator@2 {
compatible = "regulator-fixed";
regulator-name = "ov7251_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ov7251_clk: ov7251-clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
};
};
};
fragment@4 {
target = <&i2c0mux>;
__overlay__ {
status = "okay";
};
};
fragment@5 {
target = <&cam1_reg>;
__overlay__ {
status = "okay";
regulator-name = "ov7251_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
};
fragment@6 {
target = <&csi1>;
__dormant__ {
brcm,media-controller;
};
};
__overrides__ {
rotation = <&ov7251>,"rotation:0";
orientation = <&ov7251>,"orientation:0";
media-controller = <0>,"=6";
};
};