From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Daniel Baluta <daniel.baluta@nxp.com>
Cc: p.zabel@pengutronix.de, robh@kernel.org, krzk+dt@kernel.org,
shawnguo@kernel.org, devicetree@vger.kernel.org,
linux-remoteproc@vger.kernel.org, conor+dt@kernel.org,
s.hauer@pengutronix.de, kernel@pengutronix.de,
festevam@gmail.com, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
andersson@kernel.org, Frank.Li@nxp.com, peng.fan@nxp.com,
laurentiu.mihalcea@nxp.com, iuliana.prodan@nxp.com,
shengjiu.wang@nxp.com
Subject: Re: [PATCH v5 0/8] imx8mp: Add support to Run/Stall DSP via reset API
Date: Thu, 13 Mar 2025 09:46:50 -0600 [thread overview]
Message-ID: <Z9L96ssnL1S5z7rb@p14s> (raw)
In-Reply-To: <20250311085812.1296243-1-daniel.baluta@nxp.com>
On Tue, Mar 11, 2025 at 10:58:03AM +0200, Daniel Baluta wrote:
> This patch series adds support to control the Run/Stall DSP bits found on
> i.MX8MP via the reset controller API instead of using the syscon API.
>
> DSP found on i.MX8MP doesn't have a direct reset line so according to hardware
> design team in order to handle assert/deassert/reset functionality we
> need to use a combination of control bits from two modules.
>
> Audio block control module:
> - for Run/Stall control bits of the DSP
>
> Debug Access Port (DAP)
> - for Software Reset via IMX8M_DAP_PWRCTL register
>
> The current implementation for IMX DSP Remotproc driver and for Sound Open
> Firmware driver (already upstream) uses the following approach:
> - maps the Audio Block Control address via syscon API through
> the fsl,dsp-ctrl property of the dsp node.
> - maps the DAP address space using directly a call to ioremap
> with IMX8M_DAP_DEBUG macro depicting the DAP base address.
>
> The both approaches are problematic when comes to describing the address
> spaces via the DT:
> - for Audio Block Control, because it uses the syscon interface
> - for DAP because it hardcodes de base address instead of using a dt node.
>
> This patch series aims to fix the Audio Block control usage of the
> syscon interface and replace it with Reset Controller interface.
>
> Main advantages of using the Reset Controller API is that we stop
> abusing the syscon interface, offer a better probe ordering, PM runtime
> support. Main critique of using the Reset Controller API is that
> Run/Stall bits are not reset bits (but according the hardware design
> team they are part of the reset proccess since there is no real reset
> line).
>
> Initial discussion is here:
> https://patchwork.kernel.org/project/imx/patch/20250212085222.107102-6-daniel.baluta@nxp.com/
>
> Note that we can safely remove the fsl,dsp-ctrl property usage from IMX DSP
> remoteproc driver because there is no Device Tree users.
>
> Changes since v4:
> https://lore.kernel.org/lkml/20250305100037.373782-3-daniel.baluta@nxp.com/T/
> - picked-up R-b tags from Frank Li and Peng Fan
> - reworded commit message of patch 8/8 as per Mathieu Poirier suggestion
>
> Changes since v3:
> https://lore.kernel.org/linux-arm-kernel/20250225102005.408773-5-daniel.baluta@nxp.com/T/
> - renamed resets ids as per Philipp comments
> - add boths resets (named them runstall and softreset) as per Philipp comments
>
> Changes since v2:
> (https://lore.kernel.org/lkml/Z7ZNngd3wtJ5MZgl@lizhi-Precision-Tower-5810/T/)
> - picked R-b and A-b tags
> - use run_stall instead of reset to refer to reset controller
> instance
> - remove 'resets' description as it is a common property
> - add correct include in the yaml dts snippet example
> Changes since v1:
> (https://lore.kernel.org/imx/20250219030809.GD6537@nxa18884-linux/T/)
> - addresed comments received on v1
> - picked up R-b and A-b tags
>
> Daniel Baluta (8):
> dt-bindings: reset: audiomix: Add reset ids for EARC and DSP
> dt-bindings: dsp: fsl,dsp: Add resets property
> arm64: dts: imx8mp: Use resets property
> reset: imx8mp-audiomix: Add prefix for internal macro
> reset: imx8mp-audiomix: Prepare the code for more reset bits
> reset: imx8mp-audiomix: Introduce active_low configuration option
> reset: imx8mp-audiomix: Add support for DSP run/stall
> imx_dsp_rproc: Use reset controller API to control the DSP
>
> .../devicetree/bindings/dsp/fsl,dsp.yaml | 24 +++++-
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 3 +
> drivers/remoteproc/imx_dsp_rproc.c | 25 ++++--
> drivers/remoteproc/imx_rproc.h | 2 +
> drivers/reset/reset-imx8mp-audiomix.c | 78 +++++++++++++------
> .../dt-bindings/reset/imx8mp-reset-audiomix.h | 13 ++++
> 6 files changed, 114 insertions(+), 31 deletions(-)
> create mode 100644 include/dt-bindings/reset/imx8mp-reset-audiomix.h
Other than patch 3 for which I haven't received a Reviewed-by, I have applied
this set.
Thanks,
Mathieu
>
> --
> 2.43.0
>
prev parent reply other threads:[~2025-03-13 15:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-11 8:58 [PATCH v5 0/8] imx8mp: Add support to Run/Stall DSP via reset API Daniel Baluta
2025-03-11 8:58 ` [PATCH v5 1/8] dt-bindings: reset: audiomix: Add reset ids for EARC and DSP Daniel Baluta
2025-03-11 8:58 ` [PATCH v5 2/8] dt-bindings: dsp: fsl,dsp: Add resets property Daniel Baluta
2025-03-11 8:58 ` [PATCH v5 3/8] arm64: dts: imx8mp: Use " Daniel Baluta
2025-03-11 8:58 ` [PATCH v5 4/8] reset: imx8mp-audiomix: Add prefix for internal macro Daniel Baluta
2025-03-11 8:58 ` [PATCH v5 5/8] reset: imx8mp-audiomix: Prepare the code for more reset bits Daniel Baluta
2025-03-13 8:50 ` Philipp Zabel
2025-03-11 8:58 ` [PATCH v5 6/8] reset: imx8mp-audiomix: Introduce active_low configuration option Daniel Baluta
2025-03-11 8:58 ` [PATCH v5 7/8] reset: imx8mp-audiomix: Add support for DSP run/stall Daniel Baluta
2025-03-13 8:49 ` Philipp Zabel
2025-03-11 8:58 ` [PATCH v5 8/8] imx_dsp_rproc: Use reset controller API to control the DSP Daniel Baluta
2025-03-11 16:27 ` [PATCH v5 0/8] imx8mp: Add support to Run/Stall DSP via reset API Mathieu Poirier
2025-03-13 8:54 ` Philipp Zabel
2025-03-13 15:46 ` Mathieu Poirier [this message]
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=Z9L96ssnL1S5z7rb@p14s \
--to=mathieu.poirier@linaro.org \
--cc=Frank.Li@nxp.com \
--cc=andersson@kernel.org \
--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=iuliana.prodan@nxp.com \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=laurentiu.mihalcea@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=peng.fan@nxp.com \
--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 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.