On Fri, Jul 13, 2012 at 09:00:57PM +0200, Juergen Beisert wrote:
Instead of taking the value from somewhere, use the menu to select one. Also
provide sane default values for known SoCs.
Do we really really need this in Kconfig? I don't like having things in
Kconfig which decide between 'right' and 'wrong'. You should rather have
some cpu_is or platformdata mechanism.
Sascha
Signed-off-by: Juergen Beisert j...@pengutronix.de
---
drivers/serial/Kconfig | 12
drivers/serial/serial_s3c.c |7 +--
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index a9383da..a118aaf 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -85,6 +85,18 @@ config DRIVER_SERIAL_S3C
help
Say Y here if you want to use the CONS on a Samsung S3C CPU
+config DRIVER_SERIAL_S3C_CLK
+ int
+ prompt input clock reference
+ depends on DRIVER_SERIAL_S3C
+ default 0 if ARCH_S3C24xx
+ default 3 if ARCH_S5PCxx
+ help
+ Select one of up to four available clock sources for the UART:
+0+1: PCLK, 2: UCLK0, 3: UCLK1
+ Note: not all values are possible on all Samsung SoCs. Read the
+ manual if unsure.
+
config DRIVER_SERIAL_S3C_AUTOSYNC
bool Enable auto flow
depends on DRIVER_SERIAL_S3C
diff --git a/drivers/serial/serial_s3c.c b/drivers/serial/serial_s3c.c
index ff3792b..5c05ba8 100644
--- a/drivers/serial/serial_s3c.c
+++ b/drivers/serial/serial_s3c.c
@@ -47,11 +47,6 @@
# define UINTM 0x38 /* interrupt mask register */
#endif
-#ifndef S3C_UART_CLKSEL
-/* Use pclk */
-# define S3C_UART_CLKSEL 0
-#endif
-
struct s3c_uart {
void __iomem *regs;
struct console_device cdev;
@@ -108,7 +103,7 @@ static int s3c_serial_init_port(struct console_device
*cdev)
/* tx=level,rx=edge,disable timeout int.,enable rx error int.,
* normal, interrupt or polling, no pre-divider */
- writew(0x0245 | ((S3C_UART_CLKSEL) 10), base + UCON);
+ writew(0x0245 | ((CONFIG_DRIVER_SERIAL_S3C_CLK) 10), base + UCON);
#ifdef S3C_UART_HAS_UINTM
/* 'interrupt or polling mode' for both directions */
--
1.7.10.4
___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- |
___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox