Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp1353943rdb; Wed, 6 Dec 2023 17:01:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IF6jYRlW4nY4XR7UI4NFL7Py+XFGhtENrQNjZX4QxT+R2SU5NpZsNIu7EinVoNALPYh23uO X-Received: by 2002:a17:902:d486:b0:1d0:c0f4:7bf8 with SMTP id c6-20020a170902d48600b001d0c0f47bf8mr1559139plg.8.1701910873036; Wed, 06 Dec 2023 17:01:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701910873; cv=none; d=google.com; s=arc-20160816; b=w6S7TytkjGYcc2fpL2lq59d57CsMuC34G2ycGynzn2hmZX+SuUuw9eQYaeBXeBmW13 jm3QwUqQ1df4DsxyLwoPpq9QC+sQsgc4DCPUclUoOW73aDJw624qQ1f4XCS/KJ85pARM FP8Edl5FF7Mfep7SCR0m1/WeJwGPE8ciVIWYuCJTogH6oUI/uKQE2/a8htRyeziDMG+W YbHVSobeWnQBNpdheKuST9XhPGM2yeYkaj+fStsZvFcK4ygonjOnb7eX2e7uVLU8kDoI gZBqZOtx4DsK9AaEXJ+T8hzpm1jYLrGOVju7GZxMNXVYcPT115jWHY214rzDvRWx7aGz fZmA== 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; bh=RY6alORs8d8ayRt3d8Y6CgPxn1DRzS+XEMvpbm5vyXI=; fh=zySoyVfK/7ExaDz2MWyww8poQ40q3tZak5TTvfb/Ovc=; b=XrHQadpH69CAPsAEg/xhNbVH5IgArAcEZ8K8GsYhTKqdywd9eVzdCqQFf+PR1LzyU2 S29C4szS9y0NrFeL5I5heptX2HvnqiHOogguaPun4OTvIGSgWbKqmvplif49T/AxOibx wrTBWpBvbIxT71s4GpkxPtRbYx4qGQ5fIQgMrFpHYVKbJZpVc0++TdBl/exAFAKRqYeB sIT4Rp8BZR+e8YVPfD4sdULZSARB6EMAVFQ4N3WF25XMEFoHg6S4piVtzJAO8KULUy8j nih+2RWv4YalVaSEyhII42DJ7d9MITpGRMXpie1KlpjetEt5dDbcP0Nr4/ByEc73cYOa yKMQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=irl.hu Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id p4-20020a170902bd0400b001cfa7f91403si146260pls.183.2023.12.06.17.01.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 17:01:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=irl.hu Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id A2AEE807F48E; Wed, 6 Dec 2023 17:00:23 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1441922AbjLGA6V (ORCPT + 99 others); Wed, 6 Dec 2023 19:58:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39214 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229729AbjLGA6U (ORCPT ); Wed, 6 Dec 2023 19:58:20 -0500 Received: from irl.hu (irl.hu [95.85.9.111]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF5ACFA for ; Wed, 6 Dec 2023 16:58:26 -0800 (PST) Received: from fedori.lan (51b690cd.dsl.pool.telekom.hu [::ffff:81.182.144.205]) (AUTH: CRAM-MD5 soyer@irl.hu, ) by irl.hu with ESMTPSA id 0000000000071719.00000000657118B0.00119297; Thu, 07 Dec 2023 01:58:24 +0100 From: Gergo Koteles To: Shenghao Ding , Kevin Lu , Baojun Xu , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , Mark Brown Cc: linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, Gergo Koteles Subject: [PATCH 00/16] ALSA: hda/tas2781: Add tas2563 support Date: Thu, 7 Dec 2023 01:58:22 +0100 Message-ID: X-Mailer: git-send-email 2.43.0 Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Mime-Autoconverted: from 8bit to 7bit by courier 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 06 Dec 2023 17:00:23 -0800 (PST) The tas2781-hda driver can be modified to support tas2563 as well. Before knowing this information, I created another series for a new driver. https://lore.kernel.org/lkml/cover.1701733441.git.soyer@irl.hu/ This series now extends tas2781-hda, addresses differences and fixes various bugs. The tas2563 is a smart amplifier. Similar to tas2562 but with DSP. Some Lenovo laptops have it to drive the bass speakers. By default, it is in software shutdown state. To make the DSP work it needs a firmware and some calibration data. The latter can be read from the EFI in Lenovo laptops. For the correct configuration it needs additional register data. It captured after running the Windows driver. The firmware can be extracted as TAS2563Firmware.bin from the Windows driver with innoextract. https://download.lenovo.com/consumer/mobiles/h5yd037fbfyy7kd0.exe The driver will search for it as TAS2XXX3870.bin with the 14ARB7. The captured registers extracted with TI's regtool: https://github.com/soyersoyer/tas2563rca/raw/main/INT8866RCA2.bin Gergo Koteles (16): ASoC: tas2781: add support for fw version 0x0503 ALSA: hda/tas2781: leave hda_component in usable state ASoC: tas2781: disable regmap regcache ALSA: hda/tas2781: handle missing calibration data ALSA: hda/tas2781: fix typos in comment ASoC: tas2781: add ptrs to calibration functions ALSA: hda/tas2781: load_calibration just load ASoC: tas2781: add configurable global_addr ALSA: hda/tas2781: add TAS2563 support for 14ARB7 ASoC: tas2781: check negative indexes ASoC: tas2781: use 0 as default prog/conf index ASoC: tas2781: move set_drv_data outside tasdevice_init ALSA: hda/tas2781: remove sound controls in unbind ALSA: hda/tas2781: call cleaner functions only once ALSA: hda/tas2781: reset the amp before component_add ALSA: hda/tas2781: configure the amp after firmware load include/sound/tas2781.h | 8 + sound/pci/hda/tas2781_hda_i2c.c | 364 +++++++++++++++++++----------- sound/soc/codecs/tas2781-comlib.c | 23 +- sound/soc/codecs/tas2781-fmwlib.c | 11 +- sound/soc/codecs/tas2781-i2c.c | 2 + 5 files changed, 270 insertions(+), 138 deletions(-) base-commit: ffc253263a1375a65fa6c9f62a893e9767fbebfa -- 2.43.0