Also removes random module and switches to new bcm2711 thermal driver. Boot tested on RPi 4B v1.1 4G. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
		
			
				
	
	
		
			327 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			327 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 805e008c18ec09c4115e4cec413642028cd9a8e2 Mon Sep 17 00:00:00 2001
 | 
						|
From: Phil Elwell <phil@raspberrypi.com>
 | 
						|
Date: Mon, 11 May 2020 15:12:21 +0100
 | 
						|
Subject: [PATCH] overlays: Move "fixed-clock" nodes to the root
 | 
						|
 | 
						|
Apart from some special cases, device objects are only created for
 | 
						|
nodes if they are children of a bus or the root node. "fixed-clock"
 | 
						|
is one of the exceptions that will be instantiated wherever it is
 | 
						|
found, but only during kernel initialisation - ruling out loading the
 | 
						|
overlay at runtime.
 | 
						|
 | 
						|
Move most of the affected clocks to be children of the root, only
 | 
						|
leaving those in overlays that could be multiply instantiated, to avoid
 | 
						|
a potential name clash.
 | 
						|
 | 
						|
See: https://github.com/raspberrypi/linux/issues/3602
 | 
						|
 | 
						|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 | 
						|
---
 | 
						|
 .../dts/overlays/audiosense-pi-overlay.dts    | 14 ++++++-------
 | 
						|
 arch/arm/boot/dts/overlays/draws-overlay.dts  | 12 +++++------
 | 
						|
 .../boot/dts/overlays/fe-pi-audio-overlay.dts |  2 +-
 | 
						|
 arch/arm/boot/dts/overlays/imx219-overlay.dts | 12 +++++------
 | 
						|
 .../arm/boot/dts/overlays/irs1125-overlay.dts | 17 +++++++++------
 | 
						|
 .../dts/overlays/mcp2515-can0-overlay.dts     |  2 +-
 | 
						|
 .../dts/overlays/mcp2515-can1-overlay.dts     |  2 +-
 | 
						|
 .../boot/dts/overlays/midi-uart0-overlay.dts  |  2 +-
 | 
						|
 arch/arm/boot/dts/overlays/ov5647-overlay.dts | 17 +++++++++------
 | 
						|
 .../boot/dts/overlays/rpivid-v4l2-overlay.dts | 17 +++++++++------
 | 
						|
 .../dts/overlays/sc16is752-spi1-overlay.dts   | 21 ++++++++++++-------
 | 
						|
 .../boot/dts/overlays/tc358743-overlay.dts    | 17 +++++++++------
 | 
						|
 12 files changed, 80 insertions(+), 55 deletions(-)
 | 
						|
 | 
						|
--- a/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts
 | 
						|
@@ -24,6 +24,13 @@
 | 
						|
 				regulator-max-microvolt = <1800000>;
 | 
						|
 				regulator-always-on;
 | 
						|
 			};
 | 
						|
+
 | 
						|
+			/* audio external oscillator */
 | 
						|
+			codec_osc: codec_osc {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <12000000>;	/* 12 MHz */
 | 
						|
+			};
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
 
 | 
						|
@@ -44,13 +51,6 @@
 | 
						|
 			#size-cells = <0>;
 | 
						|
 			status = "okay";
 | 
						|
 
 | 
						|
-			/* audio external oscillator */
 | 
						|
-			codec_osc: codec_osc {
 | 
						|
-				compatible = "fixed-clock";
 | 
						|
-				#clock-cells = <0>;
 | 
						|
-				clock-frequency = <12000000>;	/* 12 MHz */
 | 
						|
-			};
 | 
						|
-
 | 
						|
 			codec: tlv320aic32x4@18 {
 | 
						|
 				#sound-dai-cells = <0>;
 | 
						|
 				compatible = "ti,tlv320aic32x4";
 | 
						|
--- a/arch/arm/boot/dts/overlays/draws-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/draws-overlay.dts
 | 
						|
@@ -30,6 +30,12 @@
 | 
						|
                     regulator-max-microvolt = <3300000>;
 | 
						|
                     regulator-always-on;
 | 
						|
                 };
 | 
						|
+
 | 
						|
