mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Brian Norris <briannorris@chromium.org>
Cc: "Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Brian Masney" <bmasney+clk@redhat.com>,
	"Jerome Brunet" <jbrunet+clk@baylibre.com>,
	"Thomas Gleixner" <tglx@kernel.org>,
	"Ulf Hansson" <ulfh@kernel.org>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Peter Griffin" <peter.griffin@linaro.org>,
	devicetree@vger.kernel.org,
	"Tudor Ambarus" <tudor.ambarus@linaro.org>,
	"André Draszik" <andre.draszik@linaro.org>,
	linux-samsung-soc@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, "Radu Rendec" <radu@rendec.net>,
	linux-arm-kernel@lists.infradead.org,
	"Mariano Marciello" <mmarciello@google.com>,
	"Douglas Anderson" <dianders@chromium.org>,
	linux-clk@vger.kernel.org, "Jakub Głowacki" <jglow@google.com>
Subject: Re: [PATCH 2/9] dt-bindings: soc: google: Add Google Tensor CPM binding
Date: Thu, 5 Nov 2026 19:54:22 +0100	[thread overview]
Message-ID: <d4a430de-715a-4936-8adb-35ff57a52b5f@kernel.org> (raw)
In-Reply-To: <aulIoq2oVjJ3DVzL@google.com>

On 03/11/2026 03:36, Brian Norris wrote:
> On Wed, Oct 28, 2026 at 02:19:23PM +0100, Krzysztof Kozlowski wrote:
>> On Mon, Oct 26, 2026 at 02:43:40PM -0700, Brian Norris wrote:
> 
>>> --- /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
>>
>> Keep naming consistent. Clocks has _CLK suffix, so this should not use
>> prefix.
>>
>>
>>> +#define CPM_IRQ_AOC_MIN				7
>>
>> Anyway, ABI constants should be indexed from 0 and incremented by 1.
> 
> What do you mean by this? Do I need to make up names for the
> unused IDs between 0 and 7? On an initial search, I don't believe they
> have any meaning at all. Does that mean I should make up some kind of
> "RESERVED_<N>" naming here?

No, I meant CPM_IRQ_AOC_MIN is 1.

> 
> Between 7 and 156, these are just ... 150 different "service numbers"
> within the AOC (Always On Connectivity) subsystem. I can name them
> AOC_0, AOC_1, ... AOC_149 if that helps.
> 
> Or are you suggesting that I pack the actual use cases (so, 0 and 7-157)
> into 0-151? I thought it was valuable to directly use the firmware
> indexing where possible; if I change those, then the indexing loses its
> inherent meaning, and we also have to add another layer of translation.

We do not use hardware numbers as bindings and ABI, because that's
pointless - no benefits, only risks. Similarly you do not define GIC
interrupt numbers, pinctrl pin numbers, MMIO addresses as bindings. None
of these bind anything between DTS and software, so not a binding.

There are some exceptions like SCMI firmware, but that's not the case here.

> 
>>> +#define CPM_IRQ_AOC_MAX				156
>>> +#define CPM_IRQ_AP_GDMC_WAKE			157
>>> +
>>> +#endif  /* _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_CPM_H */
> 
> 
>>> --- /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
>>
>> What are all these?
> 
> The binding doc says:
> 
>       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.
> 
> and
> 
>       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.
> 
> These are the IDs used in the firmware interface to talk about these
> things, as many of the SoC resources involved (clocks, resets, power
> domains) are grouped in this way (by subsystem (SSWRP / LPCM), and then
> with indexing within each subsystem).
> 
> In reading again, I see that the definitions and explanation of these
> terms and the SoC organization are split a bit between the pmdomain
> commit message and the binding doc. Where would you prefer I elaborate
> more? In the binding doc, the comments here, or both?

I just try to understand their placement. Bindings should not be in the
soc directory, except a few things without clear subsystem owner. If
this applies for both clocks and resets, maybe this could be firmware,
but another point is that you should not need these in DTS. Somehow you
split one clock/reset ID into two - LPCM ID and clock/reset ID. Just
don't, unless you want to say that for example LSION_CLI16_UART_CLK is
in multiple LPCM places?

Best regards,
Krzysztof

  reply	other threads:[~2026-11-05 18:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-26 21:43 [PATCH 0/9] google: Add support for Laguna CPM Brian Norris
2026-10-26 21:43 ` [PATCH 1/9] arm64: dts: google: Add Laguna CPM mailbox array Brian Norris
2026-10-28 13:10   ` Krzysztof Kozlowski
2026-10-26 21:43 ` [PATCH 2/9] dt-bindings: soc: google: Add Google Tensor CPM binding Brian Norris
2026-10-28 13:19   ` Krzysztof Kozlowski
2026-11-03  2:36     ` Brian Norris
2026-11-05 18:54       ` Krzysztof Kozlowski [this message]
2026-10-28 13:19   ` Krzysztof Kozlowski
2026-10-26 21:43 ` [PATCH 3/9] soc: google: Add CPM over MailBox Array driver Brian Norris
2026-10-28 13:27   ` Krzysztof Kozlowski
2026-11-03  2:07     ` Brian Norris
2026-10-26 21:43 ` [PATCH 4/9] pmdomain: google: Add CPM power-domain driver Brian Norris
2026-10-26 21:43 ` [PATCH 5/9] clk: google: Add CPM clock driver Brian Norris
2026-11-03 17:19   ` Jerome Brunet
2026-10-26 21:43 ` [PATCH 6/9] reset: google: Add CPM reset driver Brian Norris
2026-10-28 14:03   ` Philipp Zabel
2026-11-03  1:03     ` Brian Norris
2026-11-03  9:14       ` Philipp Zabel
2026-10-26 21:43 ` [PATCH 7/9] irqchip/google-cpm: Add CPM IRQ driver Brian Norris
2026-10-28 20:23   ` Thomas Gleixner
2026-10-26 21:43 ` [PATCH 8/9] arm64: dts: google: Add Laguna CPM node Brian Norris
2026-10-28 13:28   ` Krzysztof Kozlowski
2026-10-26 21:43 ` [PATCH 9/9] MAINTAINERS: Add entries for CPM drivers used on Tensor SoCs Brian Norris
2026-10-28 13:24 ` [PATCH 0/9] google: Add support for Laguna CPM Krzysztof Kozlowski
2026-11-03  2:06   ` Brian Norris
2026-11-05 18:56     ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d4a430de-715a-4936-8adb-35ff57a52b5f@kernel.org \
    --to=krzk@kernel.org \
    --cc=andre.draszik@linaro.org \
    --cc=bmasney+clk@redhat.com \
    --cc=briannorris@chromium.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=jbrunet+clk@baylibre.com \
    --cc=jglow@google.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mmarciello@google.com \
    --cc=p.zabel@pengutronix.de \
    --cc=peter.griffin@linaro.org \
    --cc=radu@rendec.net \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=tglx@kernel.org \
    --cc=tudor.ambarus@linaro.org \
    --cc=ulfh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®