overlays: Add "always-on" parameter to imx477 and imx296
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / imx477_378-overlay.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 // Definitions for IMX477 camera module on VC I2C bus
3
4 /{
5         compatible = "brcm,bcm2835";
6
7         fragment@0 {
8                 target = <&i2c0if>;
9                 __overlay__ {
10                         status = "okay";
11                 };
12         };
13
14         clk_frag: fragment@1 {
15                 target = <&cam1_clk>;
16                 cam_clk: __overlay__ {
17                         clock-frequency = <24000000>;
18                         status = "okay";
19                 };
20         };
21
22         fragment@2 {
23                 target = <&i2c0mux>;
24                 __overlay__ {
25                         status = "okay";
26                 };
27         };
28
29         reg_frag: fragment@3 {
30                 target = <&cam1_reg>;
31                 cam_reg: __overlay__ {
32                         startup-delay-us = <300000>;
33                 };
34         };
35
36         reg_alwayson_frag: fragment@99 {
37                 target = <&cam1_reg>;
38                 __dormant__ {
39                         regulator-always-on;
40                 };
41         };
42
43         i2c_frag: fragment@100 {
44                 target = <&i2c_csi_dsi>;
45                 __overlay__ {
46                         #address-cells = <1>;
47                         #size-cells = <0>;
48                         status = "okay";
49
50                         #include "imx477_378.dtsi"
51                 };
52         };
53
54         csi_frag: fragment@101 {
55                 target = <&csi1>;
56                 csi: __overlay__ {
57                         status = "okay";
58                         brcm,media-controller;
59
60                         port {
61                                 csi_ep: endpoint {
62                                         remote-endpoint = <&cam_endpoint>;
63                                         clock-lanes = <0>;
64                                         data-lanes = <1 2>;
65                                         clock-noncontinuous;
66                                 };
67                         };
68                 };
69         };
70
71         __overrides__ {
72                 rotation = <&cam_node>,"rotation:0";
73                 orientation = <&cam_node>,"orientation:0";
74                 media-controller = <&csi>,"brcm,media-controller?";
75                 cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
76                        <&csi_frag>, "target:0=",<&csi0>,
77                        <&clk_frag>, "target:0=",<&cam0_clk>,
78                        <&reg_frag>, "target:0=",<&cam0_reg>,
79                        <&reg_alwayson_frag>, "target:0=",<&cam0_reg>,
80                        <&cam_node>, "clocks:0=",<&cam0_clk>,
81                        <&cam_node>, "VANA-supply:0=",<&cam0_reg>;
82                 always-on = <0>, "+99";
83         };
84 };
85
86 &cam_node {
87         status = "okay";
88 };
89
90 &cam_endpoint {
91         remote-endpoint = <&csi_ep>;
92 };