linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno  <angelogioacchino.delregno@collabora.com>
To: Chen-Yu Tsai <wenst@chromium.org>
Cc: matthias.bgg@gmail.com, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 6/8] arm64: dts: mediatek: cherry: Enable DSP, audio codec and sound card
Date: Mon, 25 Jul 2022 12:48:56 +0200	[thread overview]
Message-ID: <f3027153-860f-7ffc-b4a0-ff2a43100cf4@collabora.com> (raw)
In-Reply-To: <CAGXv+5E+6aCz3dxsfCqZAOkcmqDp0YWngsv-OZ23NDYhuZSfHw@mail.gmail.com>

Il 25/07/22 12:44, Chen-Yu Tsai ha scritto:
> On Thu, Jul 21, 2022 at 10:53 PM AngeloGioacchino Del Regno
> <angelogioacchino.delregno@collabora.com> wrote:
>>
>> All machines of the Cherry platform have a working DSP (integrated
>> into the MT8195 SoC), and audio support, some with a different audio
>> codec: specifically, some using Realtek's RT5682I and some RT5682S.
>>
>> Write a configuration for all the audio bits to enable functionality.
> 
> I think we're still missing some code for SOF that implements the
> machine_select() callback, plus the firmware has to be fetched from
> the ChromeOS rootfs.
> 
> It might make sense to have SOF disabled for now. Removing the adsp
> reference and the overriding dai-link entry from the sound node
> should do the trick.
> 

Uhm... I think that we should either have audio, with DSP, or not have it
at all... the userspace configurations will differ, so we'd end up with
two different confs of which one will get unused and cluttering the ucm2
conf git.

At this point, I think that the most sensible option is to either omit
this commit, or keep audio disabled until the machine_select() callback
gets in...

