Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Huacai Chen <chenhc@lemote.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	John Crispin <john@phrozen.org>,
	"Steven J. Hill" <Steven.Hill@imgtec.com>,
	linux-mips@linux-mips.org, Fuxin Zhang <zhangfx@lemote.com>,
	Zhangjin Wu <wuzhangjin@gmail.com>,
	Hongliang Tao <taohl@lemote.com>, Hua Yan <yanh@lemote.com>
Subject: Re: [PATCH V15 07/12] MIPS: Loongson 3: Add serial port support
Date: Sun, 5 Jan 2014 18:05:49 +0100	[thread overview]
Message-ID: <20140105170549.GA14707@ohm.rr44.fr> (raw)
In-Reply-To: <CAAhV-H55m3B-sVtArQELOeF-TDGRk9j2SQk8o5J7RS5oaD4M7g@mail.gmail.com>

On Sun, Jan 05, 2014 at 05:37:01PM +0800, Huacai Chen wrote:
> On Sun, Jan 5, 2014 at 6:54 AM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> 
> > On Sun, Dec 15, 2013 at 08:14:31PM +0800, Huacai Chen wrote:
> > > Loongson family machines has three types of serial port: PCI UART, LPC
> > > UART and CPU internal UART. Loongson-2E and parts of Loongson-2F based
> > > machines use PCI UART; most Loongson-2F based machines use LPC UART;
> > > Loongson-2G/3A has both LPC and CPU UART but usually use CPU UART.
> > >
> > > Port address of UARTs:
> > > CPU UART: REG_BASE + OFFSET;
> > > LPC UART: LIO1_BASE + OFFSET;
> > > PCI UART: PCIIO_BASE + OFFSET.
> > >
> > > Since LPC UART are linked in "Local Bus", both CPU UART and LPC UART
> > > are called "CPU provided serial port".
> > >
> > > Signed-off-by: Huacai Chen <chenhc@lemote.com>
> > > Signed-off-by: Hongliang Tao <taohl@lemote.com>
> > > Signed-off-by: Hua Yan <yanh@lemote.com>
> > > ---
> > >  arch/mips/loongson/common/serial.c    |   26 +++++++++++++++-----------
> > >  arch/mips/loongson/common/uart_base.c |    9 ++++++++-
> > >  2 files changed, 23 insertions(+), 12 deletions(-)
> > >
> > > diff --git a/arch/mips/loongson/common/serial.c
> > b/arch/mips/loongson/common/serial.c
> > > index 5f2b78a..bd2b709 100644
> > > --- a/arch/mips/loongson/common/serial.c
> > > +++ b/arch/mips/loongson/common/serial.c
> > > @@ -19,19 +19,19 @@
> > >  #include <loongson.h>
> > >  #include <machine.h>
> > >
> > > -#define PORT(int)                    \
> > > +#define PORT(int, clk)                       \
> > >  {                                                            \
> > >       .irq            = int,                                  \
> > > -     .uartclk        = 1843200,                              \
> > > +     .uartclk        = clk,                                  \
> > >       .iotype         = UPIO_PORT,                            \
> > >       .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,    \
> > >       .regshift       = 0,                                    \
> > >  }
> > >
> > > -#define PORT_M(int)                          \
> > > +#define PORT_M(int, clk)                             \
> > >  {                                                            \
> > >       .irq            = MIPS_CPU_IRQ_BASE + (int),            \
> > > -     .uartclk        = 3686400,                              \
> > > +     .uartclk        = clk,                                  \
> > >       .iotype         = UPIO_MEM,                             \
> > >       .membase        = (void __iomem *)NULL,                 \
> > >       .flags          = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,    \
> > > @@ -40,13 +40,17 @@
> > >
> > >  static struct plat_serial8250_port uart8250_data[][2] = {
> > >       [MACH_LOONGSON_UNKNOWN]         {},
> > > -     [MACH_LEMOTE_FL2E]              {PORT(4), {} },
> > > -     [MACH_LEMOTE_FL2F]              {PORT(3), {} },
> > > -     [MACH_LEMOTE_ML2F7]             {PORT_M(3), {} },
> > > -     [MACH_LEMOTE_YL2F89]            {PORT_M(3), {} },
> > > -     [MACH_DEXXON_GDIUM2F10]         {PORT_M(3), {} },
> > > -     [MACH_LEMOTE_NAS]               {PORT_M(3), {} },
> > > -     [MACH_LEMOTE_LL2F]              {PORT(3), {} },
> > > +     [MACH_LEMOTE_FL2E]              {PORT(4, 1843200), {} },
> > > +     [MACH_LEMOTE_FL2F]              {PORT(3, 1843200), {} },
> > > +     [MACH_LEMOTE_ML2F7]             {PORT_M(3, 3686400), {} },
> > > +     [MACH_LEMOTE_YL2F89]            {PORT_M(3, 3686400), {} },
> > > +     [MACH_DEXXON_GDIUM2F10]         {PORT_M(3, 3686400), {} },
> > > +     [MACH_LEMOTE_NAS]               {PORT_M(3, 3686400), {} },
> > > +     [MACH_LEMOTE_LL2F]              {PORT(3, 1843200), {} },
> > > +     [MACH_LEMOTE_A1004]             {PORT_M(2, 33177600), {} },
> > > +     [MACH_LEMOTE_A1101]             {PORT_M(2, 25000000), {} },
> > > +     [MACH_LEMOTE_A1201]             {PORT_M(2, 25000000), {} },
> > > +     [MACH_LEMOTE_A1205]             {PORT_M(2, 25000000), {} },
> > >       [MACH_LOONGSON_END]             {},
> > >  };
> > >
> > > diff --git a/arch/mips/loongson/common/uart_base.c
> > b/arch/mips/loongson/common/uart_base.c
> > > index e192ad0..1e1eeea 100644
> > > --- a/arch/mips/loongson/common/uart_base.c
> > > +++ b/arch/mips/loongson/common/uart_base.c
> > > @@ -35,9 +35,16 @@ void prom_init_loongson_uart_base(void)
> > >       case MACH_DEXXON_GDIUM2F10:
> > >       case MACH_LEMOTE_NAS:
> > >       default:
> > > -             /* The CPU provided serial port */
> > > +             /* The CPU provided serial port (LPC) */
> > >               loongson_uart_base = LOONGSON_LIO1_BASE + 0x3f8;
> > >               break;
> > > +     case MACH_LEMOTE_A1004:
> > > +     case MACH_LEMOTE_A1101:
> > > +     case MACH_LEMOTE_A1201:
> > > +     case MACH_LEMOTE_A1205:
> > > +             /* The CPU provided serial port (CPU) */
> > > +             loongson_uart_base = LOONGSON_REG_BASE + 0x1e0;
> >
> > LOONGSON_REG_BASE corresponds to the value of the 2E machine. I guess
> > the correct value is LOONGSON3_REG_BASE here.
> >
> No,  LOONGSON_REG_BASE is used for all Loongson processors,
> LOONGSON3_REG_BASE is
> used for Loongson-3 specific registers.

Ok, it was not clear to me that LOONGSON_REG_BASE is common to both
Loongson 2 and Loongson 3 and that LOONGSON3_REG_BASE is Loongson 3
specific. Maybe a comment about that might be useful where they are
defined.

> >
> > > +             break;
> > >       }
> > >
> > >       _loongson_uart_base =
> > > --
> > > 1.7.7.3
> > >
> > >
> > >
> >
> > --
> > Aurelien Jarno                          GPG: 1024D/F1BCDB73
> > aurelien@aurel32.net                 http://www.aurel32.net
> >
> >

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

  parent reply	other threads:[~2014-01-05 17:07 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-15 12:14 [PATCH V15 00/12] MIPS: Add Loongson-3 based machines support Huacai Chen
2013-12-15 12:14 ` [PATCH V15 01/12] MIPS: Loongson: Add basic Loongson-3 definition Huacai Chen
2013-12-30 21:09   ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 02/12] MIPS: Loongson: Add basic Loongson-3 CPU support Huacai Chen
2013-12-30 21:33   ` Aurelien Jarno
2013-12-31 15:17     ` Aaro Koskinen
2013-12-31 15:43       ` Aurelien Jarno
     [not found]         ` <CAAhV-H6eKg0Q0oDeDW6mp6p7Qh3dr07n1PDe9BPL37tsX286gw@mail.gmail.com>
2014-01-01 16:09           ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 03/12] MIPS: Loongson 3: Add Lemote-3A machtypes definition Huacai Chen
2013-12-30 21:43   ` Aurelien Jarno
     [not found]     ` <CAAhV-H66qshv-44q0XR6bfX7=KPa6NzDLO8AtY0Ed0AZScJ8=A@mail.gmail.com>
2014-01-01 16:09       ` Aurelien Jarno
     [not found]         ` <CAAhV-H49=Mxt+LJgpQQKJyhj87Hw6_kU4F05sEXNHueYuDOjaA@mail.gmail.com>
2014-01-04 22:23           ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 04/12] MIPS: Loongson: Add UEFI-like firmware interface support Huacai Chen
2014-01-04 22:23   ` Aurelien Jarno
     [not found]     ` <CAAhV-H5CPNwgFD595hc0RBV2ETa1xGRdhns2sU37+=2+x9foxQ@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 05/12] MIPS: Loongson 3: Add HT-linked PCI support Huacai Chen
2014-01-04 22:24   ` Aurelien Jarno
     [not found]     ` <CAAhV-H4sOKmDUr_0g2BxoG46G+yP2Xp80E2Qn1GATZTgn86U_w@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 06/12] MIPS: Loongson 3: Add IRQ init and dispatch support Huacai Chen
2014-01-04 22:54   ` Aurelien Jarno
     [not found]     ` <CAAhV-H66B3xkDSm-ftu_1M3ov3MQndd4dO9TxqcMpKmJXL3NUw@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 07/12] MIPS: Loongson 3: Add serial port support Huacai Chen
2014-01-04 22:54   ` Aurelien Jarno
     [not found]     ` <CAAhV-H55m3B-sVtArQELOeF-TDGRk9j2SQk8o5J7RS5oaD4M7g@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno [this message]
2013-12-15 12:14 ` [PATCH V15 08/12] MIPS: Loongson: Add swiotlb to support big memory (>4GB) Huacai Chen
2013-12-31 14:47   ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 09/12] MIPS: Loongson: Add Loongson-3 Kconfig options Huacai Chen
2014-01-04 23:07   ` Aurelien Jarno
     [not found]     ` <CAAhV-H4tTyK=sF7Zrh8Mj3pSNSZFX98Db_inS6oNKvFuqM7ziw@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 10/12] MIPS: Loongson 3: Add Loongson-3 SMP support Huacai Chen
