Commit 4b4e0508 authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Matthias Brugger
Browse files

arm64: dts: mediatek: cherry: Add external codecs and speaker amplifier



The entire Cherry family has two digital microphones, for which
we use the generic dmic-codec, linked to the MT6359 PMIC.
Moreover, it uses a Realtek RT1019p amplifier for the speakers
and has either a Realtek RT5682i or RT5682s audio codec on I2C2:
specifically, RT5682i is found on Tomato's rev 1 and rev 2 boards,
while RT5682s is found in rev3 and rev4 boards.

Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220922094908.41623-4-angelogioacchino.delregno@collabora.com


Signed-off-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
parent b26de6b6
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -10,6 +10,11 @@
	compatible = "google,tomato-rev1", "google,tomato", "mediatek,mt8195";
};

&audio_codec {
	compatible = "realtek,rt5682i";
	realtek,btndet-delay = <16>;
};

&ts_10 {
	status = "okay";
};
+5 −0
Original line number Diff line number Diff line
@@ -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>,
+5 −0
Original line number Diff line number Diff line
@@ -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>,
+37 −0
Original line number Diff line number Diff line
@@ -26,6 +26,12 @@
		stdout-path = "serial0:115200n8";
	};

	dmic-codec {
		compatible = "dmic-codec";
		num-channels = <2>;
		wakeup-delay-ms = <50>;
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x80000000>;
@@ -136,6 +142,14 @@
			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 {
@@ -257,6 +271,17 @@
	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 {
@@ -361,6 +386,11 @@
	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;
@@ -809,6 +839,13 @@
		};
	};

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