From 21526f7f63ede07d78a88f4bfd11ab9ea51d76f8 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Wed, 10 Feb 2021 20:17:18 +0100 Subject: arm64: dts: imx8mm-verdin: add dev board audio codec The verdin development carrier board V1.1 now uses a Nuvoton NAU88C22YG audio codec. (The Dahlia carrier board V1.1 keeps using the WM8904) Add the relevant device tree nodes and delete the ones for the WM8904. Related-to: ELB-3503 Signed-off-by: Max Krummenacher --- .../boot/dts/freescale/imx8mm-verdin-dahlia.dtsi | 50 +++++++++++++++++-- .../boot/dts/freescale/imx8mm-verdin-dev.dtsi | 57 ++++++++++++++++++---- arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi | 42 ---------------- 3 files changed, 93 insertions(+), 56 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi index 37345ff519da..384e7ed244de 100755 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi @@ -3,6 +3,36 @@ * Copyright 2020 Toradex */ +/ { + sound_card: sound-card { + compatible = "simple-audio-card"; + simple-audio-card,bitclock-master = <&dailink_master>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,name = "imx8mm-wm8904"; + simple-audio-card,routing = + "Headphone Jack", "HPOUTL", + "Headphone Jack", "HPOUTR", + "IN2L", "Line In Jack", + "IN2R", "Line In Jack", + "Headphone Jack", "MICBIAS", + "IN1L", "Headphone Jack"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Headphone", "Headphone Jack", + "Line", "Line In Jack"; + + dailink_master: simple-audio-card,codec { + sound-dai = <&wm8904_1a>; + clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; + }; + + simple-audio-card,cpu { + sound-dai = <&sai2>; + }; + }; +}; + /* Verdin SPI_1 */ &ecspi2 { status = "okay"; @@ -47,8 +77,23 @@ status = "okay"; }; +/* Verdin I2C_1 */ &i2c4 { status = "okay"; + + /* Audio Codec */ + wm8904_1a: codec@1a { + compatible = "wlf,wm8904"; + #sound-dai-cells = <0>; + clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; + clock-names = "mclk"; + reg = <0x1a>; + DCVDD-supply = <®_3p3v>; + DBVDD-supply = <®_3p3v>; + AVDD-supply = <®_3p3v>; + CPVDD-supply = <®_3p3v>; + MICVDD-supply = <®_3p3v>; + }; }; /* Verdin PCIE_1 */ @@ -105,8 +150,3 @@ &usdhc2 { status = "okay"; }; - -/* Audio Codec */ -&wm8904_1a { - status = "okay"; -}; diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi index 8974c353b652..0313cf299418 100755 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi @@ -5,17 +5,56 @@ #include "imx8mm-verdin-dahlia.dtsi" +/ { + sound_card: sound-card { + compatible = "simple-audio-card"; + simple-audio-card,bitclock-master = <&dailink_master>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,name = "imx8mm-nau8822"; + simple-audio-card,routing = + "Headphones", "LHP", + "Headphones", "RHP", + "Speaker", "LSPK", + "Speaker", "RSPK", + "Line Out", "AUXOUT1", + "Line Out", "AUXOUT2", + "LAUX", "Line In", + "RAUX", "Line In", + "LMICP", "Mic In", + "RMICP", "Mic In"; + simple-audio-card,widgets = + "Headphones", "Headphones", + "Line Out", "Line Out", + "Speaker", "Speaker", + "Microphone", "Mic In", + "Line", "Line In"; + + dailink_master: simple-audio-card,codec { + sound-dai = <&nau8822_1a>; + clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; + }; + + simple-audio-card,cpu { + sound-dai = <&sai2>; + }; + }; +}; + &gpio_expander_21 { status = "okay"; }; -&sound_card { - simple-audio-card,routing = - "Headphone Jack", "HPOUTL", - "Headphone Jack", "HPOUTR", - "IN2L", "Line In Jack", - "IN2R", "Line In Jack", - "Microphone Jack", "MICBIAS", - "IN1L", "Microphone Jack", - "IN1R", "Microphone Jack"; +/* Verdin I2C_1 */ +&i2c4 { + /* Audio Codec */ + nau8822_1a: codec-nau@1a { + compatible = "nuvoton,nau8822"; + #sound-dai-cells = <0>; + reg = <0x1a>; + }; +}; + +&wm8904_1a { + status = "disabled"; }; diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi index 81ef5bf05eb5..7ee29266a239 100755 --- a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi @@ -136,33 +136,6 @@ }; }; - sound_card: sound-card { - compatible = "simple-audio-card"; - simple-audio-card,bitclock-master = <&dailink_master>; - simple-audio-card,format = "i2s"; - simple-audio-card,frame-master = <&dailink_master>; - simple-audio-card,name = "imx8mm-wm8904"; - simple-audio-card,routing = - "Headphone Jack", "HPOUTL", - "Headphone Jack", "HPOUTR", - "IN2L", "Line In Jack", - "IN2R", "Line In Jack", - "Headphone Jack", "MICBIAS", - "IN1L", "Microphone Jack"; - simple-audio-card,widgets = - "Microphone", "Microphone Jack", - "Headphone", "Headphone Jack", - "Line", "Line In Jack"; - - dailink_master: simple-audio-card,codec { - sound-dai = <&wm8904_1a>; - clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; - }; - - simple-audio-card,cpu { - sound-dai = <&sai2>; - }; - }; }; &A53_0 { @@ -572,21 +545,6 @@ scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; - /* Audio Codec */ - wm8904_1a: codec@1a { - compatible = "wlf,wm8904"; - #sound-dai-cells = <0>; - clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; - clock-names = "mclk"; - reg = <0x1a>; - status = "disabled"; - DCVDD-supply = <®_3p3v>; - DBVDD-supply = <®_3p3v>; - AVDD-supply = <®_3p3v>; - CPVDD-supply = <®_3p3v>; - MICVDD-supply = <®_3p3v>; - }; - gpio_expander_21: gpio-expander@21 { compatible = "nxp,pcal6416"; #gpio-cells = <2>; -- cgit v1.2.3