From: Michal Simek <michal.simek@amd.com>
To: Mathieu Poirier <mathieu.poirier@linaro.org>,
Ben Levinsky <ben.levinsky@amd.com>
Cc: andersson@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, linux-remoteproc@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
tanmay.shah@amd.com
Subject: Re: [PATCH v4 2/2] remoteproc: add AMD BRAM-based remote processor driver
Date: Tue, 7 Jul 2026 10:59:55 +0200 [thread overview]
Message-ID: <30c8d353-f0ec-4ee2-bbaa-0d21e2b985f1@amd.com> (raw)
In-Reply-To: <akfl1Uhn9QHRwE6n@p14s>
On 7/3/26 18:39, Mathieu Poirier wrote:
> Hi Ben,
>
> On Mon, Jun 29, 2026 at 09:40:03AM -0700, Ben Levinsky wrote:
>> Add a remoteproc driver for AMD soft-core processor subsystems
>> instantiated in programmable logic and using dual-port BRAM for
>> firmware storage and execution.
>>
>> The driver parses the firmware memory window from the remoteproc device
>> node's reg property, interprets that address and size in the
>> processor-local address space, and then uses standard devicetree
>> address translation through the parent bus ranges property to obtain
>> the corresponding Linux-visible system physical address.
>>
>> The resulting translated region is registered as the executable
>> remoteproc carveout and coredump segment.
>>
>> The processor is controlled through an active-low reset GPIO and a
>> subsystem clock. The clock is enabled before reset is released, and the
>> processor is kept in reset until firmware loading completes.
>>
>> The firmware-name property is optional, allowing firmware to be
>> assigned later through the remoteproc framework. Firmware images
>> without a resource table are also accepted.
>>
>> Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
>> ---
>> drivers/remoteproc/Kconfig | 11 ++
>> drivers/remoteproc/Makefile | 1 +
>> drivers/remoteproc/amd_bram_rproc.c | 213 ++++++++++++++++++++++++++++
>> 3 files changed, 225 insertions(+)
>> create mode 100644 drivers/remoteproc/amd_bram_rproc.c
>>
>> diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
>> index c521c744e7db..58fa566b609f 100644
>> --- a/drivers/remoteproc/Kconfig
>> +++ b/drivers/remoteproc/Kconfig
>> @@ -23,6 +23,17 @@ config REMOTEPROC_CDEV
>>
>> It's safe to say N if you don't want to use this interface.
>>
>> +config AMD_BRAM_REMOTEPROC
>> + tristate "AMD BRAM-based remoteproc support"
>> + depends on OF && COMMON_CLK && (GPIOLIB || COMPILE_TEST)
>> + help
>> + Say y or m here to support a BRAM-based remote processor managed
>> + through the remoteproc framework.
>> +
>> + The processor is controlled through a reset GPIO and clock.
>> +
>
> This last sentence doesn't belong here - please remove.
>
> Looking at the bindings and this Kconfig I wonder why the emphasis of the naming
> convention, i.e "BRAM-based remoteproc" is placed on the kind of memory the
> remote processor is connected to rather than the remote processor itself.
>
> Wouldn't it be better to have something like "AMD MicroBlaze/V remote
> processor"? What happens when we get another AMD softcore that is completely
> different than MicroBlaze/V that is also connected to the same type of memory?
>
> I'm good with the implemenation, I just wonder about the name...
We started with very generic amd,bram-proc compatible string and then based on
discussion
https://lore.kernel.org/all/20260427162703.1644103-2-ben.levinsky@amd.com/
we got recommendation to treat is as soc specific instead of generic.
Which give us back to origin point if driver should be more soc specific or not.
I think no issue with AMD prefix.
BRAM - that's technology used for access. And I see value in symbol to state it
because access to different memory can be done differently too.
Shouldn't be there any soc string? This is for zynqmp, versal* SOCs that's why
hard to choose which one.
The driver is written in very generic way that if there is arm, mips, ppc,
different risc-v or others access will be the same. Our primary target is
obviously MicroBlaze/V and I don't think it is a problem to change description
to just reference them even it is technically possible to connect different cpus
too.
Is this enough?
- tristate "AMD BRAM-based remoteproc support"
+ tristate "AMD MicroBlaze/V BRAM-based remoteproc support"
Are you fine with AMD_BRAM_REMOTEPROC symbol name?
Thanks,
Michal
next prev parent reply other threads:[~2026-07-07 9:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-29 16:40 [PATCH v4 0/2] remoteproc: add AMD BRAM-based remote processor driver Ben Levinsky
2026-06-29 16:40 ` [PATCH v4 1/2] dt-bindings: remoteproc: document AMD BRAM-based rproc Ben Levinsky
2026-06-30 6:53 ` Krzysztof Kozlowski
2026-06-30 13:47 ` Ben Levinsky
2026-06-30 14:27 ` Krzysztof Kozlowski
2026-06-30 14:38 ` Ben Levinsky
2026-06-29 16:40 ` [PATCH v4 2/2] remoteproc: add AMD BRAM-based remote processor driver Ben Levinsky
2026-06-29 18:59 ` sashiko-bot
2026-07-03 16:39 ` Mathieu Poirier
2026-07-07 8:59 ` Michal Simek [this message]
2026-07-08 16:23 ` Mathieu Poirier
2026-07-09 13:51 ` Ben Levinsky
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=30c8d353-f0ec-4ee2-bbaa-0d21e2b985f1@amd.com \
--to=michal.simek@amd.com \
--cc=andersson@kernel.org \
--cc=ben.levinsky@amd.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=robh@kernel.org \
--cc=tanmay.shah@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.