1 From 805e008c18ec09c4115e4cec413642028cd9a8e2 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Mon, 11 May 2020 15:12:21 +0100
4 Subject: [PATCH] overlays: Move "fixed-clock" nodes to the root
6 Apart from some special cases, device objects are only created for
7 nodes if they are children of a bus or the root node. "fixed-clock"
8 is one of the exceptions that will be instantiated wherever it is
9 found, but only during kernel initialisation - ruling out loading the
12 Move most of the affected clocks to be children of the root, only
13 leaving those in overlays that could be multiply instantiated, to avoid
14 a potential name clash.
16 See: https://github.com/raspberrypi/linux/issues/3602
18 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
20 .../dts/overlays/audiosense-pi-overlay.dts | 14 ++++++-------
21 arch/arm/boot/dts/overlays/draws-overlay.dts | 12 +++++------
22 .../boot/dts/overlays/fe-pi-audio-overlay.dts | 2 +-
23 arch/arm/boot/dts/overlays/imx219-overlay.dts | 12 +++++------
24 .../arm/boot/dts/overlays/irs1125-overlay.dts | 17 +++++++++------
25 .../dts/overlays/mcp2515-can0-overlay.dts | 2 +-
26 .../dts/overlays/mcp2515-can1-overlay.dts | 2 +-
27 .../boot/dts/overlays/midi-uart0-overlay.dts | 2 +-
28 arch/arm/boot/dts/overlays/ov5647-overlay.dts | 17 +++++++++------
29 .../boot/dts/overlays/rpivid-v4l2-overlay.dts | 17 +++++++++------
30 .../dts/overlays/sc16is752-spi1-overlay.dts | 21 ++++++++++++-------
31 .../boot/dts/overlays/tc358743-overlay.dts | 17 +++++++++------
32 12 files changed, 80 insertions(+), 55 deletions(-)
34 --- a/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts
35 +++ b/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts
37 regulator-max-microvolt = <1800000>;
41 + /* audio external oscillator */
42 + codec_osc: codec_osc {
43 + compatible = "fixed-clock";
45 + clock-frequency = <12000000>; /* 12 MHz */
54 - /* audio external oscillator */
55 - codec_osc: codec_osc {
56 - compatible = "fixed-clock";
58 - clock-frequency = <12000000>; /* 12 MHz */
61 codec: tlv320aic32x4@18 {
62 #sound-dai-cells = <0>;
63 compatible = "ti,tlv320aic32x4";
64 --- a/arch/arm/boot/dts/overlays/draws-overlay.dts
65 +++ b/arch/arm/boot/dts/overlays/draws-overlay.dts
67 regulator-max-microvolt = <3300000>;
71 + sc16is752_clk: sc16is752_draws_clk {
72 + compatible = "fixed-clock";
74 + clock-frequency = <1843200>;
81 pinctrl-names = "default";
82 pinctrl-0 = <&sc16is752_irq>;
84 - sc16is752_clk: sc16is752_clk {
85 - compatible = "fixed-clock";
87 - clock-frequency = <1843200>;
92 --- a/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts
93 +++ b/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts
95 compatible = "brcm,bcm2835";
101 sgtl5000_mclk: sgtl5000_mclk {
102 compatible = "fixed-clock";
103 --- a/arch/arm/boot/dts/overlays/imx219-overlay.dts
104 +++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts
106 VDIG-supply = <&imx219_vdig>; /* 1.8v */
107 VDDL-supply = <&imx219_vddl>; /* 1.2v */
109 - imx219_clk: camera-clk {
110 - compatible = "fixed-clock";
111 - #clock-cells = <0>;
112 - clock-frequency = <24000000>;
117 remote-endpoint = <&csi1_ep>;
119 regulator-min-microvolt = <1200000>;
120 regulator-max-microvolt = <1200000>;
123 + imx219_clk: camera-clk {
124 + compatible = "fixed-clock";
125 + #clock-cells = <0>;
126 + clock-frequency = <24000000>;
131 --- a/arch/arm/boot/dts/overlays/irs1125-overlay.dts
132 +++ b/arch/arm/boot/dts/overlays/irs1125-overlay.dts
134 pwdn-gpios = <&gpio 5 0>;
135 clocks = <&irs1125_clk>;
137 - irs1125_clk: camera-clk {
138 - compatible = "fixed-clock";
139 - #clock-cells = <0>;
140 - clock-frequency = <26000000>;
144 irs1125_0: endpoint {
145 remote-endpoint = <&csi1_ep>;
147 cam0-pwdn = <&irs1125>,"pwdn-gpios:4";
154 + irs1125_clk: camera-clk {
155 + compatible = "fixed-clock";
156 + #clock-cells = <0>;
157 + clock-frequency = <26000000>;
162 --- a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts
163 +++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts
166 /* the clock/oscillator of the can-controller */
168 - target-path = "/clocks";
171 /* external oscillator of mcp2515 on SPI0.0 */
173 --- a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts
174 +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts
177 /* the clock/oscillator of the can-controller */
179 - target-path = "/clocks";
182 /* external oscillator of mcp2515 on spi0.1 */
184 --- a/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts
185 +++ b/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts
187 compatible = "brcm,bcm2835";
190 - target-path = "/clocks";
194 compatible = "fixed-clock";
195 --- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
196 +++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
198 pwdn-gpios = <&gpio 41 1>, <&gpio 32 1>;
199 clocks = <&ov5647_clk>;
201 - ov5647_clk: camera-clk {
202 - compatible = "fixed-clock";
203 - #clock-cells = <0>;
204 - clock-frequency = <25000000>;
209 remote-endpoint = <&csi1_ep>;
211 cam0-led = <&ov5647>,"pwdn-gpios:16";
218 + ov5647_clk: camera-clk {
219 + compatible = "fixed-clock";
220 + #clock-cells = <0>;
221 + clock-frequency = <25000000>;
226 --- a/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts
227 +++ b/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts
230 clocks = <&hevc_clk>;
231 clock-names = "hevc";
233 - hevc_clk: hevc_clk {
234 - compatible = "fixed-clock";
235 - #clock-cells = <0>;
236 - clock-frequency = <500000000>;
249 + hevc_clk: hevc_clk {
250 + compatible = "fixed-clock";
251 + #clock-cells = <0>;
252 + clock-frequency = <500000000>;
257 --- a/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts
258 +++ b/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts
262 spi-max-frequency = <4000000>;
264 - sc16is752_clk: sc16is752_clk {
265 - compatible = "fixed-clock";
266 - #clock-cells = <0>;
267 - clock-frequency = <14745600>;
280 + sc16is752_clk: sc16is752_spi1_clk {
281 + compatible = "fixed-clock";
282 + #clock-cells = <0>;
283 + clock-frequency = <14745600>;
289 int_pin = <&sc16is752>,"interrupts:0";
290 xtal = <&sc16is752_clk>,"clock-frequency:0";
294 --- a/arch/arm/boot/dts/overlays/tc358743-overlay.dts
295 +++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
297 clocks = <&tc358743_clk>;
298 clock-names = "refclk";
300 - tc358743_clk: bridge-clk {
301 - compatible = "fixed-clock";
302 - #clock-cells = <0>;
303 - clock-frequency = <27000000>;
308 remote-endpoint = <&csi1_ep>;
316 + tc358743_clk: bridge-clk {
317 + compatible = "fixed-clock";
318 + #clock-cells = <0>;
319 + clock-frequency = <27000000>;
326 link-frequency = <&tc358743>,"link-frequencies#0";