Re: [PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-03-19 Thread Stephen Boyd
Quoting Gregory CLEMENT (2018-02-28 06:07:51)
> Thanks to new documentation, we have a better view of the clock tree.
> There were few mistakes in the first version of this driver, the main one
> being the parental link between the clocks. Actually the tree is more
> flat that we though. Most of the IP blocks require two clocks: one for
> the IP itself and one for accessing the registers, and unlike what we
> wrote there is no link between these two clocks.
> 
> The other mistakes were about the name of the clocks: the root clock is
> not the Audio PLL but the PLL0, and what we called the EIP clock is named
> the x2 Core clock and is used by other IP block than the EIP ones.
> 
> Signed-off-by: Gregory CLEMENT 
> ---

Applied to clk-next



Re: [PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-03-19 Thread Stephen Boyd
Quoting Gregory CLEMENT (2018-02-28 06:07:51)
> Thanks to new documentation, we have a better view of the clock tree.
> There were few mistakes in the first version of this driver, the main one
> being the parental link between the clocks. Actually the tree is more
> flat that we though. Most of the IP blocks require two clocks: one for
> the IP itself and one for accessing the registers, and unlike what we
> wrote there is no link between these two clocks.
> 
> The other mistakes were about the name of the clocks: the root clock is
> not the Audio PLL but the PLL0, and what we called the EIP clock is named
> the x2 Core clock and is used by other IP block than the EIP ones.
> 
> Signed-off-by: Gregory CLEMENT 
> ---

Applied to clk-next



Re: [PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-03-19 Thread Stephen Boyd
Quoting Gregory CLEMENT (2018-03-13 04:32:47)
> Hi,
>  
>  On mer., févr. 28 2018, Gregory CLEMENT  wrote:
> 
> > Thanks to new documentation, we have a better view of the clock tree.
> > There were few mistakes in the first version of this driver, the main one
> > being the parental link between the clocks. Actually the tree is more
> > flat that we though. Most of the IP blocks require two clocks: one for
> > the IP itself and one for accessing the registers, and unlike what we
> > wrote there is no link between these two clocks.
> >
> > The other mistakes were about the name of the clocks: the root clock is
> > not the Audio PLL but the PLL0, and what we called the EIP clock is named
> > the x2 Core clock and is used by other IP block than the EIP ones.
> 
> Do you have any feedback on this patch?
> 
> I would like to have time to address them if you have any remark.
> 
> Else do you want a Pull Request or could you apply it directly?
> 
> The only other patch around the mvebu clocks was set a few days ago [1]
> and seems to be eventually a fix patch. That means that there would be
> only one patch in the Pull Request for 4.17, but I can do it if you
> prefer.
> 

Please don't send single patch PRs. I'll pick this up. Thanks.


Re: [PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-03-19 Thread Stephen Boyd
Quoting Gregory CLEMENT (2018-03-13 04:32:47)
> Hi,
>  
>  On mer., févr. 28 2018, Gregory CLEMENT  wrote:
> 
> > Thanks to new documentation, we have a better view of the clock tree.
> > There were few mistakes in the first version of this driver, the main one
> > being the parental link between the clocks. Actually the tree is more
> > flat that we though. Most of the IP blocks require two clocks: one for
> > the IP itself and one for accessing the registers, and unlike what we
> > wrote there is no link between these two clocks.
> >
> > The other mistakes were about the name of the clocks: the root clock is
> > not the Audio PLL but the PLL0, and what we called the EIP clock is named
> > the x2 Core clock and is used by other IP block than the EIP ones.
> 
> Do you have any feedback on this patch?
> 
> I would like to have time to address them if you have any remark.
> 
> Else do you want a Pull Request or could you apply it directly?
> 
> The only other patch around the mvebu clocks was set a few days ago [1]
> and seems to be eventually a fix patch. That means that there would be
> only one patch in the Pull Request for 4.17, but I can do it if you
> prefer.
> 

Please don't send single patch PRs. I'll pick this up. Thanks.


Re: [PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-03-13 Thread Gregory CLEMENT
Hi,
 
 On mer., févr. 28 2018, Gregory CLEMENT  wrote:

> Thanks to new documentation, we have a better view of the clock tree.
> There were few mistakes in the first version of this driver, the main one
> being the parental link between the clocks. Actually the tree is more
> flat that we though. Most of the IP blocks require two clocks: one for
> the IP itself and one for accessing the registers, and unlike what we
> wrote there is no link between these two clocks.
>
> The other mistakes were about the name of the clocks: the root clock is
> not the Audio PLL but the PLL0, and what we called the EIP clock is named
> the x2 Core clock and is used by other IP block than the EIP ones.

Do you have any feedback on this patch?

I would like to have time to address them if you have any remark.

Else do you want a Pull Request or could you apply it directly?

The only other patch around the mvebu clocks was set a few days ago [1]
and seems to be eventually a fix patch. That means that there would be
only one patch in the Pull Request for 4.17, but I can do it if you
prefer.

Thanks,

Gregory

[1]: "[PATCH] clk: mvebu: armada-38x: add support for missing clocks"
https://lkml.org/lkml/2018/3/8/812


>
> Signed-off-by: Gregory CLEMENT 
> ---
>  drivers/clk/mvebu/cp110-system-controller.c | 94 
> -
>  1 file changed, 39 insertions(+), 55 deletions(-)
>
> diff --git a/drivers/clk/mvebu/cp110-system-controller.c 
> b/drivers/clk/mvebu/cp110-system-controller.c
> index ca9a0a536174..75bf7b8f282f 100644
> --- a/drivers/clk/mvebu/cp110-system-controller.c
> +++ b/drivers/clk/mvebu/cp110-system-controller.c
> @@ -13,18 +13,17 @@
>  /*
>   * CP110 has 6 core clocks:
>   *
> - *  - APLL   (1 Ghz)
> - *- PPv2 core(1/3 APLL)
> - *- EIP  (1/2 APLL)
> - * - Core(1/2 EIP)
> - *- SDIO (2/5 APLL)
> + *  - PLL0   (1 Ghz)
> + *- PPv2 core(1/3 PLL0)
> + *- x2 Core  (1/2 PLL0)
> + *   - Core  (1/2 x2 Core)
> + *- SDIO (2/5 PLL0)
>   *
>   *  - NAND clock, which is either:
>   *- Equal to SDIO clock
> - *- 2/5 APLL
> + *- 2/5 PLL0
>   *
> - * CP110 has 32 gatable clocks, for the various peripherals in the
> - * IP. They have fairly complicated parent/child relationships.
> + * CP110 has 32 gatable clocks, for the various peripherals in the IP.
>   */
>  
>  #define pr_fmt(fmt) "cp110-system-controller: " fmt
> @@ -53,9 +52,9 @@ enum {
>  #define CP110_CLK_NUM \
>   (CP110_MAX_CORE_CLOCKS + CP110_MAX_GATABLE_CLOCKS)
>  
> -#define CP110_CORE_APLL  0
> +#define CP110_CORE_PLL0  0
>  #define CP110_CORE_PPV2  1
> -#define CP110_CORE_EIP   2
> +#define CP110_CORE_X2CORE2
>  #define CP110_CORE_CORE  3
>  #define CP110_CORE_NAND  4
>  #define CP110_CORE_SDIO  5
> @@ -237,7 +236,7 @@ static int cp110_syscon_common_probe(struct 
> platform_device *pdev,
>   struct regmap *regmap;
>   struct device *dev = >dev;
>   struct device_node *np = dev->of_node;
> - const char *ppv2_name, *apll_name, *core_name, *eip_name, *nand_name,
> + const char *ppv2_name, *pll0_name, *core_name, *x2core_name, *nand_name,
>   *sdio_name;
>   struct clk_hw_onecell_data *cp110_clk_data;
>   struct clk_hw *hw, **cp110_clks;
> @@ -263,20 +262,20 @@ static int cp110_syscon_common_probe(struct 
> platform_device *pdev,
>   cp110_clks = cp110_clk_data->hws;
>   cp110_clk_data->num = CP110_CLK_NUM;
>  
> - /* Register the APLL which is the root of the hw tree */
> - apll_name = cp110_unique_name(dev, syscon_node, "apll");
> - hw = clk_hw_register_fixed_rate(NULL, apll_name, NULL, 0,
> + /* Register the PLL0 which is the root of the hw tree */
> + pll0_name = cp110_unique_name(dev, syscon_node, "pll0");
> + hw = clk_hw_register_fixed_rate(NULL, pll0_name, NULL, 0,
>   1000 * 1000 * 1000);
>   if (IS_ERR(hw)) {
>   ret = PTR_ERR(hw);
> - goto fail_apll;
> + goto fail_pll0;
>   }
>  
> - cp110_clks[CP110_CORE_APLL] = hw;
> + cp110_clks[CP110_CORE_PLL0] = hw;
>  
> - /* PPv2 is APLL/3 */
> + /* PPv2 is PLL0/3 */
>   ppv2_name = cp110_unique_name(dev, syscon_node, "ppv2-core");
> - hw = clk_hw_register_fixed_factor(NULL, ppv2_name, apll_name, 0, 1, 3);
> + hw = clk_hw_register_fixed_factor(NULL, ppv2_name, pll0_name, 0, 1, 3);
>   if (IS_ERR(hw)) {
>   ret = PTR_ERR(hw);
>   goto fail_ppv2;
> @@ -284,30 +283,32 @@ static int cp110_syscon_common_probe(struct 
> platform_device *pdev,
>  
>   cp110_clks[CP110_CORE_PPV2] = hw;
>  
> - /* EIP clock is APLL/2 */
> - eip_name = cp110_unique_name(dev, 

Re: [PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-03-13 Thread Gregory CLEMENT
Hi,
 
 On mer., févr. 28 2018, Gregory CLEMENT  wrote:

> Thanks to new documentation, we have a better view of the clock tree.
> There were few mistakes in the first version of this driver, the main one
> being the parental link between the clocks. Actually the tree is more
> flat that we though. Most of the IP blocks require two clocks: one for
> the IP itself and one for accessing the registers, and unlike what we
> wrote there is no link between these two clocks.
>
> The other mistakes were about the name of the clocks: the root clock is
> not the Audio PLL but the PLL0, and what we called the EIP clock is named
> the x2 Core clock and is used by other IP block than the EIP ones.

Do you have any feedback on this patch?

I would like to have time to address them if you have any remark.

Else do you want a Pull Request or could you apply it directly?

The only other patch around the mvebu clocks was set a few days ago [1]
and seems to be eventually a fix patch. That means that there would be
only one patch in the Pull Request for 4.17, but I can do it if you
prefer.

Thanks,

Gregory

[1]: "[PATCH] clk: mvebu: armada-38x: add support for missing clocks"
https://lkml.org/lkml/2018/3/8/812


>
> Signed-off-by: Gregory CLEMENT 
> ---
>  drivers/clk/mvebu/cp110-system-controller.c | 94 
> -
>  1 file changed, 39 insertions(+), 55 deletions(-)
>
> diff --git a/drivers/clk/mvebu/cp110-system-controller.c 
> b/drivers/clk/mvebu/cp110-system-controller.c
> index ca9a0a536174..75bf7b8f282f 100644
> --- a/drivers/clk/mvebu/cp110-system-controller.c
> +++ b/drivers/clk/mvebu/cp110-system-controller.c
> @@ -13,18 +13,17 @@
>  /*
>   * CP110 has 6 core clocks:
>   *
> - *  - APLL   (1 Ghz)
> - *- PPv2 core(1/3 APLL)
> - *- EIP  (1/2 APLL)
> - * - Core(1/2 EIP)
> - *- SDIO (2/5 APLL)
> + *  - PLL0   (1 Ghz)
> + *- PPv2 core(1/3 PLL0)
> + *- x2 Core  (1/2 PLL0)
> + *   - Core  (1/2 x2 Core)
> + *- SDIO (2/5 PLL0)
>   *
>   *  - NAND clock, which is either:
>   *- Equal to SDIO clock
> - *- 2/5 APLL
> + *- 2/5 PLL0
>   *
> - * CP110 has 32 gatable clocks, for the various peripherals in the
> - * IP. They have fairly complicated parent/child relationships.
> + * CP110 has 32 gatable clocks, for the various peripherals in the IP.
>   */
>  
>  #define pr_fmt(fmt) "cp110-system-controller: " fmt
> @@ -53,9 +52,9 @@ enum {
>  #define CP110_CLK_NUM \
>   (CP110_MAX_CORE_CLOCKS + CP110_MAX_GATABLE_CLOCKS)
>  
> -#define CP110_CORE_APLL  0
> +#define CP110_CORE_PLL0  0
>  #define CP110_CORE_PPV2  1
> -#define CP110_CORE_EIP   2
> +#define CP110_CORE_X2CORE2
>  #define CP110_CORE_CORE  3
>  #define CP110_CORE_NAND  4
>  #define CP110_CORE_SDIO  5
> @@ -237,7 +236,7 @@ static int cp110_syscon_common_probe(struct 
> platform_device *pdev,
>   struct regmap *regmap;
>   struct device *dev = >dev;
>   struct device_node *np = dev->of_node;
> - const char *ppv2_name, *apll_name, *core_name, *eip_name, *nand_name,
> + const char *ppv2_name, *pll0_name, *core_name, *x2core_name, *nand_name,
>   *sdio_name;
>   struct clk_hw_onecell_data *cp110_clk_data;
>   struct clk_hw *hw, **cp110_clks;
> @@ -263,20 +262,20 @@ static int cp110_syscon_common_probe(struct 
> platform_device *pdev,
>   cp110_clks = cp110_clk_data->hws;
>   cp110_clk_data->num = CP110_CLK_NUM;
>  
> - /* Register the APLL which is the root of the hw tree */
> - apll_name = cp110_unique_name(dev, syscon_node, "apll");
> - hw = clk_hw_register_fixed_rate(NULL, apll_name, NULL, 0,
> + /* Register the PLL0 which is the root of the hw tree */
> + pll0_name = cp110_unique_name(dev, syscon_node, "pll0");
> + hw = clk_hw_register_fixed_rate(NULL, pll0_name, NULL, 0,
>   1000 * 1000 * 1000);
>   if (IS_ERR(hw)) {
>   ret = PTR_ERR(hw);
> - goto fail_apll;
> + goto fail_pll0;
>   }
>  
> - cp110_clks[CP110_CORE_APLL] = hw;
> + cp110_clks[CP110_CORE_PLL0] = hw;
>  
> - /* PPv2 is APLL/3 */
> + /* PPv2 is PLL0/3 */
>   ppv2_name = cp110_unique_name(dev, syscon_node, "ppv2-core");
> - hw = clk_hw_register_fixed_factor(NULL, ppv2_name, apll_name, 0, 1, 3);
> + hw = clk_hw_register_fixed_factor(NULL, ppv2_name, pll0_name, 0, 1, 3);
>   if (IS_ERR(hw)) {
>   ret = PTR_ERR(hw);
>   goto fail_ppv2;
> @@ -284,30 +283,32 @@ static int cp110_syscon_common_probe(struct 
> platform_device *pdev,
>  
>   cp110_clks[CP110_CORE_PPV2] = hw;
>  
> - /* EIP clock is APLL/2 */
> - eip_name = cp110_unique_name(dev, syscon_node, "eip");
> - hw = 

[PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-02-28 Thread Gregory CLEMENT
Thanks to new documentation, we have a better view of the clock tree.
There were few mistakes in the first version of this driver, the main one
being the parental link between the clocks. Actually the tree is more
flat that we though. Most of the IP blocks require two clocks: one for
the IP itself and one for accessing the registers, and unlike what we
wrote there is no link between these two clocks.

The other mistakes were about the name of the clocks: the root clock is
not the Audio PLL but the PLL0, and what we called the EIP clock is named
the x2 Core clock and is used by other IP block than the EIP ones.

Signed-off-by: Gregory CLEMENT 
---
 drivers/clk/mvebu/cp110-system-controller.c | 94 -
 1 file changed, 39 insertions(+), 55 deletions(-)

diff --git a/drivers/clk/mvebu/cp110-system-controller.c 
b/drivers/clk/mvebu/cp110-system-controller.c
index ca9a0a536174..75bf7b8f282f 100644
--- a/drivers/clk/mvebu/cp110-system-controller.c
+++ b/drivers/clk/mvebu/cp110-system-controller.c
@@ -13,18 +13,17 @@
 /*
  * CP110 has 6 core clocks:
  *
- *  - APLL (1 Ghz)
- *- PPv2 core  (1/3 APLL)
- *- EIP(1/2 APLL)
- * - Core  (1/2 EIP)
- *- SDIO   (2/5 APLL)
+ *  - PLL0 (1 Ghz)
+ *- PPv2 core  (1/3 PLL0)
+ *- x2 Core(1/2 PLL0)
+ * - Core  (1/2 x2 Core)
+ *- SDIO   (2/5 PLL0)
  *
  *  - NAND clock, which is either:
  *- Equal to SDIO clock
- *- 2/5 APLL
+ *- 2/5 PLL0
  *
- * CP110 has 32 gatable clocks, for the various peripherals in the
- * IP. They have fairly complicated parent/child relationships.
+ * CP110 has 32 gatable clocks, for the various peripherals in the IP.
  */
 
 #define pr_fmt(fmt) "cp110-system-controller: " fmt
@@ -53,9 +52,9 @@ enum {
 #define CP110_CLK_NUM \
(CP110_MAX_CORE_CLOCKS + CP110_MAX_GATABLE_CLOCKS)
 
-#define CP110_CORE_APLL0
+#define CP110_CORE_PLL00
 #define CP110_CORE_PPV21
-#define CP110_CORE_EIP 2
+#define CP110_CORE_X2CORE  2
 #define CP110_CORE_CORE3
 #define CP110_CORE_NAND4
 #define CP110_CORE_SDIO5
@@ -237,7 +236,7 @@ static int cp110_syscon_common_probe(struct platform_device 
*pdev,
struct regmap *regmap;
struct device *dev = >dev;
struct device_node *np = dev->of_node;
-   const char *ppv2_name, *apll_name, *core_name, *eip_name, *nand_name,
+   const char *ppv2_name, *pll0_name, *core_name, *x2core_name, *nand_name,
*sdio_name;
struct clk_hw_onecell_data *cp110_clk_data;
struct clk_hw *hw, **cp110_clks;
@@ -263,20 +262,20 @@ static int cp110_syscon_common_probe(struct 
platform_device *pdev,
cp110_clks = cp110_clk_data->hws;
cp110_clk_data->num = CP110_CLK_NUM;
 
-   /* Register the APLL which is the root of the hw tree */
-   apll_name = cp110_unique_name(dev, syscon_node, "apll");
-   hw = clk_hw_register_fixed_rate(NULL, apll_name, NULL, 0,
+   /* Register the PLL0 which is the root of the hw tree */
+   pll0_name = cp110_unique_name(dev, syscon_node, "pll0");
+   hw = clk_hw_register_fixed_rate(NULL, pll0_name, NULL, 0,
1000 * 1000 * 1000);
if (IS_ERR(hw)) {
ret = PTR_ERR(hw);
-   goto fail_apll;
+   goto fail_pll0;
}
 
-   cp110_clks[CP110_CORE_APLL] = hw;
+   cp110_clks[CP110_CORE_PLL0] = hw;
 
-   /* PPv2 is APLL/3 */
+   /* PPv2 is PLL0/3 */
ppv2_name = cp110_unique_name(dev, syscon_node, "ppv2-core");
-   hw = clk_hw_register_fixed_factor(NULL, ppv2_name, apll_name, 0, 1, 3);
+   hw = clk_hw_register_fixed_factor(NULL, ppv2_name, pll0_name, 0, 1, 3);
if (IS_ERR(hw)) {
ret = PTR_ERR(hw);
goto fail_ppv2;
@@ -284,30 +283,32 @@ static int cp110_syscon_common_probe(struct 
platform_device *pdev,
 
cp110_clks[CP110_CORE_PPV2] = hw;
 
-   /* EIP clock is APLL/2 */
-   eip_name = cp110_unique_name(dev, syscon_node, "eip");
-   hw = clk_hw_register_fixed_factor(NULL, eip_name, apll_name, 0, 1, 2);
+   /* X2CORE clock is PLL0/2 */
+   x2core_name = cp110_unique_name(dev, syscon_node, "x2core");
+   hw = clk_hw_register_fixed_factor(NULL, x2core_name, pll0_name,
+ 0, 1, 2);
if (IS_ERR(hw)) {
ret = PTR_ERR(hw);
goto fail_eip;
}
 
-   cp110_clks[CP110_CORE_EIP] = hw;
+   cp110_clks[CP110_CORE_X2CORE] = hw;
 
-   /* Core clock is EIP/2 */
+   /* Core clock is X2CORE/2 */
core_name = cp110_unique_name(dev, syscon_node, "core");
-   hw = clk_hw_register_fixed_factor(NULL, core_name, eip_name, 0, 

[PATCH] clk: mvebu: cp110: Fix clock tree representation

2018-02-28 Thread Gregory CLEMENT
Thanks to new documentation, we have a better view of the clock tree.
There were few mistakes in the first version of this driver, the main one
being the parental link between the clocks. Actually the tree is more
flat that we though. Most of the IP blocks require two clocks: one for
the IP itself and one for accessing the registers, and unlike what we
wrote there is no link between these two clocks.

The other mistakes were about the name of the clocks: the root clock is
not the Audio PLL but the PLL0, and what we called the EIP clock is named
the x2 Core clock and is used by other IP block than the EIP ones.

Signed-off-by: Gregory CLEMENT 
---
 drivers/clk/mvebu/cp110-system-controller.c | 94 -
 1 file changed, 39 insertions(+), 55 deletions(-)

diff --git a/drivers/clk/mvebu/cp110-system-controller.c 
b/drivers/clk/mvebu/cp110-system-controller.c
index ca9a0a536174..75bf7b8f282f 100644
--- a/drivers/clk/mvebu/cp110-system-controller.c
+++ b/drivers/clk/mvebu/cp110-system-controller.c
@@ -13,18 +13,17 @@
 /*
  * CP110 has 6 core clocks:
  *
- *  - APLL (1 Ghz)
- *- PPv2 core  (1/3 APLL)
- *- EIP(1/2 APLL)
- * - Core  (1/2 EIP)
- *- SDIO   (2/5 APLL)
+ *  - PLL0 (1 Ghz)
+ *- PPv2 core  (1/3 PLL0)
+ *- x2 Core(1/2 PLL0)
+ * - Core  (1/2 x2 Core)
+ *- SDIO   (2/5 PLL0)
  *
  *  - NAND clock, which is either:
  *- Equal to SDIO clock
- *- 2/5 APLL
+ *- 2/5 PLL0
  *
- * CP110 has 32 gatable clocks, for the various peripherals in the
- * IP. They have fairly complicated parent/child relationships.
+ * CP110 has 32 gatable clocks, for the various peripherals in the IP.
  */
 
 #define pr_fmt(fmt) "cp110-system-controller: " fmt
@@ -53,9 +52,9 @@ enum {
 #define CP110_CLK_NUM \
(CP110_MAX_CORE_CLOCKS + CP110_MAX_GATABLE_CLOCKS)
 
-#define CP110_CORE_APLL0
+#define CP110_CORE_PLL00
 #define CP110_CORE_PPV21
-#define CP110_CORE_EIP 2
+#define CP110_CORE_X2CORE  2
 #define CP110_CORE_CORE3
 #define CP110_CORE_NAND4
 #define CP110_CORE_SDIO5
@@ -237,7 +236,7 @@ static int cp110_syscon_common_probe(struct platform_device 
*pdev,
struct regmap *regmap;
struct device *dev = >dev;
struct device_node *np = dev->of_node;
-   const char *ppv2_name, *apll_name, *core_name, *eip_name, *nand_name,
+   const char *ppv2_name, *pll0_name, *core_name, *x2core_name, *nand_name,
*sdio_name;
struct clk_hw_onecell_data *cp110_clk_data;
struct clk_hw *hw, **cp110_clks;
@@ -263,20 +262,20 @@ static int cp110_syscon_common_probe(struct 
platform_device *pdev,
cp110_clks = cp110_clk_data->hws;
cp110_clk_data->num = CP110_CLK_NUM;
 
-   /* Register the APLL which is the root of the hw tree */
-   apll_name = cp110_unique_name(dev, syscon_node, "apll");
-   hw = clk_hw_register_fixed_rate(NULL, apll_name, NULL, 0,
+   /* Register the PLL0 which is the root of the hw tree */
+   pll0_name = cp110_unique_name(dev, syscon_node, "pll0");
+   hw = clk_hw_register_fixed_rate(NULL, pll0_name, NULL, 0,
1000 * 1000 * 1000);
if (IS_ERR(hw)) {
ret = PTR_ERR(hw);
-   goto fail_apll;
+   goto fail_pll0;
}
 
-   cp110_clks[CP110_CORE_APLL] = hw;
+   cp110_clks[CP110_CORE_PLL0] = hw;
 
-   /* PPv2 is APLL/3 */
+   /* PPv2 is PLL0/3 */
ppv2_name = cp110_unique_name(dev, syscon_node, "ppv2-core");
-   hw = clk_hw_register_fixed_factor(NULL, ppv2_name, apll_name, 0, 1, 3);
+   hw = clk_hw_register_fixed_factor(NULL, ppv2_name, pll0_name, 0, 1, 3);
if (IS_ERR(hw)) {
ret = PTR_ERR(hw);
goto fail_ppv2;
@@ -284,30 +283,32 @@ static int cp110_syscon_common_probe(struct 
platform_device *pdev,
 
cp110_clks[CP110_CORE_PPV2] = hw;
 
-   /* EIP clock is APLL/2 */
-   eip_name = cp110_unique_name(dev, syscon_node, "eip");
-   hw = clk_hw_register_fixed_factor(NULL, eip_name, apll_name, 0, 1, 2);
+   /* X2CORE clock is PLL0/2 */
+   x2core_name = cp110_unique_name(dev, syscon_node, "x2core");
+   hw = clk_hw_register_fixed_factor(NULL, x2core_name, pll0_name,
+ 0, 1, 2);
if (IS_ERR(hw)) {
ret = PTR_ERR(hw);
goto fail_eip;
}
 
-   cp110_clks[CP110_CORE_EIP] = hw;
+   cp110_clks[CP110_CORE_X2CORE] = hw;
 
-   /* Core clock is EIP/2 */
+   /* Core clock is X2CORE/2 */
core_name = cp110_unique_name(dev, syscon_node, "core");
-   hw = clk_hw_register_fixed_factor(NULL, core_name, eip_name, 0, 1, 2);
+   hw =