From: jon-hunter@ti•com (Jon Hunter)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 1/3] OMAP2+: UART: Remove cpu checks for populating errata flags
Date: Tue, 27 Mar 2012 16:08:51 -0500 [thread overview]
Message-ID: <4F722C63.9080900@ti.com> (raw)
In-Reply-To: <1332325501-10467-2-git-send-email-govindraj.raja@ti.com>
Hi Govindraj,
On 3/21/2012 5:24, Govindraj.R wrote:
> From: "Govindraj.R"<govindraj.raja@ti•com>
>
> Currently the errata is populated based on cpu checks this can
> be removed and replaced with module version check of uart ip block.
> MVR reg is provided within the uart reg map use the same
> to populate the errata and thus now errata population and handling
> can be managed within the driver itself.
>
> Cc: Paul Walmsley<paul@pwsan•com>
> Cc: Kevin Hilman<khilman@ti•com>
> Signed-off-by: Felipe Balbi<balbi@ti•com>
> Signed-off-by: Govindraj.R<govindraj.raja@ti•com>
> ---
> arch/arm/mach-omap2/serial.c | 8 ---
> arch/arm/plat-omap/include/plat/omap-serial.h | 1 -
> drivers/tty/serial/omap-serial.c | 62 ++++++++++++++++++++++++-
> 3 files changed, 61 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> index f590afc..330ee04 100644
> --- a/arch/arm/mach-omap2/serial.c
> +++ b/arch/arm/mach-omap2/serial.c
> @@ -357,14 +357,6 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
> omap_up.dma_rx_poll_rate = info->dma_rx_poll_rate;
> omap_up.autosuspend_timeout = info->autosuspend_timeout;
>
> - /* Enable the MDR1 Errata i202 for OMAP2430/3xxx/44xx */
> - if (!cpu_is_omap2420()&& !cpu_is_ti816x())
> - omap_up.errata |= UART_ERRATA_i202_MDR1_ACCESS;
> -
> - /* Enable DMA Mode Force Idle Errata i291 for omap34xx/3630 */
> - if (cpu_is_omap34xx() || cpu_is_omap3630())
> - omap_up.errata |= UART_ERRATA_i291_DMA_FORCEIDLE;
> -
> pdata =&omap_up;
> pdata_size = sizeof(struct omap_uart_port_info);
>
> diff --git a/arch/arm/plat-omap/include/plat/omap-serial.h b/arch/arm/plat-omap/include/plat/omap-serial.h
> index 9ff4444..1a52725 100644
> --- a/arch/arm/plat-omap/include/plat/omap-serial.h
> +++ b/arch/arm/plat-omap/include/plat/omap-serial.h
> @@ -65,7 +65,6 @@ struct omap_uart_port_info {
> bool dma_enabled; /* To specify DMA Mode */
> unsigned int uartclk; /* UART clock rate */
> upf_t flags; /* UPF_* flags */
> - u32 errata;
> unsigned int dma_rx_buf_size;
> unsigned int dma_rx_timeout;
> unsigned int autosuspend_timeout;
> diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
> index f809041..c7666d6 100644
> --- a/drivers/tty/serial/omap-serial.c
> +++ b/drivers/tty/serial/omap-serial.c
> @@ -44,6 +44,13 @@
> #include<plat/dmtimer.h>
> #include<plat/omap-serial.h>
>
> +#define UART_BUILD_REVISION(x, y) (((x)<< 8) | (y))
> +
> +#define OMAP_UART_REV_42 0x0402
> +#define OMAP_UART_REV_46 0x0406
> +#define OMAP_UART_REV_52 0x0502
> +#define OMAP_UART_REV_63 0x0603
> +
> #define DEFAULT_CLK_SPEED 48000000 /* 48Mhz*/
>
> /* SCR register bitmasks */
> @@ -1346,6 +1353,58 @@ static void uart_tx_dma_callback(int lch, u16 ch_status, void *data)
> return;
> }
>
> +static void omap_serial_fill_features_erratas(struct uart_omap_port *up)
> +{
> + u32 mvr, scheme;
> + u16 revision, major, minor;
> +
> + mvr = serial_in(up, UART_OMAP_MVER);
> +
> + /* Check revision register scheme */
> + scheme = mvr& (0x03<< 30);
> + scheme>>= 30;
Minor nit-pick, why not ...
scheme = mvr >> 30;
> + switch (scheme) {
> + case 0: /* Legacy Scheme: OMAP2/3 */
> + /* MINOR_REV[0:4], MAJOR_REV[4:7] */
This scheme is also true from OMAP1 devices. Maybe we could include in
the comment.
> + major = (mvr& 0xf0)>> 4;
> + minor = (mvr& 0x0f);
> + break;
> + case 1:
> + /* New Scheme: OMAP4+ */
> + /* MINOR_REV[0:5], MAJOR_REV[8:10] */
> + major = (mvr& 0x7<< 8)>> 8;
Nit-pick ...
major = (mvr >> 8) & 0x7;
Cheers
Jon
next prev parent reply other threads:[~2012-03-27 21:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-21 10:24 [PATCH 0/3] OMAP2+: UART: Enable tx wakeup + remove cpu checks Govindraj.R
2012-03-21 10:24 ` [PATCH 1/3] OMAP2+: UART: Remove cpu checks for populating errata flags Govindraj.R
2012-03-27 21:03 ` Jon Hunter
2012-03-27 21:08 ` Jon Hunter [this message]
2012-03-28 11:09 ` Raja, Govindraj
2012-03-28 16:43 ` Jon Hunter
2012-03-29 7:35 ` Raja, Govindraj
2012-04-02 8:48 ` [PATCH v2] " Govindraj.R
2012-04-02 15:44 ` Jon Hunter
2012-04-03 13:42 ` [PATCH v3] " Govindraj.R
2012-04-04 14:10 ` Jon Hunter
2012-04-05 11:12 ` Shubhrajyoti
2012-03-21 10:25 ` [PATCH 2/3] OMAP2+: UART: enable tx wakeup bit for wer reg Govindraj.R
2012-03-21 10:25 ` [PATCH 3/3] OMAP2+: UART: replace omap34xx/omap4xx cpu checks with not omap24xx Govindraj.R
2012-03-21 14:28 ` [PATCH 0/3] OMAP2+: UART: Enable tx wakeup + remove cpu checks Kevin Hilman
2012-03-22 6:59 ` Raja, Govindraj
2012-03-22 23:40 ` Paul Walmsley
2012-03-23 7:47 ` Raja, Govindraj
2012-04-05 11:24 ` Raja, Govindraj
2012-04-05 12:26 ` Alan Cox
2012-04-05 16:47 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F722C63.9080900@ti.com \
--to=jon-hunter@ti$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox