Message ID | 20230131084642.709385-1-o.rempel@pengutronix.de |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2637510wrn; Tue, 31 Jan 2023 00:54:32 -0800 (PST) X-Google-Smtp-Source: AK7set9EHsHjst/cOEiNn1DYZ1yd0MHSw7gbN9nIxpvzrVsePZ6LFWYkBv7JM0ERsPzqfBVbvmB1 X-Received: by 2002:a17:90b:388e:b0:22c:12ef:7756 with SMTP id mu14-20020a17090b388e00b0022c12ef7756mr23004326pjb.38.1675155272144; Tue, 31 Jan 2023 00:54:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675155272; cv=none; d=google.com; s=arc-20160816; b=Qn3BH2Uof35ZT60ZgfcUtw4S2ovwrD2LrjloYgTmtccuYQsLS7LOhbeq3pUOkGOx8Q sx3HCyKJjM5JfxsyzdFtUxda/HhxDFBdg0B93gUx81HHx6+7OC53pkhEGBRzQqhIpFRW 7DaDK2j7ifUAn3FJuNfB5y+bvdlFnUvXF5Tq9DFXxvwI8z2Czhcnu5y5CmKytCKjgnvk YxkEbk5PultppRiCaB3TedzGp1abE1hSF8AuyJgHHZzFm0mwedGw16Mr39FuoyHU4Pc0 4PhkWShD5uqCW2byXKPOqEidXDfUE8l0moxdtxzwqD2+mv1kE1o7GjVhvTKQScp+Into RyDg== 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=23wVmmZvvzHB9eEk+Yvw23wLcU3tcbD4QWo17dM/bc8=; b=zH7+lE130j79cXE0WmdvFu1vL3RJ2rnxtEDrgrfrJsYWXxCLCjP9uG9v00sYHanCnz EMyNKXI3R1Qllo9s4DdOOPiDwpmksn9g86pJBzLh+Xhgw5AGyosSmKum+jhiSQS0PXSK 8WfubR35fKtILql10YliYrwm9XYUmxnx6tOqzHFe3bKd7iEvaJlo5mK9GrY+O9pYhgHw xZAU+pDcu3Rg25k3/al6awKIn2S57SFlzKcNaWr8Vliki5Ud7NFM5S4M6mNFM4vE/1c2 bDVS3ARW5duoZizhuipmaWqt43f6OrGu631OsMpJRufW/nahKAgxAckMbY9fdYeP80tp iXZQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h2-20020a17090a604200b00226613377a2si14822240pjm.167.2023.01.31.00.54.19; Tue, 31 Jan 2023 00:54:32 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231417AbjAaIxJ (ORCPT <rfc822;maxin.john@gmail.com> + 99 others); Tue, 31 Jan 2023 03:53:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232079AbjAaIwg (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 31 Jan 2023 03:52:36 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 354294C6E7 for <linux-kernel@vger.kernel.org>; Tue, 31 Jan 2023 00:48:34 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <ore@pengutronix.de>) id 1pMmHw-0003xI-6v; Tue, 31 Jan 2023 09:46:48 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from <ore@pengutronix.de>) id 1pMmHw-001eMX-91; Tue, 31 Jan 2023 09:46:47 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from <ore@pengutronix.de>) id 1pMmHq-002yYt-VV; Tue, 31 Jan 2023 09:46:42 +0100 From: Oleksij Rempel <o.rempel@pengutronix.de> To: Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Abel Vesa <abelvesa@kernel.org>, Michael Turquette <mturquette@baylibre.com>, Stephen Boyd <sboyd@kernel.org>, Richard Cochran <richardcochran@gmail.com> Cc: Oleksij Rempel <o.rempel@pengutronix.de>, kernel@pengutronix.de, Fabio Estevam <festevam@gmail.com>, NXP Linux Team <linux-imx@nxp.com>, Russell King <linux@armlinux.org.uk>, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v3 00/19] ARM: imx: make Ethernet refclock configurable Date: Tue, 31 Jan 2023 09:46:23 +0100 Message-Id: <20230131084642.709385-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756527614601439175?= X-GMAIL-MSGID: =?utf-8?q?1756527614601439175?= |
Series |
ARM: imx: make Ethernet refclock configurable
|
|
Message
Oleksij Rempel
Jan. 31, 2023, 8:46 a.m. UTC
changes v3: - add Reviewed-by: Abel Vesa <abel.vesa@linaro.org> - rebase on top of abelvesa/for-next changes v2: - remove "ARM: imx6q: use of_clk_get_by_name() instead of_clk_get() to get ptp clock" patch - fix build warnings - add "Acked-by: Lee Jones <lee@kernel.org>" - reword some commits as suggested by Fabio Most of i.MX SoC variants have configurable FEC/Ethernet reference lock used by RMII specification. This functionality is located in the general purpose registers (GRPx) and till now was not implemented as part of SoC clock tree. With this patch set, we move forward and add this missing functionality to some of i.MX clk drivers. So, we will be able to configure clock opology by using devicetree and be able to troubleshoot clock dependencies by using clk_summary etc. Currently implemented and tested i.MX6Q, i.MX6DL and i.MX6UL variants. Oleksij Rempel (19): clk: imx: add clk-gpr-mux driver clk: imx6q: add ethernet refclock mux support ARM: imx6q: skip ethernet refclock reconfiguration if enet_clk_ref is present ARM: dts: imx6qdl: use enet_clk_ref instead of enet_out for the FEC node ARM: dts: imx6dl-lanmcu: configure ethernet reference clock parent ARM: dts: imx6dl-alti6p: configure ethernet reference clock parent ARM: dts: imx6dl-plybas: configure ethernet reference clock parent ARM: dts: imx6dl-plym2m: configure ethernet reference clock parent ARM: dts: imx6dl-prtmvt: configure ethernet reference clock parent ARM: dts: imx6dl-victgo: configure ethernet reference clock parent ARM: dts: imx6q-prtwd2: configure ethernet reference clock parent ARM: dts: imx6qdl-skov-cpu: configure ethernet reference clock parent ARM: dts: imx6dl-eckelmann-ci4x10: configure ethernet reference clock parent clk: imx: add imx_obtain_fixed_of_clock() clk: imx6ul: fix enet1 gate configuration clk: imx6ul: add ethernet refclock mux support ARM: dts: imx6ul: set enet_clk_ref to CLK_ENETx_REF_SEL ARM: mach-imx: imx6ul: remove not optional ethernet refclock overwrite ARM: dts: imx6ul-prti6g: configure ethernet reference clock parent arch/arm/boot/dts/imx6dl-alti6p.dts | 12 +- arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts | 13 +- arch/arm/boot/dts/imx6dl-lanmcu.dts | 12 +- arch/arm/boot/dts/imx6dl-plybas.dts | 12 +- arch/arm/boot/dts/imx6dl-plym2m.dts | 12 +- arch/arm/boot/dts/imx6dl-prtmvt.dts | 11 +- arch/arm/boot/dts/imx6dl-victgo.dts | 12 +- arch/arm/boot/dts/imx6q-prtwd2.dts | 17 ++- arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi | 12 +- arch/arm/boot/dts/imx6qdl.dtsi | 4 +- arch/arm/boot/dts/imx6ul-prti6g.dts | 14 ++- arch/arm/boot/dts/imx6ul.dtsi | 10 +- arch/arm/mach-imx/mach-imx6q.c | 10 +- arch/arm/mach-imx/mach-imx6ul.c | 20 --- drivers/clk/imx/Makefile | 1 + drivers/clk/imx/clk-gpr-mux.c | 119 ++++++++++++++++++ drivers/clk/imx/clk-imx6q.c | 13 ++ drivers/clk/imx/clk-imx6ul.c | 33 ++++- drivers/clk/imx/clk.c | 14 +++ drivers/clk/imx/clk.h | 8 ++ include/dt-bindings/clock/imx6qdl-clock.h | 4 +- include/dt-bindings/clock/imx6ul-clock.h | 7 +- include/linux/mfd/syscon/imx6q-iomuxc-gpr.h | 6 +- 23 files changed, 296 insertions(+), 80 deletions(-) create mode 100644 drivers/clk/imx/clk-gpr-mux.c
Comments
On 23-01-31 09:46:23, Oleksij Rempel wrote: > changes v3: > - add Reviewed-by: Abel Vesa <abel.vesa@linaro.org> > - rebase on top of abelvesa/for-next Applied all clk/imx ones. Thanks! > > changes v2: > - remove "ARM: imx6q: use of_clk_get_by_name() instead of_clk_get() to > get ptp clock" patch > - fix build warnings > - add "Acked-by: Lee Jones <lee@kernel.org>" > - reword some commits as suggested by Fabio > > Most of i.MX SoC variants have configurable FEC/Ethernet reference > lock > used by RMII specification. This functionality is located in the > general purpose registers (GRPx) and till now was not implemented as > part of SoC clock tree. > > With this patch set, we move forward and add this missing functionality > to some of i.MX clk drivers. So, we will be able to configure clock > opology > by using devicetree and be able to troubleshoot clock dependencies > by using clk_summary etc. > > Currently implemented and tested i.MX6Q, i.MX6DL and i.MX6UL variants. > > > Oleksij Rempel (19): > clk: imx: add clk-gpr-mux driver > clk: imx6q: add ethernet refclock mux support > ARM: imx6q: skip ethernet refclock reconfiguration if enet_clk_ref is > present > ARM: dts: imx6qdl: use enet_clk_ref instead of enet_out for the FEC > node > ARM: dts: imx6dl-lanmcu: configure ethernet reference clock parent > ARM: dts: imx6dl-alti6p: configure ethernet reference clock parent > ARM: dts: imx6dl-plybas: configure ethernet reference clock parent > ARM: dts: imx6dl-plym2m: configure ethernet reference clock parent > ARM: dts: imx6dl-prtmvt: configure ethernet reference clock parent > ARM: dts: imx6dl-victgo: configure ethernet reference clock parent > ARM: dts: imx6q-prtwd2: configure ethernet reference clock parent > ARM: dts: imx6qdl-skov-cpu: configure ethernet reference clock parent > ARM: dts: imx6dl-eckelmann-ci4x10: configure ethernet reference clock > parent > clk: imx: add imx_obtain_fixed_of_clock() > clk: imx6ul: fix enet1 gate configuration > clk: imx6ul: add ethernet refclock mux support > ARM: dts: imx6ul: set enet_clk_ref to CLK_ENETx_REF_SEL > ARM: mach-imx: imx6ul: remove not optional ethernet refclock overwrite > ARM: dts: imx6ul-prti6g: configure ethernet reference clock parent > > arch/arm/boot/dts/imx6dl-alti6p.dts | 12 +- > arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts | 13 +- > arch/arm/boot/dts/imx6dl-lanmcu.dts | 12 +- > arch/arm/boot/dts/imx6dl-plybas.dts | 12 +- > arch/arm/boot/dts/imx6dl-plym2m.dts | 12 +- > arch/arm/boot/dts/imx6dl-prtmvt.dts | 11 +- > arch/arm/boot/dts/imx6dl-victgo.dts | 12 +- > arch/arm/boot/dts/imx6q-prtwd2.dts | 17 ++- > arch/arm/boot/dts/imx6qdl-skov-cpu.dtsi | 12 +- > arch/arm/boot/dts/imx6qdl.dtsi | 4 +- > arch/arm/boot/dts/imx6ul-prti6g.dts | 14 ++- > arch/arm/boot/dts/imx6ul.dtsi | 10 +- > arch/arm/mach-imx/mach-imx6q.c | 10 +- > arch/arm/mach-imx/mach-imx6ul.c | 20 --- > drivers/clk/imx/Makefile | 1 + > drivers/clk/imx/clk-gpr-mux.c | 119 ++++++++++++++++++ > drivers/clk/imx/clk-imx6q.c | 13 ++ > drivers/clk/imx/clk-imx6ul.c | 33 ++++- > drivers/clk/imx/clk.c | 14 +++ > drivers/clk/imx/clk.h | 8 ++ > include/dt-bindings/clock/imx6qdl-clock.h | 4 +- > include/dt-bindings/clock/imx6ul-clock.h | 7 +- > include/linux/mfd/syscon/imx6q-iomuxc-gpr.h | 6 +- > 23 files changed, 296 insertions(+), 80 deletions(-) > create mode 100644 drivers/clk/imx/clk-gpr-mux.c > > -- > 2.30.2 >
On Tue, Jan 31, 2023 at 09:46:23AM +0100, Oleksij Rempel wrote: > changes v3: > - add Reviewed-by: Abel Vesa <abel.vesa@linaro.org> > - rebase on top of abelvesa/for-next > > changes v2: > - remove "ARM: imx6q: use of_clk_get_by_name() instead of_clk_get() to > get ptp clock" patch > - fix build warnings > - add "Acked-by: Lee Jones <lee@kernel.org>" > - reword some commits as suggested by Fabio > > Most of i.MX SoC variants have configurable FEC/Ethernet reference > lock > used by RMII specification. This functionality is located in the > general purpose registers (GRPx) and till now was not implemented as > part of SoC clock tree. > > With this patch set, we move forward and add this missing functionality > to some of i.MX clk drivers. So, we will be able to configure clock > opology > by using devicetree and be able to troubleshoot clock dependencies > by using clk_summary etc. > > Currently implemented and tested i.MX6Q, i.MX6DL and i.MX6UL variants. > > > Oleksij Rempel (19): > clk: imx: add clk-gpr-mux driver > clk: imx6q: add ethernet refclock mux support > ARM: imx6q: skip ethernet refclock reconfiguration if enet_clk_ref is > present > ARM: dts: imx6qdl: use enet_clk_ref instead of enet_out for the FEC > node > ARM: dts: imx6dl-lanmcu: configure ethernet reference clock parent > ARM: dts: imx6dl-alti6p: configure ethernet reference clock parent > ARM: dts: imx6dl-plybas: configure ethernet reference clock parent > ARM: dts: imx6dl-plym2m: configure ethernet reference clock parent > ARM: dts: imx6dl-prtmvt: configure ethernet reference clock parent > ARM: dts: imx6dl-victgo: configure ethernet reference clock parent > ARM: dts: imx6q-prtwd2: configure ethernet reference clock parent > ARM: dts: imx6qdl-skov-cpu: configure ethernet reference clock parent > ARM: dts: imx6dl-eckelmann-ci4x10: configure ethernet reference clock > parent > clk: imx: add imx_obtain_fixed_of_clock() > clk: imx6ul: fix enet1 gate configuration > clk: imx6ul: add ethernet refclock mux support > ARM: dts: imx6ul: set enet_clk_ref to CLK_ENETx_REF_SEL > ARM: mach-imx: imx6ul: remove not optional ethernet refclock overwrite > ARM: dts: imx6ul-prti6g: configure ethernet reference clock parent Applied all mach-imx and DTS ones, thanks!