Skip to content

Commit

Permalink
arm64: dts: mt8183: add kukui platform audio node
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kansho Nishida authored and Matthias Brugger committed Sep 13, 2021
1 parent 13dd23c commit d2bbd5d
Showing 21 changed files with 243 additions and 4 deletions.
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/mediatek/mt6358.dtsi
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@

mt6358codec: mt6358codec {
compatible = "mediatek,mt6358-sound";
mediatek,dmic-mode = <0>; /* two-wires */
};

mt6358regulator: mt6358regulator {
Original file line number Diff line number Diff line change
@@ -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";
};
Original file line number Diff line number Diff line change
@@ -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";
};
54 changes: 54 additions & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-audio-da7219.dtsi
Original file line number Diff line number Diff line change
@@ -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>;
};
13 changes: 13 additions & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-audio-max98357a.dtsi
Original file line number Diff line number Diff line change
@@ -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>;
};
};
13 changes: 13 additions & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-audio-rt1015p.dtsi
Original file line number Diff line number Diff line change
@@ -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>;
};
};
Original file line number Diff line number Diff line change
@@ -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";
};
Original file line number Diff line number Diff line change
@@ -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";
};
32 changes: 32 additions & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-audio-ts3a227e.dtsi
Original file line number Diff line number Diff line change
@@ -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>;
};
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
model = "Google burnet board";
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-da7219-max98357a.dtsi"

/ {
model = "Google damu board";
Original file line number Diff line number Diff line change
@@ -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 */
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi-juniper.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
model = "Google juniper sku16 board";
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
model = "Google kappa board";
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi-juniper.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
model = "Google kenzo sku17 board";
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi-willow.dtsi"
#include "mt8183-kukui-audio-da7219-max98357a.dtsi"

/ {
model = "Google willow board sku0";
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-jacuzzi-willow.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
model = "Google willow board sku1";
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dts
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui-kakadu.dtsi"
#include "mt8183-kukui-audio-da7219-rt1015p.dtsi"

/ {
model = "MediaTek kakadu board";
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

/dts-v1/;
#include "mt8183-kukui.dtsi"
#include "mt8183-kukui-audio-ts3a227e-max98357a.dtsi"

/ {
ppvarn_lcd: ppvarn-lcd {
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
*/

#include "mt8183-kukui.dtsi"
#include "mt8183-kukui-audio-max98357a.dtsi"

/ {
ppvarn_lcd: ppvarn-lcd {
@@ -345,3 +346,7 @@
&qca_wifi {
qcom,ath10k-calibration-variant = "LE_Krane";
};

&sound {
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
};
67 changes: 63 additions & 4 deletions arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
Original file line number Diff line number Diff line change
@@ -115,12 +115,18 @@
};
};

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 @@
};
};

&afe {
i2s3-share = "I2S2";
i2s0-share = "I2S5";
};

&auxadc {
status = "okay";
};
@@ -402,6 +413,54 @@
};

&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>;

0 comments on commit d2bbd5d

Please sign in to comment.