summaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0043-arm64-dts-renesas-ulcb-use-versaclock-for-du-rgb-and-lvds.patch
blob: 1298ba8164cf8d7920edc86c35889422e743a032 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
From 29bcecbb93b009e650dfdf9e6a1ff6efadc871bc Mon Sep 17 00:00:00 2001
From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Date: Thu, 10 Aug 2017 08:41:53 +0300
Subject: [PATCH] arm64: dts: renesas: ulcb: use versaclock for DU RGB and LVDS

This allows to chgange preprogrammed clock in Versa5 clock
generator.
DU has PLL that is not too accurate, hence use prescaled value by VC5.

[200~Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts | 24 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     | 24 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts     | 22 ++++++++++++++++++++
 3 files changed, 70 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
index 677bf88..6fe4416 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
@@ -229,6 +229,15 @@
 &du {
 	status = "okay";
 
+	/* update <du_dotclkin0/3> to <programable_clk0/1> */
+	clocks = <&cpg CPG_MOD 724>,
+		 <&cpg CPG_MOD 723>,
+		 <&cpg CPG_MOD 722>,
+		 <&cpg CPG_MOD 721>,
+		 <&cpg CPG_MOD 727>,
+		 <&programmable_clk0>, <&du_dotclkin1>, <&du_dotclkin2>,
+		 <&programmable_clk1>;
+
 	ports {
 		port@1 {
 			endpoint {
@@ -390,6 +399,21 @@
 	status = "okay";
 
 	clock-frequency = <400000>;
+
+	clk_5p49v5925: programmable_clk@6a {
+		compatible = "idt,5p49v5925";
+		reg = <0x6a>;
+
+		programmable_clk0: 5p49x_clk1@6a {
+			#clock-cells = <0>;
+			clocks = <&du_dotclkin0>;
+		};
+
+		programmable_clk1: 5p49x_clk2@6a {
+			#clock-cells = <0>;
+			clocks = <&du_dotclkin3>;
+		};
+	};
 };
 
 &rcar_sound {
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 7406534..e018f21 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -229,6 +229,15 @@
 &du {
 	status = "okay";
 
+	/* update <du_dotclkin0/3> to <programable_clk0/1> */
+	clocks = <&cpg CPG_MOD 724>,
+		 <&cpg CPG_MOD 723>,
+		 <&cpg CPG_MOD 722>,
+		 <&cpg CPG_MOD 721>,
+		 <&cpg CPG_MOD 727>,
+		 <&programmable_clk0>, <&du_dotclkin1>, <&du_dotclkin2>,
+		 <&programmable_clk1>;
+
 	ports {
 		port@1 {
 			endpoint {
@@ -390,6 +399,21 @@
 	status = "okay";
 
 	clock-frequency = <400000>;
+
+	clk_5p49v5925: programmable_clk@6a {
+		compatible = "idt,5p49v5925";
+		reg = <0x6a>;
+
+		programmable_clk0: 5p49x_clk1@6a {
+			#clock-cells = <0>;
+			clocks = <&du_dotclkin0>;
+		};
+
+		programmable_clk1: 5p49x_clk2@6a {
+			#clock-cells = <0>;
+			clocks = <&du_dotclkin3>;
+		};
+	};
 };
 
 &rcar_sound {
diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index 9aa4292..130c068 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -312,6 +312,13 @@
 &du {
 	status = "okay";
 
+	/* update <du_dotclkin0/2> to <programable_clk0/1> */
+	clocks = <&cpg CPG_MOD 724>,
+		 <&cpg CPG_MOD 723>,
+		 <&cpg CPG_MOD 722>,
+		 <&cpg CPG_MOD 727>,
+		 <&programmable_clk0>, <&du_dotclkin1>, <&programmable_clk1>;
+
 	ports {
 		port@1 {
 			endpoint {
@@ -422,6 +429,21 @@
 &i2c4 {
 	status = "okay";
 	clock-frequency = <400000>;
+
+	clk_5p49v5925: programmable_clk@6a {
+		compatible = "idt,5p49v5925";
+		reg = <0x6a>;
+
+		programmable_clk0: 5p49x_clk1@6a {
+			#clock-cells = <0>;
+			clocks = <&du_dotclkin0>;
+		};
+
+		programmable_clk1: 5p49x_clk2@6a {
+			#clock-cells = <0>;
+			clocks = <&du_dotclkin2>;
+		};
+	};
 };
 
 &rcar_sound {
-- 
1.9.1