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: Sat, 4 Jan 2014 23:54:41 +0100	[thread overview]
Message-ID: <20140104225441.GA20873@hall.aurel32.net> (raw)
In-Reply-To: <1387109676-540-8-git-send-email-chenhc@lemote.com>

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.

> +		break;
>  	}
>  
>  	_loongson_uart_base =
> -- 
> 1.7.7.3
> 
> 
> 

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

  reply	other threads:[~2014-01-04 22:54 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 [this message]
     [not found]     ` <CAAhV-H55m3B-sVtArQELOeF-TDGRk9j2SQk8o5J7RS5oaD4M7g@mail.gmail.com>
2014-01-05 17:05       ` Aurelien Jarno
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=20140104225441.GA20873@hall.aurel32.net \
    --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