3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-07 23:03:06 +00:00
Brooklyn/arch/arm/boot/dts/overlays/ov5647-overlay.dts
Raziel K. Crowe b8247e41e7 phase 14
2022-04-02 17:34:24 +05:00

109 lines
2.0 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-only
// Definitions for OV5647 camera module on VC I2C bus
/dts-v1/;
/plugin/;
/{
compatible = "brcm,bcm2835";
i2c_frag: fragment@0 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ov5647: ov5647@36 {
compatible = "ovti,ov5647";
reg = <0x36>;
status = "okay";
clocks = <&cam1_clk>;
avdd-supply = <&cam1_reg>;
dovdd-supply = <&cam_dummy_reg>;
dvdd-supply = <&cam_dummy_reg>;
rotation = <0>;
orientation = <2>;
port {
ov5647_0: endpoint {
remote-endpoint = <&csi1_ep>;
clock-lanes = <0>;
data-lanes = <1 2>;
clock-noncontinuous;
link-frequencies =
/bits/ 64 <297000000>;
};
};
};
vcm: ad5398@c {
compatible = "adi,ad5398";
reg = <0x0c>;
status = "disabled";
VANA-supply = <&cam1_reg>;
};
};
};
csi_frag: fragment@1 {
target = <&csi1>;
csi: __overlay__ {
status = "okay";
brcm,media-controller;
port {
csi1_ep: endpoint {
remote-endpoint = <&ov5647_0>;
data-lanes = <1 2>;
};
};
};
};
fragment@2 {
target = <&i2c0if>;
__overlay__ {
status = "okay";
};
};
fragment@3 {
target = <&i2c0mux>;
__overlay__ {
status = "okay";
};
};
reg_frag: fragment@4 {
target = <&cam1_reg>;
__overlay__ {
startup-delay-us = <20000>;
};
};
clk_frag: fragment@5 {
target = <&cam1_clk>;
__overlay__ {
status = "okay";
clock-frequency = <25000000>;
};
};
__overrides__ {
rotation = <&ov5647>,"rotation:0";
orientation = <&ov5647>,"orientation:0";
media-controller = <&csi>,"brcm,media-controller?";
cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
<&csi_frag>, "target:0=",<&csi0>,
<&reg_frag>, "target:0=",<&cam0_reg>,
<&clk_frag>, "target:0=",<&cam0_clk>,
<&ov5647>, "clocks:0=",<&cam0_clk>,
<&ov5647>, "avdd-supply:0=",<&cam0_reg>;
vcm = <&vcm>, "status=okay",
<&ov5647>,"lens-focus:0=", <&vcm>;
};
};