Message ID | 20230117061453.3723649-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 s9csp1588684wrn; Mon, 16 Jan 2023 22:17:23 -0800 (PST) X-Google-Smtp-Source: AMrXdXt0C2hS5Bzuq+9JuvSSgzcFRqU/S54crVRc7p51CT+NjbS5HjUUwYtMS/gzFipuebF9n1X9 X-Received: by 2002:a05:6a20:9b86:b0:af:6d41:dd8c with SMTP id mr6-20020a056a209b8600b000af6d41dd8cmr1580005pzb.38.1673936243319; Mon, 16 Jan 2023 22:17:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673936243; cv=none; d=google.com; s=arc-20160816; b=FQO+TTpkyEmN8bIvzzUvXzyAQqH315tLD0H+/DlBzBlhnAPdPSbwncKlNXTTmkUSZi kjkkeBRa/JE+BWuGfOokYTjmaajEk7wViPEsGDUCRp8M5zjjG+8szQlpQawL/1KRPhzD wP8azpuL/Hrh7oUAjAHJb4Cj1arowEBbLK0hQRdTMUZeqYcsX58Qj4ATkNxyYHqllCWl fSXLZfaBuJFJSK84WZZWr0yKj7Oe2qwzYOqaY3LTCFv9w7myMbt2lBU8XfM+P0r5Kexv 29p4dTwklBQw1w3x+NVRKa7/B0wxQD8wJRJIkpExM+Aiz/jdDoSQ/PiKp7n4k2sNgCPF x+7g== 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=pWCnnm2ihSNsuJybP5nHmAdu6hRtaEMJN+/gMYx/53M=; b=uQZOH9bqxhSIiQwoA/OebQFujn9JByGisiDuWRUQoOE54v64UU/T6pFWZjf4vQVqC6 HbBiZkeRBJPEnBbw/L3UkT61/TE9MR6POZFuS/fJa50Wvtb8O1MSv+aEp8jTWGXaYz90 1g6PEfoUwb/d9p8FM2rGsa2ApdDkMjwq83l3mG1+Oix03LXs/enNaVyi1nCwgkcerLxp k8+kVdHDVMtn+9zxrXsy1h4xWmkmG/guH5g+UFgCPc0WwLl0UVVrV8fFo6GjJycmJxji aWLrLuZsVZ/kTlC3dhOZJgpkos2NHJye6oSnxoVHMIr/popOxBnRsmq4HZi9ezHIeeew Yseg== 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 r26-20020a635d1a000000b00479568ac352si32234412pgb.526.2023.01.16.22.17.11; Mon, 16 Jan 2023 22:17:23 -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 S235855AbjAQGQf (ORCPT <rfc822;pfffrao@gmail.com> + 99 others); Tue, 17 Jan 2023 01:16:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235731AbjAQGPs (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 17 Jan 2023 01:15:48 -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 CED9123C6A for <linux-kernel@vger.kernel.org>; Mon, 16 Jan 2023 22:15:42 -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 1pHfFb-0002TI-Dy; Tue, 17 Jan 2023 07:15:15 +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 1pHfFY-006bzu-TV; Tue, 17 Jan 2023 07:15:12 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from <ore@pengutronix.de>) id 1pHfFW-00Fci7-QI; Tue, 17 Jan 2023 07:15:10 +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 v2 00/19] ARM: imx: make Ethernet refclock configurable Date: Tue, 17 Jan 2023 07:14:34 +0100 Message-Id: <20230117061453.3723649-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?1755249370187450213?= X-GMAIL-MSGID: =?utf-8?q?1755249370187450213?= |
Series |
ARM: imx: make Ethernet refclock configurable
|
|
Message
Oleksij Rempel
Jan. 17, 2023, 6:14 a.m. UTC
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 clock 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 topology 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-17 07:14:34, Oleksij Rempel wrote: > 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 Unfortunatley it doesn't apply on my tree. Can you please rebase and resend? Thanks. > > Most of i.MX SoC variants have configurable FEC/Ethernet reference clock > 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 topology > 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 >