lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b079f020-0788-4fd1-8dba-e9e9cfb3388d@collabora.com>
Date: Mon, 4 Aug 2025 09:59:28 +0200
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
To: Julien Massot <julien.massot@...labora.com>, kernel@...labora.com,
 Michael Turquette <mturquette@...libre.com>, Stephen Boyd
 <sboyd@...nel.org>, Rob Herring <robh@...nel.org>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, Matthias Brugger <matthias.bgg@...il.com>,
 Ikjoon Jang <ikjn@...omium.org>,
 Enric Balletbo i Serra <eballetbo@...nel.org>,
 Chen-Yu Tsai <wenst@...omium.org>, Weiyi Lu <weiyi.lu@...iatek.com>,
 Eugen Hristev <eugen.hristev@...aro.org>, Liam Girdwood
 <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
 Julien Massot <jmassot@...labora.com>, Sean Wang <sean.wang@...nel.org>,
 Linus Walleij <linus.walleij@...aro.org>
Cc: linux-clk@...r.kernel.org, devicetree@...r.kernel.org,
 linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
 linux-mediatek@...ts.infradead.org, linux-sound@...r.kernel.org,
 linux-gpio@...r.kernel.org
Subject: Re: [PATCH 4/9] ASoc: dt-binding: Convert mt8183-afe-pcm binding to
 YAML

Il 01/08/25 13:18, Julien Massot ha scritto:
> Convert the MediaTek MT8183 AFE PCM Device Tree binding from the old
> .txt format to YAML schema format to improve validation.
> 
> While converting, also document all clock inputs used by the AFE block.
> 
> Signed-off-by: Julien Massot <julien.massot@...labora.com>

Great!

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>

