1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/dsp/mediatek,mt8195-dsp.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7d5b0e70fSEmmanuel Vadottitle: Mediatek mt8195 DSP core 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - YC Hung <yc.hung@mediatek.com> 11d5b0e70fSEmmanuel Vadot 12d5b0e70fSEmmanuel Vadotdescription: | 13d5b0e70fSEmmanuel Vadot Some boards from mt8195 contain a DSP core used for 14d5b0e70fSEmmanuel Vadot advanced pre- and post- audio processing. 15d5b0e70fSEmmanuel Vadot 16d5b0e70fSEmmanuel Vadotproperties: 17d5b0e70fSEmmanuel Vadot compatible: 18d5b0e70fSEmmanuel Vadot const: mediatek,mt8195-dsp 19d5b0e70fSEmmanuel Vadot 20d5b0e70fSEmmanuel Vadot reg: 21d5b0e70fSEmmanuel Vadot items: 22d5b0e70fSEmmanuel Vadot - description: Address and size of the DSP Cfg registers 23d5b0e70fSEmmanuel Vadot - description: Address and size of the DSP SRAM 24d5b0e70fSEmmanuel Vadot 25d5b0e70fSEmmanuel Vadot reg-names: 26d5b0e70fSEmmanuel Vadot items: 27d5b0e70fSEmmanuel Vadot - const: cfg 28d5b0e70fSEmmanuel Vadot - const: sram 29d5b0e70fSEmmanuel Vadot 30d5b0e70fSEmmanuel Vadot clocks: 31d5b0e70fSEmmanuel Vadot items: 32d5b0e70fSEmmanuel Vadot - description: mux for audio dsp clock 33d5b0e70fSEmmanuel Vadot - description: 26M clock 34d5b0e70fSEmmanuel Vadot - description: mux for audio dsp local bus 35d5b0e70fSEmmanuel Vadot - description: default audio dsp local bus clock source 36d5b0e70fSEmmanuel Vadot - description: clock gate for audio dsp clock 37d5b0e70fSEmmanuel Vadot - description: mux for audio dsp access external bus 38d5b0e70fSEmmanuel Vadot 39d5b0e70fSEmmanuel Vadot clock-names: 40d5b0e70fSEmmanuel Vadot items: 41d5b0e70fSEmmanuel Vadot - const: adsp_sel 42d5b0e70fSEmmanuel Vadot - const: clk26m_ck 43d5b0e70fSEmmanuel Vadot - const: audio_local_bus 44d5b0e70fSEmmanuel Vadot - const: mainpll_d7_d2 45d5b0e70fSEmmanuel Vadot - const: scp_adsp_audiodsp 46d5b0e70fSEmmanuel Vadot - const: audio_h 47d5b0e70fSEmmanuel Vadot 48d5b0e70fSEmmanuel Vadot power-domains: 49d5b0e70fSEmmanuel Vadot maxItems: 1 50d5b0e70fSEmmanuel Vadot 51d5b0e70fSEmmanuel Vadot mboxes: 52d5b0e70fSEmmanuel Vadot items: 53*b97ee269SEmmanuel Vadot - description: mailbox for receiving audio DSP requests. 54*b97ee269SEmmanuel Vadot - description: mailbox for transmitting requests to audio DSP. 55d5b0e70fSEmmanuel Vadot 56d5b0e70fSEmmanuel Vadot mbox-names: 57d5b0e70fSEmmanuel Vadot items: 58*b97ee269SEmmanuel Vadot - const: rx 59*b97ee269SEmmanuel Vadot - const: tx 60d5b0e70fSEmmanuel Vadot 61d5b0e70fSEmmanuel Vadot memory-region: 62d5b0e70fSEmmanuel Vadot items: 63d5b0e70fSEmmanuel Vadot - description: dma buffer between host and DSP. 64d5b0e70fSEmmanuel Vadot - description: DSP system memory. 65d5b0e70fSEmmanuel Vadot 66d5b0e70fSEmmanuel Vadotrequired: 67d5b0e70fSEmmanuel Vadot - compatible 68d5b0e70fSEmmanuel Vadot - reg 69d5b0e70fSEmmanuel Vadot - reg-names 70d5b0e70fSEmmanuel Vadot - clocks 71d5b0e70fSEmmanuel Vadot - clock-names 72d5b0e70fSEmmanuel Vadot - memory-region 73d5b0e70fSEmmanuel Vadot - power-domains 74d5b0e70fSEmmanuel Vadot - mbox-names 75d5b0e70fSEmmanuel Vadot - mboxes 76d5b0e70fSEmmanuel Vadot 77d5b0e70fSEmmanuel VadotadditionalProperties: false 78d5b0e70fSEmmanuel Vadot 79d5b0e70fSEmmanuel Vadotexamples: 80d5b0e70fSEmmanuel Vadot - | 81d5b0e70fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 82d5b0e70fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 83d5b0e70fSEmmanuel Vadot dsp@10803000 { 84d5b0e70fSEmmanuel Vadot compatible = "mediatek,mt8195-dsp"; 85d5b0e70fSEmmanuel Vadot reg = <0x10803000 0x1000>, 86d5b0e70fSEmmanuel Vadot <0x10840000 0x40000>; 87d5b0e70fSEmmanuel Vadot reg-names = "cfg", "sram"; 88d5b0e70fSEmmanuel Vadot clocks = <&topckgen 10>, //CLK_TOP_ADSP 89d5b0e70fSEmmanuel Vadot <&clk26m>, 90d5b0e70fSEmmanuel Vadot <&topckgen 107>, //CLK_TOP_AUDIO_LOCAL_BUS 91d5b0e70fSEmmanuel Vadot <&topckgen 136>, //CLK_TOP_MAINPLL_D7_D2 92d5b0e70fSEmmanuel Vadot <&scp_adsp 0>, //CLK_SCP_ADSP_AUDIODSP 93d5b0e70fSEmmanuel Vadot <&topckgen 34>; //CLK_TOP_AUDIO_H 94d5b0e70fSEmmanuel Vadot clock-names = "adsp_sel", 95d5b0e70fSEmmanuel Vadot "clk26m_ck", 96d5b0e70fSEmmanuel Vadot "audio_local_bus", 97d5b0e70fSEmmanuel Vadot "mainpll_d7_d2", 98d5b0e70fSEmmanuel Vadot "scp_adsp_audiodsp", 99d5b0e70fSEmmanuel Vadot "audio_h"; 100d5b0e70fSEmmanuel Vadot memory-region = <&adsp_dma_mem_reserved>, 101d5b0e70fSEmmanuel Vadot <&adsp_mem_reserved>; 102d5b0e70fSEmmanuel Vadot power-domains = <&spm 6>; //MT8195_POWER_DOMAIN_ADSP 103*b97ee269SEmmanuel Vadot mbox-names = "rx", "tx"; 104d5b0e70fSEmmanuel Vadot mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>; 105d5b0e70fSEmmanuel Vadot }; 106