From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: Laurentiu Mihalcea <laurentiumihalcea111@gmail.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Daniel Baluta <daniel.baluta@nxp.com>,
Shengjiu Wang <shengjiu.wang@nxp.com>,
Frank Li <Frank.Li@nxp.com>,
Marco Felsch <m.felsch@pengutronix.de>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Pengutronix Kernel Team <kernel@pengutronix.de>,
imx@lists.linux.dev
Subject: Re: [PATCH v7 0/6] imx8mp: add support for the IMX AIPSTZ bridge
Date: Thu, 3 Jul 2025 10:11:46 +0200 [thread overview]
Message-ID: <3615415b-7ebd-45e5-8d7b-8a1b26ac7130@pengutronix.de> (raw)
In-Reply-To: <20250610160152.1113930-1-laurentiumihalcea111@gmail.com>
Hello Laurentiu,
On 10.06.25 18:01, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
> The AIPSTZ bridge offers some security-related configurations which can
> be used to restrict master access to certain peripherals on the bridge.
>
> Normally, this could be done from a secure environment such as ATF before
> Linux boots but the configuration of AIPSTZ5 is lost each time the power
> domain is powered off and then powered on. Because of this, it has to be
> configured each time the power domain is turned on and before any master
> tries to access the peripherals (e.g: AP, CM7, DSP, on i.MX8MP).
Sorry if this has been asked before, but I hoped the cover letter or patch
3/6 would explain if it were.
What is the default configuration for the AIPSTZ before this series?
I assume the SAIs under AIPS5 can be accessed by SDMA already, so why was
changing the AIPSTZ settings needed for the DSP to work?
Thanks,
Ahmad
>
> The child-parent relationship between the bridge and its peripherals
> should guarantee that the bridge is configured before the AP attempts
> to access the IPs.
>
> Other masters should use the 'access-controllers' property to enforce
> a dependency between their device and the bridge device (see the DSP,
> for example).
>
> The initial version of the series can be found at [1]. The new version
> should provide better management of the device dependencies.
>
> [1]: https://lore.kernel.org/linux-arm-kernel/20241119130726.2761726-1-daniel.baluta@nxp.com/
>
> ---
> Changes in v7:
> * fix merge conflit caused by addition of the reset-related properties to the
> dsp node.
> * align values for the macros defined in "imx8mp-aipstz.h" as per Shawn's
> comment.
> * encapsulate the default configuration and base address in a
> "struct imx_aipstz_data" to make the driver more future-proof as per
> Shawn's comment.
> * link to v6: https://lore.kernel.org/lkml/20250415171919.5623-1-laurentiumihalcea111@gmail.com/
>
> Changes in v6:
> * drop the 'IMX8MP_AIPSTZ_HIFI4_T_RW_PL' macro. Its whole point was to
> help with making the DTS more readable but if it makes it look worse
> then there's no point in keeping it.
> * use consumer ID as first AC cell and consumer type as the second cell.
> Better to go with a format that more people are used to as long as it
> still makes sense.
> * pick up Rob's R-b
> * link to v5: https://lore.kernel.org/lkml/20250408154236.49421-1-laurentiumihalcea111@gmail.com/
>
> Changes in v5:
> * merge imx-aipstz.h into imx8mp-aipstz.h. imx-aipstz.h is
> currently only used in the DTS so it can't be added as a binding.
> * place 'ranges' property just after 'reg' in the binding DT example
> as Frank suggested.
> * use the (1 << x) notation for the configuration bits. Previously,
> hex values were used which didn't make it very clear that the
> configuration options are bits.
> * shorten the description of the bridge's AC cells.
> * shorten the message of the commit introducing the bridge's binding.
> * pick up some more R-b's on patches that remained untouched since V4.
> * link to v4: https://lore.kernel.org/lkml/20250401154404.45932-1-laurentiumihalcea111@gmail.com/
>
> Changes in v4:
> * AIPS5 node now only contains a single memory region: that of the AC
> (just like in V2). 'reg-names' property is dropped.
> * AIPS5 node now uses 'ranges' property to restrict the size of the bus
> (1:1 mapping)
> * change the number of AC cells from 0 to 3
> * add binding headers
> * link to v3: https://lore.kernel.org/lkml/20250324162556.30972-1-laurentiumihalcea111@gmail.com/
>
> Changes in v3:
> * make '#address-cells' and '#size-cells' constants and equal to 1 in the
> binding. The bus is 32-bit.
> * add child node in the example DT snippet.
> * the 'aips5' DT node now contains 2 memory regions: that of the
> peripherals accessible via this bridge and that of the access controller.
> * link to v2: https://lore.kernel.org/lkml/20250226165314.34205-1-laurentiumihalcea111@gmail.com/
>
> Changes in v2:
> * adress Frank Li's comments
> * pick up some A-b/R-b's
> * don't use "simple-bus" as the second compatible. As per Krzysztof's
> comment, AIPSTZ is not a "simple-bus".
> * link to v1: https://lore.kernel.org/lkml/20250221191909.31874-1-laurentiumihalcea111@gmail.com/
> ---
>
> Laurentiu Mihalcea (6):
> dt-bindings: bus: document the IMX AIPSTZ bridge
> dt-bindings: dsp: fsl,dsp: document 'access-controllers' property
> bus: add driver for IMX AIPSTZ bridge
> arm64: dts: imx8mp: convert 'aips5' to 'aipstz5'
> arm64: dts: imx8mp: add aipstz-related definitions
> arm64: dts: imx8mp: make 'dsp' node depend on 'aips5'
>
> .../bindings/bus/fsl,imx8mp-aipstz.yaml | 104 ++++++++++++++++++
> .../devicetree/bindings/dsp/fsl,dsp.yaml | 3 +
> arch/arm64/boot/dts/freescale/imx8mp-aipstz.h | 33 ++++++
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 16 ++-
> drivers/bus/Kconfig | 6 +
> drivers/bus/Makefile | 1 +
> drivers/bus/imx-aipstz.c | 96 ++++++++++++++++
> 7 files changed, 255 insertions(+), 4 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/bus/fsl,imx8mp-aipstz.yaml
> create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-aipstz.h
> create mode 100644 drivers/bus/imx-aipstz.c
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2025-07-03 8:12 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 16:01 [PATCH v7 0/6] imx8mp: add support for the IMX AIPSTZ bridge Laurentiu Mihalcea
2025-06-10 16:01 ` [PATCH v7 1/6] dt-bindings: bus: document " Laurentiu Mihalcea
2025-06-10 18:08 ` Rob Herring (Arm)
2025-06-11 3:45 ` Rob Herring
2025-06-10 16:01 ` [PATCH v7 2/6] dt-bindings: dsp: fsl,dsp: document 'access-controllers' property Laurentiu Mihalcea
2025-06-10 16:01 ` [PATCH v7 3/6] bus: add driver for IMX AIPSTZ bridge Laurentiu Mihalcea
2025-06-10 16:01 ` [PATCH v7 4/6] arm64: dts: imx8mp: convert 'aips5' to 'aipstz5' Laurentiu Mihalcea
2025-07-02 18:49 ` Mark Brown
2025-07-02 19:54 ` Laurentiu Mihalcea
2025-07-03 10:56 ` Mark Brown
2025-07-03 15:25 ` Mark Brown
2025-07-05 14:41 ` Laurentiu Mihalcea
2025-07-07 10:51 ` Mark Brown
2025-07-07 5:11 ` Alexander Stein
2025-07-07 23:49 ` Laurentiu Mihalcea
2025-07-11 8:38 ` Shawn Guo
2025-08-01 12:36 ` Laurentiu Mihalcea
2025-08-01 12:55 ` Mark Brown
2025-08-20 2:47 ` Shawn Guo
2025-06-10 16:01 ` [PATCH v7 5/6] arm64: dts: imx8mp: add aipstz-related definitions Laurentiu Mihalcea
2025-06-20 13:33 ` Daniel Baluta
2025-06-10 16:01 ` [PATCH v7 6/6] arm64: dts: imx8mp: make 'dsp' node depend on 'aips5' Laurentiu Mihalcea
2025-06-20 13:25 ` Daniel Baluta
2025-07-01 14:25 ` [PATCH v7 0/6] imx8mp: add support for the IMX AIPSTZ bridge Shawn Guo
2025-07-03 8:11 ` Ahmad Fatoum [this message]
2025-07-03 8:51 ` Laurentiu Mihalcea
2025-07-03 9:56 ` Ahmad Fatoum
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=3615415b-7ebd-45e5-8d7b-8a1b26ac7130@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=Frank.Li@nxp.com \
--cc=alexander.stein@ew.tq-group.com \
--cc=conor+dt@kernel.org \
--cc=daniel.baluta@nxp.com \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=laurentiumihalcea111@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.felsch@pengutronix.de \
--cc=mkl@pengutronix.de \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=shengjiu.wang@nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).