* [U-Boot] [PATCH] MX31: Cleanup clock function
@ 2011-07-13 13:59 Stefano Babic
2011-07-13 15:23 ` Fabio Estevam
2011-07-14 8:43 ` [U-Boot] [PATCH V2] " Stefano Babic
0 siblings, 2 replies; 4+ messages in thread
From: Stefano Babic @ 2011-07-13 13:59 UTC (permalink / raw)
To: u-boot
The patch provide the same API used with other i.MX
processors and get rid of mx31_ functions.
Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/cpu/arm1136/mx31/generic.c | 21 ++++++++++++++++++++-
arch/arm/include/asm/arch-mx31/clock.h | 11 +++++++++--
drivers/spi/mxc_spi.c | 2 --
3 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/generic.c
index 4ebf38d..248431b 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <asm/arch/imx-regs.h>
+#include <asm/arch/clock.h>
#include <asm/io.h>
static u32 mx31_decode_pll(u32 reg, u32 infreq)
@@ -60,7 +61,7 @@ static u32 mx31_get_mcu_main_clk(void)
return mx31_get_mpl_dpdgck_clk();
}
-u32 mx31_get_ipg_clk(void)
+static u32 mx31_get_ipg_clk(void)
{
u32 freq = mx31_get_mcu_main_clk();
u32 pdr0 = __REG(CCM_PDR0);
@@ -78,6 +79,24 @@ void mx31_dump_clocks(void)
printf("ipg clock : %dHz\n", mx31_get_ipg_clk());
}
+unsigned int mxc_get_clock(enum mxc_clock clk)
+{
+ switch (clk) {
+ case MXC_ARM_CLK:
+ return mx31_get_mcu_main_clk();
+ case MXC_IPG_CLK:
+ case MXC_CSPI_CLK:
+ case MXC_UART_CLK:
+ return mx31_get_ipg_clk();
+ }
+ return -1;
+}
+
+u32 imx_get_uartclk(void)
+{
+ return mxc_get_clock(MXC_UART_CLK);
+}
+
void mx31_gpio_mux(unsigned long mode)
{
unsigned long reg, shift, tmp;
diff --git a/arch/arm/include/asm/arch-mx31/clock.h b/arch/arm/include/asm/arch-mx31/clock.h
index 9f7ae80..0e780aa 100644
--- a/arch/arm/include/asm/arch-mx31/clock.h
+++ b/arch/arm/include/asm/arch-mx31/clock.h
@@ -24,8 +24,15 @@
#ifndef __ASM_ARCH_CLOCK_H
#define __ASM_ARCH_CLOCK_H
-extern u32 mx31_get_ipg_clk(void);
-#define imx_get_uartclk mx31_get_ipg_clk
+enum mxc_clock {
+ MXC_ARM_CLK = 0,
+ MXC_IPG_CLK,
+ MXC_CSPI_CLK,
+ MXC_UART_CLK,
+};
+
+unsigned int mxc_get_clock(enum mxc_clock clk);
+extern u32 imx_get_uartclk();
extern void mx31_gpio_mux(unsigned long mode);
extern void mx31_set_pad(enum iomux_pins pin, u32 config);
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
index 698e726..81381d9 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -60,8 +60,6 @@ static unsigned long spi_bases[] = {
0x53f84000,
};
-#define mxc_get_clock(x) mx31_get_ipg_clk()
-
#elif defined(CONFIG_MX51)
#define MXC_CSPICTRL_EN (1 << 0)
--
1.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* [U-Boot] [PATCH] MX31: Cleanup clock function
2011-07-13 13:59 [U-Boot] [PATCH] MX31: Cleanup clock function Stefano Babic
@ 2011-07-13 15:23 ` Fabio Estevam
2011-07-13 15:31 ` Stefano Babic
2011-07-14 8:43 ` [U-Boot] [PATCH V2] " Stefano Babic
1 sibling, 1 reply; 4+ messages in thread
From: Fabio Estevam @ 2011-07-13 15:23 UTC (permalink / raw)
To: u-boot
Hi Stefano,
On Wed, Jul 13, 2011 at 10:59 AM, Stefano Babic <sbabic@denx.de> wrote:
...
> -extern u32 mx31_get_ipg_clk(void);
> -#define imx_get_uartclk mx31_get_ipg_clk
> +enum mxc_clock {
> + ? ? ? MXC_ARM_CLK = 0,
> + ? ? ? MXC_IPG_CLK,
> + ? ? ? MXC_CSPI_CLK,
> + ? ? ? MXC_UART_CLK,
I think the '= 0' can be ommited, right?
Regards,
Fabio Estevam
^ permalink raw reply [flat|nested] 4+ messages in thread* [U-Boot] [PATCH] MX31: Cleanup clock function
2011-07-13 15:23 ` Fabio Estevam
@ 2011-07-13 15:31 ` Stefano Babic
0 siblings, 0 replies; 4+ messages in thread
From: Stefano Babic @ 2011-07-13 15:31 UTC (permalink / raw)
To: u-boot
On 07/13/2011 05:23 PM, Fabio Estevam wrote:
> Hi Stefano,
>
Hi Fabio,
> On Wed, Jul 13, 2011 at 10:59 AM, Stefano Babic <sbabic@denx.de> wrote:
> ...
>> -extern u32 mx31_get_ipg_clk(void);
>> -#define imx_get_uartclk mx31_get_ipg_clk
>> +enum mxc_clock {
>> + MXC_ARM_CLK = 0,
>> + MXC_IPG_CLK,
>> + MXC_CSPI_CLK,
>> + MXC_UART_CLK,
>
> I think the '= 0' can be ommited, right?
Right - it has no influence, but we do not need to explicitely set it. I
will remove in V2.
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH V2] MX31: Cleanup clock function
2011-07-13 13:59 [U-Boot] [PATCH] MX31: Cleanup clock function Stefano Babic
2011-07-13 15:23 ` Fabio Estevam
@ 2011-07-14 8:43 ` Stefano Babic
1 sibling, 0 replies; 4+ messages in thread
From: Stefano Babic @ 2011-07-14 8:43 UTC (permalink / raw)
To: u-boot
The patch provide the same API used with other i.MX
processors and get rid of mx31_ functions.
Signed-off-by: Stefano Babic <sbabic@denx.de>
---
Changes since V1:
- remove unneeded initialization for enum (Fabio Estevam)
arch/arm/cpu/arm1136/mx31/generic.c | 21 ++++++++++++++++++++-
arch/arm/include/asm/arch-mx31/clock.h | 11 +++++++++--
drivers/spi/mxc_spi.c | 2 --
3 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/generic.c
index 4ebf38d..248431b 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <asm/arch/imx-regs.h>
+#include <asm/arch/clock.h>
#include <asm/io.h>
static u32 mx31_decode_pll(u32 reg, u32 infreq)
@@ -60,7 +61,7 @@ static u32 mx31_get_mcu_main_clk(void)
return mx31_get_mpl_dpdgck_clk();
}
-u32 mx31_get_ipg_clk(void)
+static u32 mx31_get_ipg_clk(void)
{
u32 freq = mx31_get_mcu_main_clk();
u32 pdr0 = __REG(CCM_PDR0);
@@ -78,6 +79,24 @@ void mx31_dump_clocks(void)
printf("ipg clock : %dHz\n", mx31_get_ipg_clk());
}
+unsigned int mxc_get_clock(enum mxc_clock clk)
+{
+ switch (clk) {
+ case MXC_ARM_CLK:
+ return mx31_get_mcu_main_clk();
+ case MXC_IPG_CLK:
+ case MXC_CSPI_CLK:
+ case MXC_UART_CLK:
+ return mx31_get_ipg_clk();
+ }
+ return -1;
+}
+
+u32 imx_get_uartclk(void)
+{
+ return mxc_get_clock(MXC_UART_CLK);
+}
+
void mx31_gpio_mux(unsigned long mode)
{
unsigned long reg, shift, tmp;
diff --git a/arch/arm/include/asm/arch-mx31/clock.h b/arch/arm/include/asm/arch-mx31/clock.h
index 9f7ae80..fb035c4 100644
--- a/arch/arm/include/asm/arch-mx31/clock.h
+++ b/arch/arm/include/asm/arch-mx31/clock.h
@@ -24,8 +24,15 @@
#ifndef __ASM_ARCH_CLOCK_H
#define __ASM_ARCH_CLOCK_H
-extern u32 mx31_get_ipg_clk(void);
-#define imx_get_uartclk mx31_get_ipg_clk
+enum mxc_clock {
+ MXC_ARM_CLK,
+ MXC_IPG_CLK,
+ MXC_CSPI_CLK,
+ MXC_UART_CLK,
+};
+
+unsigned int mxc_get_clock(enum mxc_clock clk);
+extern u32 imx_get_uartclk();
extern void mx31_gpio_mux(unsigned long mode);
extern void mx31_set_pad(enum iomux_pins pin, u32 config);
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
index 698e726..81381d9 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -60,8 +60,6 @@ static unsigned long spi_bases[] = {
0x53f84000,
};
-#define mxc_get_clock(x) mx31_get_ipg_clk()
-
#elif defined(CONFIG_MX51)
#define MXC_CSPICTRL_EN (1 << 0)
--
1.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-07-14 8:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-13 13:59 [U-Boot] [PATCH] MX31: Cleanup clock function Stefano Babic
2011-07-13 15:23 ` Fabio Estevam
2011-07-13 15:31 ` Stefano Babic
2011-07-14 8:43 ` [U-Boot] [PATCH V2] " Stefano Babic
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox