From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: "Daniel Golle" <daniel@makrotopia.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Sabrina Dubroca" <sd@queasysnail.net>,
"Jianhui Zhao" <zhaojh329@gmail.com>,
"Chen-Yu Tsai" <wenst@chromium.org>,
"Garmin.Chang" <Garmin.Chang@mediatek.com>,
"Sam Shih" <sam.shih@mediatek.com>,
"Markus Schneider-Pargmann" <msp@baylibre.com>,
"Alexandre Mergnat" <amergnat@baylibre.com>,
"Jiasheng Jiang" <jiasheng@iscas.ac.cn>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Frank Wunderlich" <frank-w@public-files.de>,
"Geert Uytterhoeven" <geert+renesas@glider.be>,
"Chanwoo Choi" <cw00.choi@samsung.com>,
"Dan Carpenter" <dan.carpenter@linaro.org>,
"James Liao" <jamesjj.liao@mediatek.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, netdev@vger.kernel.org
Subject: Re: [PATCH v4 4/4] clk: mediatek: add drivers for MT7988 SoC
Date: Mon, 11 Dec 2023 10:57:00 +0100 [thread overview]
Message-ID: <060c8068-0f9b-40b4-89ed-3b968e4b0071@collabora.com> (raw)
In-Reply-To: <879b5bbcb165aa3f059a41218142b27e5f64597f.1702158423.git.daniel@makrotopia.org>
Il 09/12/23 22:56, Daniel Golle ha scritto:
> From: Sam Shih <sam.shih@mediatek.com>
>
> Add APMIXED, ETH, INFRACFG and TOPCKGEN clock drivers which are
> typical MediaTek designs.
>
> Also add driver for XFIPLL clock generating the 156.25MHz clock for
> the XFI SerDes. It needs an undocumented software workaround and has
> an unknown internal design.
>
> Signed-off-by: Sam Shih <sam.shih@mediatek.com>
> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> ---
> v4:
> * make use of existing GATE_MTK_FLAGS macro
> * reformat to max. 100 columns
> * cosmetics
>
> v3: use git --from ...
> v2: no changes
>
>
> drivers/clk/mediatek/Kconfig | 9 +
> drivers/clk/mediatek/Makefile | 5 +
> drivers/clk/mediatek/clk-mt7988-apmixed.c | 102 +++++++
> drivers/clk/mediatek/clk-mt7988-eth.c | 133 +++++++++
> drivers/clk/mediatek/clk-mt7988-infracfg.c | 274 +++++++++++++++++
> drivers/clk/mediatek/clk-mt7988-topckgen.c | 325 +++++++++++++++++++++
> drivers/clk/mediatek/clk-mt7988-xfipll.c | 78 +++++
> 7 files changed, 926 insertions(+)
> create mode 100644 drivers/clk/mediatek/clk-mt7988-apmixed.c
> create mode 100644 drivers/clk/mediatek/clk-mt7988-eth.c
> create mode 100644 drivers/clk/mediatek/clk-mt7988-infracfg.c
> create mode 100644 drivers/clk/mediatek/clk-mt7988-topckgen.c
> create mode 100644 drivers/clk/mediatek/clk-mt7988-xfipll.c
>
> diff --git a/drivers/clk/mediatek/Kconfig b/drivers/clk/mediatek/Kconfig
> index 48b42d11111cd..70a005e7e1b18 100644
> --- a/drivers/clk/mediatek/Kconfig
> +++ b/drivers/clk/mediatek/Kconfig
> @@ -423,6 +423,15 @@ config COMMON_CLK_MT7986_ETHSYS
> This driver adds support for clocks for Ethernet and SGMII
> required on MediaTek MT7986 SoC.
>
> +config COMMON_CLK_MT7988
> + tristate "Clock driver for MediaTek MT7988"
> + depends on ARCH_MEDIATEK || COMPILE_TEST
> + select COMMON_CLK_MEDIATEK
> + default ARCH_MEDIATEK
> + help
> + This driver supports MediaTek MT7988 basic clocks and clocks
> + required for various periperals found on this SoC.
> +
> config COMMON_CLK_MT8135
> tristate "Clock driver for MediaTek MT8135"
> depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST
> diff --git a/drivers/clk/mediatek/Makefile b/drivers/clk/mediatek/Makefile
> index dbeaa5b41177d..eeccfa039896f 100644
> --- a/drivers/clk/mediatek/Makefile
> +++ b/drivers/clk/mediatek/Makefile
> @@ -62,6 +62,11 @@ obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-apmixed.o
> obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-topckgen.o
> obj-$(CONFIG_COMMON_CLK_MT7986) += clk-mt7986-infracfg.o
> obj-$(CONFIG_COMMON_CLK_MT7986_ETHSYS) += clk-mt7986-eth.o
> +obj-$(CONFIG_COMMON_CLK_MT7988) += clk-mt7988-apmixed.o
> +obj-$(CONFIG_COMMON_CLK_MT7988) += clk-mt7988-topckgen.o
> +obj-$(CONFIG_COMMON_CLK_MT7988) += clk-mt7988-infracfg.o
> +obj-$(CONFIG_COMMON_CLK_MT7988) += clk-mt7988-eth.o
> +obj-$(CONFIG_COMMON_CLK_MT7988) += clk-mt7988-xfipll.o
> obj-$(CONFIG_COMMON_CLK_MT8135) += clk-mt8135-apmixedsys.o clk-mt8135.o
> obj-$(CONFIG_COMMON_CLK_MT8167) += clk-mt8167-apmixedsys.o clk-mt8167.o
> obj-$(CONFIG_COMMON_CLK_MT8167_AUDSYS) += clk-mt8167-aud.o
> diff --git a/drivers/clk/mediatek/clk-mt7988-apmixed.c b/drivers/clk/mediatek/clk-mt7988-apmixed.c
> new file mode 100644
> index 0000000000000..02eb6354b01a8
> --- /dev/null
> +++ b/drivers/clk/mediatek/clk-mt7988-apmixed.c
> @@ -0,0 +1,102 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2023 MediaTek Inc.
> + * Author: Sam Shih <sam.shih@mediatek.com>
> + * Author: Xiufeng Li <Xiufeng.Li@mediatek.com>
> + */
> +
> +#include <linux/clk-provider.h>
> +#include <linux/of.h>
> +#include <linux/of_address.h>
> +#include <linux/of_device.h>
> +#include <linux/platform_device.h>
> +#include "clk-mtk.h"
> +#include "clk-gate.h"
> +#include "clk-mux.h"
> +#include "clk-pll.h"
> +#include <dt-bindings/clock/mediatek,mt7988-clk.h>
> +
> +#define MT7988_PLL_FMAX (2500UL * MHZ)
> +#define MT7988_PCW_CHG_SHIFT 2
> +
> +#define PLL(_id, _name, _reg, _pwr_reg, _en_mask, _flags, _rst_bar_mask, _pcwbits, _pd_reg, \
> + _pd_shift, _tuner_reg, _tuner_en_reg, _tuner_en_bit, _pcw_reg, _pcw_shift, \
> + _pcw_chg_reg) \
> + { \
> + .id = _id, .name = _name, .reg = _reg, .pwr_reg = _pwr_reg, .en_mask = _en_mask, \
> + .flags = _flags, .rst_bar_mask = BIT(_rst_bar_mask), .fmax = MT7988_PLL_FMAX, \
> + .pcwbits = _pcwbits, .pd_reg = _pd_reg, .pd_shift = _pd_shift, \
> + .tuner_reg = _tuner_reg, .tuner_en_reg = _tuner_en_reg, \
> + .tuner_en_bit = _tuner_en_bit, .pcw_reg = _pcw_reg, .pcw_shift = _pcw_shift, \
> + .pcw_chg_reg = _pcw_chg_reg, .pcw_chg_shift = MT7988_PCW_CHG_SHIFT, \
> + .parent_name = "clkxtal", \
> + }
I think that there was a bit of misunderstanding here: I said 100cols, and that's
fine, but I wanted you to do that with everything but the macros, following what
was done in all the other MediaTek clock drivers.
Can you please change the macros again?
Also, there's some discrepancy in the usage of tabulations vs spaces, please fix.
#define PLL(....)*TAB*\
....
{ \
.id = _id, \
.name = _name, \
.reg = _reg, \
.pwr_reg = _pwr_reg, \
.en_mask = _en_mask, \
...etc etc etc... \
}
Thanks,
Angelo
next prev parent reply other threads:[~2023-12-11 9:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-09 21:55 [PATCH v4 1/4] dt-bindings: clock: mediatek: add MT7988 clock IDs Daniel Golle
2023-12-09 21:55 ` [PATCH v4 2/4] dt-bindings: clock: mediatek: add clock controllers of MT7988 Daniel Golle
2023-12-11 9:59 ` AngeloGioacchino Del Regno
2023-12-09 21:56 ` [PATCH v4 3/4] clk: mediatek: Add pcw_chg_shift control Daniel Golle
2023-12-11 13:59 ` AngeloGioacchino Del Regno
2023-12-09 21:56 ` [PATCH v4 4/4] clk: mediatek: add drivers for MT7988 SoC Daniel Golle
2023-12-11 9:57 ` AngeloGioacchino Del Regno [this message]
2023-12-11 17:36 ` Rob Herring
2023-12-11 9:58 ` [PATCH v4 1/4] dt-bindings: clock: mediatek: add MT7988 clock IDs AngeloGioacchino Del Regno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=060c8068-0f9b-40b4-89ed-3b968e4b0071@collabora.com \
--to=angelogioacchino.delregno@collabora.com \
--cc=Garmin.Chang@mediatek.com \
--cc=amergnat@baylibre.com \
--cc=conor+dt@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=dan.carpenter@linaro.org \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=frank-w@public-files.de \
--cc=geert+renesas@glider.be \
--cc=jamesjj.liao@mediatek.com \
--cc=jiasheng@iscas.ac.cn \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=msp@baylibre.com \
--cc=mturquette@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh+dt@kernel.org \
--cc=sam.shih@mediatek.com \
--cc=sboyd@kernel.org \
--cc=sd@queasysnail.net \
--cc=u.kleine-koenig@pengutronix.de \
--cc=wenst@chromium.org \
--cc=zhaojh329@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox