[PATCH 2/9] dt-bindings: soc: google: Add Google Tensor CPM binding

From: Brian Norris

Date: Mon Oct 26 2026 - 17:45:56 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.

Notably, CPM manages other services that are not yet included in this
binding -- some attached PMICs, an RTC, and more. For simplicity, we
don't try to describe and support all features all at once.

Because it may be useful both for reviewers familiar with the downstream
Linux support for these devices, or for future developers looking at
adapting/improving/adding further features later on, it's worth noting
some major deviations from downstream bindings:

* CPM does not sit on the soc bus, and does not have any IO/reg region
of its own. The downstream bindings included some not-quite-related
hardware resources in the same "device", to aid doing some similar
things in the same driver. For instance, some power domains
(specifically, the GPU) are not managed by CPM, and instead are left
for direct-register-access. Such a domain should be described
separately, and not within the CPM node.

* Downstream bindings tended to describe every CPM-using service as its
own node, with a (fake) mailbox-phandle back to the CPM node. We try
as much as possible here to avoid separate nodes if we can help it.
And see the next point:

* Downstream bindings tended to describe every individual clock, reset,
and power-domain as their own sub-node, with various
software-describing properties as part of each node. These properties
are inherent to the SoC, however, so we avoid sub-nodes and instead
just provide appropriate #{clock,power-domain,reset}-cells, and leave
the per-{power-domain,clock} properties to the driver.

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

.../bindings/soc/google/google,lga-cpm.yaml | 74 +++++++
include/dt-bindings/clock/google,lga-cpm.h | 191 ++++++++++++++++++
.../interrupt-controller/irq-cpm-google.h | 16 ++
include/dt-bindings/power/google,lga-cpm.h | 79 ++++++++
.../dt-bindings/reset/google,lga-cpm-reset.h | 175 ++++++++++++++++
include/dt-bindings/soc/google,lga-lpcm.h | 54 +++++
6 files changed, 589 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/google/google,lga-cpm.yaml
create mode 100644 include/dt-bindings/clock/google,lga-cpm.h
create mode 100644 include/dt-bindings/interrupt-controller/irq-cpm-google.h
create mode 100644 include/dt-bindings/power/google,lga-cpm.h
create mode 100644 include/dt-bindings/reset/google,lga-cpm-reset.h
create mode 100644 include/dt-bindings/soc/google,lga-lpcm.h

