Re: [PATCH 2/2] dt-bindings: dsp: mediatek: add mt8196 dsp document

From: Krzysztof Kozlowski
Date: Thu Mar 20 2025 - 03:50:40 EST


On Thu, Mar 20, 2025 at 11:17:25AM +0800, hailong.fan wrote:
> This patch adds mt8196 dsp document. The dsp is used for Sound Open
> Firmware driver node. It includes registers, clocks, memory regions,
> and mailbox for dsp.
>
> Signed-off-by: hailong.fan <hailong.fan@xxxxxxxxxxxx>

Don't use login as full name, but proper Latin-alphabet transcription or
original name in UTF.

This cannot be tested due to dependency, so limited review.

> ---
> .../bindings/dsp/mediatek,mt8196-dsp.yaml | 96 +++++++++++++++++++

Don't grow dsp directory. Either this is remoteproc or some sound
component, so place it accordingly.

> 1 file changed, 96 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/dsp/mediatek,mt8196-dsp.yaml
>
> diff --git a/Documentation/devicetree/bindings/dsp/mediatek,mt8196-dsp.yaml b/Documentation/devicetree/bindings/dsp/mediatek,mt8196-dsp.yaml
> new file mode 100644
> index 000000000000..62bcd97bd0f4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dsp/mediatek,mt8196-dsp.yaml
> @@ -0,0 +1,96 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dsp/mediatek,mt8196-dsp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Mediatek mt8196 DSP core
> +
> +maintainers:
> + - Hailong Fan <hailong.fan@xxxxxxxxxxxx>
> +
> +description: |

Do not need '|' unless you need to preserve formatting.

> + Some boards from mt8196 contain a DSP core used for

Boards or MT8196? If boards, how is this related to SoC in the first
place? Thus wrong compatible.

> + advanced pre- and post- audio processing.
> +
> +properties:
> + compatible:
> + const: mediatek,mt8196-dsp

If this is part of the SoC, then wrong description.

> +
> + reg:
> + items:
> + - description: Address and size of the DSP Cfg registers

s/Address and size of the//

Write concise and accurate description. This cannot be anything else, so
no need to state obvious.

> + - description: Address and size of the DSP SRAM
> + - description: Address and size of the DSP secure registers
> + - description: Address and size of the DSP bus registers
> +
> + reg-names:
> + items:
> + - const: cfg
> + - const: sram
> + - const: sec
> + - const: bus
> +
> + clocks:
> + items:
> + - description: mux for dsp clock
> + - description: 26M clock
> + - description: ADSP PLL clock
> +
> + clock-names:
> + items:
> + - const: adsp_sel
> + - const: clk26m
> + - const: adsppll
> +
> + power-domains:
> + maxItems: 1
> +
> + mboxes:
> + items:
> + - description: mailbox for receiving audio DSP requests.
> + - description: mailbox for transmitting requests to audio DSP.
> +
> + mbox-names:
> + items:
> + - const: rx
> + - const: tx
> +
> + memory-region:
> + items:
> + - description: dma buffer between host and DSP.
> + - description: DSP system memory.
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - clocks
> + - clock-names
> + - power-domains
> + - mbox-names
> + - mboxes
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/mt8196-clk.h>
> + #include <dt-bindings/power/mt8196-power.h>
> + adsp: adsp@1a000000 {

Drop unused label

> + compatible = "mediatek,mt8196-dsp";
> + reg = <0x1a000000 0x5000>,
> + <0x1a210000 0x80000>,
> + <0x1a345000 0x300>,
> + <0x1a00f000 0x1000>;
> + reg-names = "cfg", "sram", "sec", "bus";
> + power-domains = <&scpsys MT8196_POWER_DOMAIN_ADSP_TOP_DORMANT>;
> + clocks = <&cksys_clk CLK_CK_ADSP_SEL>,
> + <&cksys_clk CLK_CK_TCK_26M_MX9>,
> + <&cksys_clk CLK_CK_ADSPPLL>;
> + clock-names = "adsp_sel",
> + "clk26m",
> + "adsppll";
> + mbox-names = "rx", "tx";
> + mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;

Reverse order of mboxes and mbox-names properties. xxx-names follows the
xxx.

Best regards,
Krzysztof