> ---
>   .../devicetree/bindings/sound/mt8183-afe-pcm.txt   |  42 ----
>   .../devicetree/bindings/sound/mt8183-afe-pcm.yaml  | 225 +++++++++++++++++++++
>   2 files changed, 225 insertions(+), 42 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/sound/mt8183-afe-pcm.txt b/Documentation/devicetree/bindings/sound/mt8183-afe-pcm.txt
> deleted file mode 100644
> index 1f1cba4152ceecbe61d0db0b972f98df7d5d91ac..0000000000000000000000000000000000000000
> --- a/Documentation/devicetree/bindings/sound/mt8183-afe-pcm.txt
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -Mediatek AFE PCM controller for mt8183
> -
> -Required properties:
> -- compatible = "mediatek,mt68183-audio";
> -- reg: register location and size
> -- interrupts: should contain AFE interrupt
> -- resets: Must contain an entry for each entry in reset-names
> -  See ../reset/reset.txt for details.
> -- reset-names: should have these reset names:
> -		"audiosys";
> -- power-domains: should define the power domain
> -- clocks: Must contain an entry for each entry in clock-names
> -- clock-names: should have these clock names:
> -		"infra_sys_audio_clk",
> -		"mtkaif_26m_clk",
> -		"top_mux_audio",
> -		"top_mux_aud_intbus",
> -		"top_sys_pll3_d4",
> -		"top_clk26m_clk";
> -
> -Example:
> -
> -	afe: mt8183-afe-pcm@...20000  {
> -		compatible = "mediatek,mt8183-audio";
> -		reg = <0 0x11220000 0 0x1000>;
> -		interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
> -		resets = <&watchdog MT8183_TOPRGU_AUDIO_SW_RST>;
> -		reset-names = "audiosys";
> -		power-domains = <&scpsys MT8183_POWER_DOMAIN_AUDIO>;
> -		clocks = <&infrasys CLK_INFRA_AUDIO>,
> -			 <&infrasys CLK_INFRA_AUDIO_26M_BCLK>,
> -			 <&topckgen CLK_TOP_MUX_AUDIO>,
> -			 <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
> -			 <&topckgen CLK_TOP_SYSPLL_D2_D4>,
> -			 <&clk26m>;
> -		clock-names = "infra_sys_audio_clk",
> -			      "mtkaif_26m_clk",
> -			      "top_mux_audio",
> -			      "top_mux_aud_intbus",
> -			      "top_sys_pll_d2_d4",
> -			      "top_clk26m_clk";
> -	};
> diff --git a/Documentation/devicetree/bindings/sound/mt8183-afe-pcm.yaml b/Documentation/devicetree/bindings/sound/mt8183-afe-pcm.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..0f6ab43fa99e55a7572d962f61537c8ab31dcdb0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/mt8183-afe-pcm.yaml
> @@ -0,0 +1,225 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/mt8183-afe-pcm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Mediatek AFE PCM controller for mt8183
> +
> +maintainers:
> +  - Julien Massot <jmassot@...labora.com>
> +
> +properties:
> +  compatible:
> +    const: mediatek,mt8183-audio
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  resets:
> +    maxItems: 1
> +
> +  reset-names:
> +    const: audiosys
> +
> +  power-domains:
> +    maxItems: 1
> +
> +  clocks:
> +    items:
> +      - description: AFE clock
> +      - description: ADDA DAC clock
> +      - description: ADDA DAC pre-distortion clock
> +      - description: ADDA ADC clock
> +      - description: ADDA6 ADC clock
> +      - description: Audio low-jitter 22.5792m clock
> +      - description: Audio low-jitter 24.576m clock
> +      - description: Audio PLL1 tuner clock
> +      - description: Audio PLL2 tuner clock
> +      - description: I2S1 bit clock
> +      - description: I2S2 bit clock
> +      - description: I2S3 bit clock
> +      - description: I2S4 bit clock
> +      - description: Audio Time-Division Multiplexing interface clock
> +      - description: Powerdown Audio test model clock
> +      - description: Audio infra sys clock
> +      - description: Audio infra 26M clock
> +      - description: Mux for audio clock
> +      - description: Mux for audio internal bus clock
> +      - description: Mux main divider by 4
> +      - description: Primary audio mux
> +      - description: Primary audio PLL
> +      - description: Secondary audio mux
> +      - description: Secondary audio PLL
> +      - description: Primary audio en-generator clock
> +      - description: Primary PLL divider by 4 for IEC
> +      - description: Secondary audio en-generator clock
> +      - description: Secondary PLL divider by 8 for IEC
> +      - description: Mux selector for I2S port 0
> +      - description: Mux selector for I2S port 1
> +      - description: Mux selector for I2S port 2
> +      - description: Mux selector for I2S port 3
> +      - description: Mux selector for I2S port 4
> +      - description: Mux selector for I2S port 5
> +      - description: APLL1 and APLL2 divider for I2S port 0
> +      - description: APLL1 and APLL2 divider for I2S port 1
> +      - description: APLL1 and APLL2 divider for I2S port 2
> +      - description: APLL1 and APLL2 divider for I2S port 3
> +      - description: APLL1 and APLL2 divider for I2S port 4
> +      - description: APLL1 and APLL2 divider for IEC
> +      - description: 26MHz clock for audio subsystem
> +
> +  clock-names:
> +    items:
> +      - const: aud_afe_clk
> +      - const: aud_dac_clk
> +      - const: aud_dac_predis_clk
> +      - const: aud_adc_clk
> +      - const: aud_adc_adda6_clk
> +      - const: aud_apll22m_clk
> +      - const: aud_apll24m_clk
> +      - const: aud_apll1_tuner_clk
> +      - const: aud_apll2_tuner_clk
> +      - const: aud_i2s1_bclk_sw
> +      - const: aud_i2s2_bclk_sw
> +      - const: aud_i2s3_bclk_sw
> +      - const: aud_i2s4_bclk_sw
> +      - const: aud_tdm_clk
> +      - const: aud_tml_clk
> +      - const: aud_infra_clk
> +      - const: mtkaif_26m_clk
> +      - const: top_mux_audio
> +      - const: top_mux_aud_intbus
> +      - const: top_syspll_d2_d4
> +      - const: top_mux_aud_1
> +      - const: top_apll1_ck
> +      - const: top_mux_aud_2
> +      - const: top_apll2_ck
> +      - const: top_mux_aud_eng1
> +      - const: top_apll1_d8
> +      - const: top_mux_aud_eng2
> +      - const: top_apll2_d8
> +      - const: top_i2s0_m_sel
> +      - const: top_i2s1_m_sel
> +      - const: top_i2s2_m_sel
> +      - const: top_i2s3_m_sel
> +      - const: top_i2s4_m_sel
> +      - const: top_i2s5_m_sel
> +      - const: top_apll12_div0
> +      - const: top_apll12_div1
> +      - const: top_apll12_div2
> +      - const: top_apll12_div3
> +      - const: top_apll12_div4
> +      - const: top_apll12_divb
> +      - const: top_clk26m_clk
> +
> +required:
> +  - compatible
> +  - interrupts
> +  - resets
> +  - reset-names
> +  - power-domains
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/mt8183-clk.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/power/mt8183-power.h>
> +    #include <dt-bindings/reset/mt8183-resets.h>
> +
> +    afe: mt8183-afe-pcm {
> +        compatible = "mediatek,mt8183-audio";
> +        interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
> +        resets = <&watchdog MT8183_TOPRGU_AUDIO_SW_RST>;
> +        reset-names = "audiosys";
> +        power-domains = <&spm MT8183_POWER_DOMAIN_AUDIO>;
> +        clocks = <&audiosys CLK_AUDIO_AFE>,
> +                 <&audiosys CLK_AUDIO_DAC>,
> +                 <&audiosys CLK_AUDIO_DAC_PREDIS>,
> +                 <&audiosys CLK_AUDIO_ADC>,
> +                 <&audiosys CLK_AUDIO_PDN_ADDA6_ADC>,
> +                 <&audiosys CLK_AUDIO_22M>,
> +                 <&audiosys CLK_AUDIO_24M>,
> +                 <&audiosys CLK_AUDIO_APLL_TUNER>,
> +                 <&audiosys CLK_AUDIO_APLL2_TUNER>,
> +                 <&audiosys CLK_AUDIO_I2S1>,
> +                 <&audiosys CLK_AUDIO_I2S2>,
> +                 <&audiosys CLK_AUDIO_I2S3>,
> +                 <&audiosys CLK_AUDIO_I2S4>,
> +                 <&audiosys CLK_AUDIO_TDM>,
> +                 <&audiosys CLK_AUDIO_TML>,
> +                 <&infracfg CLK_INFRA_AUDIO>,
> +                 <&infracfg CLK_INFRA_AUDIO_26M_BCLK>,
> +                 <&topckgen CLK_TOP_MUX_AUDIO>,
> +                 <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
> +                 <&topckgen CLK_TOP_SYSPLL_D2_D4>,
> +                 <&topckgen CLK_TOP_MUX_AUD_1>,
> +                 <&topckgen CLK_TOP_APLL1_CK>,
> +                 <&topckgen CLK_TOP_MUX_AUD_2>,
> +                 <&topckgen CLK_TOP_APLL2_CK>,
> +                 <&topckgen CLK_TOP_MUX_AUD_ENG1>,
> +                 <&topckgen CLK_TOP_APLL1_D8>,
> +                 <&topckgen CLK_TOP_MUX_AUD_ENG2>,
> +                 <&topckgen CLK_TOP_APLL2_D8>,
> +                 <&topckgen CLK_TOP_MUX_APLL_I2S0>,
> +                 <&topckgen CLK_TOP_MUX_APLL_I2S1>,
> +                 <&topckgen CLK_TOP_MUX_APLL_I2S2>,
> +                 <&topckgen CLK_TOP_MUX_APLL_I2S3>,
> +                 <&topckgen CLK_TOP_MUX_APLL_I2S4>,
> +                 <&topckgen CLK_TOP_MUX_APLL_I2S5>,
> +                 <&topckgen CLK_TOP_APLL12_DIV0>,
> +                 <&topckgen CLK_TOP_APLL12_DIV1>,
> +                 <&topckgen CLK_TOP_APLL12_DIV2>,
> +                 <&topckgen CLK_TOP_APLL12_DIV3>,
> +                 <&topckgen CLK_TOP_APLL12_DIV4>,
> +                 <&topckgen CLK_TOP_APLL12_DIVB>,
> +                 <&clk26m>;
> +      clock-names = "aud_afe_clk",
> +                    "aud_dac_clk",
> +                    "aud_dac_predis_clk",
> +                    "aud_adc_clk",
> +                    "aud_adc_adda6_clk",
> +                    "aud_apll22m_clk",
> +                    "aud_apll24m_clk",
> +                    "aud_apll1_tuner_clk",
> +                    "aud_apll2_tuner_clk",
> +                    "aud_i2s1_bclk_sw",
> +                    "aud_i2s2_bclk_sw",
> +                    "aud_i2s3_bclk_sw",
> +                    "aud_i2s4_bclk_sw",
> +                    "aud_tdm_clk",
> +                    "aud_tml_clk",
> +                    "aud_infra_clk",
> +                    "mtkaif_26m_clk",
> +                    "top_mux_audio",
> +                    "top_mux_aud_intbus",
> +                    "top_syspll_d2_d4",
> +                    "top_mux_aud_1",
> +                    "top_apll1_ck",
> +                    "top_mux_aud_2",
> +                    "top_apll2_ck",
> +                    "top_mux_aud_eng1",
> +                    "top_apll1_d8",
> +                    "top_mux_aud_eng2",
> +                    "top_apll2_d8",
> +                    "top_i2s0_m_sel",
> +                    "top_i2s1_m_sel",
> +                    "top_i2s2_m_sel",
> +                    "top_i2s3_m_sel",
> +                    "top_i2s4_m_sel",
> +                    "top_i2s5_m_sel",
> +                    "top_apll12_div0",
> +                    "top_apll12_div1",
> +                    "top_apll12_div2",
> +                    "top_apll12_div3",
> +                    "top_apll12_div4",
> +                    "top_apll12_divb",
> +                    "top_clk26m_clk";
> +    };
> +
> +...
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