Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp828885imw; Fri, 8 Jul 2022 12:30:14 -0700 (PDT) X-Google-Smtp-Source: AGRyM1smZ6sPmqadYS2MDpZ4hPpgn43QoU8zhAYPnlyni2EDnWppVVLijOfj6c6jyqru9whuyk/e X-Received: by 2002:a17:906:b6c7:b0:726:60aa:1b81 with SMTP id ec7-20020a170906b6c700b0072660aa1b81mr5137111ejb.383.1657308613907; Fri, 08 Jul 2022 12:30:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657308613; cv=none; d=google.com; s=arc-20160816; b=UmJDVWMVtOTfQqabOtkYXqGrk50aFuAYxsmSZpAsOJPrnWw8iMT3GmrQG+Pjr5nDRZ klt7Mssyv46QugwKYhVGFea0CBEHEjJNvfcOW+6zWqDKbfh2Ja5mGIXSIZsvuTbtfawE eDjL6fdUybXa6nmXV6+c/X/MteO5kxIp4IPndrQiuTn6VYu9ARK1iJl23KYDWpZN7Skj kouZsV0yvglfqzkb9yl6SgTfpvy3xRQg89eektFaJBdtTCTVLLfn0D+RsdH9u9Y3huJ7 CfZ7I2eLb4qZC6LKMSx83djxyy++ahKmJwZC9TC7aMwJk6TNv1pp9t5CKRt60TJRT03o pj8g== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=BveNLPY/YG4fFAd5N/AaPUO76c/YnxfM372ERsi7TmM=; b=d8Pof6DCNJi/whQDre3rUA2oEKH3ejNuxfYaaIeLNS7+iDbS6gmO4oE+Naq+JIBGLh 7QzY9CAzokAXXCQLoxHTXQwzQMIszIKZ46TKjvAl0H10R8ewNNk8+Bl43OkJ5qxQUCJ0 Nhg0j2VhkpxO0vbfNe2ueN8d+ML9MDtdxrlNXzs1W1xWt/2g/MJujyBDKwJcjbeF42jR Ks2TvNow2b8rhz8HCdhsRIHfodnIQWuufe+jcvQr80kMvDpMy30BTm+A7Nji8r8Sk7Wi goY6diKeLF7HQFHS8gRhV9KHEsAGx3UlQ4OE+P7i13v836zz8AqSwDTHyP4SGdKXXR6i O+GA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=mail header.b=mhshaIxW; 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=baikalelectronics.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hg2-20020a1709072cc200b0072a6779a9afsi257192ejc.249.2022.07.08.12.29.49; Fri, 08 Jul 2022 12:30:13 -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=@baikalelectronics.ru header.s=mail header.b=mhshaIxW; 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=baikalelectronics.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239835AbiGHT2l (ORCPT + 99 others); Fri, 8 Jul 2022 15:28:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239788AbiGHT2Y (ORCPT ); Fri, 8 Jul 2022 15:28:24 -0400 Received: from mail.baikalelectronics.com (mail.baikalelectronics.com [87.245.175.230]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 03981599FF; Fri, 8 Jul 2022 12:28:18 -0700 (PDT) Received: from mail (mail.baikal.int [192.168.51.25]) by mail.baikalelectronics.com (Postfix) with ESMTP id 0C2A316C3; Fri, 8 Jul 2022 22:30:02 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.baikalelectronics.com 0C2A316C3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baikalelectronics.ru; s=mail; t=1657308602; bh=BveNLPY/YG4fFAd5N/AaPUO76c/YnxfM372ERsi7TmM=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=mhshaIxWHpWZI98LDTXNDX+h8rcPhl/O9nwpH4NZOGEECg4XapDMLq2tDSQu1stPk 2YD1F7YJuPOKqgEcHg+GAvU3bDZitSlXG/FUO6Azsf6wHjoexuYJiKrXe5IX9il/c1 tWr+YQGE1ePvFCjQtwevzq59PcsXjnNBCinaWUqY= Received: from localhost (192.168.53.207) by mail (192.168.51.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 8 Jul 2022 22:28:15 +0300 From: Serge Semin To: Stephen Boyd , Philipp Zabel , Michael Turquette , Luca Ceresoli , Marek Vasut CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , Thomas Bogendoerfer , , , , Stephen Boyd Subject: [PATCH v6 1/7] clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD Date: Fri, 8 Jul 2022 22:27:19 +0300 Message-ID: <20220708192725.9501-2-Sergey.Semin@baikalelectronics.ru> In-Reply-To: <20220708192725.9501-1-Sergey.Semin@baikalelectronics.ru> References: <20220708192725.9501-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR 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 We have discovered random glitches during the system boot up procedure. The problem investigation led us to the weird outcomes: when none of the Renesas 5P49V6901 ports are explicitly enabled by the kernel driver, the glitches disappeared. It was a mystery since the SoC external clock domains were fed with different 5P49V6901 outputs. The driver code didn't seem like bogus either. We almost despaired to find out a root cause when the solution has been found for a more modern revision of the chip. It turned out the 5P49V6901 clock generator stopped its output for a short period of time during the VC5_OUT_DIV_CONTROL register writing. The same problem was found for the 5P49V6965 revision of the chip and was successfully fixed in commit fc336ae622df ("clk: vc5: fix output disabling when enabling a FOD") by enabling the "bypass_sync" flag hidden inside "Unused Factory Reserved Register". Even though the 5P49V6901 registers description and programming guide doesn't provide any intel regarding that flag, setting it up anyway in the officially unused register completely eliminated the denoted glitches. Thus let's activate the functionality submitted in commit fc336ae622df ("clk: vc5: fix output disabling when enabling a FOD") for the Renesas 5P49V6901 chip too in order to remove the ports implicit inter-dependency. Fixes: dbf6b16f5683 ("clk: vc5: Add support for IDT VersaClock 5P49V6901") Signed-off-by: Serge Semin Reviewed-by: Luca Ceresoli --- Changelog v4: - This is a new patch added on v4 lap of the series. Changelog v5: - Fix some grammar mistakes in the commit log. (@Sergey Shtylyov) --- drivers/clk/clk-versaclock5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c index e7be3e54b9be..03cfef494b49 100644 --- a/drivers/clk/clk-versaclock5.c +++ b/drivers/clk/clk-versaclock5.c @@ -1204,7 +1204,7 @@ static const struct vc5_chip_info idt_5p49v6901_info = { .model = IDT_VC6_5P49V6901, .clk_fod_cnt = 4, .clk_out_cnt = 5, - .flags = VC5_HAS_PFD_FREQ_DBL, + .flags = VC5_HAS_PFD_FREQ_DBL | VC5_HAS_BYPASS_SYNC_BIT, }; static const struct vc5_chip_info idt_5p49v6965_info = { -- 2.35.1