From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 55DC9C77B70 for ; Sun, 9 Apr 2023 14:10:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=B4Gt3E3XM8gZrv1tWJsv/qtY10k/Ny4zyK5Phfc7tv0=; b=D2NDoa1FXlP1Lg kQF6XFutmdlX6lzM8/BX7Owle3eAlItbj/mwbRb01hPX7JP13ul6gnbm4+2geFI/20u+T+TqzyRP9 aFgoIleWXHs32Njlr0mjQdmRTwV2E261j3RY8UKete9zGIgT0o4jk+fKWGT/N/PvZHFeGN20x/DiG YztzDtfejyVmd8gsI6EtYvwIr3B3J5qzcUPLJT8BXGdXm1DRnSnI7EGKeoONlpEscivT0wc+hECnm AR34DbZL2PKUZ1fTPZGFbTzxarVKMw57ePo3arZ6ccjon6t1/maEjguCBcX7kUHcqje9913yMTy0b Mssx06AZV52lx3qAmW+Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1plVjG-00Dp71-1e; Sun, 09 Apr 2023 14:09:14 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1plVjD-00Dp6D-0t for linux-arm-kernel@lists.infradead.org; Sun, 09 Apr 2023 14:09:12 +0000 Received: by mail-ej1-x62c.google.com with SMTP id jg21so6726910ejc.2 for ; Sun, 09 Apr 2023 07:09:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1681049349; x=1683641349; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Vymz421Sg3CZ9SMdXdxy0nArc7wypSQUlAaI4yhcxxY=; b=yBxsSSlM9HTycJ4VnU98sQcmzl5mWJqp20sEhQj83sQ0P16YwHR7YS4USpZgC7wh7i rc3ZzcAjgLmN3DVWIgPu4So7r28Je5oa1570TU5XwD5hcxk7GBOwZRAGUwmYjIkvLM/u VfVzE4dN1GL2kU3gGS9/1/yQYgjY9OyOHqu6RnPd6j+zZTXZ/Zf/OmHlb6mKDWRQEr73 wsTGJmVRZ0mOEh6IwoxUA6eCkdofkoFuOvOddz4rQGXJNhjEednKDd2E5KqmmKW44rpt JZ5Ng2ttlw/5zxzWxcB7hYSzB47mhbm3q1FNMG11TwUqtxSII0AHRUCDOzx8YF8g5ASS c4Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681049349; x=1683641349; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Vymz421Sg3CZ9SMdXdxy0nArc7wypSQUlAaI4yhcxxY=; b=Xu+FIwBCQDqdJhpYO085taM3FPqjsnWTxXwr0nIVyXfAcaIx9igIVuxBklW7vXDZ0z jeFkFND0C1K0LtqZrZeRG7iX3bD8iKSpzBZlDqgkeyTpnFgkaChjtaHH1JbDSIqSZA8W y5QecI7iJv6kR4LhOqRw2Has48KCd+cdQrpmgbsXKrgETnZslMMkhCjVocRTYKYG5f1w YvcEGVYnrBRLvtk0yfsUbeUDA2WjF+bBXU+LhT9aGLYFL6rVIdfRv8f/lcyF9rKJsEHo iFsIzDFwMzxuHStK2QC229rOBdwh8FCIozM5bs4umK3P/k63lpniawb/0qT9LnTSFHSl TyIw== X-Gm-Message-State: AAQBX9fI4TD7+MzweVo/tYivcL3wHrmI4UEj99j0nmjKZ//v3Z6Q9R+R 3PGOttxscUqYekhBufwvaH394Q== X-Google-Smtp-Source: AKy350Z0Rk/68CrgF9h81Dtol1kxAI5/tYdOd58Idyaysb3OoigfPRtlu9HAOy8sDZy0aM1mivkhvg== X-Received: by 2002:a17:906:8595:b0:94a:7c88:263a with SMTP id v21-20020a170906859500b0094a7c88263amr877627ejx.9.1681049349654; Sun, 09 Apr 2023 07:09:09 -0700 (PDT) Received: from linaro.org ([188.25.26.161]) by smtp.gmail.com with ESMTPSA id n3-20020a17090695c300b0092f38a6d082sm4108842ejy.209.2023.04.09.07.09.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Apr 2023 07:09:09 -0700 (PDT) Date: Sun, 9 Apr 2023 17:09:07 +0300 From: Abel Vesa To: "Peng Fan (OSS)" Cc: abelvesa@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jacky Bai , Ye Li , Peng Fan Subject: Re: [PATCH 5/5] clk: imx: imx8ulp: update clk flag for system critical clock Message-ID: References: <20230331063814.2462059-1-peng.fan@oss.nxp.com> <20230331063814.2462059-6-peng.fan@oss.nxp.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230331063814.2462059-6-peng.fan@oss.nxp.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230409_070911_401613_5D1BB935 X-CRM114-Status: GOOD ( 18.57 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 23-03-31 14:38:14, Peng Fan (OSS) wrote: > From: Jacky Bai > > In order to support bus fabric clock frequency changed on the fly, > need to update some bus clocks'flags to make sure these clocks'frequency > and parent can be changed on the fly. For these clocks, HW can make sure > no glitch will be introduced when changing on the fly. > > In order to support DDR DFS, the HW register bit for DDR_SEL > and DDR_DIV clock will be modified by TF-A. So need to update > these two clock's flag to make sure that the linux kernel side > can correct these clocks' SW state to reflect the actual HW state. > > Reviewed-by: Ye Li > Signed-off-by: Jacky Bai > Signed-off-by: Peng Fan Reviewed-by: Abel Vesa > --- > drivers/clk/imx/clk-imx8ulp.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/clk/imx/clk-imx8ulp.c b/drivers/clk/imx/clk-imx8ulp.c > index 6a8a9e50d826..e308c88cb801 100644 > --- a/drivers/clk/imx/clk-imx8ulp.c > +++ b/drivers/clk/imx/clk-imx8ulp.c > @@ -198,10 +198,10 @@ static int imx8ulp_clk_cgc1_init(struct platform_device *pdev) > > clks[IMX8ULP_CLK_NIC_SEL] = imx_clk_hw_mux2("nic_sel", base + 0x34, 28, 2, nic_sels, ARRAY_SIZE(nic_sels)); > clks[IMX8ULP_CLK_NIC_AD_DIVPLAT] = imx_clk_hw_divider_flags("nic_ad_divplat", "nic_sel", base + 0x34, 21, 6, CLK_SET_RATE_PARENT | CLK_IS_CRITICAL); > - clks[IMX8ULP_CLK_NIC_PER_DIVPLAT] = imx_clk_hw_divider_flags("nic_per_divplat", "nic_ad_divplat", base + 0x34, 14, 6, CLK_SET_RATE_PARENT | CLK_IS_CRITICAL); > - clks[IMX8ULP_CLK_XBAR_AD_DIVPLAT] = imx_clk_hw_divider_flags("xbar_ad_divplat", "nic_ad_divplat", base + 0x38, 14, 6, CLK_SET_RATE_PARENT | CLK_IS_CRITICAL); > - clks[IMX8ULP_CLK_XBAR_DIVBUS] = imx_clk_hw_divider_flags("xbar_divbus", "xbar_ad_divplat", base + 0x38, 7, 6, CLK_SET_RATE_PARENT | CLK_IS_CRITICAL); > - clks[IMX8ULP_CLK_XBAR_AD_SLOW] = imx_clk_hw_divider_flags("xbar_ad_slow", "xbar_divbus", base + 0x38, 0, 6, CLK_SET_RATE_PARENT | CLK_IS_CRITICAL); > + clks[IMX8ULP_CLK_NIC_PER_DIVPLAT] = imx_clk_hw_divider_flags("nic_per_divplat", "nic_ad_divplat", base + 0x34, 14, 6, CLK_SET_RATE_PARENT); > + clks[IMX8ULP_CLK_XBAR_AD_DIVPLAT] = imx_clk_hw_divider_flags("xbar_ad_divplat", "nic_ad_divplat", base + 0x38, 14, 6, CLK_SET_RATE_PARENT); > + clks[IMX8ULP_CLK_XBAR_DIVBUS] = imx_clk_hw_divider_flags("xbar_divbus", "xbar_ad_divplat", base + 0x38, 7, 6, CLK_SET_RATE_PARENT); > + clks[IMX8ULP_CLK_XBAR_AD_SLOW] = imx_clk_hw_divider_flags("xbar_ad_slow", "xbar_divbus", base + 0x38, 0, 6, CLK_SET_RATE_PARENT); > > clks[IMX8ULP_CLK_SOSC_DIV1_GATE] = imx_clk_hw_gate_dis("sosc_div1_gate", "sosc", base + 0x108, 7); > clks[IMX8ULP_CLK_SOSC_DIV2_GATE] = imx_clk_hw_gate_dis("sosc_div2_gate", "sosc", base + 0x108, 15); > @@ -255,9 +255,9 @@ static int imx8ulp_clk_cgc2_init(struct platform_device *pdev) > clks[IMX8ULP_CLK_HIFI_DIVCORE] = imx_clk_hw_divider("hifi_core_div", "hifi_sel", base + 0x14, 21, 6); > clks[IMX8ULP_CLK_HIFI_DIVPLAT] = imx_clk_hw_divider("hifi_plat_div", "hifi_core_div", base + 0x14, 14, 6); > > - clks[IMX8ULP_CLK_DDR_SEL] = imx_clk_hw_mux_flags("ddr_sel", base + 0x40, 28, 3, ddr_sels, ARRAY_SIZE(ddr_sels), CLK_SET_PARENT_GATE); > - clks[IMX8ULP_CLK_DDR_DIV] = imx_clk_hw_divider_flags("ddr_div", "ddr_sel", base + 0x40, 21, 6, CLK_IS_CRITICAL); > - clks[IMX8ULP_CLK_LPAV_AXI_SEL] = imx_clk_hw_mux("lpav_sel", base + 0x3c, 28, 2, lpav_sels, ARRAY_SIZE(lpav_sels)); > + clks[IMX8ULP_CLK_DDR_SEL] = imx_clk_hw_mux_flags("ddr_sel", base + 0x40, 28, 3, ddr_sels, ARRAY_SIZE(ddr_sels), CLK_GET_RATE_NOCACHE); > + clks[IMX8ULP_CLK_DDR_DIV] = imx_clk_hw_divider_flags("ddr_div", "ddr_sel", base + 0x40, 21, 6, CLK_IS_CRITICAL | CLK_GET_RATE_NOCACHE); > + clks[IMX8ULP_CLK_LPAV_AXI_SEL] = imx_clk_hw_mux2("lpav_sel", base + 0x3c, 28, 2, lpav_sels, ARRAY_SIZE(lpav_sels)); > clks[IMX8ULP_CLK_LPAV_AXI_DIV] = imx_clk_hw_divider_flags("lpav_axi_div", "lpav_sel", base + 0x3c, 21, 6, CLK_IS_CRITICAL); > clks[IMX8ULP_CLK_LPAV_AHB_DIV] = imx_clk_hw_divider_flags("lpav_ahb_div", "lpav_axi_div", base + 0x3c, 14, 6, CLK_IS_CRITICAL); > clks[IMX8ULP_CLK_LPAV_BUS_DIV] = imx_clk_hw_divider_flags("lpav_bus_div", "lpav_axi_div", base + 0x3c, 7, 6, CLK_IS_CRITICAL); > -- > 2.37.1 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel