From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0AEC5C54E58 for ; Fri, 15 Mar 2024 10:26:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=86oS0EieugA01FPbORwrE8KA9K35hFAnHG3F8RbqDWo=; b=y/rDYjSxCOcFKM g/f8ftS4acgU2L5yaf5icrhGaDTruQJcqg+M9cQbzxiJS/oZACRC84qbge7h3OBygTVTob3vVpd18 vbqxsba95Lpi4NgbJBaVIV/FvWrBL6t0tnzZd3C7/z98dsZAzk8Gclu5mGoqvwvKv/cmA0rV+Z4Mt Lydx6dGNHH2GW6NvcfIp2+wh9PM9ie2BcvNO0Wi19JQzf94kStqjZHJjJjjt61twoaWY/39YgXcXv skefSvebMmW1ju2n+r9NFm6bg3fhOBlP6kJgf9JG9RgRxpzWaejedUKCzrSU0rpJa/PymIHHlLr4T o8lM2200r4j/WvZMgzgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rl4lC-0000000HShW-3q6f; Fri, 15 Mar 2024 10:25:58 +0000 Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rl4l8-0000000HSfd-3d7g for linux-arm-kernel@lists.infradead.org; Fri, 15 Mar 2024 10:25:56 +0000 Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2d475b6609eso24324591fa.2 for ; Fri, 15 Mar 2024 03:25:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710498351; x=1711103151; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=DjEbXWwhsZ2V89MBAuuMPjIB1gZ4MYtJXZWbtz0OD68=; b=Azt9O1hdQBQuX235Cy96IePqEFDq1yS7SuozSBEf2XrUNYgDcqUviaMO+W5fOMHZpt 3yWw+2JQ/IQdCXnxO3f/6+PQSNLHMRVEXGfMpJrKW93+AEi6SEU/DEzQxDXr5gzTYlHO EYhxNwgvS1jfHPddfBJN9pO+V0v+vkk9CIYIFNzNUZwePGFakkKwng1sPzos+XqWA+5J VNiUB1VxYfqJl+knk+QUYC3+wH9j7grypa0KWCOu3VZlUXq5ZrnqPzq4drOXCujlv1iO utoPUu6WjXmrHn4Y3dyRlZbhQ9YvX/mtihmmZNzC8gsEVr4RLn9oO2pbawaJJOMHaYpC N9uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710498351; x=1711103151; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DjEbXWwhsZ2V89MBAuuMPjIB1gZ4MYtJXZWbtz0OD68=; b=BEWSagI/mOw9tc0jXDIFNCLwsa+LJ6yUB/Qn0h/ojvrKwgg70xKUEDedMEu9dCogkg MV/s+rUkloN4gj00Q/pSiOLhXpzw25EfXI6DV0NWJBXO/dSWbxPXeGsHYHO5MoYwJdv0 xrcbwR8P5n3741q1CMJiy8UeLCJEQNxomiImcJAGwrO163Zorpz0FDEWU8Ocut8+DS8q KtBaG1y64KliMTBntVpiaBkipG+zfGsVWP8rWvYu216awm/NnRtn9T1DSnoWEDsXkPUn yn8ehidzMJBaaTgccRc9V942RO06VxiAafx43VB7dKM5Fq6Aiq6GQk+hSIq2PhskZm06 6BTg== X-Forwarded-Encrypted: i=1; AJvYcCXCXY8gOn7d5m7Lv/TBoc3PDWcw4hRmLPg/H8UISiwkj18tD1Esc4UoGjSp4ROJ2cBnHrpFmA9aMsAaSuEodw5vyCx0t37ueQycw99KSDfC2cgRRCA= X-Gm-Message-State: AOJu0YxKROjpC5DAO+gJKvKV6BASRQ7eUmXeJ3U/HIHDRL1Dgm3pRL5u kvV+pfBHsNdSUFe2QgSjJiuoJ+p9oe0ueIVQU8IcgAXHaX3ufS9P X-Google-Smtp-Source: AGHT+IE1ClC0pNGFDbWQQwtGpf+6gWKX89DIDXjAJD9TSfZAkUeDdX8ldNVXLjIZW9H7jviSmyBUkA== X-Received: by 2002:a2e:9357:0:b0:2d4:6852:f61f with SMTP id m23-20020a2e9357000000b002d46852f61fmr2795403ljh.24.1710498350337; Fri, 15 Mar 2024 03:25:50 -0700 (PDT) Received: from andrejs-nb.int.toradex.com (77-59-154-235.dclient.hispeed.ch. [77.59.154.235]) by smtp.gmail.com with ESMTPSA id jl20-20020a17090775d400b00a46497c74a0sm1579231ejc.93.2024.03.15.03.25.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Mar 2024 03:25:49 -0700 (PDT) From: Andrejs Cainikovs To: Jai Luthra , Francesco Dolcini , Nishanth Menon , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Charles Keepax , Andrejs Cainikovs Subject: [PATCH v1] arm64: dts: ti: verdin-am62: dahlia: fix audio clock Date: Fri, 15 Mar 2024 11:25:00 +0100 Message-Id: <20240315102500.18492-1-andrejs.cainikovs@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240315_032554_999613_96C3A0B1 X-CRM114-Status: GOOD ( 12.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Andrejs Cainikovs In current configuration, wm8904 codec on Dahlia carrier board provides distorted audio output. This happens due to reference clock is fixed to 25MHz and no FLL is enabled. During playback following parameters are set: 44100Hz: [ 310.276924] wm8904 1-001a: Target BCLK is 1411200Hz [ 310.276990] wm8904 1-001a: Using 25000000Hz MCLK [ 310.277001] wm8904 1-001a: CLK_SYS is 12500000Hz [ 310.277018] wm8904 1-001a: Selected CLK_SYS_RATIO of 256 [ 310.277026] wm8904 1-001a: Selected SAMPLE_RATE of 44100Hz [ 310.277034] wm8904 1-001a: Selected BCLK_DIV of 80 for 1562500Hz BCLK [ 310.277044] wm8904 1-001a: LRCLK_RATE is 35 Deviation = 1411200 vs 1562500 = 10.721% Also, LRCLK_RATE is 35, should be 32. 48000Hz: [ 302.449970] wm8904 1-001a: Target BCLK is 1536000Hz [ 302.450037] wm8904 1-001a: Using 25000000Hz MCLK [ 302.450049] wm8904 1-001a: CLK_SYS is 12500000Hz [ 302.450065] wm8904 1-001a: Selected CLK_SYS_RATIO of 256 [ 302.450074] wm8904 1-001a: Selected SAMPLE_RATE of 48000Hz [ 302.450083] wm8904 1-001a: Selected BCLK_DIV of 80 for 1562500Hz BCLK [ 302.450092] wm8904 1-001a: LRCLK_RATE is 32 Deviation = 1536000 vs 1562500 = 1.725% Enabling wm8904 FLL via providing mclk-fs property to simple-audio-card configures clocks properly, but also adjusts audio reference clock (mclk), which in case of TI AM62 should be avoided, as it only supports 25MHz output [1][2]. This change enables FLL on wm8904 by providing mclk-fs, and drops audio reference clock out of DAI configuration, which prevents simple-audio-card to adjust it before every playback [3]. 41000Hz: [ 111.820533] wm8904 1-001a: FLL configured for 25000000Hz->11289600Hz [ 111.820597] wm8904 1-001a: Clock source is 0 at 11289600Hz [ 111.820651] wm8904 1-001a: Using 11289600Hz FLL clock [ 111.820703] wm8904 1-001a: CLK_SYS is 11289600Hz [ 111.820798] wm8904 1-001a: Target BCLK is 1411200Hz [ 111.820847] wm8904 1-001a: Using 11289600Hz FLL clock [ 111.820894] wm8904 1-001a: CLK_SYS is 11289600Hz [ 111.820933] wm8904 1-001a: Selected CLK_SYS_RATIO of 256 [ 111.820971] wm8904 1-001a: Selected SAMPLE_RATE of 44100Hz [ 111.821009] wm8904 1-001a: Selected BCLK_DIV of 80 for 1411200Hz BCLK [ 111.821051] wm8904 1-001a: LRCLK_RATE is 32 48000Hz: [ 144.119254] wm8904 1-001a: FLL configured for 25000000Hz->12288000Hz [ 144.119309] wm8904 1-001a: Clock source is 0 at 12288000Hz [ 144.119364] wm8904 1-001a: Using 12288000Hz FLL clock [ 144.119413] wm8904 1-001a: CLK_SYS is 12288000Hz [ 144.119512] wm8904 1-001a: Target BCLK is 1536000Hz [ 144.119561] wm8904 1-001a: Using 12288000Hz FLL clock [ 144.119608] wm8904 1-001a: CLK_SYS is 12288000Hz [ 144.119646] wm8904 1-001a: Selected CLK_SYS_RATIO of 256 [ 144.119685] wm8904 1-001a: Selected SAMPLE_RATE of 48000Hz [ 144.119723] wm8904 1-001a: Selected BCLK_DIV of 80 for 1536000Hz BCLK [ 144.119764] wm8904 1-001a: LRCLK_RATE is 32 [1]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1175479/processor-sdk-am62x-output-audio_ext_refclk0-as-mclk-for-codec-and-mcbsp/4444986#4444986 [2]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1188051/am625-audio_ext_refclk1-clock-output---dts-support/4476322#4476322 [3]: sound/soc/generic/simple-card-utils.c#L441 Fixes: f5bf894c865b ("arm64: dts: ti: verdin-am62: dahlia: add sound card") Suggested-by: Charles Keepax Signed-off-by: Andrejs Cainikovs --- arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi index bf6d27e70bc48..2b12a626d0e4d 100644 --- a/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi @@ -22,6 +22,7 @@ sound { simple-audio-card,format = "i2s"; simple-audio-card,frame-master = <&codec_dai>; simple-audio-card,name = "verdin-wm8904"; + simple-audio-card,mclk-fs = <256>; simple-audio-card,routing = "Headphone Jack", "HPOUTL", "Headphone Jack", "HPOUTR", @@ -35,7 +36,6 @@ sound { "Line", "Line In Jack"; codec_dai: simple-audio-card,codec { - clocks = <&audio_refclk1>; sound-dai = <&wm8904_1a>; }; -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel