From patchwork Wed Jul 19 12:54:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 122615 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2432458vqt; Wed, 19 Jul 2023 06:18:00 -0700 (PDT) X-Google-Smtp-Source: APBJJlEoruhoBaPKd7vUlF4gWLAvsBFwTl9CPDaZ5WgJ9SgCLOwOWFxRX7JKLxdacRFrYCyrF1W+ X-Received: by 2002:a17:90b:4017:b0:262:ecd9:ed09 with SMTP id ie23-20020a17090b401700b00262ecd9ed09mr14340106pjb.33.1689772680201; Wed, 19 Jul 2023 06:18:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689772680; cv=none; d=google.com; s=arc-20160816; b=cLprj/tfLzYr07nDOvp0fm55AwPSWrjS/pwjQGYrZUH83HTFqAWYyof1QwRkxTT+uw Dy6PW3czAZs+Mdvj9mOZOMl5yLP5S0WUY1I6WKLez64SNjoMrsSDDMQkX/ThJOAksJPG nrVuYF1o7nPsY2RLDyAIwBGPTxFe1oYJlv+52tTpO24+MSR8D6uCQrMqQasA7g1l34Dd 0cFCBKaPwRZsXdTImNCHbu2/+Ov9t2GrbnB5Vuz2PcAhxdnxLYYtkhkE1WYA2V1lUs7X 97GSpPKg7k4OPlDcPUZ3dYtyl8aaIV1hSQAFIk9mHwKa80sJntdtmCfWCIouu1ZnggND pNDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=6yu9cc/wUj+s+m5Zo6SIUPel4uGP5VLClhJ39oEo104=; fh=qgq+kCNF42FP1PeJcKT3BSSZNc2+/PNS7qKHZ1wB8Ug=; b=tc16UZyOOJxkIVjnf7xdrg5s0YjH0jF3ZWT97GDC27oo56mjODO8lpYaeSy0w6fUrq SEjGzloEb2BBJmIF4/HJhTPEAAyGrzMib4hTaTzBH49wZmDIu5sQDQmHzPlln4KKWtvG wJqcZVNUT3BTQdkbP6YPqUnD4IKYNcY86TtDM23z9uQYNIt/A5QHbKSsjY0KMRmpJaSM VFcXG6qSJ2zRetojgNZ/BOAMl4436uBFe/lPXv/IAlYfceM2T9abfKMaQP8x6dBRuFGg EF6IvyNk3aF1iR+7ql/L4U1fYK88Wsd2fSMgYs4O2cdiIfDYbAP6DT4EyVSrq94hURVS cpSw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mz11-20020a17090b378b00b0026306d2d484si1380337pjb.111.2023.07.19.06.17.46; Wed, 19 Jul 2023 06:18:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230332AbjGSMyk (ORCPT + 99 others); Wed, 19 Jul 2023 08:54:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34056 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230061AbjGSMyi (ORCPT ); Wed, 19 Jul 2023 08:54:38 -0400 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8093B11C; Wed, 19 Jul 2023 05:54:37 -0700 (PDT) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 72127206BC; Wed, 19 Jul 2023 14:54:35 +0200 (CEST) From: Francesco Dolcini To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Francesco Dolcini , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Mark Brown Subject: [PATCH v1 1/2] arm64: dts: freescale: verdin-imx8mp: dahlia: add sound card Date: Wed, 19 Jul 2023 14:54:29 +0200 Message-Id: <20230719125430.249644-2-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230719125430.249644-1-francesco@dolcini.it> References: <20230719125430.249644-1-francesco@dolcini.it> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771855041900103059 X-GMAIL-MSGID: 1771855077620629240 From: Francesco Dolcini Add WM8904 based analog sound card to Dahlia carrier board. Signed-off-by: Francesco Dolcini Tested-by: Mark Brown --- .../dts/freescale/imx8mp-verdin-dahlia.dtsi | 56 ++++++++++++++++++- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi index 56b0e4b865c9..7e9e4b13b5c5 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi @@ -3,7 +3,36 @@ * Copyright 2022 Toradex */ -/* TODO: Audio Codec */ +/ { + sound { + compatible = "simple-audio-card"; + simple-audio-card,bitclock-master = <&codec_dai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&codec_dai>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "imx8mp-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", "Headphone Jack", + "Headphone", "Headphone Jack", + "Line", "Line In Jack"; + + codec_dai: simple-audio-card,codec { + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; + sound-dai = <&wm8904_1a>; + }; + + simple-audio-card,cpu { + sound-dai = <&sai1>; + }; + }; +}; &backlight { power-supply = <®_3p3v>; @@ -64,7 +93,21 @@ &i2c3 { &i2c4 { status = "okay"; - /* TODO: Audio Codec */ + /* Audio Codec */ + wm8904_1a: audio-codec@1a { + compatible = "wlf,wm8904"; + reg = <0x1a>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai1>; + #sound-dai-cells = <0>; + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; + clock-names = "mclk"; + AVDD-supply = <®_1p8v>; + CPVDD-supply = <®_1p8v>; + DBVDD-supply = <®_1p8v>; + DCVDD-supply = <®_1p8v>; + MICVDD-supply = <®_1p8v>; + }; }; /* Verdin PCIE_1 */ @@ -95,7 +138,14 @@ ®_usdhc2_vmmc { vin-supply = <®_3p3v>; }; -/* TODO: Verdin I2S_1 */ +/* Verdin I2S_1 */ +&sai1 { + assigned-clocks = <&clk IMX8MP_CLK_SAI1>; + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + fsl,sai-mclk-direction-output; + status = "okay"; +}; /* Verdin UART_1 */ &uart1 { From patchwork Wed Jul 19 12:54:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 122617 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2434531vqt; Wed, 19 Jul 2023 06:20:55 -0700 (PDT) X-Google-Smtp-Source: APBJJlGeAnXhweDXLhiSPruScIXcW+lvIPQmWUfRTGeV3Z73omxddp3k+Cych7IvZCRpQuA7JuYP X-Received: by 2002:a05:6a20:4294:b0:12f:6500:8504 with SMTP id o20-20020a056a20429400b0012f65008504mr23316778pzj.46.1689772855056; Wed, 19 Jul 2023 06:20:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689772855; cv=none; d=google.com; s=arc-20160816; b=E70J4oYDiVhtl79AmkYRQs3wiFzJuLcgvqfKoahYA5w/KffJ1VbaFeVY8ZhBH8Btvk 79L5q0c3arJaNnsg8DIdqnjkak0aeNquJdCsQg2MS1efr2pT0k+s+WMXzKX1cDBGtE7S NG0w3WCCTyK0Adq46bgF+zAW+YltePxS4uJuDRhO+EcCaUMWPzVNhncFLWHmps04gsvv N9w07KUiiiKUsE6Vo8Kyr/EwVSmn29aCx77PE/2l9dYwlj9/nxr2VkDJXaIyPz7elxWB KNk1EcyENZ3iPLjV2tz93os20Mvh17ch9Rqm39XMiDIlXG5nzW5aZuAGBEh829j0v8Sb jhbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=YOmTcBGQ+9xf7w9GP6U4v7Lt8NaDsJMrOEQrr/5Mm/c=; fh=qgq+kCNF42FP1PeJcKT3BSSZNc2+/PNS7qKHZ1wB8Ug=; b=zl/+ZALlQkArBOz8q718Rr9jh2Wy2/Z+qIBObtj21vupoPcoJKRSwKnCIMIuxB2rii B116gtXbCZjuJ5/q0NtnBFAdQ+SkEUyqgXj1yBjSt91cBh0/xB2aVNSFHJ9lffb58WOl b+olUjPwt14j1xY+UDWfgX0GlzgDg9LyGim4PXGoprn9sFd3eJD6i7eofdIWb8IWZpef tfVwIRYxRSdqoUcQqMeDPLlVkadCQCZkHekPGQVHteaPggroS+LADmESylchQ7D/HHES u/N8ASmraNgvxdRyxcR0thI3RKSsVXPtPsO1A2U1HDwccyf9RpwOKFAePgxOhRPxPywl Y+9A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f18-20020a056a001ad200b00675f3892a4dsi3409852pfv.304.2023.07.19.06.20.41; Wed, 19 Jul 2023 06:20:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230349AbjGSMym (ORCPT + 99 others); Wed, 19 Jul 2023 08:54:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229535AbjGSMyj (ORCPT ); Wed, 19 Jul 2023 08:54:39 -0400 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 306C010B; Wed, 19 Jul 2023 05:54:38 -0700 (PDT) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 109AB209AC; Wed, 19 Jul 2023 14:54:36 +0200 (CEST) From: Francesco Dolcini To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Francesco Dolcini , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Mark Brown Subject: [PATCH v1 2/2] arm64: dts: freescale: verdin-imx8mp: dev: add sound card Date: Wed, 19 Jul 2023 14:54:30 +0200 Message-Id: <20230719125430.249644-3-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230719125430.249644-1-francesco@dolcini.it> References: <20230719125430.249644-1-francesco@dolcini.it> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771855261284425465 X-GMAIL-MSGID: 1771855261284425465 From: Francesco Dolcini Add NAU8822 based analog sound card to Development carrier board. Signed-off-by: Francesco Dolcini --- .../boot/dts/freescale/imx8mp-verdin-dev.dtsi | 55 +++++++++++++++++-- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi index bdfdd4c782f1..a509b2b7fa85 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi @@ -4,8 +4,6 @@ */ / { - /* TODO: Audio Codec */ - reg_eth2phy: regulator-eth2phy { compatible = "regulator-fixed"; enable-active-high; @@ -17,6 +15,41 @@ reg_eth2phy: regulator-eth2phy { startup-delay-us = <200000>; vin-supply = <®_3p3v>; }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,bitclock-master = <&codec_dai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&codec_dai>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "imx8mp-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"; + + codec_dai: simple-audio-card,codec { + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; + sound-dai = <&nau8822_1a>; + }; + + simple-audio-card,cpu { + sound-dai = <&sai1>; + }; + }; }; &backlight { @@ -88,7 +121,14 @@ &i2c3 { &i2c4 { status = "okay"; - /* TODO: Audio Codec */ + /* Audio Codec */ + nau8822_1a: audio-codec@1a { + compatible = "nuvoton,nau8822"; + reg = <0x1a>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai1>; + #sound-dai-cells = <0>; + }; }; /* Verdin PCIE_1 */ @@ -119,7 +159,14 @@ ®_usdhc2_vmmc { vin-supply = <®_3p3v>; }; -/* TODO: Verdin I2C_1 with Audio Codec */ +/* Verdin I2S_1 */ +&sai1 { + assigned-clocks = <&clk IMX8MP_CLK_SAI1>; + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; + assigned-clock-rates = <24576000>; + fsl,sai-mclk-direction-output; + status = "okay"; +}; /* Verdin UART_1, connector X50 through RS485 transceiver */ &uart1 {