BCM2708: Add core Device Tree support
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / tc358743-overlay.dts
1 // SPDX-License-Identifier: GPL-2.0-only
2 // Definitions for Toshiba TC358743 HDMI to CSI2 bridge on VC I2C bus
3 /dts-v1/;
4 /plugin/;
5
6 /{
7         compatible = "brcm,bcm2835";
8
9         fragment@0 {
10                 target = <&i2c_vc>;
11                 __overlay__ {
12                         #address-cells = <1>;
13                         #size-cells = <0>;
14                         status = "okay";
15
16                         tc358743@0f {
17                                 compatible = "toshiba,tc358743";
18                                 reg = <0x0f>;
19                                 status = "okay";
20
21                                 clocks = <&tc358743_clk>;
22                                 clock-names = "refclk";
23
24                                 tc358743_clk: bridge-clk {
25                                         compatible = "fixed-clock";
26                                         #clock-cells = <0>;
27                                         clock-frequency = <27000000>;
28                                 };
29
30                                 port {
31                                         tc358743: endpoint {
32                                                 remote-endpoint = <&csi1_ep>;
33                                                 clock-lanes = <0>;
34                                                 clock-noncontinuous;
35                                                 link-frequencies =
36                                                         /bits/ 64 <486000000>;
37                                         };
38                                 };
39                         };
40                 };
41         };
42
43         fragment@1 {
44                 target = <&csi1>;
45                 __overlay__ {
46                         status = "okay";
47
48                         port {
49                                 csi1_ep: endpoint {
50                                         remote-endpoint = <&tc358743>;
51                                 };
52                         };
53                 };
54         };
55
56         fragment@2 {
57                 target = <&i2c_vc>;
58                 __overlay__ {
59                         tc358743@0f {
60                                 port {
61                                         endpoint {
62                                                 data-lanes = <1 2>;
63                                         };
64                                 };
65                         };
66                 };
67         };
68
69         fragment@3 {
70                 target = <&i2c_vc>;
71                 __dormant__ {
72                         tc358743@0f {
73                                 port {
74                                         endpoint {
75                                                 data-lanes = <1 2 3 4>;
76                                         };
77                                 };
78                         };
79                 };
80         };
81
82         fragment@4 {
83                 target = <&i2c0_pins>;
84                 __dormant__ {
85                         brcm,pins = <28 29>;
86                         brcm,function = <4>; /* alt0 */
87                 };
88         };
89         fragment@5 {
90                 target = <&i2c0_pins>;
91                 __overlay__ {
92                         brcm,pins = <44 45>;
93                         brcm,function = <5>; /* alt1 */
94                 };
95         };
96         fragment@6 {
97                 target = <&i2c0_pins>;
98                 __dormant__ {
99                         brcm,pins = <0 1>;
100                         brcm,function = <4>; /* alt0 */
101                 };
102         };
103         fragment@7 {
104                 target = <&i2c_vc>;
105                 __overlay__ {
106                         status = "okay";
107                 };
108         };
109
110         __overrides__ {
111                 i2c_pins_0_1 = <0>,"-4-5+6";
112                 i2c_pins_28_29 = <0>,"+4-5-6";
113                 4lane = <0>, "-2+3";
114                 link-frequency = <&tc358743>,"link-frequencies#0";
115         };
116 };