[PATCH 8/9] arm64: dts: google: Add Laguna CPM node

From: Brian Norris

Date: Mon Oct 26 2026 - 17:48:22 EST


The Central Power Manager (CPM) is a co-processor on the Google Tensor
SoCs, as used on Pixel phones. CPM supports power-management and a
number of other features.

The Application Processor communicates with CPM over a pair of mailbox
channels. CPM provides clock, power-domain, reset, and interrupt
services, so we include the appropriate cell-definitions for those.

Because this also adds clock, reset, and power-domain support, we add
them to the UART node at the same time.

Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
---

arch/arm64/boot/dts/google/lga.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/google/lga.dtsi b/arch/arm64/boot/dts/google/lga.dtsi
index 6ceb9ea6a100..83b2361c5f00 100644
--- a/arch/arm64/boot/dts/google/lga.dtsi
+++ b/arch/arm64/boot/dts/google/lga.dtsi
@@ -7,8 +7,13 @@

/dts-v1/;

+#include <dt-bindings/clock/google,lga-cpm.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interrupt-controller/irq-cpm-google.h>
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/power/google,lga-cpm.h>
+#include <dt-bindings/reset/google,lga-cpm-reset.h>
+#include <dt-bindings/soc/google,lga-lpcm.h>

/ {
#address-cells = <2>;
@@ -356,6 +361,16 @@ abl@be000000 {
};
};

+ cpm: cpm {
+ compatible = "google,lga-cpm";
+ #clock-cells = <2>;
+ #power-domain-cells = <1>;
+ #reset-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ mboxes = <&cpm_ap_ns_req_mba>, <&cpm_ap_ns_resp_mba>;
+ };
+
soc: soc@0 {
compatible = "simple-bus";
ranges = <0x0 0x0 0x0 0x0 0x10 0x0>;
@@ -423,9 +438,14 @@ lsion_cli16_uart: serial@db62000 {
reg = <0x0 0x0db62000 0x0 0x100>;

clock-frequency = <200000000>;
+ clocks = <&cpm LGA_LPCM_LSIO_N LSION_CLI16_UART_CLK>,
+ <&cpm LGA_LPCM_LSIO_N LSION_CLI16_CFG_CLK>;
+ clock-names = "baudclk", "apb_pclk";
interrupts = <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH 0>;
+ power-domains = <&cpm LGA_PD_LSIO_N_CLI_GPIO>;
reg-io-width = <4>;
reg-shift = <2>;
+ resets = <&cpm LGA_LPCM_LSIO_N LSION_CLI16_UART_IC_CFG_RST>;

status = "disabled";
};
--
2.56.0.307.g5fe7bd680c-goog