aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0878-ARM-dts-bcm2835-Switch-HSM-clock-to-firmware.patch
blob: 465fdea32ecdc88672c65812b858ba7bde32af07 (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
From fb31b2f3ddb36a98cbb50ab07a5541d553e72e16 Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime@cerno.tech>
Date: Mon, 25 Apr 2022 17:45:16 +0200
Subject: [PATCH] ARM: dts: bcm2835: Switch HSM clock to firmware

When the bootloader boots without a display connected to the
HDMI connector, it won't initialize the HSM clock.

Then, when Linux boots, the default parent fetched by the clock
framework will be the first parent for the HSM clock, which is "gnd".

That clock is never registered, leading to the HSM clock being orphaned,
which leads to other issues with the recent clock range handling.

It's not clear what the proper solution would be, but the firmware
clocks driver doesn't have that parenting issue and the clock rate is
properly initialized for this clock whenever it hasn't been set by the
bootloader.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/bcm2835-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/boot/dts/bcm2835-common.dtsi
+++ b/arch/arm/boot/dts/bcm2835-common.dtsi
@@ -129,7 +129,7 @@
 			interrupts = <2 8>, <2 9>;
 			ddc = <&i2c2>;
 			clocks = <&firmware_clocks 9>,
-				 <&clocks BCM2835_CLOCK_HSM>;
+				 <&firmware_clocks 13>;
 			clock-names = "pixel", "hdmi";
 			dmas = <&dma (17|(1<<27)|(1<<24))>;
 			dma-names = "audio-rx";