arm64: dts: mt8183: add kukui platform audio node

Set pin control for the SoC sound node.
The compatibles are set by each model dts.

The codecs that each models use are:
burnet       ts3a227_max98357
damu         da7219_max98357
fennel       da7219_rt1015p
fennel14     da7219_rt1015p
juniper      ts3a227_max98357
kakadu       da7219_rt1015p
kappa        ts3a227_max98357
kenzo        ts3a227_max98357
kodama       ts3a227_max98357
krane        ts3a227_max98357
willow-sku0  da7219_max98357
willow-sku1  ts3a227_max98357

Signed-off-by: Kansho Nishida <kansho@chromium.org>
Link: https://lore.kernel.org/r/20210706190111.v3.2.I6e9ce0f2a489f9a52299656cd966b38ae75e7552@changeid
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
This commit is contained in:
Kansho Nishida 2021-07-06 19:01:36 +09:00 committed by Matthias Brugger
parent 13dd23cfc6
commit d2bbd5d96b
21 changed files with 243 additions and 4 deletions

View file

@ -13,6 +13,7 @@ pmic: mt6358 {
mt6358codec: mt6358codec {
compatible = "mediatek,mt6358-sound";
mediatek,dmic-mode = <0>; /* two-wires */
};
mt6358regulator: mt6358regulator {

View file

@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) da7219-max98357a sound card.
*
* Copyright 2019 Google LLC.
*/
#include "mt8183-kukui-audio-da7219.dtsi"
#include "mt8183-kukui-audio-max98357a.dtsi"
&sound {
compatible = "mediatek,mt8183_da7219_max98357";
};

View file

@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) da7219-rt1015p sound card.
*
* Copyright 2020 Google LLC.
*/
#include "mt8183-kukui-audio-da7219.dtsi"
#include "mt8183-kukui-audio-rt1015p.dtsi"
&sound {
compatible = "mediatek,mt8183_da7219_rt1015p";
};

View file

@ -0,0 +1,54 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) audio fragment for da7219.
*
* Copyright 2020 Google LLC.
*/
&i2c5 {
da7219: da7219@1a {
pinctrl-names = "default";
pinctrl-0 = <&da7219_pins>;
compatible = "dlg,da7219";
reg = <0x1a>;
interrupt-parent = <&pio>;
interrupts = <165 IRQ_TYPE_LEVEL_LOW 165 0>;
dlg,micbias-lvl = <2600>;
dlg,mic-amp-in-sel = "diff";
VDD-supply = <&pp1800_alw>;
VDDMIC-supply = <&pp3300_alw>;
VDDIO-supply = <&pp1800_alw>;
status = "okay";
da7219_aad {
dlg,adc-1bit-rpt = <1>;
dlg,btn-avg = <4>;
dlg,btn-cfg = <50>;
dlg,mic-det-thr = <500>;
dlg,jack-ins-deb = <20>;
dlg,jack-det-rate = "32ms_64ms";
dlg,jack-rem-deb = <1>;
dlg,a-d-btn-thr = <0xa>;
dlg,d-b-btn-thr = <0x16>;
dlg,b-c-btn-thr = <0x21>;
dlg,c-mic-btn-thr = <0x3E>;
};
};
};
&pio {
da7219_pins: da7219_pins {
pins1 {
pinmux = <PINMUX_GPIO165__FUNC_GPIO165>;
input-enable;
bias-pull-up;
};
};
};
&sound {
mediatek,headset-codec = <&da7219>;
};

View file

@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) audio fragment for max98357a.
*
* Copyright 2020 Google LLC.
*/
/ {
max98357a: max98357a {
compatible = "maxim,max98357a";
sdmode-gpios = <&pio 175 0>;
};
};

View file

@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) audio fragment for rt1015p.
*
* Copyright 2020 Google LLC.
*/
/ {
rt1015p: rt1015p {
compatible = "realtek,rt1015p";
sdb-gpios = <&pio 175 0>;
};
};

View file

@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) ts3a227e-max98357a sound card.
*
* Copyright 2020 Google LLC.
*/
#include "mt8183-kukui-audio-max98357a.dtsi"
#include "mt8183-kukui-audio-ts3a227e.dtsi"
&sound {
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
};

View file

@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) mt6358-ts3a227-rt1015p sound card.
*
* Copyright 2021 Google LLC.
*/
#include "mt8183-kukui-audio-ts3a227e.dtsi"
#include "mt8183-kukui-audio-rt1015p.dtsi"
&sound {
compatible = "mediatek,mt8183_mt6358_ts3a227_rt1015p";
};

View file

