From patchwork Wed Sep 13 23:52:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 813669 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="M1/QrlM0"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xsz8R50xjz9sRm for ; Thu, 14 Sep 2017 09:56:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751316AbdIMX4W (ORCPT ); Wed, 13 Sep 2017 19:56:22 -0400 Received: from relmlor4.renesas.com ([210.160.252.174]:42882 "EHLO relmlie3.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751279AbdIMX4V (ORCPT ); Wed, 13 Sep 2017 19:56:21 -0400 Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie3.idc.renesas.com with ESMTP; 14 Sep 2017 08:56:19 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 3163151AA5; Thu, 14 Sep 2017 08:56:19 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.42,390,1500908400"; d="scan'208";a="257808897" Received: from mail-hk2apc01lp0207.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.207]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 14 Sep 2017 08:56:17 +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=BKl58+UDRK6Fu51ZKecygaWgfpIyH6t3BdLjQuz4JL0=; b=M1/QrlM0f4K5Ht4F7Uk9mVADMhSfi6GdK3vYnN9+mHkb51qTRpIMfTvauNBPcOITnlLaFQaCAKa2YXRpcGQ4jxrEg5eSXbvxWTnBpT//Sp8WIk3ntSeIukuIEnA2BjJZ6MxYJFfw8bzeaem0QW6+Qyl0XMT+Tg6gPQSk2Ml3WMs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; Received: from localhost.localdomain (211.11.155.138) by SIXPR06MB0988.apcprd06.prod.outlook.com (2a01:111:e400:51e9::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.11; Wed, 13 Sep 2017 23:56:14 +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, Yoshihiro Shimoda Subject: [PATCH v2] pinctrl: sh-pfc: r8a77995: Add EthernetAVB pins, groups and functions Date: Thu, 14 Sep 2017 08:52:42 +0900 Message-Id: <1505346762-3666-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: SG2PR06CA0085.apcprd06.prod.outlook.com (2603:1096:3:14::11) To SIXPR06MB0988.apcprd06.prod.outlook.com (2a01:111:e400:51e9::29) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e77980b9-fb04-425d-dc51-08d4fb0304ff X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:SIXPR06MB0988; X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0988; 3:x2hI5LiM+IiUlU5Jb6OwchZRIW5iy3RUhKOuXTg6MF0mAu5OiDIt39Yl89BxHdxPDqLMUh4bwOmxuuiygBaxW6a197fk7D4/+B9g8b0Y0efVkxi261dlDlN1w+UktfRSKZn/d8zZh+j4O5YpV5wXBnO+HQCjVS39kCz3LG6RR7LWRKLSCNkAF2WNF4oZLm9ViXeok4m0RzXzgWtphBLJAWyoeoyfCnemwMmJw7N3nuhG0NORdfdoh0X0FJvscpbU; 25:ixzRoWqeL1V86os+nOYT2o6c4np9t1ScZmm4u53bWaqtTMr+ggpGKxIOyQmcgOliJYjlGXv5sxjocQVy1MzKq+ok99jOfMX+qHf62JDpv3cMi3QT2jS0gB15eSEdAHgk+3zjS01j86H9OQlAbY4wXHf8mlMH3bvnbGcWJGrUfKI5t6LnMQMbrS4hTE1SDLcPcDLdztt4pC+/x+fRZUKn+PgRiJ+iLd5p6384OxN/pkR7xpPtuMrQaNEZDFDhjAJgj/AcYAlj7SiREvJoFjjOfW9NN3fmzWC3ja03i7z6wayRKGGd8P/QfvqsS/WwXPGbAdIGM4C/DuNjSmXTxtXeeQ==; 31:CjHCbhUp5oKznooQmMNRdklKGDrtyf3r37OvN62icMsulFlGXpm0v97ri5nw0EEfVWTR2iUGKJZayPigASKx8oGEWsBKPYYLCegF8543ENlDbrMS1HvfwbFOUTLIzL2l5bw6h171mCVDaUnYpM5KZVA49/qLqNlp+j4jD5NoZZTY5D5d2aYZ/lCE6MgZuVO9e/Dzv2RKkXe1NA41Ss2W6cBdX54t7Tw+vEGu80zjlTw= X-MS-TrafficTypeDiagnostic: SIXPR06MB0988: X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0988; 20:7F3yJHZMXRZwqwftk/h+dZ76VASBnop1LowA0ti8V2+0Lyx05Eq7tDHcJ4TAPp+yNkJIG8CpnlVz9Zr/J/T17/28SFgvnL5oyjV63lkQ6+YjVk1ai4Yti2ZKGQlLZRADwh7wnNRdKeyDl8IR3M1DDMqZSxc7lubSkavnvCtTP3GPwqxrNId5GhK0F4UqZillslUsn6zu51Hwq8iePXFyTyeoiehIXDS/yx0UcaRhEHkOncDpJuMctug5v4pnxXWxFsba/DHcK24Vi13UyOCy038mjq2dzcrLStACFW1sWQyhMjTYK/WkgAxdeNmzg8+Vv3RciGw3ESBM7FkODVRk/1v5l5+2d3Upirl3qJQLFWtLslxuWwO54VpR7wHV7PlMguQ0jIdVsiWqj5sNqgKfggI+D7zaN3FbboP9NM74V/+WgGjgvcG76gETn1ND5WMvYNXhfOO5S0tCsUHm3hu+0BRLPsh/jV89KhV15PsYKIfhodiZUithKcogulWNbhUp; 4:s0PtO62UQ7sbw2/kKgVnY+VOTRqLw1bwZK+LHfcSjPg83e8S2qoncTcX1dgk1hW0ACkMtAkSflWexZl5A5rjUnv9jGuArcHry3u60wR20czjFJ3iCFuJLeJIjYh50eZ08IO7IsCUhMnz1baHP8PJEMO01N7glZDq8hcbcGdvs784DAmPj1LBwWN4yFox6fMiwC0cTbHmpk0UCXr9TzOY6V546lfEX+uelN0y90g7fWVLJy8BAys9UESDRqMhC6PP 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)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SIXPR06MB0988; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SIXPR06MB0988; X-Forefront-PRVS: 042957ACD7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(7370300001)(4630300001)(6069001)(6009001)(376002)(346002)(189002)(199003)(47776003)(2906002)(4326008)(81156014)(81166006)(8676002)(33646002)(68736007)(107886003)(110136004)(53936002)(7736002)(305945005)(50226002)(50466002)(48376002)(6486002)(316002)(6506006)(7350300001)(6666003)(16586007)(78352004)(36756003)(42882006)(16526017)(6116002)(3846002)(50986999)(5003940100001)(101416001)(6512007)(106356001)(105586002)(5660300001)(97736004)(189998001)(66066001)(498600001)(25786009)(3720700003); DIR:OUT; SFP:1102; SCL:1; SRVR:SIXPR06MB0988; 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; SIXPR06MB0988; 23:QaRBaaI5Jb8rMQpvn/gmd4Jo+zemwlNyEDn7oFjgTuVBiib1tM2ujfLXQD+oxFFitoN6g2gN5Vn1RKWKDTOPC54hf7Tuc20rXVIurcgmExUlBDMdHa0Uz5tm6dB+q6X8FSZ2C1dc+KPth8spHoohS+RKGrUD0mx1a3emEaZrAssd7MSTJaM/Mr7BuFSogWJ1e+5Ph9oL2zVh8X5gYNEfP9yjEt9SlCB3dQkC105XKzuTQRDBk9fCJwOtlSsyIOC91Art1/bmkVlOwQO2uh0wW8DOks5tccPyqtrc/Y+4P0D0fiFCSo+2yiLYnUaPeBtQFPOr7oEMOwvnNtn1+mRZZ/JGgLFZVhVFqsn0ApzQuuSMnqvbU2Ip/utJlUz1p47iz1VGi8PoqdUElw3qrMi1KxgxxHa9mWjcUKdSg0fNUzpiG8wZpzfa9Ylcacz3dnwCUpDjVWNIHNeBQB7S0YBfuo3yyDj+Ge4628CEo7RQEjag76M6U2KHEpWKc3Z7ccQDJvlyGx+DycxrVhUFez7uEqtLqXEhYpru4vDRnUdwmLSaiFTWrKjLMh97RTuI7iAwgd6i2QZwNpb/EE3i4Q+PyBOZyyAm1Ti9eWOUrRztL/Ci8A4ZND7558asy8o6cka+tgmGVhJV5B4LFlphbI8/htrMG7ccdTsETw8UZ471atNE7EdwYqKjfA0ZYgqyLH8iivamADXBDgF8TA/9UsXLEWh+91TPPmWVjE0nflJRv82oKI+aMuU1J858RdfYXVTpnhzcfb9v3ZwY9T6sSj8ZljKZQLH65XtyJSREku4WcfA/oOtFg0VJigi9ROB9pa7YRbJe4d/TekizFgi+1ZU05R8aojIqd8S0fxXl2BdlFknimgVnOs6iJWfREcmnQDLSPyaPxfNSywarHA4QQo39MWXOMStDu6Ey+tKF0U4/2/C6pmqTFwoiG4VOsQ6oA53EwBZA+36XNW9y1cpCa33naYp5RLLRAk7uHP3EjMhOaeemErO542HGtJNgqCVTbOeeaEPsQQq+Jbbvp+empU7C9KV8LyDqbpeWk29p6Y9iBYglsfApAUJiFt439Wbav0bRASJXyYnTANmjuPUdCJe7+U8eGEY+3KzEoCcLvkUNnazTursteQes2VcIpA/jZHvxQGmAvZHfFLdtoByQLi9ZHg== X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0988; 6:h/7jfk8RgdDhhESOIARZuy0CUkVV8YxWtJElSjVcbWBpyguS/mAe9FymZPIJdyufg7Ih2qlR42MmyabZ6laHYxvnnttpdF0w68FQ7GTP8r+zyWRpA/noLC9t/Roonn0zHx8x434uL1JKsxgB3nG9XCe+JwFXZOBXuzEARUAWNQG/VKfs466YtV9jvevQOYYyF7sbAgu0YqrWrrB02eQDetMhPFB7dQ1zYmoeUOYL3a7VDrmwMEWUDQ+ZiQV25zoyBU+Z6a7YnTacwyaSeYyeheUaqsSEUb8OEtTUk05yiOiUm66UUBfq8gFJxKBbdb1vwU4VX61HFndfMgVU4JadEQ==; 5:qZ5DlgfB8m/5fawgcDHK7NK/OsJ0YfnRX082RxqZ2U8AYzfT1gLdcZy82zKl2eM3SNDe8bzJ1nz6cmADGDlFW5wauj+x0ivb1bTX+ygAlgMYFzM0BfrhVk6+Xl5eyvM5YSjzdrJTlgsqn2IQiH8x8A==; 24:VFWpIwSYqnt71EYgWz1ypvdVFBL87L3g6LtrIcDsN8DZANUTPnkiB9h8QxeLeEyGvLzdeictPpEVYcQwWT3vqkWgwo8llTmGhf+JqSZ8lCc=; 7:ieknacm4rab5SVi56dGGashsB2s/27AyM10tztBBCbUtOpjLQzIhA54NPZxCcVxSgGxDyQbXEt0bsT+M9ZXlNsO8Rs9BraQf/2fmnmQZhkqYDx+KIp7vsdrb4x+WzmdgqFC6e7YsP8rEU/ylhUPLoYfC3ZkgZ5NBPfJ7gSBs9qiLBD00Kk8sC+YMemVSTrl1/qHmnUglKtGEWm1MWVicoRsf4LXuRgmOAX/vWXXeYFY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0988; 20:AYIDCrg/lbLeS4jxUkXDSFoLMpd/8fqSVtljeauDD0AU2bVWTmn59N7XnbSFcfgnZaI1b3T8b59BgV3mvkNEasrvb99R/lT2WnqrLqhfS/G7ZnjWAMUZgsL/uv1dRp41OKWsSQbo5GMVuU9eHcRNZLjBBq5TQJ5+miApoqlYT54= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2017 23:56:14.7025 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SIXPR06MB0988 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org Signed-off-by: Yoshihiro Shimoda Reviewed-by: Geert Uytterhoeven --- About AVB'0', I don't get any feedback from HW team... So, I'd like to follow the current PFC section in the manual. Changes from v1: - Changes the groups like other SoCs (r8a7795 and r8a7796). drivers/pinctrl/sh-pfc/pfc-r8a77995.c | 119 ++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77995.c b/drivers/pinctrl/sh-pfc/pfc-r8a77995.c index 4f5ee1d..0e803e9 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a77995.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a77995.c @@ -936,6 +936,99 @@ enum { PINMUX_GPIO_GP_ALL(), }; +/* - EtherAVB --------------------------------------------------------------- */ +static const unsigned int avb0_link_pins[] = { + /* AVB0_LINK */ + RCAR_GP_PIN(5, 20), +}; +static const unsigned int avb0_link_mux[] = { + AVB0_LINK_MARK, +}; +static const unsigned int avb0_magic_pins[] = { + /* AVB0_MAGIC */ + RCAR_GP_PIN(5, 18), +}; +static const unsigned int avb0_magic_mux[] = { + AVB0_MAGIC_MARK, +}; +static const unsigned int avb0_phy_int_pins[] = { + /* AVB0_PHY_INT */ + RCAR_GP_PIN(5, 19), +}; +static const unsigned int avb0_phy_int_mux[] = { + AVB0_PHY_INT_MARK, +}; +static const unsigned int avb0_mdc_pins[] = { + /* AVB0_MDC, AVB_MDIO */ + RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 16), +}; +static const unsigned int avb0_mdc_mux[] = { + AVB0_MDC_MARK, AVB0_MDIO_MARK, +}; +static const unsigned int avb0_mii_pins[] = { + /* + * AVB0_TX_CTL, AVB0_TXC, AVB0_TD0, + * AVB0_TD1, AVB0_TD2, AVB0_TD3, + * AVB0_RX_CTL, AVB0_RXC, AVB0_RD0, + * AVB0_RD1, AVB0_RD2, AVB0_RD3, + * AVB0_TXCREFCLK + */ + RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), + RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14), + RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5), + RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8), + RCAR_GP_PIN(5, 15), +}; +static const unsigned int avb0_mii_mux[] = { + AVB0_TX_CTL_MARK, AVB0_TXC_MARK, AVB0_TD0_MARK, + AVB0_TD1_MARK, AVB0_TD2_MARK, AVB0_TD3_MARK, + AVB0_RX_CTL_MARK, AVB0_RXC_MARK, AVB0_RD0_MARK, + AVB0_RD1_MARK, AVB0_RD2_MARK, AVB0_RD3_MARK, + AVB0_TXCREFCLK_MARK, +}; +static const unsigned int avb0_avtp_pps_a_pins[] = { + /* AVB0_AVTP_PPS_A */ + RCAR_GP_PIN(5, 2), +}; +static const unsigned int avb0_avtp_pps_a_mux[] = { + AVB0_AVTP_PPS_A_MARK, +}; +static const unsigned int avb0_avtp_match_a_pins[] = { + /* AVB0_AVTP_MATCH_A */ + RCAR_GP_PIN(5, 1), +}; +static const unsigned int avb0_avtp_match_a_mux[] = { + AVB0_AVTP_MATCH_A_MARK, +}; +static const unsigned int avb0_avtp_capture_a_pins[] = { + /* AVB0_AVTP_CAPTURE_A */ + RCAR_GP_PIN(5, 0), +}; +static const unsigned int avb0_avtp_capture_a_mux[] = { + AVB0_AVTP_CAPTURE_A_MARK, +}; +static const unsigned int avb0_avtp_pps_b_pins[] = { + /* AVB0_AVTP_PPS_B */ + RCAR_GP_PIN(4, 16), +}; +static const unsigned int avb0_avtp_pps_b_mux[] = { + AVB0_AVTP_PPS_B_MARK, +}; +static const unsigned int avb0_avtp_match_b_pins[] = { + /* AVB0_AVTP_MATCH_B */ + RCAR_GP_PIN(4, 18), +}; +static const unsigned int avb0_avtp_match_b_mux[] = { + AVB0_AVTP_MATCH_B_MARK, +}; +static const unsigned int avb0_avtp_capture_b_pins[] = { + /* AVB0_AVTP_CAPTURE_B */ + RCAR_GP_PIN(4, 17), +}; +static const unsigned int avb0_avtp_capture_b_mux[] = { + AVB0_AVTP_CAPTURE_B_MARK, +}; + /* - I2C -------------------------------------------------------------------- */ static const unsigned int i2c0_pins[] = { /* SCL, SDA */ @@ -1203,6 +1296,17 @@ enum { }; static const struct sh_pfc_pin_group pinmux_groups[] = { + SH_PFC_PIN_GROUP(avb0_link), + SH_PFC_PIN_GROUP(avb0_magic), + SH_PFC_PIN_GROUP(avb0_phy_int), + SH_PFC_PIN_GROUP(avb0_mdc), + SH_PFC_PIN_GROUP(avb0_mii), + SH_PFC_PIN_GROUP(avb0_avtp_pps_a), + SH_PFC_PIN_GROUP(avb0_avtp_match_a), + SH_PFC_PIN_GROUP(avb0_avtp_capture_a), + SH_PFC_PIN_GROUP(avb0_avtp_pps_b), + SH_PFC_PIN_GROUP(avb0_avtp_match_b), + SH_PFC_PIN_GROUP(avb0_avtp_capture_b), SH_PFC_PIN_GROUP(i2c0), SH_PFC_PIN_GROUP(i2c1), SH_PFC_PIN_GROUP(i2c2_a), @@ -1240,6 +1344,20 @@ enum { SH_PFC_PIN_GROUP(scif_clk), }; +static const char * const avb0_groups[] = { + "avb0_link", + "avb0_magic", + "avb0_phy_int", + "avb0_mdc", + "avb0_mii", + "avb0_avtp_pps_a", + "avb0_avtp_match_a", + "avb0_avtp_capture_a", + "avb0_avtp_pps_b", + "avb0_avtp_match_b", + "avb0_avtp_capture_b", +}; + static const char * const i2c0_groups[] = { "i2c0", }; @@ -1311,6 +1429,7 @@ enum { }; static const struct sh_pfc_function pinmux_functions[] = { + SH_PFC_FUNCTION(avb0), SH_PFC_FUNCTION(i2c0), SH_PFC_FUNCTION(i2c1), SH_PFC_FUNCTION(i2c2),