From c182949e33dc3ac4d718386f97c75583bae0e46b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Fri, 28 Feb 2020 11:22:40 +0000
Subject: [PATCH] ARM: dts: overlays: Create custom clocks in /

Change [1] removes the simple-bus compatible string from the "/clocks"
node, preventing any custom clocks placed there from being initialised.
Rather than reinstate the compatible string and trigger DT warnings at
kernel build time, change the overlays to instantiate those clocks under
the root node ("/").

See: https://github.com/raspberrypi/linux/issues/3481

Signed-off-by: Phil Elwell <phil@raspberrypi.com>

[1] 4b2d24662126 ("ARM: dts: bcm283x: Remove simple-bus from fixed clocks")
---
 .../boot/dts/overlays/allo-boss-dac-pcm512x-audio-overlay.dts   | 2 +-
 arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts        | 2 +-
 arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts     | 2 +-
 arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts  | 2 +-
 arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts      | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

--- a/arch/arm/boot/dts/overlays/allo-boss-dac-pcm512x-audio-overlay.dts
+++ b/arch/arm/boot/dts/overlays/allo-boss-dac-pcm512x-audio-overlay.dts
@@ -9,7 +9,7 @@
 	compatible = "brcm,bcm2835";
 
 	fragment@0 {
-		target-path = "/clocks";
+		target-path = "/";
 		__overlay__ {
 			boss_osc: boss_osc {
 				compatible = "allo,dac-clk";
--- a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
@@ -6,7 +6,7 @@
 	compatible = "brcm,bcm2835";
 
 	fragment@0 {
-		target-path = "/clocks";
+		target-path = "/";
 		__overlay__ {
 			dacpro_osc: dacpro_osc {
 				compatible = "hifiberry,dacpro-clk";
--- a/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts
@@ -6,7 +6,7 @@
 	compatible = "brcm,bcm2835";
 
 	fragment@0 {
-		target-path = "/clocks";
+		target-path = "/";
 		__overlay__ {
 			dacpro_osc: dacpro_osc {
 				compatible = "hifiberry,dacpro-clk";
--- a/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts
@@ -6,7 +6,7 @@
 	compatible = "brcm,bcm2835";
 
 	fragment@0 {
-		target-path = "/clocks";
+		target-path = "/";
 		__overlay__ {
 			dacpro_osc: dacpro_osc {
 				compatible = "hifiberry,dacpro-clk";
--- a/arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts
@@ -8,7 +8,7 @@
 	compatible = "brcm,bcm2835";
 
 	fragment@0 {
-		target-path = "/clocks";
+		target-path = "/";
 		__overlay__ {
 			dachd_osc: pll_dachd_osc {
 				compatible = "hifiberry,dachd-clk";
