mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 11:03:07 -04:00
arm64: dts: imx8qm-mek: support revd board's wm8962 codec
The i.MX8QM MEK RevD board is a reworked version of the i.MX8QM MEK board, which includes some sensor and component changes. One of these components is the WM8962 codec, which is meant to replace the WM8960 codec present on i.MX8QM MEK. To avoid having to introduce a devicetree overlay or another DTS, the WM8962 can be supported by using a virtual I2C MUX since both of the codecs share the same I2C address. Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
committed by
Shawn Guo
parent
0216cffc4f
commit
ca3b49fc3d
@@ -131,6 +131,72 @@ lvds_backlight1: backlight-lvds1 {
|
||||
default-brightness-level = <80>;
|
||||
};
|
||||
|
||||
i2c-mux {
|
||||
compatible = "i2c-mux-gpio";
|
||||
mux-gpios = <&lsio_gpio5 3 GPIO_ACTIVE_HIGH>; /* needs to be an unused GPIO */
|
||||
i2c-parent = <&i2c1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wm8960: audio-codec@1a {
|
||||
compatible = "wlf,wm8960";
|
||||
reg = <0x1a>;
|
||||
clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "mclk";
|
||||
assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <786432000>,
|
||||
<49152000>,
|
||||
<12288000>,
|
||||
<12288000>;
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wm8962: wm8962@1a {
|
||||
compatible = "wlf,wm8962";
|
||||
reg = <0x1a>;
|
||||
clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <786432000>,
|
||||
<49152000>,
|
||||
<12288000>,
|
||||
<12288000>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
AVDD-supply = <®_audio_1v8>;
|
||||
CPVDD-supply = <®_audio_1v8>;
|
||||
MICVDD-supply = <®_audio_3v3>;
|
||||
PLLVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
mux-controller {
|
||||
compatible = "nxp,cbdtu02043", "gpio-sbu-mux";
|
||||
pinctrl-names = "default";
|
||||
@@ -314,6 +380,21 @@ sound-wm8960 {
|
||||
"Mic Jack", "MICB";
|
||||
};
|
||||
|
||||
sound-wm8962 {
|
||||
compatible = "fsl,imx-audio-wm8962";
|
||||
model = "wm8962-audio";
|
||||
audio-cpu = <&sai1>;
|
||||
audio-codec = <&wm8962>;
|
||||
hp-det-gpios = <&lsio_gpio0 31 GPIO_ACTIVE_HIGH>;
|
||||
audio-routing = "Headphone Jack", "HPOUTL",
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"Ext Spk", "SPKOUTL",
|
||||
"Ext Spk", "SPKOUTR",
|
||||
"AMIC", "MICBIAS",
|
||||
"IN1R", "AMIC",
|
||||
"IN3R", "AMIC";
|
||||
};
|
||||
|
||||
imx8qm-cm4-0 {
|
||||
compatible = "fsl,imx8qm-cm4";
|
||||
clocks = <&clk_dummy>;
|
||||
@@ -511,26 +592,6 @@ &i2c1 {
|
||||
scl-gpios = <&lsio_gpio0 14 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&lsio_gpio0 15 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
|
||||
wm8960: audio-codec@1a {
|
||||
compatible = "wlf,wm8960";
|
||||
reg = <0x1a>;
|
||||
clocks = <&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "mclk";
|
||||
assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
|
||||
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
|
||||
<&mclkout0_lpcg IMX_LPCG_CLK_0>;
|
||||
assigned-clock-rates = <786432000>, <49152000>, <12288000>, <12288000>;
|
||||
wlf,shared-lrclk;
|
||||
wlf,hp-cfg = <2 2 3>;
|
||||
wlf,gpio-cfg = <1 3>;
|
||||
AVDD-supply = <®_audio_3v3>;
|
||||
DBVDD-supply = <®_audio_1v8>;
|
||||
DCVDD-supply = <®_audio_1v8>;
|
||||
SPKVDD1-supply = <®_audio_5v>;
|
||||
SPKVDD2-supply = <®_audio_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1_lvds0 {
|
||||
|
||||
Reference in New Issue
Block a user