2014-01-04 23:25   ` Aurelien Jarno
     [not found]     ` <CAAhV-H4XvyEa6DzQxZye6djHdW+VZ4vYLkyDHOskXDh8aXjPKw@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 11/12] MIPS: Loongson 3: Add CPU hotplug support Huacai Chen
2014-01-04 23:44   ` Aurelien Jarno
     [not found]     ` <CAAhV-H7GG2JMyxU242i=tmp=F5Qmgd3DrMjzpnNYWm=rB2b8PA@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-15 12:14 ` [PATCH V15 12/12] MIPS: Loongson: Add a Loongson-3 default config file Huacai Chen
2014-01-04 23:16   ` Aurelien Jarno
     [not found]     ` <CAAhV-H6wXh7uMN4CbJfRhfm_VaxpYRjQLm6diPH8yU1sLdAXNg@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
2013-12-30 21:54 ` [PATCH V15 00/12] MIPS: Add Loongson-3 based machines support Aurelien Jarno

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=20140105170549.GA14707@ohm.rr44.fr \
    --to=aurelien@aurel32.net \
    --cc=Steven.Hill@imgtec.com \
    --cc=chenhc@lemote.com \
    --cc=john@phrozen.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=taohl@lemote.com \
    --cc=wuzhangjin@gmail.com \
    --cc=yanh@lemote.com \
    --cc=zhangfx@lemote.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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