Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp3059244imj; Mon, 11 Feb 2019 13:07:55 -0800 (PST) X-Google-Smtp-Source: AHgI3IZ2RvH5seEDvy8j/rArJ12PIFg6e7gAy7TeFA+hLcxHCzNN0EuHOBOj95MJrSdMxpDaMYA5 X-Received: by 2002:a17:902:42e4:: with SMTP id h91mr275465pld.18.1549919275359; Mon, 11 Feb 2019 13:07:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549919275; cv=none; d=google.com; s=arc-20160816; b=meUAf4iLraf14Ld+GYs3oeNWM3cbGsnIAXzuxpQu8T6cA00FWMj/JSKGxPO2gCf9Bw BlfWL+hGc7y3VUDhyiim6SvXdifC5/8OYn9/3xyaBNj+ISGW241gVC69RxFUJ1KJy1mj tAlZ9xZ9s9eSv7nt3jKOB1AO5iHomx5NxZw868S1S8buNTcjjjAR/uJ786DD6PdXp3jv PJhX+BG25tqedymKIO7IZjvG3U73heEUyjjMNHk+mlHMG1ObnvsnVxkzKH1HEoNKxlLR VRAfVIOk8sRlRVTahe4OeTiEyOYkoY/ZAvNDhUqUJRzkzFzl9FzanHERdpXew5uahQXL 3A1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=QuK4YAjeCWc/W2GEDH51B6f63otaHIbs8O5jMMdq1hk=; b=Wt0Cx2D5bNE7pE1/WPqG0hLf8J8dbJbtotikjZRYii1sd4XLABFYK4JtN5+BzchZYf V63tDD7oLCR0Bzi5qixgsG7vZXoWFYj4mv67+vNHx7KAKJopfufYZMBGHXTNw6owsiu0 3QEmS8lSvEgmhF1PO0zJYsw26Tj3W7pgdhSiNh/5QvINoN8rkxh7gF/XNUrwrN7xXhOf YbpxXxEj8NHV73N+mDW0htgqy8xIMYPDc5JF70+KdS30A6/vzWKQUhEQzeU5cDL2yKl9 YWH6bfQ0t8arSUppovZ/4XgRfxBvKb4qdN/sdWIqbr/+qM18+70ZNspWW3eefsaWFpR4 zHUg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v3si10415051pga.556.2019.02.11.13.07.35; Mon, 11 Feb 2019 13:07:55 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727230AbfBKVHT (ORCPT + 99 others); Mon, 11 Feb 2019 16:07:19 -0500 Received: from mout.gmx.net ([212.227.15.15]:35925 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727021AbfBKVHS (ORCPT ); Mon, 11 Feb 2019 16:07:18 -0500 Received: from localhost.localdomain ([178.7.117.106]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MDyFr-1gsTAr3Mzv-00HLLn; Mon, 11 Feb 2019 22:06:34 +0100 From: Peter Seiderer To: linux-kernel@vger.kernel.org Cc: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , b-ak , Kuninori Morimoto , alsa-devel@alsa-project.org Subject: [RFC v2] tlv320aic32x4: delay i2c access by 1 ms after hardware reset Date: Mon, 11 Feb 2019 22:06:30 +0100 Message-Id: <20190211210630.16592-1-ps.report@gmx.net> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:E6KikZis/CFzeZtOsu4F4F2wY5IpLP3bROQAjITvRJA5meZisF0 Kt9h8yaP8brM7bcd/dYaWjB14beJvdM6KIWT+VsFlLaaN3lqKCdsauhhDpG96YJFq2G7IkV or4hbKweOIWHxOcuyGfcaNxpsI/k0sRKRjvp/Pzt/FeT1RJ+UUmixMY4Qs1objzb2RqRN4Y wQWbJeK4Yd491IyqF+nQA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:aNVp2pm79bs=:C4ahMt46qMSBvt7BdstO+X u6MJFzZvZzAaq+eImLGvqlO0u8pGMUHX5oRkPninVk3+s8dA+GU8qZ4wdVBjBbnOaKj4neIts yumgmvp3x4W7hw+A0+XKiXHmfP2+h+jQQGltnpwdr4kBGp2/NIr6lAjCmKcME200M/EOm8XdM ui+WsgHaxA7PlqA5tPJSJNpTrrTB+/C+8y5NzPn1Lzmg96p+cCIiSMdqL8vTzTxJYYF5uK4sU C9XdSpBB0ZeX9it+t4cPhvRaSU/NTuP71fexW/LdEBAwm2VfMoYGox/DifJJ83B+ce6eoSoRU BfBSqf5qPQWhOFT7VnVcnVdJ/OwThBS1M+qKmEhsotBcSq8bkjWXW7iUpx6Qkk4HlbqyI085Q SnHTGJ/9fcZSlcbGkoaGcXxS25s3+jjpBsvn5RqMjadxeciy8gAt1UlAkRjTANEAN3IKODAHa C8n6DccfYE3H7QALG/YIBbFqnarmxFvlAFTAdAvSdUF4SiFj0iE/xiFG/97MS4JkUFMnas1f/ ej8qRtowEppqVhhsri5fcq51CrhVSP/DAuO+VRT1ry95BhDMX4K4rsGecc7IYNEMrGbxXt9vd N5lORkjSa4MXMRtuRhANQyrhKGEV5Z9l9ChznJeJilMGXCq/2lc/dPdlym7qSYoPnuYzTnLjz WBA56RjYTXMvYv9hURwrtcXgpVF4Kx4o1W4PDxoNEte3CQB6zkiaTARqM2E+ewI7gcsdo53wx GRRk/OgESdDnReyq9vwu2X3Zafk27gzQDNXOMeNVrE0ZSscIxKCrHNph05LJpmISB+YI5XOtP Pwl5JbJccJaLoDqo6PUy7R8y/ybl6qnatlVIj96P9QWHPwUraMKwiV7m4gCoIE5Pq5kQuJjOe MC112Wipf58S8xRATui2Cmvkej1XUHLqnA5apxGLzrB4VIlbxI+33BGwpe7W2b Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As stated in 'TLV320AIC3254 Application Reference Guide' ([1]): 3.2 Device Startup Lockout Times After the TLV320AIC3254 initializes through hardware reset at power-up or software reset, the internal registers initialize to default values. This initialization takes place within 1ms after pulling the RESET signal high. During this initialization phase, no register-read or register-write operation should be performed on ADC or DAC coefficient buffers. Also, no block within the codec should be powered up during the initialization phase. [1] http://www.ti.com/lit/an/slaa408a/slaa408a.pdf Signed-off-by: Peter Seiderer --- Changes v1 -> v2: - call mdelay only in case the reset gpio was toggled (suggested by Mark Brown) Note: This came up after the electronic departement took a deeper look at the i2c-bus/vcc/reset pins with a logic analyzer and the documentation because of a vcc/reset timing problem (now fixed on custom board). Not 100% sure if the 1 ms is needed (as restricted to ADC/DAC coefficent and codec block power up). --- sound/soc/codecs/tlv320aic32x4.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c index e1bfba62fc08..96f1526cb258 100644 --- a/sound/soc/codecs/tlv320aic32x4.c +++ b/sound/soc/codecs/tlv320aic32x4.c @@ -970,6 +970,7 @@ static int aic32x4_component_probe(struct snd_soc_component *component) if (gpio_is_valid(aic32x4->rstn_gpio)) { ndelay(10); gpio_set_value(aic32x4->rstn_gpio, 1); + mdelay(1); } snd_soc_component_write(component, AIC32X4_RESET, 0x01); -- 2.20.1