@ -0,0 +1,32 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Google Kukui (and derivatives) audio fragment for ts3a227e.
*
* Copyright 2019 Google LLC.
*/
&i2c5 {
ts3a227e: ts3a227e@3b {
pinctrl-names = "default";
pinctrl-0 = <&ts3a227e_pins>;
compatible = "ti,ts3a227e";
reg = <0x3b>;
interrupt-parent = <&pio>;
interrupts = <157 IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
};
&pio {
ts3a227e_pins: ts3a227e_pins {
pins1 {
pinmux = <PINMUX_GPIO157__FUNC_GPIO157>;
input-enable;
bias-pull-up;
};
};
};
&sound {
mediatek,headset-codec = <&ts3a227e>;
};

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
/ {
model = "Google burnet board";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-da7219-max98357a.dtsi"
/ {
model = "Google damu board";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-da7219-rt1015p.dtsi"
&mt6358codec {
mediatek,dmic-mode = <1>; /* one-wire */

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi-juniper.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
/ {
model = "Google juniper sku16 board";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
/ {
model = "Google kappa board";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi-juniper.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
/ {
model = "Google kenzo sku17 board";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi-willow.dtsi"
#include "mt8183-kukui-audio-da7219-max98357a.dtsi"
/ {
model = "Google willow board sku0";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-jacuzzi-willow.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
/ {
model = "Google willow board sku1";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui-kakadu.dtsi"
#include "mt8183-kukui-audio-da7219-rt1015p.dtsi"
/ {
model = "MediaTek kakadu board";

View file

@ -5,6 +5,7 @@
/dts-v1/;
#include "mt8183-kukui.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"
/ {
ppvarn_lcd: ppvarn-lcd {

View file

@ -4,6 +4,7 @@
*/
#include "mt8183-kukui.dtsi"
#include "mt8183-kukui-audio-max98357a.dtsi"
/ {
ppvarn_lcd: ppvarn-lcd {
@ -345,3 +346,7 @@ rst_pin {
&qca_wifi {
qcom,ath10k-calibration-variant = "LE_Krane";
};
&sound {
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
};

View file

@ -115,12 +115,18 @@ scp_mem_reserved: scp_mem_region {
};
};
max98357a: codec0 {
compatible = "maxim,max98357a";
sdmode-gpios = <&pio 175 0>;
sound: mt8183-sound {
mediatek,platform = <&afe>;
pinctrl-names = "default",
"aud_tdm_out_on",
"aud_tdm_out_off";
pinctrl-0 = <&aud_pins_default>;
pinctrl-1 = <&aud_pins_tdm_out_on>;
pinctrl-2 = <&aud_pins_tdm_out_off>;
status = "okay";
};
btsco: codec1 {
btsco: bt-sco {
compatible = "linux,bt-sco";
};
@ -215,6 +221,11 @@ tboard_thermistor2: thermal-sensor2 {
};
};
&afe {
i2s3-share = "I2S2";
i2s0-share = "I2S5";
};
&auxadc {
status = "okay";
};
@ -402,6 +413,54 @@ &mt6358_vsim2_reg {
};
&pio {
aud_pins_default: audiopins {
pins_bus {
pinmux = <PINMUX_GPIO97__FUNC_I2S2_MCK>,
<PINMUX_GPIO98__FUNC_I2S2_BCK>,
<PINMUX_GPIO101__FUNC_I2S2_LRCK>,
<PINMUX_GPIO102__FUNC_I2S2_DI>,
<PINMUX_GPIO3__FUNC_I2S3_DO>, /*i2s to da7219/max98357*/
<PINMUX_GPIO89__FUNC_I2S5_BCK>,
<PINMUX_GPIO90__FUNC_I2S5_LRCK>,
<PINMUX_GPIO91__FUNC_I2S5_DO>,
<PINMUX_GPIO174__FUNC_I2S0_DI>, /*i2s to wifi/bt*/
<PINMUX_GPIO136__FUNC_AUD_CLK_MOSI>,
<PINMUX_GPIO137__FUNC_AUD_SYNC_MOSI>,
<PINMUX_GPIO138__FUNC_AUD_DAT_MOSI0>,
<PINMUX_GPIO139__FUNC_AUD_DAT_MOSI1>,
<PINMUX_GPIO140__FUNC_AUD_CLK_MISO>,
<PINMUX_GPIO141__FUNC_AUD_SYNC_MISO>,
<PINMUX_GPIO142__FUNC_AUD_DAT_MISO0>,
<PINMUX_GPIO143__FUNC_AUD_DAT_MISO1>; /*mtkaif3.0*/
};
};
aud_pins_tdm_out_on: audiotdmouton {
pins_bus {
pinmux = <PINMUX_GPIO169__FUNC_TDM_BCK_2ND>,
<PINMUX_GPIO170__FUNC_TDM_LRCK_2ND>,
<PINMUX_GPIO171__FUNC_TDM_DATA0_2ND>,
<PINMUX_GPIO172__FUNC_TDM_DATA1_2ND>,
<PINMUX_GPIO173__FUNC_TDM_DATA2_2ND>,
<PINMUX_GPIO10__FUNC_TDM_DATA3>; /*8ch-i2s to it6505*/
drive-strength = <MTK_DRIVE_6mA>;
};
};
aud_pins_tdm_out_off: audiotdmoutoff {
pins_bus {
pinmux = <PINMUX_GPIO169__FUNC_GPIO169>,
<PINMUX_GPIO170__FUNC_GPIO170>,
<PINMUX_GPIO171__FUNC_GPIO171>,
<PINMUX_GPIO172__FUNC_GPIO172>,
<PINMUX_GPIO173__FUNC_GPIO173>,
<PINMUX_GPIO10__FUNC_GPIO10>;
input-enable;
bias-pull-down;
drive-strength = <MTK_DRIVE_2mA>;
};
};
bt_pins: bt-pins {
pins_bt_en {
pinmux = <PINMUX_GPIO120__FUNC_GPIO120>;