Instead of taking the value from somewhere, use the menu to select one. Also provide sane default values for known SoCs.
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