Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / ov7251-overlay.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 // Definitions for OV7251 camera module on VC I2C bus
3 /dts-v1/;
4 /plugin/;
5
6 #include <dt-bindings/gpio/gpio.h>
7
8 /{
9         compatible = "brcm,bcm2835";
10
11         i2c_frag: fragment@0 {
12                 target = <&i2c_csi_dsi>;
13                 __overlay__ {
14                         #address-cells = <1>;
15                         #size-cells = <0>;
16                         status = "okay";
17
18                         #include "ov7251.dtsi"
19                 };
20         };
21
22         csi_frag: fragment@1 {
23                 target = <&csi1>;
24                 csi: __overlay__ {
25                         status = "okay";
26                         brcm,media-controller;
27
28                         port {
29                                 csi_ep: endpoint {
30                                         remote-endpoint = <&cam_endpoint>;
31                                         data-lanes = <1>;
32                                 };
33                         };
34                 };
35         };
36
37         fragment@2 {
38                 target = <&i2c0if>;
39                 __overlay__ {
40                         status = "okay";
41                 };
42         };
43
44         fragment@3 {
45                 target = <&i2c0mux>;
46                 __overlay__ {
47                         status = "okay";
48                 };
49         };
50
51         clk_frag: fragment@4 {
52                 target = <&cam1_clk>;
53                 __overlay__ {
54                         status = "okay";
55                         clock-frequency = <24000000>;
56                 };
57         };
58
59         __overrides__ {
60                 rotation = <&cam_node>,"rotation:0";
61                 orientation = <&cam_node>,"orientation:0";
62                 media-controller = <&csi>,"brcm,media-controller?";
63                 cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
64                        <&csi_frag>, "target:0=",<&csi0>,
65                        <&clk_frag>, "target:0=",<&cam0_clk>,
66                        <&cam_node>, "clocks:0=",<&cam0_clk>,
67                        <&cam_node>, "vdda-supply:0=",<&cam0_reg>;
68         };
69 };
70
71 &cam_node {
72         status = "okay";
73 };
74
75 &cam_endpoint {
76         remote-endpoint = <&csi_ep>;
77 };