From patchwork Wed Oct 4 10:22:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 821235 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=renesasgroup.onmicrosoft.com header.i=@renesasgroup.onmicrosoft.com header.b="LnkB3m9V"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3y6XBJ31cVz9sRm for ; Wed, 4 Oct 2017 21:26:32 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751223AbdJDK0b (ORCPT ); Wed, 4 Oct 2017 06:26:31 -0400 Received: from relmlor3.renesas.com ([210.160.252.173]:39346 "EHLO relmlie2.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751114AbdJDK0a (ORCPT ); Wed, 4 Oct 2017 06:26:30 -0400 Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie2.idc.renesas.com with ESMTP; 04 Oct 2017 19:26:28 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 475DD7A8EC; Wed, 4 Oct 2017 19:26:28 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.42,477,1500908400"; d="scan'208";a="259636466" Received: from mail-pu1apc01lp0021.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.21]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 04 Oct 2017 19:26:27 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=qvYzTizQ7YSFbDzxryovwlMV/+PiDO+00seusQ/0rl8=; b=LnkB3m9VzUP9gCrHg/yi5WJWPIgIUNPr1yNfc0JSW4zXZZ7IluscDbwxPR4L5qnKPIG03amP62aHecWjivlFck+6rKulF7nvHxCl6LAYg3ZRxVPxwpedY0NwYeKy+MtFJMAd+uvJJcmRaefvenRYuUoPabfvcX27J3QUvOGatHU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; Received: from localhost.localdomain (211.11.155.138) by SG2PR06MB0982.apcprd06.prod.outlook.com (2a01:111:e400:5213::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 4 Oct 2017 10:26:23 +0000 From: Yoshihiro Shimoda To: laurent.pinchart@ideasonboard.com, geert+renesas@glider.be, linus.walleij@linaro.org Cc: linux-renesas-soc@vger.kernel.org, linux-gpio@vger.kernel.org, Takeshi Kihara , Yoshihiro Shimoda Subject: [PATCH] pinctrl: sh-pfc: r8a77995: Add PWM pins, groups and functions Date: Wed, 4 Oct 2017 19:22:39 +0900 Message-Id: <1507112560-9802-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: HK2PR04CA0087.apcprd04.prod.outlook.com (2603:1096:202:15::31) To SG2PR06MB0982.apcprd06.prod.outlook.com (2a01:111:e400:5213::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0c8363a4-5abd-4867-240b-08d50b125d4d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081); SRVR:SG2PR06MB0982; X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0982; 3:NyKuEBMuCHyafv3zrk9H9zfOA+y+POyKTnxy16PUoCOQL6iRrWfDmd47PPSJSJXmU67QcsiWb4mbR2aqWEhEn6ylON8G1xTmwNidWjF3EnQ7bNshVaKSHjrDfsx+cvVm5dKywv+3h2IvTASNNauqB7Tz7VAbP3TY0yfAbFnWTI3Z/CZ6tI00erdqdPRvGI93MH4iOxVMxgMush10XNQYi+gEETKhUfc0hp48CXQ+O2Sj7xSeOGiWMTdantfl09nh; 25:iaHh7HijBktUXVtd2zB5jECcDufaZBAVlQdhgWzYK3abj4SiVpheAILyuJAjRAoQpf7GBWEOeYISspH3JklHWKhZnpNhdJozRq5t89V/AV0BDUO8x7DtVtB1FLL4fDLQpcWJ5FjzWIRY08eJ1b57INqSvUBhjA6xvNgVrRwk/3cnNuIpgwSlEFP0VVztouD6B4YygEgx9prWnKho+bCgXjKi1k/K7ogc5+SkoCogZ0KkCI7BgGQn4/EbU5bYSnK1uTkeFtETE4qi5iWXRR31PvPdopY+Hz2WaUEXtF4Tmhqnsi/tYECjZ7fWM9LKKOo3ptD2JloOB5962d9vB15vfg==; 31:jq+n38V1tSiH+HkuVo2P4zgvVZRx0LfFrz0pzdbL9MtWYC+BHhQh/o5R6PUqYasaWopW3l2a5rUdYZss8AcdsS2PykLf8GwlPgqkmfAyE7/vRW29IcjT3k6UQVHBFtBZhxfghR7gLk5rATF5bDKAcGjkHIDKidgJHBrQsiG9IcR0e3Z+d4sDGpPoKLyBivrFe0eoacZaDXd8qm4yYzzzXZxF+axDBuWMck0aZn6nFZM= X-MS-TrafficTypeDiagnostic: SG2PR06MB0982: X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0982; 20:NApDYqiIqQaDyJQR/ggbmg8E5D/8GOI4sbSK3H+pJY8M8hM9AZ9FdN6KhEfER/Qkz6Z5SLn/4xuAoWB7De1QqQpNrpZyCuCLmKA56WxoejGunTPKparT4yWUaOwG1fc59KpAAHhdP76asHf9suROYscnJxFJYvVJRjQyy3ef7/vPeKBD8MtwK+H8Bnjcsk/jwROM0AVab5i7xL9MU2dwk5jQu1ToSOglT1zZ3nhfgy88krs4LgGelvErxupxddy2HNRLWoIBL531jaH7u6C8uRkxIImjpyMrBDMM5ftFoi+4oje7LSJ0zciKUfUL6E7u9EBA3cqbcq8g+1Bz+any7TvwOcKOr/ESj60PT28IWrFi1WuwbBoq6FWCrDOK8vphTkcxXQhaod1lxPVCNlr9ZP+btM+XQTExPaHIIYCCfhS3Rehhv9c3qrbBRIpvz/eEI6PijGEu2df2s96ynEbRU4aZmisNi63+P7e+/yDUgYTj4M80rivfk8qGKmejJrx5; 4:n1qtmzUsuaT784pKCtzhSL0Zod6yM+ShOlJL+U37i76zXIcX2hogoZApwseEeaXnSAy2RQUwTLOhR7ATorNvmkgMmGlABdXWaw7npcF0DsgPw7ahq6P+72S1tM7ITE2PnscD5B1Q2PVJsHluTORJeBpMn+HscGJep/1OJ9Ufl7en/OVxuXPELI6wyVayjA/gq5j0aIHuYkdvIvVAtIJgxSPdCygwo9flpPjmIdCC/kPU4CZ2NqYcTzzjcSNmwXgR X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SG2PR06MB0982; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SG2PR06MB0982; X-Forefront-PRVS: 0450A714CB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(6009001)(39860400002)(346002)(376002)(189002)(199003)(8936002)(36756003)(575784001)(81156014)(68736007)(97736004)(105586002)(54906003)(6666003)(101416001)(305945005)(6116002)(3846002)(50226002)(42882006)(50986999)(4326008)(16526018)(81166006)(8676002)(107886003)(33646002)(47776003)(48376002)(66066001)(53936002)(7736002)(6486002)(6512007)(25786009)(5003940100001)(6506006)(106356001)(78352004)(189998001)(16586007)(5660300001)(50466002)(498600001)(2906002)(316002)(3720700003); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR06MB0982; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:0; A:0; LANG:en; Received-SPF: None (protection.outlook.com: localhost.localdomain does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0982; 23:X8hpFR7w40K2lfRCV0o5GlnUfIHW9GjV09OAjnonj0tViTSK6OOBU8DP6cCHtI7YyF670POPMF/fMsBhwvf+fiqOFSPR59BKCEbBr890CtfzX+Nly7HmY6uNRum3DDGBA3KMl12j+E7KQDFFwTae1P/0GfpH8d1ITrdZ4qv1iA1iDJV5oQ5mZWftLVB311E1WgxPipTrpM1K6j8lrlB/puojCu9sxjYh9z0/nOQO7FtVWOVgEOLEl5nB5ILY0BjIG9zR1E9ZandcqZ34KBDqrl12568sRkvQu49cXJiznZcjx9ktAU2GtEuV+E3fb38T7sEZs6QEb/h8k1lvjRO58e/H0BUMHhXuslkBwiiIN/ye5KhtoCFAPswRgIuRHF2mNHkvmN6nB93BQB1jPIAlXACMhmH90iWqj2zTxXunVOQ6ifPXw/CFXUPlO3i4nN08puoO/ArvsMAbtCRIj9xXqjjR49xRhbvKvFnZTGuS+6hxvy01kQhyfBovii2CSl4gxeZV09XZgemGM0kPBgpTHdmVGM2ietjbU2Mnxv/srL6GM0Ln5Ftirj2koJT3dpjp4YXYSLUg0qOE4+WOjjGMxPgrNWzSKaI8KA2oAbeJxfZO7uD2foKIVp+/bRavJJxzdIr9Q2tFvpvnQbNN4KTxs4YVc7iBv3h7owwn64Y3gJX5oSodHLocPE5xU/JM70mdHNyDnfo/LAlZS4qIMJR4AHjqBQwpWPVLbsRG11rov2513hXaJAyr/IvgnnP3Ls++2WYiCzk5q7KtH1CITpZkJVBIS3CjStqM8MaiIwTGuJwQeDT2Zp66GEz/7Ib1+WlmyissOuCX3y6UT/81+tyFQsjE1ABUl+v16PHyBRlEoss4M+jE+hP1Omvwl8tAuMTpaw7mUpY01q9aIuMmMZ/wSmNjSCskStZi99a3nvA63K4TLwVPIVgrrzjBlmIhpNFBCq7q+mI2RaLQvpblqiJ1Xb9gaxp65R1E2KveWNFedEC+6f0cVU9VsMUQQ44LBKk677lS16q29MKoeZrttU84MOoyp+9zQ0mJVDNu1Ig2VWy7WjEZ4woNziadirFWaGB5qSiqo409Ncp0esuUB00cTd4woFaoRfotzggdmsa4viON7FjLZyc3Sa6r3d431JIhFavq0gp6SlBbCSzTzrWYIQ== X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0982; 6:fjllTxTrDPvQQRtnYC7QEXKkGPEx19Wsrtj9bF2sgVkJ7YodKv4us1UswMBVUcpujmL/dr6lqvQWvfnnSYSy/9k7wRsXoj1LqSHlEArcB07CdfbnF+HiAmB6Qyvfb8HIYp/pyq/BNhV5Fpn/EledCGLvFkbj7vVKuxZvwsZAS6QmrUw6uBc7/396SmmDB+Tv6kHZw1PFEsJDryHzGUCCKxGLbRgveDc7IhyNQK7xjpDKchX27nMFtGGn6R6S/l7yZQYOe4K9bHY8YcytaMkwAzf2x+X1TLiGu6jbV8jzZX8kQT78ycQ2tR+/lcDdLbdvP6JQpji+bFP8a/3RBQ73QA==; 5:XXW7QkRVJgfBtf9UXTF7OhdfSivZIZ6/NjuF1KCjoAzaTHA3cBM3xPgP9M8k3Y2uhAW/ExWv4WaLjXnKW/dzGzFSRraLgQPTY/fZ9oFLL4cjEH177SMA+uRakTP/VUKYGxNFHq6u0choHz724F9inA==; 24:msjF7sIwDKw91pZrEfpvVqfFoMkVgOaUUt+iIUdDhvIZV36tGacY/TTuYKZwI6R9bhLk9gHSuH5NisiL8a2OZKrS08p2br1zwM8ccYxiaQg=; 7:hluhiL5qsQh2nBI4iHoLbUf4vnztXPh3XPOhPot3QodBnNgR+ftZXDJ1cjAQZSB1gutJhHBON4EZWCPcXudU6zmtbVEFMLSMxkBI3UUp9Dab/q3WtJ+rWGjgzXMReAuCNW1x8p2/zQfBkBK17yiwxBqxIUlzt3RAsxG9vcTaFCWgEyut424H43e4d5xjgyh5S2PTcGum1BGL5gkftN7086c8d72sO0bH74Or8Clntwc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0982; 20:o9mvjvghokK19/RyXkbbWCKhzNad9EjXI6SrrjH/ewuIkcSUIbppWIDzrY9bWY95YdlYC9W9itEJO6AtRNq4XSz0GFz0fD5ld+5XRfUWa8km8itGQncixa4qFL7diZKGYjOQMLCkdVdKD2rn8kq74jedrekcvdwVP3ur6i7j2fg= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2017 10:26:23.6852 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB0982 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Takeshi Kihara This patch adds support for PWM on r8a77995. Signed-off-by: Takeshi Kihara Signed-off-by: Yoshihiro Shimoda Reviewed-by: Geert Uytterhoeven --- This patch is based on the renesas-drivers.git / renesas-drivers-2017-10-03-v4.14-rc3 tag. drivers/pinctrl/sh-pfc/pfc-r8a77995.c | 152 ++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77995.c b/drivers/pinctrl/sh-pfc/pfc-r8a77995.c index 442ff0f..3f67b8d 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a77995.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a77995.c @@ -1111,6 +1111,118 @@ enum { MMC_CLK_MARK, MMC_CMD_MARK, }; +/* - PWM0 ------------------------------------------------------------------ */ +static const unsigned int pwm0_a_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 1), +}; + +static const unsigned int pwm0_a_mux[] = { + PWM0_A_MARK, +}; + +static const unsigned int pwm0_b_pins[] = { + /* PWM */ + RCAR_GP_PIN(1, 18), +}; + +static const unsigned int pwm0_b_mux[] = { + PWM0_B_MARK, +}; + +static const unsigned int pwm0_c_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 29), +}; + +static const unsigned int pwm0_c_mux[] = { + PWM0_C_MARK, +}; + +/* - PWM1 ------------------------------------------------------------------ */ +static const unsigned int pwm1_a_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 2), +}; + +static const unsigned int pwm1_a_mux[] = { + PWM1_A_MARK, +}; + +static const unsigned int pwm1_b_pins[] = { + /* PWM */ + RCAR_GP_PIN(1, 19), +}; + +static const unsigned int pwm1_b_mux[] = { + PWM1_B_MARK, +}; + +static const unsigned int pwm1_c_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 30), +}; + +static const unsigned int pwm1_c_mux[] = { + PWM1_C_MARK, +}; + +/* - PWM2 ------------------------------------------------------------------ */ +static const unsigned int pwm2_a_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 3), +}; + +static const unsigned int pwm2_a_mux[] = { + PWM2_A_MARK, +}; + +static const unsigned int pwm2_b_pins[] = { + /* PWM */ + RCAR_GP_PIN(1, 22), +}; + +static const unsigned int pwm2_b_mux[] = { + PWM2_B_MARK, +}; + +static const unsigned int pwm2_c_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 31), +}; + +static const unsigned int pwm2_c_mux[] = { + PWM2_C_MARK, +}; + +/* - PWM3 ------------------------------------------------------------------ */ +static const unsigned int pwm3_a_pins[] = { + /* PWM */ + RCAR_GP_PIN(2, 4), +}; + +static const unsigned int pwm3_a_mux[] = { + PWM3_A_MARK, +}; + +static const unsigned int pwm3_b_pins[] = { + /* PWM */ + RCAR_GP_PIN(1, 27), +}; + +static const unsigned int pwm3_b_mux[] = { + PWM3_B_MARK, +}; + +static const unsigned int pwm3_c_pins[] = { + /* PWM */ + RCAR_GP_PIN(4, 0), +}; + +static const unsigned int pwm3_c_mux[] = { + PWM3_C_MARK, +}; + /* - SCIF0 ------------------------------------------------------------------ */ static const unsigned int scif0_data_a_pins[] = { /* RX, TX */ @@ -1326,6 +1438,18 @@ enum { SH_PFC_PIN_GROUP(mmc_data4), SH_PFC_PIN_GROUP(mmc_data8), SH_PFC_PIN_GROUP(mmc_ctrl), + SH_PFC_PIN_GROUP(pwm0_a), + SH_PFC_PIN_GROUP(pwm0_b), + SH_PFC_PIN_GROUP(pwm0_c), + SH_PFC_PIN_GROUP(pwm1_a), + SH_PFC_PIN_GROUP(pwm1_b), + SH_PFC_PIN_GROUP(pwm1_c), + SH_PFC_PIN_GROUP(pwm2_a), + SH_PFC_PIN_GROUP(pwm2_b), + SH_PFC_PIN_GROUP(pwm2_c), + SH_PFC_PIN_GROUP(pwm3_a), + SH_PFC_PIN_GROUP(pwm3_b), + SH_PFC_PIN_GROUP(pwm3_c), SH_PFC_PIN_GROUP(scif0_data_a), SH_PFC_PIN_GROUP(scif0_clk_a), SH_PFC_PIN_GROUP(scif0_data_b), @@ -1392,6 +1516,30 @@ enum { "mmc_ctrl", }; +static const char * const pwm0_groups[] = { + "pwm0_a", + "pwm0_b", + "pwm0_c", +}; + +static const char * const pwm1_groups[] = { + "pwm1_a", + "pwm1_b", + "pwm1_c", +}; + +static const char * const pwm2_groups[] = { + "pwm2_a", + "pwm2_b", + "pwm2_c", +}; + +static const char * const pwm3_groups[] = { + "pwm3_a", + "pwm3_b", + "pwm3_c", +}; + static const char * const scif0_groups[] = { "scif0_data_a", "scif0_clk_a", @@ -1449,6 +1597,10 @@ enum { SH_PFC_FUNCTION(i2c2), SH_PFC_FUNCTION(i2c3), SH_PFC_FUNCTION(mmc), + SH_PFC_FUNCTION(pwm0), + SH_PFC_FUNCTION(pwm1), + SH_PFC_FUNCTION(pwm2), + SH_PFC_FUNCTION(pwm3), SH_PFC_FUNCTION(scif0), SH_PFC_FUNCTION(scif1), SH_PFC_FUNCTION(scif2),