Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / ov9281-overlay.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 // Definitions for OV9281 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 "ov9281.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 2>;
32                                         clock-noncontinuous;
33                                 };
34                         };
35                 };
36         };
37
38         fragment@2 {
39                 target = <&i2c0if>;
40                 __overlay__ {
41                         status = "okay";
42                 };
43         };
44
45         fragment@3 {
46                 target = <&i2c0mux>;
47                 __overlay__ {
48                         status = "okay";
49                 };
50         };
51
52         clk_frag: fragment@4 {
53                 target = <&cam1_clk>;
54                 __overlay__ {
55                         status = "okay";
56                         clock-frequency = <24000000>;
57                 };
58         };
59
60         __overrides__ {
61                 rotation = <&cam_node>,"rotation:0";
62                 orientation = <&cam_node>,"orientation:0";
63                 media-controller = <&csi>,"brcm,media-controller?";
64                 cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
65                        <&csi_frag>, "target:0=",<&csi0>,
66                        <&clk_frag>, "target:0=",<&cam0_clk>,
67                        <&cam_node>, "clocks:0=",<&cam0_clk>,
68                        <&cam_node>, "avdd-supply:0=",<&cam0_reg>;
69         };
70 };
71
72 &cam_node {
73         status = "okay";
74 };
75
76 &cam_endpoint {
77         remote-endpoint = <&csi_ep>;
78 };