From patchwork Thu Apr 25 05:57:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Shinde X-Patchwork-Id: 16390 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-fa0-f72.google.com (mail-fa0-f72.google.com [209.85.161.72]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 8264825DF4 for ; Thu, 25 Apr 2013 05:51:51 +0000 (UTC) Received: by mail-fa0-f72.google.com with SMTP id t1sf3621303fae.3 for ; Wed, 24 Apr 2013 22:50:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:x-beenthere:x-received:received-spf :x-received:x-forwarded-to:x-forwarded-for:delivered-to:x-received :received-spf:x-auditid:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-brightmail-tracker:x-brightmail-tracker :dlp-filter:x-mtr:x-cfilter-loop:x-gm-message-state :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:x-google-group-id:list-post:list-help :list-archive:list-unsubscribe; bh=W2LGMznmSRfvUq7eeWhUt/aJttQEMQSXH/3XxS8NGw4=; b=PhjgmHoGlDBhbiHkhFOagWDvy94/YuNg7NDGwO+Pi0NQMXbugI8av4d7uvvNMq5jv8 xEI0/HHro+EVTlDiL0FZnC/ej5EImGOjz6LLKrZqioNOtCaHCNE5V6RUEOxOZhKHdcsG EnxnFdNWiyVJEmus4wzK3D3wjV6nT9C6Qn5qxGxTXXZfc3xcb9wUDqEwtumA65290H+a wM4A2cxJLh/xpLQUGMNJyJMnHcwUuk+JJmqhcbr63qyxDhWdwJ8M4XhliEz7pM/iQ/Pi gOFDyOVa64IwK80iHA7TCHTHMPiqOWjv6QlGPboRoSPqvtgGw0yGUIHLXOKMlhYh+irG LaUg== X-Received: by 10.180.96.225 with SMTP id dv1mr17556123wib.6.1366869057803; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.180.101.70 with SMTP id fe6ls660394wib.11.gmail; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) X-Received: by 10.194.62.233 with SMTP id b9mr12950597wjs.37.1366869057698; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) Received: from mail-ve0-x232.google.com (mail-ve0-x232.google.com [2607:f8b0:400c:c01::232]) by mx.google.com with ESMTPS id bd3si1933179wjb.173.2013.04.24.22.50.57 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Apr 2013 22:50:57 -0700 (PDT) Received-SPF: neutral (google.com: 2607:f8b0:400c:c01::232 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=2607:f8b0:400c:c01::232; Received: by mail-ve0-f178.google.com with SMTP id c13so1084304vea.23 for ; Wed, 24 Apr 2013 22:50:56 -0700 (PDT) X-Received: by 10.220.189.9 with SMTP id dc9mr13072344vcb.8.1366869056529; Wed, 24 Apr 2013 22:50:56 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.58.127.98 with SMTP id nf2csp6701veb; Wed, 24 Apr 2013 22:50:55 -0700 (PDT) X-Received: by 10.67.10.228 with SMTP id ed4mr39939186pad.41.1366869055589; Wed, 24 Apr 2013 22:50:55 -0700 (PDT) Received: from mailout3.samsung.com (mailout3.samsung.com. [203.254.224.33]) by mx.google.com with ESMTP id tk6si5232646pbc.166.2013.04.24.22.50.54 for ; Wed, 24 Apr 2013 22:50:55 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of rajeshwari.s@samsung.com designates 203.254.224.33 as permitted sender) client-ip=203.254.224.33; Received: from epcpsbgr2.samsung.com (u142.gpu120.samsung.co.kr [203.254.230.142]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MLS0054WQWHNY80@mailout3.samsung.com>; Thu, 25 Apr 2013 14:50:54 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.122]) by epcpsbgr2.samsung.com (EPCPMTA) with SMTP id 37.27.19730.D34C8715; Thu, 25 Apr 2013 14:50:54 +0900 (KST) X-AuditID: cbfee68e-b7efa6d000004d12-48-5178c43d5886 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 9F.FA.01422.D34C8715; Thu, 25 Apr 2013 14:50:53 +0900 (KST) Received: from rajeshwari-linux.sisodomain.com ([107.108.215.115]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MLS00L8YQWHRN10@mmp1.samsung.com>; Thu, 25 Apr 2013 14:50:53 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Cc: patches@linaro.org, sjg@chromium.org, mk7.kang@samsung.com, chander.kashyap@linaro.org, prashanth.g@samsung.com, hatim.rv@samsung.com, u-boot-review@google.com, ravi.kn@samsung.com Subject: [PATCH 3/4] EXYNOS4210: Configure GPIO for uart Date: Thu, 25 Apr 2013 11:27:18 +0530 Message-id: <1366869439-9695-4-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1366869439-9695-1-git-send-email-rajeshwari.s@samsung.com> References: <1366869439-9695-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgkeLIzCtJLcpLzFFi42JZI2JSpWt3pCLQoNfS4uH6mywW044uYrbo ONLCaDHl8BcWi1WHN7Bb/Jpzm93i25ZtjBbLX29kt3i7t5PdgdNjdsNFFo8Fm0o97lzbw+Zx 9s4ORo++LasYA1ijuGxSUnMyy1KL9O0SuDJmPn/HWPBco2LpzHlMDYw7FLsYOTkkBEwkZi+b xAphi0lcuLeerYuRi0NIYCmjxOnFX1lhij7NfsQIkVjEKHFz13l2kISQwEQmibbVhSA2m4CR xNaT0xhBbBEBCYlf/VfBGpgF9jBKHLvwBywhLGAhsW/DZDCbRUBV4vnPFjYQm1fAXWLev9dQ 2xQkjk2F2Mwp4CFxaPt2Rohl7hLPujawggyVEFjHLvH383KoQQIS3yYfYuli5ABKyEpsOsAM MUdS4uCKGywTGIUXMDKsYhRNLUguKE5KLzLSK07MLS7NS9dLzs/dxAgM/dP/nvXtYLx5wPoQ YzLQuInMUqLJ+cDYySuJNzQ2M7IwNTE1NjK3NCNNWEmcV63FOlBIID2xJDU7NbUgtSi+qDQn tfgQIxMHp1QDo8eheRcPMsuKn2Hp27uwcKvtkx8KE/bw9vz3Czs5+1NMkJvWtDsiyh+F9pnP EksPYOi4dP/G3x1Swtdvr0rxTWll/vP99BZ+84dOE+bO2sJsvHjnimcHGOv3GJ08kPddbv6B dH35Wz5zDr3bl39ruUyDP/Ov6/82yIS8ZtHUKUzo/8t0/3rulXwlluKMREMt5qLiRADAQlXd kwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrHIsWRmVeSWpSXmKPExsVy+t9jAV3bIxWBBmt6TS0err/JYjHt6CJm i44jLYwWUw5/YbFYdXgDu8WvObfZLb5t2cZosfz1RnaLt3s72R04PWY3XGTxWLCp1OPOtT1s Hmfv7GD06NuyijGANaqB0SYjNTEltUghNS85PyUzL91WyTs43jne1MzAUNfQ0sJcSSEvMTfV VsnFJ0DXLTMH6CIlhbLEnFKgUEBicbGSvh2mCaEhbroWMI0Rur4hQXA9RgZoIGENY8bM5+8Y C55rVCydOY+pgXGHYhcjJ4eEgInEp9mPGCFsMYkL99azdTFycQgJLGKUuLnrPDtIQkhgIpNE 2+pCEJtNwEhi68lpYA0iAhISv/qvMoI0MAvsYZQ4duEPWEJYwEJi34bJYDaLgKrE858tbCA2 r4C7xLx/r1khtilIHJv6FczmFPCQOLR9OyPEMneJZ10bWCcw8i5gZFjFKJpakFxQnJSea6RX nJhbXJqXrpecn7uJERxbz6R3MK5qsDjEKMDBqMTDK/CqPFCINbGsuDL3EKMEB7OSCG/LxopA Id6UxMqq1KL8+KLSnNTiQ4zJQFdNZJYSTc4Hxn1eSbyhsYm5qbGppYmFiZklacJK4rwHW60D hQTSE0tSs1NTC1KLYLYwcXBKNTCyfZ56k/dFFf8Ni8vbF85ic+rriWjaLyE57XSIjcbbidyc a2P/15lPm3TJScj/i6bhi3D/Y5F1v36sLb/har6K/ewVa4U32iW/vTY5f/JWOlRro9bx/M7i xtrTETu5/zd4HGpufn5jV6F3fe+Onr+1G0vXbDfrWrV1m8xO85uL65aqGcV88m1XYinOSDTU Yi4qTgQAZsGDQ/ECAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Gm-Message-State: ALoCoQnK6UZvOHfkU75Hy7OKznsJGlydHfu4sqSrOTsOfLfMzLb305ywisf7b4h/71Pz57hnKPkQ X-Original-Sender: rajeshwari.s@samsung.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 2607:f8b0:400c:c01::232 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , This patch configures the gpio values for UART on Origen and SMDKV310 using pinmux Signed-off-by: Rajeshwari Shinde Acked-by: Simon Glass --- arch/arm/cpu/armv7/exynos/pinmux.c | 40 +++++++++++++++++++++++++++++++ board/samsung/origen/origen.c | 46 ++++++++++++++++++++++++++++++++++++ board/samsung/smdkv310/smdkv310.c | 44 ++++++++++++++++++++++++++++++++++ include/configs/origen.h | 1 + include/configs/smdkv310.h | 1 + 5 files changed, 132 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index bd499b4..2042062 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -408,9 +408,49 @@ static int exynos4_mmc_config(int peripheral, int flags) return 0; } +static void exynos4_uart_config(int peripheral) +{ + struct exynos4_gpio_part1 *gpio1 = + (struct exynos4_gpio_part1 *)samsung_get_base_gpio_part1(); + struct s5p_gpio_bank *bank; + int i, start, count; + + switch (peripheral) { + case PERIPH_ID_UART0: + bank = &gpio1->a0; + start = 0; + count = 4; + break; + case PERIPH_ID_UART1: + bank = &gpio1->a0; + start = 4; + count = 4; + break; + case PERIPH_ID_UART2: + bank = &gpio1->a1; + start = 0; + count = 4; + break; + case PERIPH_ID_UART3: + bank = &gpio1->a1; + start = 4; + count = 2; + break; + } + for (i = start; i < start + count; i++) { + s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE); + s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2)); + } +} static int exynos4_pinmux_config(int peripheral, int flags) { switch (peripheral) { + case PERIPH_ID_UART0: + case PERIPH_ID_UART1: + case PERIPH_ID_UART2: + case PERIPH_ID_UART3: + exynos4_uart_config(peripheral); + break; case PERIPH_ID_I2C0: case PERIPH_ID_I2C1: case PERIPH_ID_I2C2: diff --git a/board/samsung/origen/origen.c b/board/samsung/origen/origen.c index 638e7b1..b7dbb91 100644 --- a/board/samsung/origen/origen.c +++ b/board/samsung/origen/origen.c @@ -25,6 +25,8 @@ #include #include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; struct exynos4_gpio_part1 *gpio1; @@ -39,6 +41,50 @@ int board_init(void) return 0; } +static int board_uart_init(void) +{ + int err; + + err = exynos_pinmux_config(PERIPH_ID_UART0, PINMUX_FLAG_NONE); + if (err) { + debug("UART0 not configured\n"); + return err; + } + + err = exynos_pinmux_config(PERIPH_ID_UART1, PINMUX_FLAG_NONE); + if (err) { + debug("UART1 not configured\n"); + return err; + } + + err = exynos_pinmux_config(PERIPH_ID_UART2, PINMUX_FLAG_NONE); + if (err) { + debug("UART2 not configured\n"); + return err; + } + + err = exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE); + if (err) { + debug("UART3 not configured\n"); + return err; + } + + return 0; +} + +#ifdef CONFIG_BOARD_EARLY_INIT_F +int board_early_init_f(void) +{ + int err; + err = board_uart_init(); + if (err) { + debug("UART init failed\n"); + return err; + } + return err; +} +#endif + int dram_init(void) { gd->ram_size = get_ram_size((long *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE) diff --git a/board/samsung/smdkv310/smdkv310.c b/board/samsung/smdkv310/smdkv310.c index 81ac8f6..805a894 100644 --- a/board/samsung/smdkv310/smdkv310.c +++ b/board/samsung/smdkv310/smdkv310.c @@ -137,3 +137,47 @@ int board_mmc_init(bd_t *bis) return err; } #endif + +static int board_uart_init(void) +{ + int err; + + err = exynos_pinmux_config(PERIPH_ID_UART0, PINMUX_FLAG_NONE); + if (err) { + debug("UART0 not configured\n"); + return err; + } + + err = exynos_pinmux_config(PERIPH_ID_UART1, PINMUX_FLAG_NONE); + if (err) { + debug("UART1 not configured\n"); + return err; + } + + err = exynos_pinmux_config(PERIPH_ID_UART2, PINMUX_FLAG_NONE); + if (err) { + debug("UART2 not configured\n"); + return err; + } + + err = exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE); + if (err) { + debug("UART3 not configured\n"); + return err; + } + + return 0; +} + +#ifdef CONFIG_BOARD_EARLY_INIT_F +int board_early_init_f(void) +{ + int err; + err = board_uart_init(); + if (err) { + debug("UART init failed\n"); + return err; + } + return err; +} +#endif diff --git a/include/configs/origen.h b/include/configs/origen.h index ff2b24d..da59d6d 100644 --- a/include/configs/origen.h +++ b/include/configs/origen.h @@ -36,6 +36,7 @@ #define CONFIG_ARCH_CPU_INIT #define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO +#define CONFIG_BOARD_EARLY_INIT_F /* Keep L2 Cache Disabled */ #define CONFIG_L2_OFF 1 diff --git a/include/configs/smdkv310.h b/include/configs/smdkv310.h index b796b46..a5abe11 100644 --- a/include/configs/smdkv310.h +++ b/include/configs/smdkv310.h @@ -36,6 +36,7 @@ #define CONFIG_ARCH_CPU_INIT #define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO +#define CONFIG_BOARD_EARLY_INIT_F /* Mach Type */ #define CONFIG_MACH_TYPE MACH_TYPE_SMDKV310