[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAAhSdy31yTWn2zXO+rVH0ziQ9YSc-tMV4g65Wso+3s=p_h2cGA@mail.gmail.com>
Date: Fri, 1 Aug 2025 14:13:49 +0530
From: Anup Patel <anup@...infault.org>
To: Stephen Boyd <sboyd@...nel.org>
Cc: Anup Patel <apatel@...tanamicro.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>, Bartosz Golaszewski <brgl@...ev.pl>,
Conor Dooley <conor+dt@...nel.org>, Jassi Brar <jassisinghbrar@...il.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Linus Walleij <linus.walleij@...aro.org>,
Michael Turquette <mturquette@...libre.com>, Mika Westerberg <mika.westerberg@...ux.intel.com>,
"Rafael J . Wysocki" <rafael@...nel.org>, Rob Herring <robh@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>, Uwe Kleine-König <ukleinek@...nel.org>,
Palmer Dabbelt <palmer@...belt.com>, Paul Walmsley <paul.walmsley@...ive.com>,
Alexandre Ghiti <alex@...ti.fr>, Len Brown <lenb@...nel.org>, Sunil V L <sunilvl@...tanamicro.com>,
Rahul Pathak <rpathak@...tanamicro.com>, Leyfoon Tan <leyfoon.tan@...rfivetech.com>,
Atish Patra <atish.patra@...ux.dev>, Andrew Jones <ajones@...tanamicro.com>,
Samuel Holland <samuel.holland@...ive.com>, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org, linux-acp <i@...r.kernel.org>,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
Conor Dooley <conor.dooley@...rochip.com>
Subject: Re: [PATCH v8 08/24] dt-bindings: clock: Add RPMI clock service
message proxy bindings
On Thu, Jul 31, 2025 at 10:20 PM Stephen Boyd <sboyd@...nel.org> wrote:
>
> Quoting Anup Patel (2025-07-28 02:19:23)
> > On Sun, Jul 27, 2025 at 11:53 AM Stephen Boyd <sboyd@...nel.org> wrote:
> > >
> > > It's not providing clks? The SBI firmware is not discoverable? Do you
> > > have a pointer to the DTS for this node and the clock controller node in
> > > the next patch? I'd like to understand why this is named a clock
> > > controller when it doesn't provide clks.
> >
> > The firmware driver is not providing clks. Also, the SBI firmware and
> > various SBI extensions are indeed discoverable from supervisor software.
>
> If SBI extensions are discoverable from software why do we need a DT
> binding?
The firmware which implements the SBI MPXY channel needs to
discover the underlying RPMI service group from DT.
Let's say we have only one RPMI shared memory transport between
application processors and platform microcontroller. This RPMI transport
will be shared between M-mode firmware (OpenSBI) and S-mode (Linux).
The OpenSBI will use the following example DT nodes to probe the
mailbox driver and MPXY driver to expose MPXY channel to S-mode.
mb: mailbox@...80000 {
compatible = "riscv,rpmi-shmem-mbox";
reg = <0x00 0x10080000 0x00 0x10000>,
<0x00 0x10090000 0x00 0x10000>,
<0x00 0x100a0000 0x00 0x10000>;
reg-names = "a2p-req", "p2a-ack", "a2p-doorbell";
#mbox-cells = <0x01>;
riscv,slot-size = <0x40>;
riscv,p2a-doorbell-sysmsi-index = <3>;
};
clock-service {
compatible = "riscv,rpmi-mpxy-clock";
mboxes = <&mb 0x08>;
riscv,sbi-mpxy-channel-id = <0x1001>;
};
Based on the above, Linux will use the following example DT nodes
to probe the Linux MPXY mailbox driver and RPMI clock driver.
mpxy_mbox: sbi-mpxy-mbox {
compatible = "riscv,sbi-mpxy-mbox";
#mbox-cells = <2>;
msi-parent = <&imsic_slevel>;
};
rpmi-clk {
compatible = "riscv,rpmi-clock";
#clock-cells = <1>;
mboxes = <&mpxy_mbox 0x1001 0x0>;
};
I hope the above example DT node provides a better picture
about how DT bindings are used in firmware and Linux.
Regards,
Anup
Powered by blists - more mailing lists