diff --git a/Documentation/devicetree/bindings/soc/google/google,lga-cpm.yaml b/Documentation/devicetree/bindings/soc/google/google,lga-cpm.yaml
new file mode 100644
index 000000000000..546e6c7fff80
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/google/google,lga-cpm.yaml
@@ -0,0 +1,74 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/google/google,lga-cpm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Google Central Power Manager (CPM)
+
+maintainers:
+ - Brian Norris <briannorris@xxxxxxxxxxxx>
+
+description: |
+ The Central Power Manager (CPM) is an on-chip power management subsystem
+ found on Google Tensor SoCs. It has a variety of responsibilities, from DVFS
+ and power management to resets, PMIC control, and even RTC management. The
+ Application Processor communicates with CPM over a set of mailbox channels.
+
+properties:
+ compatible:
+ const: google,lga-cpm
+
+ mboxes:
+ items:
+ - description: TX mailbox channel for sending requests to CPM
+ - description: RX mailbox channel for receiving responses from CPM
+
+ '#power-domain-cells':
+ const: 1
+ description: See <dt-bindings/power/google,lga-cpm.h> for power domain IDs.
+
+ '#reset-cells':
+ const: 2
+ description:
+ Each reset is specified by an LPCM ID (cell 1) and a reset ID (cell 2).
+ See <dt-bindings/soc/google,lga-lpcm.h> for LPCM IDs and
+ <dt-bindings/reset/google,lga-cpm-reset.h> for reset IDs.
+
+ interrupt-controller: true
+
+ '#interrupt-cells':
+ const: 1
+ description:
+ Interrupt identifiers are assigned by CPM firmware. See
+ <dt-bindings/interrupt-controller/irq-cpm-google.h> for interrupt IDs.
+
+ '#clock-cells':
+ const: 2
+ description:
+ Each clock is specified by an LPCM ID (cell 1) and a clock ID (cell
+ 2). See <dt-bindings/soc/google,lga-lpcm.h> for LPCM IDs and
+ <dt-bindings/clock/google,lga-cpm.h> for clock IDs.
+
+required:
+ - compatible
+ - mboxes
+ - '#clock-cells'
+ - '#power-domain-cells'
+ - '#reset-cells'
+ - '#interrupt-cells'
+ - interrupt-controller
+
+additionalProperties: false
+
+examples:
+ - |
+ cpm: cpm {
+ compatible = "google,lga-cpm";
+ mboxes = <&cpm_ap_ns_req_mba>, <&cpm_ap_ns_resp_mba>;
+ #clock-cells = <2>;
+ #power-domain-cells = <1>;
+ #reset-cells = <2>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
diff --git a/include/dt-bindings/clock/google,lga-cpm.h b/include/dt-bindings/clock/google,lga-cpm.h
new file mode 100644
index 000000000000..6d5a5567226d
--- /dev/null
+++ b/include/dt-bindings/clock/google,lga-cpm.h
@@ -0,0 +1,191 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef __DT_BINDINGS_CLOCK_GOOGLE_LGA_CPM_H
+#define __DT_BINDINGS_CLOCK_GOOGLE_LGA_CPM_H
+
+/*
+ * LPCM clock ID's of each SSWRPs
+ */
+
+#define LSIOS_GPIO_CLK 0
+#define LSIOS_MCLK0_CLK 1
+#define LSIOS_PWM_CLK 2
+#define LSIOS_PWM_CFG_CLK 3
+#define LSIOS_CLI0_CFG_CLK 4
+#define LSIOS_CLI1_CFG_CLK 5
+#define LSIOS_CLI2_CFG_CLK 6
+#define LSIOS_CLI3_CFG_CLK 7
+#define LSIOS_CLI4_CFG_CLK 8
+#define LSIOS_CLI5_CFG_CLK 9
+#define LSIOS_CLI6_CFG_CLK 10
+#define LSIOS_CLI0_SPI_CLK 11
+#define LSIOS_CLI1_SPI_CLK 12
+#define LSIOS_CLI2_SPI_CLK 13
+#define LSIOS_CLI3_SPI_CLK 14
+#define LSIOS_CLI4_SPI_CLK 15
+#define LSIOS_CLI5_SPI_CLK 16
+#define LSIOS_CLI6_SPI_CLK 17
+#define LSIOS_CLI0_I2C_CLK 18
+#define LSIOS_CLI1_I2C_CLK 19
+#define LSIOS_CLI2_I2C_CLK 20
+#define LSIOS_CLI3_I2C_CLK 21
+#define LSIOS_CLI4_I2C_CLK 22
+#define LSIOS_CLI5_I2C_CLK 23
+#define LSIOS_CLI6_I2C_CLK 24
+#define LSIOS_CLI0_UART_CLK 25
+#define LSIOS_CLI1_UART_CLK 26
+#define LSIOS_CLI2_UART_CLK 27
+#define LSIOS_CLI3_UART_CLK 28
+#define LSIOS_CLI4_UART_CLK 29
+#define LSIOS_CLI5_UART_CLK 30
+#define LSIOS_CLI6_UART_CLK 31
+#define LSIOS_CLI0_I3C_CLK 32
+#define LSIOS_CLI1_I3C_CLK 33
+#define LSIOS_CLI2_I3C_CLK 34
+#define LSIOS_CLI3_I3C_CLK 35
+#define LSIOS_CLI4_I3C_CLK 36
+#define LSIOS_CLI5_I3C_CLK 37
+#define LSIOS_CLI6_I3C_CLK 38
+#define LSIOS_MCLK1_CLK 39
+#define LSIOS_MCLK2_CLK 40
+#define LSIOS_MCLK3_CLK 41
+#define LSIOS_MCLK4_CLK 42
+#define LSIOS_MCLK5_CLK 43
+#define LSIOS_MCLK6_CLK 44
+#define LSIOS_MCLK7_CLK 45
+
+#define LSION_GPIO_CLK 0
+#define LSION_CLI_INT0_I2C_CLK 1
+#define LSION_CLI_INT0_I3C_CLK 2
+#define LSION_CLI_INT0_UART_CLK 3
+#define LSION_CLI_INT0_SPI_CLK 4
+#define LSION_CLI_INT0_CFG_CLK 5
+#define LSION_CLI_INT1_I2C_CLK 6
+#define LSION_CLI_INT1_I3C_CLK 7
+#define LSION_CLI_INT1_UART_CLK 8
+#define LSION_CLI_INT1_SPI_CLK 9
+#define LSION_CLI_INT1_CFG_CLK 10
+#define LSION_CLI_INT2_I2C_CLK 11
+#define LSION_CLI_INT2_I3C_CLK 12
+#define LSION_CLI_INT2_UART_CLK 13
+#define LSION_CLI_INT2_SPI_CLK 14
+#define LSION_CLI_INT2_CFG_CLK 15
+#define LSION_CLI_INT3_I2C_CLK 16
+#define LSION_CLI_INT3_I3C_CLK 17
+#define LSION_CLI_INT3_UART_CLK 18
+#define LSION_CLI_INT3_SPI_CLK 19
+#define LSION_CLI_INT3_CFG_CLK 20
+#define LSION_CLI_INT4_I2C_CLK 21
+#define LSION_CLI_INT4_I3C_CLK 22
+#define LSION_CLI_INT4_UART_CLK 23
+#define LSION_CLI_INT4_SPI_CLK 24
+#define LSION_CLI_INT4_CFG_CLK 25
+#define LSION_CLI15_CFG_CLK 26
+#define LSION_CLI16_CFG_CLK 27
+#define LSION_CLI15_I2C_CLK 28
+#define LSION_CLI16_I2C_CLK 29
+#define LSION_CLI15_SPI_CLK 30
+#define LSION_CLI16_SPI_CLK 31
+#define LSION_CLI15_UART_CLK 32
+#define LSION_CLI16_UART_CLK 33
+#define LSION_CLI15_I3C_CLK 34
+#define LSION_CLI16_I3C_CLK 35
+
+#define LSIOE_GPIO_CLK 0
+#define LSIOE_CLI7_CFG_CLK 1
+#define LSIOE_CLI8_CFG_CLK 2
+#define LSIOE_CLI9_CFG_CLK 3
+#define LSIOE_CLI10_CFG_CLK 4
+#define LSIOE_CLI11_CFG_CLK 5
+#define LSIOE_CLI12_CFG_CLK 6
+#define LSIOE_CLI13_CFG_CLK 7
+#define LSIOE_CLI14_CFG_CLK 8
+#define LSIOE_CLI7_SPI_CLK 9
+#define LSIOE_CLI8_SPI_CLK 10
+#define LSIOE_CLI9_SPI_CLK 11
+#define LSIOE_CLI10_SPI_CLK 12
+#define LSIOE_CLI11_SPI_CLK 13
+#define LSIOE_CLI12_SPI_CLK 14
+#define LSIOE_CLI13_SPI_CLK 15
+#define LSIOE_CLI14_SPI_CLK 16
+#define LSIOE_CLI7_I2C_CLK 17
+#define LSIOE_CLI8_I2C_CLK 18
+#define LSIOE_CLI9_I2C_CLK 19
+#define LSIOE_CLI10_I2C_CLK 20
+#define LSIOE_CLI11_I2C_CLK 21
+#define LSIOE_CLI12_I2C_CLK 22
+#define LSIOE_CLI13_I2C_CLK 23
+#define LSIOE_CLI14_I2C_CLK 24
+#define LSIOE_CLI7_UART_CLK 25
+#define LSIOE_CLI8_UART_CLK 26
+#define LSIOE_CLI9_UART_CLK 27
+#define LSIOE_CLI10_UART_CLK 28
+#define LSIOE_CLI11_UART_CLK 29
+#define LSIOE_CLI12_UART_CLK 30
+#define LSIOE_CLI13_UART_CLK 31
+#define LSIOE_CLI14_UART_CLK 32
+#define LSIOE_SPMI_CLK 33
+#define LSIOE_CLI7_I3C_CLK 34
+#define LSIOE_CLI8_I3C_CLK 35
+#define LSIOE_CLI9_I3C_CLK 36
+#define LSIOE_CLI10_I3C_CLK 37
+#define LSIOE_CLI11_I3C_CLK 38
+#define LSIOE_CLI12_I3C_CLK 39
+#define LSIOE_CLI13_I3C_CLK 40
+#define LSIOE_CLI14_I3C_CLK 41
+
+#define HSIOS_MPHY_REF_OSC_CLK 0
+#define HSIOS_MPHY_REF_TCX0_CLK 1
+#define HSIOS_GPIO_REF_OSC_CLK 2
+#define HSIOS_GPIO_REF_TCX0_CLK 3
+#define HSIOS_HCLK_CLK 4
+#define HSIOS_SYS_CLK 5
+#define HSIOS_T_CLK 6
+#define HSIOS_LP_T_CLK 7
+#define HSIOS_MPHY_CFG_CLK 8
+#define HSIOS_UFS_CFG_CLK 9
+#define HSIOS_PHY_FW_CLK 10
+#define HSIOS_PCIE_REF_CLK 11
+#define HSIOS_UFS_RESET_CLK 12
+#define HSIOS_UFS_LP_RESET_CLK 13
+#define HSIOS_UFS_ARESET_CLK 14
+#define HSIOS_UFS_PHY_RESET_CLK 15
+#define HSIOS_AUX_CLK 16
+
+#define HSION_USB_CLK 0
+#define HSION_DP0_CLK 1
+#define HSION_DP1_CLK 2
+#define HSION_PHY_FW_CLK 3
+#define HSION_PCIE_REF_CLK 4
+#define HSION_U2PHY_REF_CLK 5
+#define HSION_USBDP_SUSPEND_CLK 6
+#define HSION_USBC_NON_STICKY_CLK 7
+#define HSION_USBC_STICKY_CLK 8
+#define HSION_USB_DRD_BUS_CLK 9
+#define HSION_CSR_CLK 10
+#define HSION_USB_TOP_CSR_CLK 11
+#define HSION_DP_PCLK_CLK 12
+#define HSION_DP_CFG_CLK 13
+#define HSION_U2PHY_APB_CLK 14
+#define HSION_DP_VCC_CLK 15
+#define HSION_U3PHY_REF_CLK 16
+#define HSION_USB2_PHY_RESET_CLK 17
+#define HSION_USB3DP_PHY_RESET_CLK 18
+#define HSION_EBU_CLK 19
+
+#define DPU_DP0_PIX_CLK 0
+#define DPU_DP1_PIX_CLK 1
+#define DPU_DSI0_PIX_CLK 2
+#define DPU_DSI1_PIX_CLK 3
+#define DPU_DSI1_PHY_CLK 4
+#define DPU_FE0_CLK 5
+#define DPU_FE1_CLK 6
+#define DPU_BE_CLK 7
+#define DPU_AON_CLK 8
+
+#define GPCM_DPU_PLL_DP_CLK 0
+#define GPCM_HSION_PLL_DP_CLK 1
+
+#define CPU_SSWRP_TSS_CLK 1
+
+#endif /* __DT_BINDINGS_CLOCK_GOOGLE_LGA_CPM_H */
diff --git a/include/dt-bindings/interrupt-controller/irq-cpm-google.h b/include/dt-bindings/interrupt-controller/irq-cpm-google.h
new file mode 100644
index 000000000000..26d83bfe39af
--- /dev/null
+++ b/include/dt-bindings/interrupt-controller/irq-cpm-google.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * This header provides constants for CPM IRQ.
+ *
+ * Copyright 2025-2026 Google LLC
+ *
+ */
+#ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_CPM_H
+#define _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_CPM_H
+
+#define CPM_IRQ_RTC_ALARM_NO 0
+#define CPM_IRQ_AOC_MIN 7
+#define CPM_IRQ_AOC_MAX 156
+#define CPM_IRQ_AP_GDMC_WAKE 157
+
+#endif /* _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_CPM_H */
diff --git a/include/dt-bindings/power/google,lga-cpm.h b/include/dt-bindings/power/google,lga-cpm.h
new file mode 100644
index 000000000000..4b35c59df2cc
--- /dev/null
+++ b/include/dt-bindings/power/google,lga-cpm.h
@@ -0,0 +1,79 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef __DT_BINDINGS_POWER_GOOGLE_LGA_CPM_H
+#define __DT_BINDINGS_POWER_GOOGLE_LGA_CPM_H
+
+/* AOC */
+#define LGA_PD_SSWRP_AOC 0
+#define LGA_PD_AOC_CORE 1
+
+/* AURORA */
+#define LGA_PD_SSWRP_AURORA 2
+
+/* CODEC_3P */
+#define LGA_PD_SSWRP_CODEC_3P 3
+
+/* DPU */
+#define LGA_PD_DPU_DP 4
+#define LGA_PD_SSWRP_DPU 5
+#define LGA_PD_DPU_FE0 6
+#define LGA_PD_DPU_FE1 7
+#define LGA_PD_DPU_DSI0 8
+#define LGA_PD_DPU_DSI1 9
+
+/* EH */
+#define LGA_PD_SSWRP_EH 10
+
+/* G2D */
+#define LGA_PD_SSWRP_G2D 11
+#define LGA_PD_G2D_CORE 12
+
+/* GPDMA */
+#define LGA_PD_SSWRP_GPDMA 13
+
+/* GPU */
+#define LGA_PD_SSWRP_GPU 14
+
+/* GSW */
+#define LGA_PD_SSWRP_GSW 15
+
+/* HSIO_N */
+#define LGA_PD_SSWRP_HSIO_N 16
+#define LGA_PD_HSIO_N_USB 17
+#define LGA_PD_HSIO_N_USB_PSW 18
+#define LGA_PD_HSIO_N_PCIE 19
+#define LGA_PD_HSIO_N_DP 20
+#define LGA_PD_HSIO_N_EBU 21
+#define LGA_PD_HSIO_N_EBU_CORE 22
+
+/* HSIO_S */
+#define LGA_PD_SSWRP_HSIO_S 23
+#define LGA_PD_HSIO_S_UFS_PREP 24
+#define LGA_PD_HSIO_S_UFS 25
+#define LGA_PD_HSIO_S_PCIE 26
+#define LGA_PD_HSIO_S_SD 27
+
+/* ISPBE */
+#define LGA_PD_SSWRP_ISPBE 28
+
+/* ISPFE */
+#define LGA_PD_SSWRP_ISPFE 29
+#define LGA_PD_ISPFE_PIPE 30
+#define LGA_PD_ISPFE_CSIS 31
+
+/* LSIO_E */
+#define LGA_PD_SSWRP_LSIO_E 32
+#define LGA_PD_LSIO_E_CLI_GPIO 33
+
+/* LSIO_N */
+#define LGA_PD_SSWRP_LSIO_N 34
+#define LGA_PD_LSIO_N_CLI_GPIO 35
+
+/* LSIO_S */
+#define LGA_PD_SSWRP_LSIO_S 36
+#define LGA_PD_LSIO_S_CLI_GPIO 37
+
+/* TPU */
+#define LGA_PD_SSWRP_TPU 38
+
+#endif /* __DT_BINDINGS_POWER_GOOGLE_LGA_CPM_H */
diff --git a/include/dt-bindings/reset/google,lga-cpm-reset.h b/include/dt-bindings/reset/google,lga-cpm-reset.h
new file mode 100644
index 000000000000..d147296dbffc
--- /dev/null
+++ b/include/dt-bindings/reset/google,lga-cpm-reset.h
@@ -0,0 +1,175 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef __DT_BINDINGS_RESET_GOOGLE_LGA_CPM_RESET_H
+#define __DT_BINDINGS_RESET_GOOGLE_LGA_CPM_RESET_H
+
+/* HSION */
+#define HSION_PCIE_PERST_RST 0
+#define HSION_PCIE_APP_HOLD_PHY_RST 1
+#define HSION_PCIE_INIT_RST 2
+#define HSION_PCIE_PWR_UP_RST 3
+#define HSION_USB_DP_CFG_RST 4
+#define HSION_DP_PCLK_RST 5
+#define HSION_USB_TOP_CSR_RST 6
+#define HSION_PIXEL_CK0_RST 7
+#define HSION_PIXEL_CK1_RST 8
+#define HSION_U2PHY_APB_RST 9
+#define HSION_USBC_NON_STICKY_RST 10
+#define HSION_USBC_STICKY_RST 11
+#define HSION_USB_DRD_BUS_RST 12
+#define HSION_USB2_PHY_RESET 13
+#define HSION_USB3DP_PHY_RESET 14
+#define HSION_EBU_RST 15
+
+/* HSIOS */
+#define HSIOS_PCIE_PERST_RST 0
+#define HSIOS_PCIE_APP_HOLD_PHY_RST 1
+#define HSIOS_PCIE_PWR_UP_RST 2
+#define HSIOS_UFS_PHY_RST 3
+#define HSIOS_PCIE_INIT_RST 4
+
+/* LSIOS */
+#define LSIOS_CLI0_I2C_IC_CFG_RST 0
+#define LSIOS_CLI0_I3C_IC_CFG_RST 1
+#define LSIOS_CLI0_UART_IC_CFG_RST 2
+#define LSIOS_CLI0_SPI_IC_CFG_RST 3
+#define LSIOS_CLI1_I2C_IC_CFG_RST 4
+#define LSIOS_CLI1_I3C_IC_CFG_RST 5
+#define LSIOS_CLI1_UART_IC_CFG_RST 6
+#define LSIOS_CLI1_SPI_IC_CFG_RST 7
+#define LSIOS_CLI2_I2C_IC_CFG_RST 8
+#define LSIOS_CLI2_I3C_IC_CFG_RST 9
+#define LSIOS_CLI2_UART_IC_CFG_RST 10
+#define LSIOS_CLI2_SPI_IC_CFG_RST 11
+#define LSIOS_CLI3_I2C_IC_CFG_RST 12
+#define LSIOS_CLI3_I3C_IC_CFG_RST 13
+#define LSIOS_CLI3_UART_IC_CFG_RST 14
+#define LSIOS_CLI3_SPI_IC_CFG_RST 15
+#define LSIOS_CLI4_I2C_IC_CFG_RST 16
+#define LSIOS_CLI4_I3C_IC_CFG_RST 17
+#define LSIOS_CLI4_UART_IC_CFG_RST 18
+#define LSIOS_CLI4_SPI_IC_CFG_RST 19
+#define LSIOS_CLI5_I2C_IC_CFG_RST 20
+#define LSIOS_CLI5_I3C_IC_CFG_RST 21
+#define LSIOS_CLI5_UART_IC_CFG_RST 22
+#define LSIOS_CLI5_SPI_IC_CFG_RST 23
+#define LSIOS_CLI6_I2C_IC_CFG_RST 24
+#define LSIOS_CLI6_I3C_IC_CFG_RST 25
+#define LSIOS_CLI6_UART_IC_CFG_RST 26
+#define LSIOS_CLI6_SPI_IC_CFG_RST 27
+#define LSIOS_CLI0_SPI_IC_RST 28
+#define LSIOS_CLI1_SPI_IC_RST 29
+#define LSIOS_CLI2_SPI_IC_RST 30
+#define LSIOS_CLI3_SPI_IC_RST 31
+#define LSIOS_CLI4_SPI_IC_RST 32
+#define LSIOS_CLI5_SPI_IC_RST 33
+#define LSIOS_CLI6_SPI_IC_RST 34
+#define LSIOS_CLI0_SPI_CFG_RST 35
+#define LSIOS_CLI1_SPI_CFG_RST 36
+#define LSIOS_CLI2_SPI_CFG_RST 37
+#define LSIOS_CLI3_SPI_CFG_RST 38
+#define LSIOS_CLI4_SPI_CFG_RST 39
+#define LSIOS_CLI5_SPI_CFG_RST 40
+#define LSIOS_CLI6_SPI_CFG_RST 41
+#define LSIOS_PWM_IC_RST 42
+#define LSIOS_PWM_CFG_RST 43
+#define LSIOS_GPIO_IC_RST 44
+
+/* LSION */
+#define LSION_CLI15_I2C_IC_CFG_RST 0
+#define LSION_CLI15_I3C_IC_CFG_RST 1
+#define LSION_CLI15_UART_IC_CFG_RST 2
+#define LSION_CLI15_SPI_IC_CFG_RST 3
+#define LSION_CLI16_I2C_IC_CFG_RST 4
+#define LSION_CLI16_I3C_IC_CFG_RST 5
+#define LSION_CLI16_UART_IC_CFG_RST 6
+#define LSION_CLI16_SPI_IC_CFG_RST 7
+#define LSION_CLI17_INT0_I2C_IC_CFG_RST 8
+#define LSION_CLI17_INT0_I3C_IC_CFG_RST 9
+#define LSION_CLI17_INT0_UART_IC_CFG_RST 10
+#define LSION_CLI17_INT0_SPI_IC_CFG_RST 11
+#define LSION_CLI18_INT1_I2C_IC_CFG_RST 12
+#define LSION_CLI18_INT1_I3C_IC_CFG_RST 13
+#define LSION_CLI18_INT1_UART_IC_CFG_RST 14
+#define LSION_CLI18_INT1_SPI_IC_CFG_RST 15
+#define LSION_CLI19_INT2_I2C_IC_CFG_RST 16
+#define LSION_CLI19_INT2_I3C_IC_CFG_RST 17
+#define LSION_CLI19_INT2_UART_IC_CFG_RST 18
+#define LSION_CLI19_INT2_SPI_IC_CFG_RST 19
+#define LSION_CLI20_INT3_I2C_IC_CFG_RST 20
+#define LSION_CLI20_INT3_I3C_IC_CFG_RST 21
+#define LSION_CLI20_INT3_UART_IC_CFG_RST 22
+#define LSION_CLI20_INT3_SPI_IC_CFG_RST 23
+#define LSION_CLI21_INT4_I2C_IC_CFG_RST 24
+#define LSION_CLI21_INT4_I3C_IC_CFG_RST 25
+#define LSION_CLI21_INT4_UART_IC_CFG_RST 26
+#define LSION_CLI21_INT4_SPI_IC_CFG_RST 27
+#define LSION_CLI15_SPI_IC_RST 28
+#define LSION_CLI16_SPI_IC_RST 29
+#define LSION_CLI17_INT0_SPI_IC_RST 30
+#define LSION_CLI18_INT1_SPI_IC_RST 31
+#define LSION_CLI19_INT2_SPI_IC_RST 32
+#define LSION_CLI20_INT3_SPI_IC_RST 33
+#define LSION_CLI21_INT4_SPI_IC_RST 34
+#define LSION_CLI15_SPI_CFG_RST 35
+#define LSION_CLI16_SPI_CFG_RST 36
+#define LSION_CLI17_INT0_SPI_CFG_RST 37
+#define LSION_CLI18_INT1_SPI_CFG_RST 38
+#define LSION_CLI19_INT2_SPI_CFG_RST 39
+#define LSION_CLI20_INT3_SPI_CFG_RST 40
+#define LSION_CLI21_INT4_SPI_CFG_RST 41
+#define LSION_GPIO_IC_RST 42
+
+/* LSIOE */
+#define LSIOE_CLI7_I2C_IC_CFG_RST 0
+#define LSIOE_CLI7_I3C_IC_CFG_RST 1
+#define LSIOE_CLI7_UART_IC_CFG_RST 2
+#define LSIOE_CLI7_SPI_IC_CFG_RST 3
+#define LSIOE_CLI8_I2C_IC_CFG_RST 4
+#define LSIOE_CLI8_I3C_IC_CFG_RST 5
+#define LSIOE_CLI8_UART_IC_CFG_RST 6
+#define LSIOE_CLI8_SPI_IC_CFG_RST 7
+#define LSIOE_CLI9_I2C_IC_CFG_RST 8
+#define LSIOE_CLI9_I3C_IC_CFG_RST 9
+#define LSIOE_CLI9_UART_IC_CFG_RST 10
+#define LSIOE_CLI9_SPI_IC_CFG_RST 11
+#define LSIOE_CLI10_I2C_IC_CFG_RST 12
+#define LSIOE_CLI10_I3C_IC_CFG_RST 13
+#define LSIOE_CLI10_UART_IC_CFG_RST 14
+#define LSIOE_CLI10_SPI_IC_CFG_RST 15
+#define LSIOE_CLI11_I2C_IC_CFG_RST 16
+#define LSIOE_CLI11_I3C_IC_CFG_RST 17
+#define LSIOE_CLI11_UART_IC_CFG_RST 18
+#define LSIOE_CLI11_SPI_IC_CFG_RST 19
+#define LSIOE_CLI12_I2C_IC_CFG_RST 20
+#define LSIOE_CLI12_I3C_IC_CFG_RST 21
+#define LSIOE_CLI12_UART_IC_CFG_RST 22
+#define LSIOE_CLI12_SPI_IC_CFG_RST 23
+#define LSIOE_CLI13_I2C_IC_CFG_RST 24
+#define LSIOE_CLI13_I3C_IC_CFG_RST 25
+#define LSIOE_CLI13_UART_IC_CFG_RST 26
+#define LSIOE_CLI13_SPI_IC_CFG_RST 27
+#define LSIOE_CLI14_I2C_IC_CFG_RST 28
+#define LSIOE_CLI14_I3C_IC_CFG_RST 29
+#define LSIOE_CLI14_UART_IC_CFG_RST 30
+#define LSIOE_CLI14_SPI_IC_CFG_RST 31
+#define LSIOE_CLI7_SPI_IC_RST 32
+#define LSIOE_CLI8_SPI_IC_RST 33
+#define LSIOE_CLI9_SPI_IC_RST 34
+#define LSIOE_CLI10_SPI_IC_RST 35
+#define LSIOE_CLI11_SPI_IC_RST 36
+#define LSIOE_CLI12_SPI_IC_RST 37
+#define LSIOE_CLI13_SPI_IC_RST 38
+#define LSIOE_CLI14_SPI_IC_RST 39
+#define LSIOE_CLI7_SPI_CFG_RST 40
+#define LSIOE_CLI8_SPI_CFG_RST 41
+#define LSIOE_CLI9_SPI_CFG_RST 42
+#define LSIOE_CLI10_SPI_CFG_RST 43
+#define LSIOE_CLI11_SPI_CFG_RST 44
+#define LSIOE_CLI12_SPI_CFG_RST 45
+#define LSIOE_CLI13_SPI_CFG_RST 46
+#define LSIOE_CLI14_SPI_CFG_RST 47
+#define LSIOE_GPIO_IC_RST 48
+#define LSIOE_SPMI_RST 49
+
+#endif /* __DT_BINDINGS_RESET_GOOGLE_LGA_CPM_RESET_H */
diff --git a/include/dt-bindings/soc/google,lga-lpcm.h b/include/dt-bindings/soc/google,lga-lpcm.h
new file mode 100644
index 000000000000..d1944afff2b9
--- /dev/null
+++ b/include/dt-bindings/soc/google,lga-lpcm.h
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef __DT_BINDINGS_SOC_GOOGLE_LGA_LPCM_H
+#define __DT_BINDINGS_SOC_GOOGLE_LGA_LPCM_H
+
+/*
+ * LPCM IDs of each SSWRP.
+ */
+#define LGA_LPCM_CPM 0
+#define LGA_LPCM_AOC 1
+#define LGA_LPCM_LSIO_E 2
+#define LGA_LPCM_LSIO_N 3
+#define LGA_LPCM_LSIO_S 4
+#define LGA_LPCM_HSIO_N 5
+#define LGA_LPCM_HSIO_S 6
+#define LGA_LPCM_GPCA 7
+#define LGA_LPCM_FABHBW 8
+#define LGA_LPCM_MEMSS 9
+#define LGA_LPCM_FABMED 10
+#define LGA_LPCM_FABRT 11
+#define LGA_LPCM_FABSTBY 12
+#define LGA_LPCM_FABSYSS 13
+#define LGA_LPCM_CPU 14
+#define LGA_LPCM_CPU_MAIN 15
+#define LGA_LPCM_CPU_CCM0 16
+#define LGA_LPCM_CPU_CCM1A 17
+#define LGA_LPCM_CPU_CCM1B 18
+#define LGA_LPCM_CPU_CCM2 19
+#define LGA_LPCM_EH 20
+#define LGA_LPCM_AURORA 21
+#define LGA_LPCM_CODEC_3P 22
+#define LGA_LPCM_G2D 23
+#define LGA_LPCM_GSW 24
+#define LGA_LPCM_ISPBE 25
+#define LGA_LPCM_ISPFE 26
+#define LGA_LPCM_INF_TCU 27
+#define LGA_LPCM_GPU 28
+#define LGA_LPCM_GPU_REMOTE_FLL 29
+#define LGA_LPCM_GPU_REMOTE_SENSOR 30
+#define LGA_LPCM_TPU 31
+#define LGA_LPCM_TPU_REMOTE 32
+#define LGA_LPCM_BMSM 33
+#define LGA_LPCM_CPUACC 34
+#define LGA_LPCM_DPU 35
+#define LGA_LPCM_GDMC 36
+#define LGA_LPCM_GMC0 37
+#define LGA_LPCM_GMC1 38
+#define LGA_LPCM_GMC2 39
+#define LGA_LPCM_GMC3 40
+#define LGA_LPCM_GPCM 41
+#define LGA_LPCM_GPDMA 42
+#define LGA_LPCM_GSA 43
+
+#endif /* __DT_BINDINGS_SOC_GOOGLE_LGA_LPCM_H */
--
2.56.0.307.g5fe7bd680c-goog