Message ID | 20230320112245.115720-1-rf@opensource.cirrus.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1164669wrt; Mon, 20 Mar 2023 04:43:48 -0700 (PDT) X-Google-Smtp-Source: AK7set8IbtuB7BqAvjLzIEFBzGfDIB7Tvmj96I6cP+kGyBTOd2Bbvja04VdIKzNrsLA4EXn3SgJj X-Received: by 2002:a62:1e01:0:b0:626:a9b:94b8 with SMTP id e1-20020a621e01000000b006260a9b94b8mr9862463pfe.20.1679312628649; Mon, 20 Mar 2023 04:43:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679312628; cv=none; d=google.com; s=arc-20160816; b=fOZa8YfD5Pb5l6g1rx4qyWfL06Yptx1oSGNv8kPNQq8Lcezh24U6H4+1M5kdW6X58j de+rb/Ducl7k4kgWPXb5gER0Km05jiLQm2I7gdFNxt6AFsb4mRy7csXofwdUjrjcg7Lp CkK/sN/AAB+ku0cy5FYFukqg2CyU3cP1GhumrhsNUdsheKyHLr12IL5p41d/De/vj6IM zs/diCBdg/SqYrto2HqZGMpo/LgA+JMsN5ULn5MiiVqORWKA3pojLodg3BSvnegoh83H H9QEUvRJqMmuvARPFVLNf8x7z9X/NXa+vNsKhtZS0fJT8NBK/abRWbTBJgYxOlz1CKiw rAWw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=fDcLPRwsWuPguF0YsBVGjvipWUK74H88kT9GfGNR424=; b=xYh7a4rzssu+dVfNApJqTLsZs/2RHBf3qcyWDHdv3CCt5TDw3qCwYgggTN6S6NDdaQ a/To+YsE5hHGRMJX7CN/3As7iLzWjbmNtVx9m2J38Z0pl7HJN3sVG+lV1JaipMBCSlmb Cr6bIN6s4ImNoNh+YiuYHqEGp0u+SNgsBloUINpRp/R/01gB2oD44/dgeSkJmczJtyq8 2V16nUSM2201NSG21pMAQn0y0fPGL4Qyz0+/8VgDKfizig/whzZls2XXIJChl4/35NgH GbSn2NLS6Sfw+2BfTckxXsileXwiCJYuH7TEWoz8e2iyVJIyZiBoYGWJ0oPs77vPO5TB EHxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=nZnhXHJZ; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u189-20020a6385c6000000b0050beb800603si10553703pgd.39.2023.03.20.04.43.35; Mon, 20 Mar 2023 04:43:48 -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; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=nZnhXHJZ; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229828AbjCTLXY (ORCPT <rfc822;pusanteemu@gmail.com> + 99 others); Mon, 20 Mar 2023 07:23:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51488 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229836AbjCTLXA (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 20 Mar 2023 07:23:00 -0400 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C99510E8 for <linux-kernel@vger.kernel.org>; Mon, 20 Mar 2023 04:22:56 -0700 (PDT) Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32K6xMZe028388; Mon, 20 Mar 2023 06:22:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=PODMain02222019; bh=fDcLPRwsWuPguF0YsBVGjvipWUK74H88kT9GfGNR424=; b=nZnhXHJZfqTziDCMYIy+RIY6V6+nVdigiXkmV7vQUeDSv04YId83oUhANirt9W3PbSAB xNq3vGt3YDpAlyETQCgM16r2g6YTkhrodzw5OQ0IULBgArwNWZTovHVWubX9Ka6UfOjL o9DjeIUcdCfoq3TChTQUiTMrPcN15rWb5IIwDewqnr/G2d+mig9CYKf0ECp120LA6l8/ SEUl67Ad1Z03uPqhFSAhU94htZ5rBuclL9GdCgyBVfzhg6t+QUHCkrpbu8WjrEjLRBfE YrTvdd5Xq6387EhMJ4oPUR0oIftDbvBFjUMtpsWgyyWba6cEOLwSbWk9C5rh9loLS79z Mw== Received: from ediex02.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3pd9qptc80-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 20 Mar 2023 06:22:47 -0500 Received: from ediex02.ad.cirrus.com (198.61.84.81) by ediex02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Mon, 20 Mar 2023 06:22:45 -0500 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by anon-ediex02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server id 15.2.1118.25 via Frontend Transport; Mon, 20 Mar 2023 06:22:45 -0500 Received: from edi-sw-dsktp-006.ad.cirrus.com (edi-sw-dsktp-006.ad.cirrus.com [198.90.251.127]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 7EA4DB38; Mon, 20 Mar 2023 11:22:45 +0000 (UTC) From: Richard Fitzgerald <rf@opensource.cirrus.com> To: <broonie@kernel.org>, <pierre-louis.bossart@linux.intel.com> CC: <peter.ujfalusi@linux.intel.com>, <yung-chuan.liao@linux.intel.com>, <alsa-devel@alsa-project.org>, <linux-kernel@vger.kernel.org>, <patches@opensource.cirrus.com>, Richard Fitzgerald <rf@opensource.cirrus.com> Subject: [PATCH v3 0/8] ASoC: Initial support for Cirrus Logic CS35L56 Date: Mon, 20 Mar 2023 11:22:37 +0000 Message-ID: <20230320112245.115720-1-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: D6m4bf_3pTVT8DJFTYw26g4ssTpsOhUr X-Proofpoint-ORIG-GUID: D6m4bf_3pTVT8DJFTYw26g4ssTpsOhUr X-Proofpoint-Spam-Reason: safe X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760886918540287827?= X-GMAIL-MSGID: =?utf-8?q?1760886918540287827?= |
Series |
ASoC: Initial support for Cirrus Logic CS35L56
|
|
Message
Richard Fitzgerald
March 20, 2023, 11:22 a.m. UTC
The CS35L56 is a high-performance boosted mono audio amplifier. Supported control interfaces are I2C, SPI or SoundWire. Supported audio interfaces are I2S/TDM or SoundWire. The CS35L56 has a self-booting firmware in ROM, with the ability to patch the firmware and/or apply tunings. Patches #1 to #7 add support to cs_dsp and wm_adsp for self-booting firmware and the ability to apply a .bin file without having to apply a .wmfw. Changes since v2: - Fix Kconfig to prevent the driver being built-in if the SoundWire core is a module. Changes since v1: - Check for error when getting pm_runtime in cs35l56_irq(). - Use SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK instead of the old define. - Re-word two comments in cs35l56-sdw.c. - Add an comment explaining the wait for init_completion in cs35l56_dsp_work(). - Omit patches to Intel machine driver. These will be done as a separate thread. Richard Fitzgerald (1): ASoC: cs35l56: Add driver for Cirrus Logic CS35L56 Simon Trimmer (7): firmware: cs_dsp: Introduce no_core_startstop for self-booting DSPs ASoC: wm_adsp: Use no_core_startstop to prevent creating preload control firmware: cs_dsp: Support DSPs that don't require firmware download ASoC: wm_adsp: Support DSPs that don't require firmware download ASoC: wm_adsp: Expose the DSP boot work actions as wm_adsp_power_up() ASoC: wm_adsp: Add support for loading bin files without wmfw ASoC: wm_adsp: Simplify the logging of requested firmware files MAINTAINERS | 1 + drivers/firmware/cirrus/cs_dsp.c | 17 +- include/linux/firmware/cirrus/cs_dsp.h | 1 + include/sound/cs35l56.h | 266 +++++ sound/soc/codecs/Kconfig | 40 + sound/soc/codecs/Makefile | 10 + sound/soc/codecs/cs35l56-i2c.c | 83 ++ sound/soc/codecs/cs35l56-sdw.c | 528 +++++++++ sound/soc/codecs/cs35l56-shared.c | 390 +++++++ sound/soc/codecs/cs35l56-spi.c | 81 ++ sound/soc/codecs/cs35l56.c | 1461 ++++++++++++++++++++++++ sound/soc/codecs/cs35l56.h | 77 ++ sound/soc/codecs/wm_adsp.c | 63 +- sound/soc/codecs/wm_adsp.h | 3 + 14 files changed, 3005 insertions(+), 16 deletions(-) create mode 100644 include/sound/cs35l56.h create mode 100644 sound/soc/codecs/cs35l56-i2c.c create mode 100644 sound/soc/codecs/cs35l56-sdw.c create mode 100644 sound/soc/codecs/cs35l56-shared.c create mode 100644 sound/soc/codecs/cs35l56-spi.c create mode 100644 sound/soc/codecs/cs35l56.c create mode 100644 sound/soc/codecs/cs35l56.h
Comments
On Mon, 20 Mar 2023 11:22:37 +0000, Richard Fitzgerald wrote: > The CS35L56 is a high-performance boosted mono audio amplifier. > Supported control interfaces are I2C, SPI or SoundWire. > Supported audio interfaces are I2S/TDM or SoundWire. > > The CS35L56 has a self-booting firmware in ROM, with the ability > to patch the firmware and/or apply tunings. > Patches #1 to #7 add support to cs_dsp and wm_adsp for self-booting > firmware and the ability to apply a .bin file without having to > apply a .wmfw. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/8] firmware: cs_dsp: Introduce no_core_startstop for self-booting DSPs commit: 7062e1c727ec99a9c5b40586964304d60a43f240 [2/8] ASoC: wm_adsp: Use no_core_startstop to prevent creating preload control commit: 0cd1fd571719e19bd6824a98855382a70e47d932 [3/8] firmware: cs_dsp: Support DSPs that don't require firmware download commit: 107c167419e75213e078e4f2468c0f2f55fdd11a [4/8] ASoC: wm_adsp: Support DSPs that don't require firmware download commit: 65a314b7ddc09f6b1bad8decc6670e68d45ef07d [5/8] ASoC: wm_adsp: Expose the DSP boot work actions as wm_adsp_power_up() commit: 11520b87e2232c6e3defed69ec94f0e28fb80f84 [6/8] ASoC: wm_adsp: Add support for loading bin files without wmfw commit: 0e7d82cbea8bc0db8ced613aea04da17ac0f0249 [7/8] ASoC: wm_adsp: Simplify the logging of requested firmware files commit: 991b1de830f61076b7dc29bec081a4d2e50724cf [8/8] ASoC: cs35l56: Add driver for Cirrus Logic CS35L56 commit: e496112529006ce0c2cfe67d1136186e2786d2e8 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark