ARM: dts: bcm2835-rpi: Use firmware clocks for display
authorMaxime Ripard <maxime@cerno.tech>
Wed, 26 Oct 2022 13:17:39 +0000 (15:17 +0200)
committerFlorian Fainelli <f.fainelli@gmail.com>
Thu, 10 Nov 2022 18:15:15 +0000 (10:15 -0800)
We've experienced a number of issues around the cohabitation between the
"real" clock driver in Linux and the one backed by the firmware.

One solution around this is to follow what the RaspberryPi foundation
in its downstream clock, which is also what we've been doing on the
RaspberryPi4: to use the clocks exposed by the firmware.

Link: https://lore.kernel.org/linux-clk/20221021140505.kjmw5x4s6qhnrfif@houat/
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20221026-rpi-display-fw-clk-v1-2-5c29b7a3d8b0@cerno.tech
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm/boot/dts/bcm2835-rpi-common.dtsi

index 8a55b6cded592eb822f95eca86fde4f9a684855f..4e7b4a592da7c3284358222b92781af624d90ec4 100644 (file)
@@ -7,6 +7,23 @@
 
 #include <dt-bindings/power/raspberrypi-power.h>
 
+&firmware {
+       firmware_clocks: clocks {
+               compatible = "raspberrypi,firmware-clocks";
+               #clock-cells = <1>;
+       };
+};
+
+&hdmi {
+       clocks = <&firmware_clocks 9>,
+                <&firmware_clocks 13>;
+       clock-names = "pixel", "hdmi";
+};
+
 &v3d {
        power-domains = <&power RPI_POWER_DOMAIN_V3D>;
 };
+
+&vec {
+       clocks = <&firmware_clocks 15>;
+};