+                sc16is752_clk: sc16is752_draws_clk {
 | 
						|
+                    compatible = "fixed-clock";
 | 
						|
+                    #clock-cells = <0>;
 | 
						|
+                    clock-frequency = <1843200>;
 | 
						|
+                };
 | 
						|
             };
 | 
						|
 
 | 
						|
             pps: pps {
 | 
						|
@@ -78,12 +84,6 @@
 | 
						|
 
 | 
						|
                 pinctrl-names = "default";
 | 
						|
                 pinctrl-0 = <&sc16is752_irq>;
 | 
						|
-
 | 
						|
-                sc16is752_clk: sc16is752_clk {
 | 
						|
-                    compatible = "fixed-clock";
 | 
						|
-                    #clock-cells = <0>;
 | 
						|
-                    clock-frequency = <1843200>;
 | 
						|
-                };
 | 
						|
             };
 | 
						|
 
 | 
						|
             tla2024: tla2024@48 {
 | 
						|
--- a/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts
 | 
						|
@@ -6,7 +6,7 @@
 | 
						|
 	compatible = "brcm,bcm2835";
 | 
						|
 
 | 
						|
 	fragment@0 {
 | 
						|
-		target = <&clocks>;
 | 
						|
+		target-path = "/";
 | 
						|
 		__overlay__ {
 | 
						|
 			sgtl5000_mclk: sgtl5000_mclk {
 | 
						|
 				compatible = "fixed-clock";
 | 
						|
--- a/arch/arm/boot/dts/overlays/imx219-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts
 | 
						|
@@ -27,12 +27,6 @@
 | 
						|
 				VDIG-supply = <&imx219_vdig>;	/* 1.8v */
 | 
						|
 				VDDL-supply = <&imx219_vddl>;	/* 1.2v */
 | 
						|
 
 | 
						|
-				imx219_clk: camera-clk {
 | 
						|
-					compatible = "fixed-clock";
 | 
						|
-					#clock-cells = <0>;
 | 
						|
-					clock-frequency = <24000000>;
 | 
						|
-				};
 | 
						|
-
 | 
						|
 				port {
 | 
						|
 					imx219_0: endpoint {
 | 
						|
 						remote-endpoint = <&csi1_ep>;
 | 
						|
@@ -90,6 +84,12 @@
 | 
						|
 				regulator-min-microvolt = <1200000>;
 | 
						|
 				regulator-max-microvolt = <1200000>;
 | 
						|
 			};
 | 
						|
+
 | 
						|
+			imx219_clk: camera-clk {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <24000000>;
 | 
						|
+			};
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
 
 | 
						|
--- a/arch/arm/boot/dts/overlays/irs1125-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/irs1125-overlay.dts
 | 
						|
@@ -21,12 +21,6 @@
 | 
						|
 				pwdn-gpios = <&gpio 5 0>;
 | 
						|
 				clocks = <&irs1125_clk>;
 | 
						|
 
 | 
						|
-				irs1125_clk: camera-clk {
 | 
						|
-					compatible = "fixed-clock";
 | 
						|
-					#clock-cells = <0>;
 | 
						|
-					clock-frequency = <26000000>;
 | 
						|
-				};
 | 
						|
-
 | 
						|
 				port {
 | 
						|
 					irs1125_0: endpoint {
 | 
						|
 						remote-endpoint = <&csi1_ep>;
 | 
						|
@@ -75,4 +69,15 @@
 | 
						|
 			cam0-pwdn      = <&irs1125>,"pwdn-gpios:4";
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
+
 | 
						|
+	fragment@5 {
 | 
						|
+		target-path = "/";
 | 
						|
+		__overlay__ {
 | 
						|
+			irs1125_clk: camera-clk {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <26000000>;
 | 
						|
+			};
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
 };
 | 
						|
--- a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts
 | 
						|
@@ -35,7 +35,7 @@
 | 
						|
 
 | 
						|
     /* the clock/oscillator of the can-controller */
 | 
						|
     fragment@3 {
 | 
						|
-        target-path = "/clocks";
 | 
						|
+        target-path = "/";
 | 
						|
         __overlay__ {
 | 
						|
             /* external oscillator of mcp2515 on SPI0.0 */
 | 
						|
             can0_osc: can0_osc {
 | 
						|
--- a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts
 | 
						|
@@ -35,7 +35,7 @@
 | 
						|
 
 | 
						|
     /* the clock/oscillator of the can-controller */
 | 
						|
     fragment@3 {
 | 
						|
-        target-path = "/clocks";
 | 
						|
+        target-path = "/";
 | 
						|
         __overlay__ {
 | 
						|
             /* external oscillator of mcp2515 on spi0.1 */
 | 
						|
             can1_osc: can1_osc {
 | 
						|
--- a/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts
 | 
						|
@@ -15,7 +15,7 @@
 | 
						|
 	compatible = "brcm,bcm2835";
 | 
						|
 
 | 
						|
 	fragment@0 {
 | 
						|
-		target-path = "/clocks";
 | 
						|
+		target-path = "/";
 | 
						|
 		__overlay__ {
 | 
						|
 			midi_clk: midi_clk {
 | 
						|
 				compatible = "fixed-clock";
 | 
						|
--- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
 | 
						|
@@ -21,12 +21,6 @@
 | 
						|
 				pwdn-gpios = <&gpio 41 1>, <&gpio 32 1>;
 | 
						|
 				clocks = <&ov5647_clk>;
 | 
						|
 
 | 
						|
-				ov5647_clk: camera-clk {
 | 
						|
-					compatible = "fixed-clock";
 | 
						|
-					#clock-cells = <0>;
 | 
						|
-					clock-frequency = <25000000>;
 | 
						|
-				};
 | 
						|
-
 | 
						|
 				port {
 | 
						|
 					ov5647_0: endpoint {
 | 
						|
 						remote-endpoint = <&csi1_ep>;
 | 
						|
@@ -77,4 +71,15 @@
 | 
						|
 			cam0-led       = <&ov5647>,"pwdn-gpios:16";
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
+
 | 
						|
+	fragment@5 {
 | 
						|
+		target-path = "/";
 | 
						|
+		__overlay__ {
 | 
						|
+			ov5647_clk: camera-clk {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <25000000>;
 | 
						|
+			};
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
 };
 | 
						|
--- a/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts
 | 
						|
@@ -26,12 +26,6 @@
 | 
						|
 
 | 
						|
 				clocks = <&hevc_clk>;
 | 
						|
 				clock-names = "hevc";
 | 
						|
-
 | 
						|
-				hevc_clk: hevc_clk {
 | 
						|
-					compatible = "fixed-clock";
 | 
						|
-					#clock-cells = <0>;
 | 
						|
-					clock-frequency = <500000000>;
 | 
						|
-				};
 | 
						|
 			};
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
@@ -53,4 +47,15 @@
 | 
						|
 			};
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
+
 | 
						|
+	fragment@2 {
 | 
						|
+		target-path = "/";
 | 
						|
+		__overlay__ {
 | 
						|
+			hevc_clk: hevc_clk {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <500000000>;
 | 
						|
+			};
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
 };
 | 
						|
--- a/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts
 | 
						|
@@ -38,12 +38,6 @@
 | 
						|
 				#gpio-controller;
 | 
						|
 				#gpio-cells = <2>;
 | 
						|
 				spi-max-frequency = <4000000>;
 | 
						|
-
 | 
						|
-				sc16is752_clk: sc16is752_clk {
 | 
						|
-					compatible = "fixed-clock";
 | 
						|
-					#clock-cells = <0>;
 | 
						|
-					clock-frequency = <14745600>;
 | 
						|
-				};
 | 
						|
 			};
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
@@ -55,8 +49,19 @@
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
 
 | 
						|
-    __overrides__ {
 | 
						|
+	fragment@3 {
 | 
						|
+		target-path = "/";
 | 
						|
+		__overlay__ {
 | 
						|
+			sc16is752_clk: sc16is752_spi1_clk {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <14745600>;
 | 
						|
+			};
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
+
 | 
						|
+	__overrides__ {
 | 
						|
 		int_pin = <&sc16is752>,"interrupts:0";
 | 
						|
 		xtal = <&sc16is752_clk>,"clock-frequency:0";
 | 
						|
-    };
 | 
						|
+	};
 | 
						|
 };
 | 
						|
--- a/arch/arm/boot/dts/overlays/tc358743-overlay.dts
 | 
						|
+++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
 | 
						|
@@ -21,12 +21,6 @@
 | 
						|
 				clocks = <&tc358743_clk>;
 | 
						|
 				clock-names = "refclk";
 | 
						|
 
 | 
						|
-				tc358743_clk: bridge-clk {
 | 
						|
-					compatible = "fixed-clock";
 | 
						|
-					#clock-cells = <0>;
 | 
						|
-					clock-frequency = <27000000>;
 | 
						|
-				};
 | 
						|
-
 | 
						|
 				port {
 | 
						|
 					tc358743: endpoint {
 | 
						|
 						remote-endpoint = <&csi1_ep>;
 | 
						|
@@ -81,6 +75,17 @@
 | 
						|
 		};
 | 
						|
 	};
 | 
						|
 
 | 
						|
+	fragment@6 {
 | 
						|
+		target-path = "/";
 | 
						|
+		__overlay__ {
 | 
						|
+			tc358743_clk: bridge-clk {
 | 
						|
+				compatible = "fixed-clock";
 | 
						|
+				#clock-cells = <0>;
 | 
						|
+				clock-frequency = <27000000>;
 | 
						|
+			};
 | 
						|
+		};
 | 
						|
+	};
 | 
						|
+
 | 
						|
 	__overrides__ {
 | 
						|
 		4lane = <0>, "-2+3";
 | 
						|
 		link-frequency = <&tc358743>,"link-frequencies#0";
 |