[PATCH v3 07/12] OMAP: Serial: Allow UART parameters to be configured from board file.
Kevin Hilman
khilman at ti.com
Fri Jun 24 20:12:57 EDT 2011
"Govindraj.R" <govindraj.raja at ti.com> writes:
> The following UART parameters are defined within the UART driver:
>
> 1). Whether the UART uses DMA (dma_enabled), by default set to 0
> 2). The size of dma buffer (set to 4096 bytes)
> 3). The time after which the dma should stop if no more data is received.
> 4). The auto suspend delay that will be passed for pm_runtime_autosuspend
> where uart will be disabled after timeout
>
> Different UARTs may be used for different purpose such as the console,
> for interfacing bluetooth chip, for interfacing to a modem chip, etc.
> Therefore, it is necessary to be able to customize the above settings
> for a given board on a per UART basis.
>
> This change allows these parameters to be configured from the board file
> and allows the parameters to be configured for each UART independently.
>
> If a board does not define its own custom parameters for the UARTs, then
> use the default parameters in the structure "omap_serial_default_info".
> The default parameters are defined to be the same as the current settings
> in the UART driver to avoid breaking the UART for any board. By default,
> make all boards use the default UART parameters.
>
> Signed-off-by: Deepak K <deepak.k at ti.com>
> Signed-off-by: Jon Hunter <jon-hunter at ti.com>
> Signed-off-by: Govindraj.R <govindraj.raja at ti.com>
Nice. some minor comments below.
[...]
> diff --git a/arch/arm/plat-omap/include/plat/omap-serial.h b/arch/arm/plat-omap/include/plat/omap-serial.h
> index ac30de8..4e2dcdc 100644
> --- a/arch/arm/plat-omap/include/plat/omap-serial.h
> +++ b/arch/arm/plat-omap/include/plat/omap-serial.h
> @@ -51,7 +51,12 @@
>
> #define OMAP_UART_DMA_CH_FREE -1
>
> -#define RX_TIMEOUT (3 * HZ)
> +#define RX_TIMEOUT (3 * HZ) /* RX DMA timeout (jiffies) */
> +#define DEFAULT_RXDMA_TIMEOUT 1 /* RX DMA polling rate (us) */
> +#define DEFAULT_RXDMA_BUFSIZE 4096 /* RX DMA buffer size */
> +#define DEFAULT_AUTOSUSPEND_DELAY (30 * HZ) /* Runtime autosuspend (msecs) */
These don't need to be in omap-serial.h since neither the driver code or
the board file should be using them. They can stay in mach-omap2/serial.c
> +
> #define OMAP_MAX_HSUART_PORTS 4
>
> #define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA
> @@ -64,6 +69,9 @@ struct omap_uart_port_info {
> upf_t flags; /* UPF_* flags */
> unsigned int errata;
> unsigned int console_uart;
> + unsigned int dma_rx_buf_size;/* DMA Rx Buffer Size */
> + unsigned int dma_rx_timeout; /* DMA RX timeout */
Comments don't add value over variable name.
> + unsigned int auto_sus_timeout; /* Auto_suspend timeout */
rename to autosuspend_timeout, drop comment.
Kevin
More information about the linux-arm-kernel
mailing list