mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 08:32:55 +00:00

Introduce MT8188-based Chromebook Ciri, also known commercially as Lenovo Chromebook Duet (11", 9). Ciri is a detachable device based on the Geralt design, where Geralt is the codename for the MT8188 platform. Ciri offers 8 SKUs to accommodate different combinations of second-source components, including: - audio codecs (RT5682S and ES8326) - speaker amps (TAS2563 and MAX98390) - MIPI-DSI panels (BOE nv110wum-l60 and IVO t109nw41) Signed-off-by: Fei Shao <fshao@chromium.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20241124085739.290556-3-fshao@chromium.org Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
317 lines
5.2 KiB
Plaintext
317 lines
5.2 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
/*
|
|
* Copyright 2023 Google LLC
|
|
*/
|
|
/dts-v1/;
|
|
#include "mt8188-geralt.dtsi"
|
|
|
|
&aud_etdm_hp_on {
|
|
pins-mclk {
|
|
pinmux = <PINMUX_GPIO114__FUNC_O_I2SO2_MCK>;
|
|
};
|
|
};
|
|
|
|
&aud_etdm_hp_off {
|
|
pins-mclk {
|
|
pinmux = <PINMUX_GPIO114__FUNC_B_GPIO114>;
|
|
bias-pull-down;
|
|
input-enable;
|
|
};
|
|
};
|
|
|
|
&i2c0 {
|
|
rt5682s: audio-codec@1a {
|
|
compatible = "realtek,rt5682s";
|
|
reg = <0x1a>;
|
|
interrupts-extended = <&pio 108 IRQ_TYPE_EDGE_BOTH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&audio_codec_pins>;
|
|
#sound-dai-cells = <1>;
|
|
|
|
AVDD-supply = <&mt6359_vio18_ldo_reg>;
|
|
DBVDD-supply = <&mt6359_vio18_ldo_reg>;
|
|
LDO1-IN-supply = <&mt6359_vio18_ldo_reg>;
|
|
MICVDD-supply = <&pp3300_s3>;
|
|
realtek,jd-src = <1>;
|
|
};
|
|
|
|
max98390_38: amplifier@38 {
|
|
compatible = "maxim,max98390";
|
|
reg = <0x38>;
|
|
sound-name-prefix = "Front Right";
|
|
reset-gpios = <&pio 118 GPIO_ACTIVE_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&speaker_en>;
|
|
#sound-dai-cells = <0>;
|
|
};
|
|
|
|
max98390_39: amplifier@39 {
|
|
compatible = "maxim,max98390";
|
|
reg = <0x39>;
|
|
sound-name-prefix = "Front Left";
|
|
#sound-dai-cells = <0>;
|
|
};
|
|
};
|
|
|
|
&i2c_tunnel {
|
|
/*
|
|
* The virtual battery I2C addr is 0xf on Ciri, so we describe it
|
|
* manually instead of including 'arm/cros-ec-sbs.dtsi'.
|
|
**/
|
|
battery: sbs-battery@f {
|
|
compatible = "sbs,sbs-battery";
|
|
reg = <0xf>;
|
|
sbs,i2c-retry-count = <2>;
|
|
sbs,poll-retry-count = <1>;
|
|
};
|
|
};
|
|
|
|
&mipi_tx_config0 {
|
|
drive-strength-microamp = <5200>;
|
|
};
|
|
|
|
&mt6359_vm18_ldo_reg {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-microvolt-offset = <100000>;
|
|
};
|
|
|
|
&sound {
|
|
dai-link-0 {
|
|
link-name = "ETDM1_IN_BE";
|
|
dai-format = "i2s";
|
|
mediatek,clk-provider = "cpu";
|
|
};
|
|
|
|
dai-link-1 {
|
|
link-name = "ETDM1_OUT_BE";
|
|
dai-format = "i2s";
|
|
mediatek,clk-provider = "cpu";
|
|
|
|
codec {
|
|
sound-dai = <&max98390_38>,
|
|
<&max98390_39>;
|
|
};
|
|
};
|
|
|
|
dai-link-2 {
|
|
link-name = "ETDM2_IN_BE";
|
|
mediatek,clk-provider = "cpu";
|
|
|
|
codec {
|
|
sound-dai = <&rt5682s 0>;
|
|
};
|
|
};
|
|
|
|
dai-link-3 {
|
|
link-name = "ETDM2_OUT_BE";
|
|
mediatek,clk-provider = "cpu";
|
|
|
|
codec {
|
|
sound-dai = <&rt5682s 0>;
|
|
};
|
|
};
|
|
|
|
dai-link-4 {
|
|
link-name = "DPTX_BE";
|
|
|
|
codec {
|
|
sound-dai = <&dp_tx>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pio {
|
|
gpio-line-names =
|
|
"GSC_AP_INT_ODL",
|
|
"AP_DISP_BKLTEN",
|
|
"",
|
|
"EN_PPVAR_MIPI_DISP",
|
|
"EN_PPVAR_MIPI_DISP_150MA",
|
|
"TCHSCR_RST_1V8_L",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"I2S_SPKR_DATAOUT",
|
|
"EN_PP3300_WLAN_X",
|
|
"WIFI_KILL_1V8_L",
|
|
"BT_KILL_1V8_L",
|
|
"AP_FLASH_WP_L", /* ... is crossystem ABI. Rev1 schematics call it AP_WP_ODL. */
|
|
"",
|
|
"",
|
|
"WCAM_PWDN_L",
|
|
"WCAM_RST_L",
|
|
"UCAM_PWDM_L",
|
|
"UCAM_RST_L",
|
|
"WCAM_24M_CLK",
|
|
"UCAM_24M_CLK",
|
|
"MT6319_INT",
|
|
"DISP_RST_1V8_L",
|
|
"DSIO_DSI_TE",
|
|
"",
|
|
"TP",
|
|
"MIPI_BL_PWM_1V8",
|
|
"",
|
|
"UART_AP_TX_GSC_RX",
|
|
"UART_GSC_TX_AP_RX",
|
|
"UART_SSPM_TX_DBGCON_RX",
|
|
"UART_DBGCON_TX_SSPM_RX",
|
|
"UART_ADSP_TX_DBGCON_RX",
|
|
"UART_DBGCON_TX_ADSP_RX",
|
|
"JTAG_AP_TMS",
|
|
"JTAG_AP_TCK",
|
|
"JTAG_AP_TDI",
|
|
"JTAG_AP_TDO",
|
|
"JTAG_AP_TRST",
|
|
"AP_KPCOL0",
|
|
"TP",
|
|
"",
|
|
"TP",
|
|
"EC_AP_HPD_OD",
|
|
"PCIE_WAKE_1V8_ODL",
|
|
"PCIE_RST_1V8_L",
|
|
"PCIE_CLKREQ_1V8_ODL",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"AP_I2C_AUD_SCL_1V8",
|
|
"AP_I2C_AUD_SDA_1V8",
|
|
"AP_I2C_TPM_SCL_1V8",
|
|
"AP_I2C_TPM_SDA_1V8",
|
|
"AP_I2C_TCHSCR_SCL_1V8",
|
|
"AP_I2C_TCHSCR_SDA_1V8",
|
|
"AP_I2C_PMIC_SAR_SCL_1V8",
|
|
"AP_I2C_PMIC_SAR_SDA_1V8",
|
|
"AP_I2C_EC_HID_KB_SCL_1V8",
|
|
"AP_I2C_EC_HID_KB_SDA_1V8",
|
|
"AP_I2C_UCAM_SCL_1V8",
|
|
"AP_I2C_UCAM_SDA_1V8",
|
|
"AP_I2C_WCAM_SCL_1V8",
|
|
"AP_I2C_WCAM_SDA_1V8",
|
|
"SPI_AP_CS_EC_L",
|
|
"SPI_AP_CLK_EC",
|
|
"SPI_AP_DO_EC_DI",
|
|
"SPI_AP_DI_EC_DO",
|
|
"TP",
|
|
"TP",
|
|
"SPI_AP_CS_TCHSCR_L",
|
|
"SPI_AP_CLK_TCHSCR",
|
|
"SPI_AP_DO_TCHSCR_DI",
|
|
"SPI_AP_DI_TCHSCR_DO",
|
|
"TP",
|
|
"TP",
|
|
"TP",
|
|
"TP",
|
|
"",
|
|
"",
|
|
"",
|
|
"TP",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"PWRAP_SPI_CS_L",
|
|
"PWRAP_SPI_CK",
|
|
"PWRAP_SPI_MOSI",
|
|
"PWRAP_SPI_MISO",
|
|
"SRCLKENA0",
|
|
"SRCLKENA1",
|
|
"SCP_VREQ_VAO",
|
|
"AP_RTC_CLK32K",
|
|
"AP_PMIC_WDTRST_L",
|
|
"AUD_CLK_MOSI",
|
|
"AUD_SYNC_MOSI",
|
|
"AUD_DAT_MOSI0",
|
|
"AUD_DAT_MOSI1",
|
|
"AUD_DAT_MISO0",
|
|
"AUD_DAT_MISO1",
|
|
"",
|
|
"HP_INT_ODL",
|
|
"SPKR_INT_ODL",
|
|
"I2S_HP_DATAIN",
|
|
"EN_SPKR",
|
|
"I2S_SPKR_MCLK",
|
|
"I2S_SPKR_BCLK",
|
|
"I2S_HP_MCLK",
|
|
"I2S_HP_BCLK",
|
|
"I2S_HP_LRCK",
|
|
"I2S_HP_DATAOUT",
|
|
"RST_SPKR_L",
|
|
"I2S_SPKR_LRCK",
|
|
"I2S_SPKR_DATAIN",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"SPI_AP_CLK_ROM",
|
|
"SPI_AP_CS_ROM_L",
|
|
"SPI_AP_DO_ROM_DI",
|
|
"SPI_AP_DI_ROM_DO",
|
|
"TP",
|
|
"TP",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"EN_PP2800A_UCAM_X",
|
|
"EN_PP1200_UCAM_X",
|
|
"EN_PP2800A_WCAM_X",
|
|
"EN_PP1100_WCAM_X",
|
|
"TCHSCR_INT_1V8_L",
|
|
"",
|
|
"MT7921_PMU_EN_1V8",
|
|
"",
|
|
"AP_EC_WARM_RST_REQ",
|
|
"EC_AP_HID_INT_ODL",
|
|
"EC_AP_INT_ODL",
|
|
"AP_XHCI_INIT_DONE",
|
|
"EMMC_DAT7",
|
|
"EMMC_DAT6",
|
|
"EMMC_DAT5",
|
|
"EMMC_DAT4",
|
|
"EMMC_RST_L",
|
|
"EMMC_CMD",
|
|
"EMMC_CLK",
|
|
"EMMC_DAT3",
|
|
"EMMC_DAT2",
|
|
"EMMC_DAT1",
|
|
"EMMC_DAT0",
|
|
"EMMC_DSL",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"",
|
|
"USB3_HUB_RST_L",
|
|
"EC_AP_RSVD0_ODL",
|
|
"",
|
|
"",
|
|
"SPMI_SCL",
|
|
"SPMI_SDA";
|
|
|
|
audio_codec_pins: audio-codec-pins {
|
|
pins-hp-int-odl {
|
|
pinmux = <PINMUX_GPIO108__FUNC_B_GPIO108>;
|
|
input-enable;
|
|
};
|
|
};
|
|
|
|
speaker_en: speaker-en-pins {
|
|
pins-en-spkr {
|
|
pinmux = <PINMUX_GPIO111__FUNC_B_GPIO111>;
|
|
};
|
|
};
|
|
};
|