[PATCH 1/2] dt-bindings: clock: sifive: sync FU740 PRCI clock binding header

Leo Liang ycliang at andestech.com
Wed Aug 31 05:10:53 CEST 2022


On Wed, Aug 31, 2022 at 12:38:01AM +0800, Icenowy Zheng wrote:
> 在 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 @@
> > >  };
> > >  
> > >  &eth0 {
> > > -       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)

Thanks for your explanation!

Reviewed-by: Leo Yu-Chi Liang <ycliang at andestech.com>

Best regards,
Leo

> 
> > 
> > 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