Received: by 2002:ac0:aa62:0:0:0:0:0 with SMTP id w31-v6csp1952732ima; Thu, 25 Oct 2018 07:30:04 -0700 (PDT) X-Google-Smtp-Source: AJdET5fVxoZrDONTaLGcWyZSSgLufLDqyoxo+ysL61zo+e+L5mXmwkiQ3xQFvTk+Dw0Y8vNsjOAM X-Received: by 2002:a62:1850:: with SMTP id 77-v6mr1785451pfy.105.1540477804658; Thu, 25 Oct 2018 07:30:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540477804; cv=none; d=google.com; s=arc-20160816; b=bYRrajG79Ad856s+/U0zy0HeRMLhOBkovcTO7uBZQxFcRcoPgPiuYQEzZlicGk9FgD APOVE7J5qqn0scY+bliQmho/laG3m1trXjHe301htVXq3wTtK1KTp1tVAcgYSfL5pVeA /tJWXKCEBBeqJ+654pp6m+AgHiMPgMPlBFCJUfxnKd4h+CBkCFkicc5IcmUhbI7Is9cv d2Qx0GrLRhkF+gTGwTBS1iiHjSA9HBEF2h5K9EYruYinKynPFna2BmOCDvA8R57zJJvU +GMbeQnXjCggws+MMDVStxUMe+fRw7qbDX35trcBLIbKDNPYaGJt4IZ8OYfVPxndRlDa MTFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=bVMXWvlZj5wwheg5dFoONquBC8b6UZ3REOzeEWSROTU=; b=wIclu8KH91HU/wSwEz4EdZDoX+jtyRQ1EPUPTRn7FobH42W+zpbvpyFx3ObH85uZBj 8Hxa7e4c/x8sbgG5q70i2FEVkpsEnWphAXl6fM9vZUOUqc4lGvkT1KksjFlgygQWpL9B tCfaUqDMZSCyBtt7YsuMH5+/eWnGbPvAy0vdqlw2n+VCj48I9//7dbf+PdD2+hdSkC7H SDfoH6mD3SVUaFftpXCSkYBzMugMbjHsRljrrtEVVrwGOWoVx9lINIA7CNvO0vY6kgpZ cXNbYkhnyFNUs2EA7QhSfC1W6PWei7YUADdc2AmQ505dB/YiSM81dn/HQ2oq9fjONpuX guMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=yXoyDUVP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z14-v6si5055640pge.225.2018.10.25.07.29.41; Thu, 25 Oct 2018 07:30:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=yXoyDUVP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730699AbeJYWwo (ORCPT + 99 others); Thu, 25 Oct 2018 18:52:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:34898 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727962AbeJYWwn (ORCPT ); Thu, 25 Oct 2018 18:52:43 -0400 Received: from sasha-vm.mshome.net (unknown [167.98.65.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3CA1120883; Thu, 25 Oct 2018 14:19:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1540477185; bh=D0Dh1yG3iOxNcNy3n2Cv0NQ5+h7zo4mXf05Az25dia4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yXoyDUVPGNJwlTFgUUPzY9vlXRJEvvxrdU5rxhWX3+ZO1t9rYNYTlelX/06tPVNJF FvCZk6TInIIVm0PYQ+a6lYpzsD0+L25tptNnM3uBx4s3vPnknMP0pSrHzUHKrxQvpQ HjOQFsdbxwtlz9/saxLUY1Xu00aqLGvNOq9zYMUo= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Chanwoo Choi , Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, Sasha Levin Subject: [PATCH AUTOSEL 3.18 34/98] serial: samsung: Add the support for Exynos5433 SoC Date: Thu, 25 Oct 2018 10:17:49 -0400 Message-Id: <20181025141853.214051-34-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181025141853.214051-1-sashal@kernel.org> References: <20181025141853.214051-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chanwoo Choi [ Upstream commit 31ec77aca72ee5920ed3ec3d047734dc0bc43342 ] This patch adds new s3c24xx_serial_drv_data structure for Exynos5433 SoC because Exynos5433 has different fifo size from existing Exynos4 SoC. Cc: Greg Kroah-Hartman Cc: Jiri Slaby Cc: linux-serial@vger.kernel.org Signed-off-by: Chanwoo Choi Acked-by: Inki Dae Acked-by: Geunsik Lim Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/tty/serial/samsung.c | 56 +++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c index ba59a76edc8b..957992ceba0a 100644 --- a/drivers/tty/serial/samsung.c +++ b/drivers/tty/serial/samsung.c @@ -1785,32 +1785,43 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { #endif #if defined(CONFIG_ARCH_EXYNOS) +#define EXYNOS_COMMON_SERIAL_DRV_DATA \ + .info = &(struct s3c24xx_uart_info) { \ + .name = "Samsung Exynos UART", \ + .type = PORT_S3C6400, \ + .has_divslot = 1, \ + .rx_fifomask = S5PV210_UFSTAT_RXMASK, \ + .rx_fifoshift = S5PV210_UFSTAT_RXSHIFT, \ + .rx_fifofull = S5PV210_UFSTAT_RXFULL, \ + .tx_fifofull = S5PV210_UFSTAT_TXFULL, \ + .tx_fifomask = S5PV210_UFSTAT_TXMASK, \ + .tx_fifoshift = S5PV210_UFSTAT_TXSHIFT, \ + .def_clk_sel = S3C2410_UCON_CLKSEL0, \ + .num_clks = 1, \ + .clksel_mask = 0, \ + .clksel_shift = 0, \ + }, \ + .def_cfg = &(struct s3c2410_uartcfg) { \ + .ucon = S5PV210_UCON_DEFAULT, \ + .ufcon = S5PV210_UFCON_DEFAULT, \ + .has_fracval = 1, \ + } \ + static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = { - .info = &(struct s3c24xx_uart_info) { - .name = "Samsung Exynos4 UART", - .type = PORT_S3C6400, - .has_divslot = 1, - .rx_fifomask = S5PV210_UFSTAT_RXMASK, - .rx_fifoshift = S5PV210_UFSTAT_RXSHIFT, - .rx_fifofull = S5PV210_UFSTAT_RXFULL, - .tx_fifofull = S5PV210_UFSTAT_TXFULL, - .tx_fifomask = S5PV210_UFSTAT_TXMASK, - .tx_fifoshift = S5PV210_UFSTAT_TXSHIFT, - .def_clk_sel = S3C2410_UCON_CLKSEL0, - .num_clks = 1, - .clksel_mask = 0, - .clksel_shift = 0, - }, - .def_cfg = &(struct s3c2410_uartcfg) { - .ucon = S5PV210_UCON_DEFAULT, - .ufcon = S5PV210_UFCON_DEFAULT, - .has_fracval = 1, - }, + EXYNOS_COMMON_SERIAL_DRV_DATA, .fifosize = { 256, 64, 16, 16 }, }; + +static struct s3c24xx_serial_drv_data exynos5433_serial_drv_data = { + EXYNOS_COMMON_SERIAL_DRV_DATA, + .fifosize = { 64, 256, 16, 256 }, +}; + #define EXYNOS4210_SERIAL_DRV_DATA ((kernel_ulong_t)&exynos4210_serial_drv_data) +#define EXYNOS5433_SERIAL_DRV_DATA ((kernel_ulong_t)&exynos5433_serial_drv_data) #else #define EXYNOS4210_SERIAL_DRV_DATA (kernel_ulong_t)NULL +#define EXYNOS5433_SERIAL_DRV_DATA (kernel_ulong_t)NULL #endif static struct platform_device_id s3c24xx_serial_driver_ids[] = { @@ -1832,6 +1843,9 @@ static struct platform_device_id s3c24xx_serial_driver_ids[] = { }, { .name = "exynos4210-uart", .driver_data = EXYNOS4210_SERIAL_DRV_DATA, + }, { + .name = "exynos5433-uart", + .driver_data = EXYNOS5433_SERIAL_DRV_DATA, }, { }, }; @@ -1851,6 +1865,8 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = { .data = (void *)S5PV210_SERIAL_DRV_DATA }, { .compatible = "samsung,exynos4210-uart", .data = (void *)EXYNOS4210_SERIAL_DRV_DATA }, + { .compatible = "samsung,exynos5433-uart", + .data = (void *)EXYNOS5433_SERIAL_DRV_DATA }, {}, }; MODULE_DEVICE_TABLE(of, s3c24xx_uart_dt_match); -- 2.17.1