summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Paton <ipaton0@gmail.com>2015-03-28 10:26:38 +0000
committerHans de Goede <hdegoede@redhat.com>2015-03-29 13:36:03 +0200
commite71b422bd71b03868abfc5e2087281710a0d52ee (patch)
treee395f5f51781a177a8c5a05d6fe048eb757cfb64
parent7a140117ef5081e8dfef95150c788c93dabb8124 (diff)
downloadu-boot-imx-e71b422bd71b03868abfc5e2087281710a0d52ee.zip
u-boot-imx-e71b422bd71b03868abfc5e2087281710a0d52ee.tar.gz
u-boot-imx-e71b422bd71b03868abfc5e2087281710a0d52ee.tar.bz2
sunxi: use CONFIG_SYS_CLK_FREQ to set cpu clock
make the CPU clock selectable via Kconfig this removes the sunxi specific CONFIG_CLK_FULL_SPEED defined in each soc header and replaces it's use in board/sunxi/board.c with CONFIG_SYS_CLK_FREQ from Kconfig which allows us to configure board specific frequency on boot Signed-off-by: Iain Paton <ipaton0@gmail.com> [hdegoede@redhat.com s/CONFIG_SYS_CLK_FREQ/CONFIG_TIMER_CLK_FREQ/ for the arch-timer clk speed on sun7i to fix mis-compile on sun7i] Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r--Kconfig2
-rw-r--r--arch/arm/cpu/armv7/sunxi/psci.S2
-rw-r--r--board/sunxi/Kconfig4
-rw-r--r--board/sunxi/board.c2
-rw-r--r--include/configs/sun4i.h1
-rw-r--r--include/configs/sun5i.h1
-rw-r--r--include/configs/sun6i.h1
-rw-r--r--include/configs/sun7i.h4
-rw-r--r--include/configs/sun8i.h1
9 files changed, 8 insertions, 10 deletions
diff --git a/Kconfig b/Kconfig
index b5968d7..41d4784 100644
--- a/Kconfig
+++ b/Kconfig
@@ -184,7 +184,7 @@ config SYS_TEXT_BASE
TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
config SYS_CLK_FREQ
- depends on ARC
+ depends on ARC || ARCH_SUNXI
int "CPU clock frequency"
help
TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
diff --git a/arch/arm/cpu/armv7/sunxi/psci.S b/arch/arm/cpu/armv7/sunxi/psci.S
index 5be497b..e0a524e 100644
--- a/arch/arm/cpu/armv7/sunxi/psci.S
+++ b/arch/arm/cpu/armv7/sunxi/psci.S
@@ -37,7 +37,7 @@
.arch_extension sec
-#define ONE_MS (CONFIG_SYS_CLK_FREQ / 1000)
+#define ONE_MS (CONFIG_TIMER_CLK_FREQ / 1000)
#define TEN_MS (10 * ONE_MS)
#define GICD_BASE 0x1c81000
#define GICC_BASE 0x1c82000
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 9d0eb91..2fcab60 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -132,6 +132,10 @@ endchoice
endif
+config SYS_CLK_FREQ
+ default 912000000 if MACH_SUN7I
+ default 1008000000 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
+
config SYS_CONFIG_NAME
default "sun4i" if MACH_SUN4I
default "sun5i" if MACH_SUN5I
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index e1891d1..808bf82 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -215,7 +215,7 @@ void sunxi_board_init(void)
* assured it's being powered with suitable core voltage
*/
if (!power_failed)
- clock_set_pll1(CONFIG_CLK_FULL_SPEED);
+ clock_set_pll1(CONFIG_SYS_CLK_FREQ);
else
printf("Failed to set core voltage! Can't set CPU frequency\n");
}
diff --git a/include/configs/sun4i.h b/include/configs/sun4i.h
index 1537e53..7cd5c69 100644
--- a/include/configs/sun4i.h
+++ b/include/configs/sun4i.h
@@ -11,7 +11,6 @@
/*
* A10 specific configuration
*/
-#define CONFIG_CLK_FULL_SPEED 1008000000
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
diff --git a/include/configs/sun5i.h b/include/configs/sun5i.h
index e755531..e0470d4 100644
--- a/include/configs/sun5i.h
+++ b/include/configs/sun5i.h
@@ -11,7 +11,6 @@
/*
* High Level Configuration Options
*/
-#define CONFIG_CLK_FULL_SPEED 1008000000
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
diff --git a/include/configs/sun6i.h b/include/configs/sun6i.h
index f5e11dd..617c1cd 100644
--- a/include/configs/sun6i.h
+++ b/include/configs/sun6i.h
@@ -14,7 +14,6 @@
/*
* A31 specific configuration
*/
-#define CONFIG_CLK_FULL_SPEED 1008000000
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
diff --git a/include/configs/sun7i.h b/include/configs/sun7i.h
index f817f73..7fa7cec 100644
--- a/include/configs/sun7i.h
+++ b/include/configs/sun7i.h
@@ -12,7 +12,6 @@
/*
* A20 specific configuration
*/
-#define CONFIG_CLK_FULL_SPEED 912000000
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
@@ -21,8 +20,7 @@
#define CONFIG_ARMV7_PSCI 1
#define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE
-#define CONFIG_SYS_CLK_FREQ 24000000
-#define CONFIG_TIMER_CLK_FREQ CONFIG_SYS_CLK_FREQ
+#define CONFIG_TIMER_CLK_FREQ 24000000
/*
* Include common sunxi configuration where most the settings are
diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h
index 3bdedb3..79796d7 100644
--- a/include/configs/sun8i.h
+++ b/include/configs/sun8i.h
@@ -12,7 +12,6 @@
/*
* A23 specific configuration
*/
-#define CONFIG_CLK_FULL_SPEED 1008000000
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI