[PATCH 05/18] Samsung/serial: make the clock source configureable
Sascha Hauer
s.hauer at pengutronix.de
Mon Jul 16 03:20:45 EDT 2012
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 <jbe at 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 at 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-5555 |
More information about the barebox
mailing list