Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp2356606rdh; Tue, 26 Sep 2023 23:13:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFW0hLQlMj6LzVbFdsrNUpqBB8sYIBX/jUuC6FaKMakU6D8wOdTCEB39gR86iQlWnSQ9jfW X-Received: by 2002:a05:6358:3388:b0:13a:d269:bd22 with SMTP id i8-20020a056358338800b0013ad269bd22mr1521600rwd.25.1695795228973; Tue, 26 Sep 2023 23:13:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695795228; cv=none; d=google.com; s=arc-20160816; b=ZCA/LTllP1a8w2pBjSe82VYVQ+jT84VGBVpNXG/F4JwYB88N3tC7bgoScIPfkTfNnI C68Ab/WfaguvX3Yzeu7vYOhJ94Y27miUQzhRUucF0653S0L82BrNKkMrZ2oJTlkiiDvf gm0rtHxo1ET3ZSGfnKi6973Nyb0IzlpQ3wR7D795Em3WmK8Va8asImbysTgoujdstzEK 8O4tup4m8Acf9M2NghYnjCbEsBXEnz9ii9Tqt7BrqsM1EifCCIwWyGWluAIOi+/cCrxb pzGieKYiA83ylUnXuHLK8TZJWx4cd8yO830n3uJnUbTo6tPaPYLK3nK/lufxPKF5yYnF v0FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=HfZYve466Sodl91t17fXmp8O60gtaik3ZdFLVw1t8Ec=; fh=YBycZUdArxaom4gbPo+SknHAvKMMnZmnmMopxOSpYT4=; b=ME7czqc6U0thGbOux2wzJdgbR09TdfDyOGx0aE5woZXdKxtFUYq5w4QyYoJxWKzWw/ MVzV2jWbtgqtGt9G3j+MPfl8B+CjWU8xpl2lN7nyCS536WzsjSkBoIHqGd2+8RtQhMeM 4ZfskvnfL8/VBqn3Sjzl7RT5hWLfO3hzyFze+sR4fGKV5GE5I8T7sFDXmXx+wq8KyKte i5oNjgeo0qLyTr8ACRXXVqbgKVIphDfJGJi4lXWTN/mUb1/xHZqdETqLoduGx0cbysH8 iI84wgFYXXAmgY7RzFUJJGH41Z/ciItGe0wC6Foz/z8UxxSzHLJ7bCIxL0Y03vYYAmHx HC+w== 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 Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id g10-20020a63110a000000b0055ace8caef9si14901072pgl.309.2023.09.26.23.13.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 23:13:48 -0700 (PDT) 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 Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 56DDD8322726; Tue, 26 Sep 2023 22:45:35 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229765AbjI0FpY (ORCPT + 99 others); Wed, 27 Sep 2023 01:45:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229732AbjI0Foy (ORCPT ); Wed, 27 Sep 2023 01:44:54 -0400 Received: from mg.richtek.com (mg.richtek.com [220.130.44.152]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CE99A5FD7 for ; Tue, 26 Sep 2023 19:07:00 -0700 (PDT) X-MailGates: (SIP:2,PASS,NONE)(compute_score:DELIVER,40,3) Received: from 192.168.10.46 by mg.richtek.com with MailGates ESMTPS Server V6.0(1978105:0:AUTH_RELAY) (envelope-from ) (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256/256); Wed, 27 Sep 2023 10:06:17 +0800 (CST) Received: from ex4.rt.l (192.168.10.47) by ex3.rt.l (192.168.10.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Wed, 27 Sep 2023 10:06:17 +0800 Received: from linuxcarl2.richtek.com (192.168.10.154) by ex4.rt.l (192.168.10.45) with Microsoft SMTP Server id 15.2.1118.25 via Frontend Transport; Wed, 27 Sep 2023 10:06:17 +0800 From: To: Mark Brown , Jaroslav Kysela , Takashi Iwai CC: ChiYuan Huang , Allen Lin , , Subject: [PATCH] ASoC: codecs: rtq9128: Add TDM data source selection Date: Wed, 27 Sep 2023 10:06:16 +0800 Message-ID: <1695780376-32301-1-git-send-email-cy_huang@richtek.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,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: 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]); Tue, 26 Sep 2023 22:45:35 -0700 (PDT) From: ChiYuan Huang Since rtq9128 can support 4 channel I2S mode audio data, there are two dedicated data input pins for CH12 and CH34. But in TDM mode, input source was already drived on one data pin for multiple data slots. In this case, only one input source is needed for TDM mode. This patch is to add the data source pin selection for CH12 and CH34. Signed-off-by: ChiYuan Huang --- sound/soc/codecs/rtq9128.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sound/soc/codecs/rtq9128.c b/sound/soc/codecs/rtq9128.c index 926b79ed8078..3cf613c6900e 100644 --- a/sound/soc/codecs/rtq9128.c +++ b/sound/soc/codecs/rtq9128.c @@ -225,6 +225,7 @@ static const char * const phase_select_text[] = { "180 degree", "225 degree", "270 degree", "315 degree", }; static const char * const dvdduv_select_text[] = { "1P4V", "1P5V", "2P1V", "2P3V" }; +static const char * const tdm_data_select_text[] = { "DATA1", "DATA2" }; static const struct soc_enum rtq9128_ch1_si_enum = SOC_ENUM_SINGLE(RTQ9128_REG_SDI_SEL, 6, ARRAY_SIZE(source_select_text), source_select_text); @@ -246,6 +247,12 @@ static const struct soc_enum rtq9128_out3_phase_enum = static const struct soc_enum rtq9128_out4_phase_enum = SOC_ENUM_SINGLE(RTQ9128_REG_PLLTRI_GEN2, 0, ARRAY_SIZE(phase_select_text), phase_select_text); +static const struct soc_enum rtq9128_ch12_tdm_data_select_enum = + SOC_ENUM_SINGLE(RTQ9128_REG_SDO_SEL, 5, ARRAY_SIZE(tdm_data_select_text), + tdm_data_select_text); +static const struct soc_enum rtq9128_ch34_tdm_data_select_enum = + SOC_ENUM_SINGLE(RTQ9128_REG_SDO_SEL, 4, ARRAY_SIZE(tdm_data_select_text), + tdm_data_select_text); /* * In general usage, DVDD could be 1P8V, 3P0V or 3P3V. @@ -277,6 +284,8 @@ static const struct snd_kcontrol_new rtq9128_snd_ctrls[] = { SOC_ENUM("OUT3 Phase Select", rtq9128_out3_phase_enum), SOC_ENUM("OUT4 Phase Select", rtq9128_out4_phase_enum), SOC_ENUM("DVDD UV Threshold Select", rtq9128_dvdduv_select_enum), + SOC_ENUM("CH12 TDM Data Select", rtq9128_ch12_tdm_data_select_enum), + SOC_ENUM("CH34 TDM Data Select", rtq9128_ch34_tdm_data_select_enum), }; static int rtq9128_dac_power_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, base-commit: c351835058419c1eb8791941a057c3f3e6068cb6 -- 2.34.1