> 
> ChenYu
> 
>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>> ---
>>   .../dts/mediatek/mt8195-cherry-tomato-r1.dts  |  10 ++
>>   .../dts/mediatek/mt8195-cherry-tomato-r2.dts  |  10 ++
>>   .../dts/mediatek/mt8195-cherry-tomato-r3.dts  |  10 ++
>>   .../boot/dts/mediatek/mt8195-cherry.dtsi      | 117 ++++++++++++++++++
>>   4 files changed, 147 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dts b/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dts
>> index 3348ba69ff6c..2d5e8f371b6d 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dts
>> +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dts
>> @@ -10,6 +10,16 @@ / {
>>          compatible = "google,tomato-rev1", "google,tomato", "mediatek,mt8195";
>>   };
>>
>> +&audio_codec {
>> +       compatible = "realtek,rt5682i";
>> +       realtek,btndet-delay = <16>;
>> +};
>> +
>> +&sound {
>> +       compatible = "mediatek,mt8195_mt6359_rt1019_rt5682";
>> +       model = "mt8195_r1019_5682";
>> +};
>> +
>>   &ts_10 {
>>          status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r2.dts b/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r2.dts
>> index 4669e9d917f8..2586c32ce6e6 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r2.dts
>> +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r2.dts
>> @@ -10,6 +10,11 @@ / {
>>          compatible = "google,tomato-rev2", "google,tomato", "mediatek,mt8195";
>>   };
>>
>> +&audio_codec {
>> +       compatible = "realtek,rt5682i";
>> +       realtek,btndet-delay = <16>;
>> +};
>> +
>>   &pio_default {
>>          pins-low-power-hdmi-disable {
>>                  pinmux = <PINMUX_GPIO31__FUNC_GPIO31>,
>> @@ -30,6 +35,11 @@ pins-low-power-pcie0-disable {
>>          };
>>   };
>>
>> +&sound {
>> +       compatible = "mediatek,mt8195_mt6359_rt1019_rt5682";
>> +       model = "mt8195_r1019_5682";
>> +};
>> +
>>   &ts_10 {
>>          status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r3.dts b/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r3.dts
>> index 5021edd02f7c..f54f9477b99d 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r3.dts
>> +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r3.dts
>> @@ -11,6 +11,11 @@ / {
>>                       "google,tomato", "mediatek,mt8195";
>>   };
>>
>> +&audio_codec {
>> +       compatible = "realtek,rt5682s";
>> +       realtek,amic-delay-ms = <250>;
>> +};
>> +
>>   &pio_default {
>>          pins-low-power-hdmi-disable {
>>                  pinmux = <PINMUX_GPIO31__FUNC_GPIO31>,
>> @@ -31,6 +36,11 @@ pins-low-power-pcie0-disable {
>>          };
>>   };
>>
>> +&sound {
>> +       compatible = "mediatek,mt8195_mt6359_rt1019_rt5682";
>> +       model = "m8195_r1019_5682s";
>> +};
>> +
>>   &ts_10 {
>>          status = "okay";
>>   };
>> diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
>> index 58349d4c3c8b..ca9955a97f8f 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
>> @@ -25,6 +25,12 @@ chosen {
>>                  stdout-path = "serial0:115200n8";
>>          };
>>
>> +       dmic_codec: dmic-codec {
>> +               compatible = "dmic-codec";
>> +               num-channels = <2>;
>> +               wakeup-delay-ms = <50>;
>> +       };
>> +
>>          memory@40000000 {
>>                  device_type = "memory";
>>                  reg = <0 0x40000000 0 0x80000000>;
>> @@ -116,9 +122,49 @@ scp_mem: memory@50000000 {
>>                          reg = <0 0x50000000 0 0x2900000>;
>>                          no-map;
>>                  };
>> +
>> +               adsp_mem: memory@60000000 {
>> +                       compatible = "shared-dma-pool";
>> +                       reg = <0 0x60000000 0 0xd80000>;
>> +                       no-map;
>> +               };
>> +
>> +               afe_mem: memory@60d80000 {
>> +                       compatible = "shared-dma-pool";
>> +                       reg = <0 0x60d80000 0 0x100000>;
>> +                       no-map;
>> +               };
>> +
>> +               adsp_device_mem: memory@60e80000 {
>> +                       compatible = "shared-dma-pool";
>> +                       reg = <0 0x60e80000 0 0x280000>;
>> +                       no-map;
>> +               };
>> +       };
>> +
>> +       spk_amplifier: rt1019p {
>> +               compatible = "realtek,rt1019p";
>> +               label = "rt1019p";
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&rt1019p_pins_default>;
>> +               sdb-gpios = <&pio 100 GPIO_ACTIVE_HIGH>;
>>          };
>>   };
>>
>> +&adsp {
>> +       status = "okay";
>> +
>> +       memory-region = <&adsp_device_mem>, <&adsp_mem>;
>> +};
>> +
>> +&afe {
>> +       status = "okay";
>> +
>> +       mediatek,etdm-in2-cowork-source = <2>;
>> +       mediatek,etdm-out2-cowork-source = <0>;
>> +       memory-region = <&afe_mem>;
>> +};
>> +
>>   &i2c0 {
>>          status = "okay";
>>
>> @@ -152,6 +198,17 @@ &i2c2 {
>>          clock-frequency = <400000>;
>>          pinctrl-names = "default";
>>          pinctrl-0 = <&i2c2_pins>;
>> +
>> +       audio_codec: codec@1a {
>> +               /* Realtek RT5682i or RT5682s, sharing the same configuration */
>> +               reg = <0x1a>;
>> +               interrupts-extended = <&pio 89 IRQ_TYPE_EDGE_BOTH>;
>> +               realtek,jd-src = <1>;
>> +
>> +               AVDD-supply = <&mt6359_vio18_ldo_reg>;
>> +               MICVDD-supply = <&pp3300_z2>;
>> +               VBAT-supply = <&pp3300_z5>;
>> +       };
>>   };
>>
>>   &i2c3 {
>> @@ -256,6 +313,11 @@ &mmc1 {
>>          vqmmc-supply = <&mt_pmic_vmc_ldo_reg>;
>>   };
>>
>> +&mt6359codec {
>> +       mediatek,dmic-mode = <1>;  /* one-wire */
>> +       mediatek,mic-type-0 = <2>; /* DMIC */
>> +};
>> +
>>   /* for CPU-L */
>>   &mt6359_vcore_buck_reg {
>>          regulator-always-on;
>> @@ -463,6 +525,34 @@ &pio {
>>                  "AP_SPI_FLASH_MOSI",
>>                  "AP_SPI_FLASH_MISO";
>>
>> +       aud_pins_default: audio-default-pins {
>> +               pins-cmd-dat {
>> +                   pinmux = <PINMUX_GPIO69__FUNC_AUD_CLK_MOSI>,
>> +                            <PINMUX_GPIO70__FUNC_AUD_SYNC_MOSI>,
>> +                            <PINMUX_GPIO71__FUNC_AUD_DAT_MOSI0>,
>> +                            <PINMUX_GPIO72__FUNC_AUD_DAT_MOSI1>,
>> +                            <PINMUX_GPIO73__FUNC_AUD_DAT_MISO0>,
>> +                            <PINMUX_GPIO74__FUNC_AUD_DAT_MISO1>,
>> +                            <PINMUX_GPIO75__FUNC_AUD_DAT_MISO2>,
>> +                            <PINMUX_GPIO0__FUNC_TDMIN_MCK>,
>> +                            <PINMUX_GPIO1__FUNC_TDMIN_DI>,
>> +                            <PINMUX_GPIO2__FUNC_TDMIN_LRCK>,
>> +                            <PINMUX_GPIO3__FUNC_TDMIN_BCK>,
>> +                            <PINMUX_GPIO60__FUNC_I2SO2_D0>,
>> +                            <PINMUX_GPIO49__FUNC_I2SIN_D0>,
>> +                            <PINMUX_GPIO50__FUNC_I2SO1_MCK>,
>> +                            <PINMUX_GPIO51__FUNC_I2SO1_BCK>,
>> +                            <PINMUX_GPIO52__FUNC_I2SO1_WS>,
>> +                            <PINMUX_GPIO53__FUNC_I2SO1_D0>;
>> +               };
>> +
>> +               pins-hp-jack-int-odl {
>> +                       pinmux = <PINMUX_GPIO89__FUNC_GPIO89>;
>> +                       input-enable;
>> +                       bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
>> +               };
>> +       };
>> +
>>          cr50_int: cr50-irq-default-pins {
>>                  pins-gsc-ap-int-odl {
>>                          pinmux = <PINMUX_GPIO88__FUNC_GPIO88>;
>> @@ -707,6 +797,21 @@ pins-low-power-pupd {
>>                  };
>>          };
>>
>> +       rt1011_pins_default: rt1011-default-pins {
>> +               pins-spk {
>> +                       pinmux = <PINMUX_GPIO94__FUNC_GPIO94>,
>> +                                <PINMUX_GPIO100__FUNC_GPIO100>;
>> +                       output-high;
>> +               };
>> +       };
>> +
>> +       rt1019p_pins_default: rt1019p-default-pins {
>> +               pins-amp-sdb {
>> +                       pinmux = <PINMUX_GPIO100__FUNC_GPIO100>;
>> +                       output-low;
>> +               };
>> +       };
>> +
>>          scp_pins: scp-default-pins {
>>                  pins-vreq {
>>                          pinmux = <PINMUX_GPIO76__FUNC_SCP_VREQ_VAO>;
>> @@ -779,6 +884,18 @@ cros-ec-rpmsg {
>>          };
>>   };
>>
>> +&sound {
>> +       status = "okay";
>> +
>> +       mediatek,adsp = <&adsp>;
>> +       mediatek,dai-link =
>> +               "DL10_FE", "DPTX_BE", "ETDM1_IN_BE", "ETDM2_IN_BE",
>> +               "ETDM1_OUT_BE", "ETDM2_OUT_BE","UL_SRC1_BE",
>> +               "AFE_SOF_DL2", "AFE_SOF_DL3", "AFE_SOF_UL4", "AFE_SOF_UL5";
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&aud_pins_default>;
>> +};
>> +
>>   &spi0 {
>>          status = "okay";
>>
>> --
>> 2.35.1
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


-- 
AngeloGioacchino Del Regno
Software Engineer

Collabora Ltd.
Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
Registered in England & Wales, no. 5513718

  reply	other threads:[~2022-07-25 10:49 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-21 14:50 [PATCH v2 0/8] MT8195 Acer Tomato - devicetrees Part 2 AngeloGioacchino Del Regno
2022-07-21 14:50 ` [PATCH v2 1/8] arm64: dts: mediatek: cherry: Enable the System Companion Processor AngeloGioacchino Del Regno
2022-07-25  4:21   ` Chen-Yu Tsai
2022-07-25  8:06     ` AngeloGioacchino Del Regno
2022-07-21 14:50 ` [PATCH v2 2/8] arm64: dts: mediatek: cherry: Wire up the ChromeOS EC and GSC AngeloGioacchino Del Regno
2022-07-25 10:04   ` Chen-Yu Tsai
2022-07-21 14:50 ` [PATCH v2 3/8] arm64: dts: mediatek: cherry: Add keyboard mapping for the top row AngeloGioacchino Del Regno
2022-07-25  7:59   ` Chen-Yu Tsai
2022-07-21 14:50 ` [PATCH v2 4/8] arm64: dts: mediatek: cherry: Enable secondary SD/MMC controller AngeloGioacchino Del Regno
2022-07-25  8:54   ` Chen-Yu Tsai
2022-07-25 10:20     ` AngeloGioacchino Del Regno
2022-07-26  4:04       ` Chen-Yu Tsai
2022-07-26  8:11         ` AngeloGioacchino Del Regno
2022-07-21 14:50 ` [PATCH v2 5/8] arm64: dts: mediatek: cherry: Enable Elantech eKTH3000 i2c trackpad AngeloGioacchino Del Regno
2022-07-25  7:27   ` Chen-Yu Tsai
2022-07-21 14:50 ` [PATCH v2 6/8] arm64: dts: mediatek: cherry: Enable DSP, audio codec and sound card AngeloGioacchino Del Regno
2022-07-25 10:44   ` Chen-Yu Tsai
2022-07-25 10:48     ` AngeloGioacchino Del Regno [this message]
2022-07-26  4:02       ` Chen-Yu Tsai
2022-07-21 14:50 ` [PATCH v2 7/8] arm64: dts: mediatek: cherry: Enable keyboard PWM backlight AngeloGioacchino Del Regno
2022-07-25  9:57   ` Chen-Yu Tsai
2022-07-25 10:04     ` AngeloGioacchino Del Regno
2022-07-25 10:06       ` Chen-Yu Tsai
2022-07-25 10:14         ` AngeloGioacchino Del Regno
2022-07-21 14:50 ` [PATCH v2 8/8] arm64: dts: mediatek: cherry: Enable MT6315 regulators on SPMI bus AngeloGioacchino Del Regno
2022-07-25  9:08   ` Chen-Yu Tsai

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=f3027153-860f-7ffc-b4a0-ff2a43100cf4@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=wenst@chromium.org \
    /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).