[PATCH 1/2] dt-bindings: clock: sifive: sync FU740 PRCI clock binding header
Icenowy Zheng
uwu at icenowy.me
Tue Aug 30 18:38:01 CEST 2022
在 2022-08-30星期二的 03:26 +0000,Leo Liang写道:
> Hi Icenowy,
> On Thu, Aug 25, 2022 at 04:11:18PM +0800, Icenowy Zheng wrote:
> > This commit sychornizes the header file for FU740 PRCI clocks with
> > the
> > one from Linux 5.19.
> >
> > The constant values are the same, but all constant names are
> > changed
> > (most are just prefixed with FU740_).
> >
> > Signed-off-by: Icenowy Zheng <uwu at icenowy.me>
> > ---
> > arch/riscv/dts/fu740-c000-u-boot.dtsi | 16 +++++------
> > arch/riscv/dts/fu740-c000.dtsi | 28 +++++++++------
> > ----
> > drivers/clk/sifive/fu740-prci.c | 18 ++++++------
> > drivers/clk/sifive/sifive-prci.c | 4 +--
> > include/dt-bindings/clock/sifive-fu740-prci.h | 25 ++++++++-------
> > --
> > 5 files changed, 45 insertions(+), 46 deletions(-)
> >
> > diff --git a/arch/riscv/dts/fu740-c000-u-boot.dtsi
> > b/arch/riscv/dts/fu740-c000-u-boot.dtsi
> > index a6f7a0873e..917e9bf163 100644
> > --- a/arch/riscv/dts/fu740-c000-u-boot.dtsi
> > +++ b/arch/riscv/dts/fu740-c000-u-boot.dtsi
> > @@ -7,11 +7,11 @@
> >
> > / {
> > cpus {
> > - assigned-clocks = <&prci PRCI_CLK_COREPLL>;
> > + assigned-clocks = <&prci FU740_PRCI_CLK_COREPLL>;
> > assigned-clock-rates = <1200000000>;
> > u-boot,dm-spl;
> > cpu0: cpu at 0 {
> > - clocks = <&prci PRCI_CLK_COREPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_COREPLL>;
> > u-boot,dm-spl;
> > status = "okay";
> > cpu0_intc: interrupt-controller {
> > @@ -19,28 +19,28 @@
> > };
> > };
> > cpu1: cpu at 1 {
> > - clocks = <&prci PRCI_CLK_COREPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_COREPLL>;
> > u-boot,dm-spl;
> > cpu1_intc: interrupt-controller {
> > u-boot,dm-spl;
> > };
> > };
> > cpu2: cpu at 2 {
> > - clocks = <&prci PRCI_CLK_COREPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_COREPLL>;
> > u-boot,dm-spl;
> > cpu2_intc: interrupt-controller {
> > u-boot,dm-spl;
> > };
> > };
> > cpu3: cpu at 3 {
> > - clocks = <&prci PRCI_CLK_COREPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_COREPLL>;
> > u-boot,dm-spl;
> > cpu3_intc: interrupt-controller {
> > u-boot,dm-spl;
> > };
> > };
> > cpu4: cpu at 4 {
> > - clocks = <&prci PRCI_CLK_COREPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_COREPLL>;
> > u-boot,dm-spl;
> > cpu4_intc: interrupt-controller {
> > u-boot,dm-spl;
> > @@ -76,7 +76,7 @@
> > reg = <0x0 0x100b0000 0x0 0x0800
> > 0x0 0x100b2000 0x0 0x2000
> > 0x0 0x100b8000 0x0 0x1000>;
> > - clocks = <&prci PRCI_CLK_DDRPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_DDRPLL>;
> > clock-frequency = <933333324>;
> > u-boot,dm-spl;
> > };
> > @@ -100,7 +100,7 @@
> > };
> >
> > ð0 {
> > - assigned-clocks = <&prci PRCI_CLK_GEMGXLPLL>;
> > + assigned-clocks = <&prci FU740_PRCI_CLK_GEMGXLPLL>;
> > assigned-clock-rates = <125125000>;
> > };
> >
> > diff --git a/arch/riscv/dts/fu740-c000.dtsi b/arch/riscv/dts/fu740-
> > c000.dtsi
> > index 649efe400a..0e14aa71e7 100644
> > --- a/arch/riscv/dts/fu740-c000.dtsi
> > +++ b/arch/riscv/dts/fu740-c000.dtsi
> > @@ -166,7 +166,7 @@
> > reg = <0x0 0x10010000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <39>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > status = "disabled";
> > };
> > uart1: serial at 10011000 {
> > @@ -174,7 +174,7 @@
> > reg = <0x0 0x10011000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <40>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > status = "disabled";
> > };
> > i2c0: i2c at 10030000 {
> > @@ -182,7 +182,7 @@
> > reg = <0x0 0x10030000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <52>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > reg-shift = <2>;
> > reg-io-width = <1>;
> > #address-cells = <1>;
> > @@ -194,7 +194,7 @@
> > reg = <0x0 0x10031000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <53>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > reg-shift = <2>;
> > reg-io-width = <1>;
> > #address-cells = <1>;
> > @@ -207,7 +207,7 @@
> > 0x0 0x20000000 0x0 0x10000000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <41>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > #address-cells = <1>;
> > #size-cells = <0>;
> > status = "disabled";
> > @@ -218,7 +218,7 @@
> > 0x0 0x30000000 0x0 0x10000000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <42>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > #address-cells = <1>;
> > #size-cells = <0>;
> > status = "disabled";
> > @@ -228,7 +228,7 @@
> > reg = <0x0 0x10050000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <43>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > #address-cells = <1>;
> > #size-cells = <0>;
> > status = "disabled";
> > @@ -241,8 +241,8 @@
> > 0x0 0x100a0000 0x0 0x1000>;
> > local-mac-address = [00 00 00 00 00 00];
> > clock-names = "pclk", "hclk";
> > - clocks = <&prci PRCI_CLK_GEMGXLPLL>,
> > - <&prci PRCI_CLK_GEMGXLPLL>;
> > + clocks = <&prci FU740_PRCI_CLK_GEMGXLPLL>,
> > + <&prci FU740_PRCI_CLK_GEMGXLPLL>;
> > #address-cells = <1>;
> > #size-cells = <0>;
> > status = "disabled";
> > @@ -252,7 +252,7 @@
> > reg = <0x0 0x10020000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <44 45 46 47>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > #pwm-cells = <3>;
> > status = "disabled";
> > };
> > @@ -261,7 +261,7 @@
> > reg = <0x0 0x10021000 0x0 0x1000>;
> > interrupt-parent = <&plic0>;
> > interrupts = <48 49 50 51>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > #pwm-cells = <3>;
> > status = "disabled";
> > };
> > @@ -287,7 +287,7 @@
> > #gpio-cells = <2>;
> > interrupt-controller;
> > #interrupt-cells = <2>;
> > - clocks = <&prci PRCI_CLK_PCLK>;
> > + clocks = <&prci FU740_PRCI_CLK_PCLK>;
> > status = "disabled";
> > };
> > pcie at e00000000 {
> > @@ -318,8 +318,8 @@
> > <0x0 0x0 0x0 0x4 &plic0
> > 60>;
> > pwren-gpios = <&gpio 5 0>;
> > reset-gpios = <&gpio 8 0>;
> > - clocks = <&prci PRCI_CLK_PCIEAUX>;
> > - clock-names = "pcieaux";
> > + clocks = <&prci FU740_PRCI_CLK_PCIE_AUX>;
> > + clock-names = "pcie_aux";
>
> Will this clock-names modification affects the functionality of
> sifive's clk or pcie driver in u-boot?
For clock driver, it's just macro name change.
For PCIe driver, both the U-Boot code and the DT binding does not use
the clock-names property at all. (The U-Boot code tries to get the
clock with index 0 instead of with some specified name)
>
> Otherwise, LGTM.
>
> Best regards,
> Leo
>
> > resets = <&prci PRCI_RST_PCIE_POWER_UP_N>;
> > reset-names = "rst_n";
> >
> > diff --git a/drivers/clk/sifive/fu740-prci.c
> > b/drivers/clk/sifive/fu740-prci.c
> > index b025050e22..5edc864e4b 100644
> > --- a/drivers/clk/sifive/fu740-prci.c
> > +++ b/drivers/clk/sifive/fu740-prci.c
> > @@ -103,53 +103,53 @@ static const struct __prci_clock_ops
> > sifive_fu740_prci_pcieaux_clk_ops = {
> >
> > /* List of clock controls provided by the PRCI */
> > struct __prci_clock __prci_init_clocks_fu740[] = {
> > - [PRCI_CLK_COREPLL] = {
> > + [FU740_PRCI_CLK_COREPLL] = {
> > .name = "corepll",
> > .parent_name = "hfclk",
> > .ops = &sifive_fu740_prci_wrpll_clk_ops,
> > .pwd = &__prci_corepll_data,
> > },
> > - [PRCI_CLK_DDRPLL] = {
> > + [FU740_PRCI_CLK_DDRPLL] = {
> > .name = "ddrpll",
> > .parent_name = "hfclk",
> > .ops = &sifive_fu740_prci_wrpll_clk_ops,
> > .pwd = &__prci_ddrpll_data,
> > },
> > - [PRCI_CLK_GEMGXLPLL] = {
> > + [FU740_PRCI_CLK_GEMGXLPLL] = {
> > .name = "gemgxlpll",
> > .parent_name = "hfclk",
> > .ops = &sifive_fu740_prci_wrpll_clk_ops,
> > .pwd = &__prci_gemgxlpll_data,
> > },
> > - [PRCI_CLK_DVFSCOREPLL] = {
> > + [FU740_PRCI_CLK_DVFSCOREPLL] = {
> > .name = "dvfscorepll",
> > .parent_name = "hfclk",
> > .ops = &sifive_fu740_prci_wrpll_clk_ops,
> > .pwd = &__prci_dvfscorepll_data,
> > },
> > - [PRCI_CLK_HFPCLKPLL] = {
> > + [FU740_PRCI_CLK_HFPCLKPLL] = {
> > .name = "hfpclkpll",
> > .parent_name = "hfclk",
> > .ops = &sifive_fu740_prci_wrpll_clk_ops,
> > .pwd = &__prci_hfpclkpll_data,
> > },
> > - [PRCI_CLK_CLTXPLL] = {
> > + [FU740_PRCI_CLK_CLTXPLL] = {
> > .name = "cltxpll",
> > .parent_name = "hfclk",
> > .ops = &sifive_fu740_prci_wrpll_clk_ops,
> > .pwd = &__prci_cltxpll_data,
> > },
> > - [PRCI_CLK_TLCLK] = {
> > + [FU740_PRCI_CLK_TLCLK] = {
> > .name = "tlclk",
> > .parent_name = "corepll",
> > .ops = &sifive_fu740_prci_tlclksel_clk_ops,
> > },
> > - [PRCI_CLK_PCLK] = {
> > + [FU740_PRCI_CLK_PCLK] = {
> > .name = "pclk",
> > .parent_name = "hfpclkpll",
> > .ops = &sifive_fu740_prci_hfpclkplldiv_clk_ops,
> > },
> > - [PRCI_CLK_PCIEAUX] {
> > + [FU740_PRCI_CLK_PCIE_AUX] {
> > .name = "pcieaux",
> > .parent_name = "",
> > .ops = &sifive_fu740_prci_pcieaux_clk_ops,
> > diff --git a/drivers/clk/sifive/sifive-prci.c
> > b/drivers/clk/sifive/sifive-prci.c
> > index 52ae268e0c..c8fb600290 100644
> > --- a/drivers/clk/sifive/sifive-prci.c
> > +++ b/drivers/clk/sifive/sifive-prci.c
> > @@ -685,14 +685,14 @@ static int sifive_prci_probe(struct udevice
> > *dev)
> > * case the design uses hfpclk to
> > drive
> > * Chiplink
> > */
> > - pc = &data-
> > >clks[PRCI_CLK_HFPCLKPLL];
> > + pc = &data-
> > >clks[FU740_PRCI_CLK_HFPCLKPLL];
> > parent_rate =
> > sifive_prci_parent_rate(pc, data);
> > sifive_prci_wrpll_set_rate(pc,
> > 260000000,
> >
> > parent_rate);
> > pc->ops->enable_clk(pc, 1);
> > } else if (prci_pll_reg &
> > PRCI_PRCIPLL_CLTXPLL) {
> > /* CLTX pll init */
> > - pc = &data->clks[PRCI_CLK_CLTXPLL];
> > + pc = &data-
> > >clks[FU740_PRCI_CLK_CLTXPLL];
> > parent_rate =
> > sifive_prci_parent_rate(pc, data);
> > sifive_prci_wrpll_set_rate(pc,
> > 260000000,
> >
> > parent_rate);
> > diff --git a/include/dt-bindings/clock/sifive-fu740-prci.h
> > b/include/dt-bindings/clock/sifive-fu740-prci.h
> > index c1224783c0..672bdadbf6 100644
> > --- a/include/dt-bindings/clock/sifive-fu740-prci.h
> > +++ b/include/dt-bindings/clock/sifive-fu740-prci.h
> > @@ -1,10 +1,9 @@
> > -/* SPDX-License-Identifier: GPL-2.0 OR MIT */
> > +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
> > /*
> > - * Copyright (C) 2020-2021 SiFive, Inc.
> > + * Copyright (C) 2019 SiFive, Inc.
> > * Wesley Terpstra
> > * Paul Walmsley
> > * Zong Li
> > - * Pragnesh Patel
> > */
> >
> > #ifndef __DT_BINDINGS_CLOCK_SIFIVE_FU740_PRCI_H
> > @@ -12,14 +11,14 @@
> >
> > /* Clock indexes for use by Device Tree data and the PRCI driver
> > */
> >
> > -#define PRCI_CLK_COREPLL 0
> > -#define PRCI_CLK_DDRPLL 1
> > -#define PRCI_CLK_GEMGXLPLL 2
> > -#define PRCI_CLK_DVFSCOREPLL 3
> > -#define PRCI_CLK_HFPCLKPLL 4
> > -#define PRCI_CLK_CLTXPLL 5
> > -#define PRCI_CLK_TLCLK 6
> > -#define PRCI_CLK_PCLK 7
> > -#define PRCI_CLK_PCIEAUX 8
> > +#define FU740_PRCI_CLK_COREPLL 0
> > +#define FU740_PRCI_CLK_DDRPLL 1
> > +#define FU740_PRCI_CLK_GEMGXLPLL 2
> > +#define FU740_PRCI_CLK_DVFSCOREPLL 3
> > +#define FU740_PRCI_CLK_HFPCLKPLL 4
> > +#define FU740_PRCI_CLK_CLTXPLL 5
> > +#define FU740_PRCI_CLK_TLCLK 6
> > +#define FU740_PRCI_CLK_PCLK 7
> > +#define FU740_PRCI_CLK_PCIE_AUX 8
> >
> > -#endif
> > +#endif /* __DT_BINDINGS_CLOCK_SIFIVE_FU740_PRCI_H */
> > --
> > 2.37.1
> >
More information about the U-Boot
mailing list