Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / imx219-overlay.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 // Definitions for IMX219 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         fragment@0 {
12                 target = <&i2c0if>;
13                 __overlay__ {
14                         status = "okay";
15                 };
16         };
17
18         clk_frag: fragment@1 {
19                 target = <&cam1_clk>;
20                 __overlay__ {
21                         status = "okay";
22                         clock-frequency = <24000000>;
23                 };
24         };
25
26         fragment@2 {
27                 target = <&i2c0mux>;
28                 __overlay__ {
29                         status = "okay";
30                 };
31         };
32
33         i2c_frag: fragment@100 {
34                 target = <&i2c_csi_dsi>;
35                 __overlay__ {
36                         #address-cells = <1>;
37                         #size-cells = <0>;
38                         status = "okay";
39
40                         #include "imx219.dtsi"
41
42                         vcm: ad5398@c {
43                                 compatible = "adi,ad5398";
44                                 reg = <0x0c>;
45                                 status = "disabled";
46                                 VANA-supply = <&cam1_reg>;
47                         };
48                 };
49         };
50
51         csi_frag: fragment@101 {
52                 target = <&csi1>;
53                 csi: __overlay__ {
54                         status = "okay";
55                         brcm,media-controller;
56
57                         port {
58                                 csi_ep: endpoint {
59                                         remote-endpoint = <&cam_endpoint>;
60                                         clock-lanes = <0>;
61                                         data-lanes = <1 2>;
62                                         clock-noncontinuous;
63                                 };
64                         };
65                 };
66         };
67
68         __overrides__ {
69                 rotation = <&cam_node>,"rotation:0";
70                 orientation = <&cam_node>,"orientation:0";
71                 media-controller = <&csi>,"brcm,media-controller?";
72                 cam0 = <&i2c_frag>, "target:0=",<&i2c_vc>,
73                        <&csi_frag>, "target:0=",<&csi0>,
74                        <&clk_frag>, "target:0=",<&cam0_clk>,
75                        <&cam_node>, "clocks:0=",<&cam0_clk>,
76                        <&cam_node>, "VANA-supply:0=",<&cam0_reg>,
77                        <&vcm>, "VANA-supply:0=", <&cam0_reg>;
78                 vcm = <&vcm>, "status=okay",
79                       <&cam_node>,"lens-focus:0=", <&vcm>;
80         };
81 };
82
83 &cam_node {
84         status = "okay";
85 };
86
87 &cam_endpoint {
88         remote-endpoint = <&csi_ep>;
89 };