Message ID | 20221031100843.14579-2-clin@suse.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp2222867wru; Mon, 31 Oct 2022 03:11:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7YpetUAV555q2UrojFOSyEJXn1vgN2405sO86msCMSYLdtki11pjvGAWaUpDBTtHwlrBsD X-Received: by 2002:a17:906:5a6a:b0:7a6:bad5:8295 with SMTP id my42-20020a1709065a6a00b007a6bad58295mr12274573ejc.647.1667211097940; Mon, 31 Oct 2022 03:11:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1667211097; cv=pass; d=google.com; s=arc-20160816; b=kLIJPKwSlMpQPvnX0hgBqmEVGhMN1Nbw76dArgr2Y5kiywo2lmy5ulAel5JAo6Wb83 o7pxOA0xtu2Vdbm5nABINFX92eoQNA0ktiJDaR9OjPotkLP7Nm6aQtRi0It6pTPxGJh4 a9otcxiFFQHDPKOTnCwoqqzsCMZnV6GsxdWyreMzECMrEmNRdWrKYLHoOkEJ3jnGe/r2 NPgxr1f1SdQCiss7pKDnM6H9uINKTWa263/FLvE792ZHbm9zNO215IqbyVQ9hSan7nN2 J8ZGVoRa7u7cBznM0C9PkgZNEF5DlLm50viVJCpFAXwuq81cBi18T/XbWjVx1iEfVoYY KMww== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=huVVdILTJCAEFHYS19X7k6dqMz7IAtXdnu9nM3EBHoE=; b=U3CnSX32u/o5R9PrnWr9Us9GvUP1FZlHKYdxsesqnvla4TYXSyUftbGztalhoSaQJi Te6yzpa7dNJniLz0Q32iQiLsD2UEvY0roEA0kbGg7d5/7pFQ74SS8LOdw41VO4xJuEmz uPfzS7TOsop8dBndSOmgta2Z6eBQpX9b4XbVeeESDKs35PTNW1nNzT9BBmqi8XnjVAQn Z7aQFBIvBK9tQ2/u21Y9hrxesE2BIY+HjpffPnaPWJ+0GmQceFhAoNL6HMbwLXt679e5 Jgre0EXwJ/7icqelH1EgIrvczfDsw9LNXEls8vVbBhvNnCI83HMeXS4h4nw12NfJxBgZ P1ug== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=UVCAUGx7; arc=pass (i=1 spf=pass spfdomain=suse.com dkim=pass dkdomain=suse.com dmarc=pass fromdomain=suse.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sc5-20020a1709078a0500b0078d2ecb1d38si8147717ejc.832.2022.10.31.03.11.14; Mon, 31 Oct 2022 03:11:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=UVCAUGx7; arc=pass (i=1 spf=pass spfdomain=suse.com dkim=pass dkdomain=suse.com dmarc=pass fromdomain=suse.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230063AbiJaKJb (ORCPT <rfc822;kartikey406@gmail.com> + 99 others); Mon, 31 Oct 2022 06:09:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230055AbiJaKJ1 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 31 Oct 2022 06:09:27 -0400 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2089.outbound.protection.outlook.com [40.107.249.89]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD2F2DEF8; Mon, 31 Oct 2022 03:09:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CZC+pVVNvMN4oM8EVvRiA3sOOw/39zKPuTeqbx7lmsvITUGqa51+41Y+9hrwUX3VrsXTWtGhbuCOQSFFqYj1N6W5NQLbzKJhSPVa7MSXS9jw2JXGV/u+bbh1iCP4oKgF08r9WDdm+p9o4Dw/+7KvqeUg7KumYYO+dokxiNKShHgq76uhtdq3+RGeksJ6fZrdnPEOz8ybBg5zvTecGJrMu5eDjNzwh7N9VbfakzwO+ps8qn/iel50w+7zXoNBG03gzjxd3vp6KrHykffmzNfah5W7x6lZDUvCjfzGJVlQ1Sgc70OmhQmbBS2ZFQbrkVRnioVWweDTzp8EbcSD/SEJKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=huVVdILTJCAEFHYS19X7k6dqMz7IAtXdnu9nM3EBHoE=; b=IL/OA1KJicRVw5ctwHI30gCDMw46s5l2UjTenqJ8KZY4dCKu3OUvconl01B4l/8maV9tKoiGMcFoEmiLcTXei3Z0yAt5EqHOnBW1c8uq0BDQjS/qBIzrN9yQbXjm6Xudul67lX7sJXL3WzJ7W7+v5spWA2aVw/+jKfdF8NpLfiZF1hWLVQ+NKqoyi70MKdyfg/mExuFVZqP4BFg8xYQN7HxhH0m8vUB7+qB8TvgQ2HoXo3zsS8hhBW1t5B6arl8DBDs85cZ7Pxt2dld7E/BnRxIQQNyl/lm7lUqayGu4fd400hmUTQCIdXQL77rTeRvwcibyPl6R0vCxhG8HESE4+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=huVVdILTJCAEFHYS19X7k6dqMz7IAtXdnu9nM3EBHoE=; b=UVCAUGx7fvlOGGoLga3Ucinp9qv3jhSSqrwW3QEK2vwM3Jf0gX/i1l/pMrFP764sIRm9wygUmOW/wiTcjs3KwDkjBpzQJ7GyZHFsxkQurkoypjhC+dcn28L6vz0HciZEySs3/ed0WtzrRHdgKaPIruNtSIz8RqyMTDgu53m3fU7xWQEHWlupq6zFBseG2YUbHjvGDFsxL/eaLYCSRUfGjNMrgi17myTlWQlTVarX+iALSdKxg5L9ycyPxJXVE6M9mAZNZcISGa+zv8wuIzDj5ZWyyc6lkHdcwpIYoLbu6jE2qpuW/4wtYHLv9+Vsrd6ud7u3+u2OP3lKGGEYHRQiKg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VI1PR0402MB3439.eurprd04.prod.outlook.com (2603:10a6:803:4::13) by DU2PR04MB8886.eurprd04.prod.outlook.com (2603:10a6:10:2e1::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Mon, 31 Oct 2022 10:09:23 +0000 Received: from VI1PR0402MB3439.eurprd04.prod.outlook.com ([fe80::41c4:5b70:6fec:a963]) by VI1PR0402MB3439.eurprd04.prod.outlook.com ([fe80::41c4:5b70:6fec:a963%7]) with mapi id 15.20.5746.028; Mon, 31 Oct 2022 10:09:23 +0000 From: Chester Lin <clin@suse.com> To: Rob Herring <robh+dt@kernel.org>, Linus Walleij <linus.walleij@linaro.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: Chester Lin <clin@suse.com>, s32@nxp.com, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Larisa Grigore <larisa.grigore@nxp.com>, Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com>, =?utf-8?q?Andreas_F?= =?utf-8?q?=C3=A4rber?= <afaerber@suse.de>, Matthias Brugger <mbrugger@suse.com> Subject: [PATCH 1/2] dt-bindings: pinctrl: add schema for NXP S32 SoCs Date: Mon, 31 Oct 2022 18:08:42 +0800 Message-Id: <20221031100843.14579-2-clin@suse.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221031100843.14579-1-clin@suse.com> References: <20221031100843.14579-1-clin@suse.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: TYAPR01CA0206.jpnprd01.prod.outlook.com (2603:1096:404:29::26) To VI1PR0402MB3439.eurprd04.prod.outlook.com (2603:10a6:803:4::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1PR0402MB3439:EE_|DU2PR04MB8886:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a5f7a76-03ca-41bd-3074-08dabb27fc34 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fuP9GnS524Iz6Q7xr9CfzmDYzeQeMMx3TokUydVQJC08mZQ+e8JeKJcENxexIdEMLotNRf4RSgiZfWWs+XELtF7Zs9o6An2CIjPlUpnT7UNumI5oAK6GGpsyM/cBM/hIA+XErSm6yczvbhAAy1tQyf5V3TeaZRyY3D0ZHpmbtvYhtSqnhH/Y4R49MbTgYAu36q/uyDNBTot9nsGGjJ+7gUR1ROFjTLGRAyfco3HzvnklkxmSVGautueOij0s6HV3/mJ5HexT1LCD/Zbx3CVpdPDqnQFQYwFKVOpwYw8CZ8lwQUqdIq//Twuu3urYkdEQD4VuYKuLYu0uy/clc6clHeaHoJF9W/ajrsV6kCsU7gOXY/hCNL/DgUMAnSb4WgSxEMprsXD/jTfyz3OlyygqO0k2Pg68Lua9gxdSe7Mn27Gcuvl0JyFlFeBE1H2GbDeuWcpi7xhQL+BnVYBaB5MHXFB4X/yUUP2yE3Cb9ZBpcZk1uDBuPJ8MwcSGGCyqmIFq+YxA3GDN8+q4156gU2YuyQ8ZTQ4c6GuOMY3mMV4AVdj/VgCpASonHUbiHjMP8KW/z4jQAqUT3RCf70Vx4okCFWQSLuFAh4aFy72Ec+Ji9F2+s+UIYxthj5WKS7ESncGMblGS9BAmkw9b3eLNwrQV3CjX8JVjTcR64WCF55X1osGG1BlNad8dvZ0z8XV2C+vaNT24ivTWY/zaJdDOpSMOnT8c2YKhueUQWSG7FKR5mG4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0402MB3439.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(39860400002)(136003)(376002)(346002)(366004)(396003)(451199015)(54906003)(316002)(5660300002)(4326008)(478600001)(6486002)(86362001)(8676002)(110136005)(6506007)(6666004)(107886003)(966005)(36756003)(38100700002)(186003)(7416002)(2906002)(66946007)(26005)(6512007)(66556008)(66476007)(2616005)(40140700001)(8936002)(1076003)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OJTFkbC4Ybm0vd78PBJnlt8oERro7C0zABbYdub+Xn8R+VTLZfi+bVFJ3+04//sfRXCWPTqcLKd2wL/i763UPPX1CdLSuYi0Jxq4BvkveWf6tpgcHGCkw7Dxr5pF/WKqxtREnUOrA4BKJyZr8E5XyvPDYm38R+KQRvdQzI3zKoNxa4ae/Yu3I0VxcCPEhgd9CMkYbli3RwobIYadN3reG9oEYRW3Gkvw75v8Q+hLTKiQBmW9kzeaNGMohk9JPBgxtg1aKyDB7JdPVUe8R2KUiLWvkJxPI/p6RwpbQ3JZTz1XdXA61N4C5x+Sm9EmON/+SZj4NlZKxLzB2fDeirotFd7xfcTr3aA3L8Hm0g57phAZGBwlRWsgVSQa+YC57qq6NuI59raptTErM3yEfy9vn3iKFr96VaxJtMGN3HKdHXB1lWlesqjWDlXehTKDgMUIw2DKtI3LCqjeF5M52nFvidAbP8/gcd3x7sH5HzyaZFiubJP+ACTlmRy183ISPQ8JcyAYKx65XFB+/mmyqwA0QDyEc8ONlqOjdy1GiA6GQo5Zd80Nyd6Sv1dRQXAbXvAgUOVlcDEo6aZzvuEOgSjRwsELfzPSQ8yLfqHROWSKDuK8APc+Y0mohesKCggU7e2UzJQmDBc5O1xNuCh+joazaJV+Zfz8fQLCra66PtsBSivQ6NoS+Od8SYSt+Q4CWXICrJv+hDBP9A585UTduwGS8EbvT/mHBHeBRx1KMhmz/opA2SlRcnSSrD7/u2BJ69m0Iu0eRnt0UMT+oH1d5BVLMdmfUBpDNOcwy44eCLAqAqVlg71p6+H1fumLTICQ9vtRjCFLTNrWntUcqzaGzmllxPN8/3KCBl8jShvU7W68Ult0B68KmzcfeN08IlM6bKCS2FeYjMOx4c15yv0+bzvhOEHekGORGQT16kPPzDU7x8kisHqBjZlYDvEnSyQu71062vlbYa6Acv5BcuQhSgTkMewlai91UAi8tPdznuazuKEnb3GpSGGvUxkuNDPcZRNTAQTHpzZkv9MjArAIyv8Qd//9BeGfhC85JdYmCRxB+RsKZpUIMsvoZtCnOliLZ0wVZHB0ZaTDVFJG3L6hhV1gb1LCzEU8G7Xz9WoDfmxUAWee2uVK8HqsRa0JQaGv+XhgUDzXgyanBS0Cy5Y0yjA/EPSQMeJ0B6UjMa+E3vGUv6hjmXVlcRDP9gjJ3o0VLJ4sMsEzLGin+zHSF3fVcYUGfsoM/A8Y+U6uph1bMG7u4mJOAOLuL8YGxVdeiSzPn77NhGLWbUZ2+DdhVBcF0hmokjVtl+XPpX+jZY9Rbp+itaFAqdBUlm2iGxYVfGE+tuyBQWYvZJ1v8zbyvhv/NZvJOk7qAd5l8Vo+EiWxum1uWDoXXzyPD+sPhjKQrhMQvS7hWMZssVqZulcmgJxbG0TaU/kenCs6YkThCl/Rl0im9fL84izAEGPQog0x9hrlECQszY3SnioUdWn8AFST5wgy1iFoUZ9LTTE1Um9rs4kWp7f3YsfElzMinxWvkbgtT64iGYG+dHdUJFtCT69astVTx63AOOtXVCvq/wgxdIfeEVU= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a5f7a76-03ca-41bd-3074-08dabb27fc34 X-MS-Exchange-CrossTenant-AuthSource: VI1PR0402MB3439.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2022 10:09:23.6993 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bLmn9ydyEkqtjdMdLYATSjIFRtic7b+meMuqgzskDTw77RppKdOAx0hdAU2wN97M X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8886 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748197543901350417?= X-GMAIL-MSGID: =?utf-8?q?1748197543901350417?= |
Series |
Add pinctrl support for S32 SoC family
|
|
Commit Message
Chester Lin
Oct. 31, 2022, 10:08 a.m. UTC
Add DT schema for the pinctrl driver of NXP S32 SoC family. Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> Signed-off-by: Chester Lin <clin@suse.com> --- .../pinctrl/nxp,s32cc-siul2-pinctrl.yaml | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml
Comments
On Mon, Oct 31, 2022 at 06:08:42PM +0800, Chester Lin wrote: > Add DT schema for the pinctrl driver of NXP S32 SoC family. > > Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> > Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> > Signed-off-by: Chester Lin <clin@suse.com> > --- > .../pinctrl/nxp,s32cc-siul2-pinctrl.yaml | 91 +++++++++++++++++++ > 1 file changed, 91 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml > new file mode 100644 > index 000000000000..eafb9091cbf7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml > @@ -0,0 +1,91 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (c) 2022 NXP > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/nxp,s32cc-siul2-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP S32 Common Chassis SIUL2 iomux controller > + > +maintainers: > + - Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> > + - Chester Lin <clin@suse.com> > + > +description: | > + Core driver for the pin controller found on S32 Common Chassis SoC. > + > +properties: > + compatible: > + enum: > + - nxp,s32g-siul2-pinctrl > + > + reg: > + minItems: 5 > + maxItems: 6 > + description: A list of register regions to be reserved. Need to be explicit about what each entry is. > + > + nxp,pins: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + A list of [start, end] pin ID boundaries that correspond to each of > + the register regions reserved. Looks like a matrix rather than an array. > + > +required: > + - compatible > + - reg > + - nxp,pins > + > +patternProperties: > + '_pins$': s/_/-/ > + type: object additionalProperties: false (and a blank line after) > + patternProperties: > + '_grp[0-9]$': s/_/-/ > + type: object > + allOf: > + - $ref: pinmux-node.yaml# > + - $ref: pincfg-node.yaml# unevaluatedProperties: false > + description: > + Pinctrl node's client devices specify pin muxes using subnodes, > + which in turn use the standard properties below. > + > +additionalProperties: false > + > +examples: > + - | > + > + pinctrl: siul2-pinctrl@4009c240 { pinctrl@... > + compatible = "nxp,s32g-siul2-pinctrl"; > + > + /* MSCR range */ > + reg = <0x4009c240 0x198>, > + <0x44010400 0x2c>, > + <0x44010480 0xbc>, > + /* MSCR range */ > + <0x4009ca40 0x150>, > + <0x44010c1c 0x45c>, > + <0x440110f8 0x108>; What is in these holes in the memory map? Is this part of some larger block? If so, that block needs to be described. > + > + /* MSCR range */ > + nxp,pins = <0 101>, > + <112 122>, > + <144 190>, > + /* IMCR range */ > + <512 595>, > + <631 909>, > + <942 1007>; > + > + llce_can0_pins { > + llce_can0_grp0 { > + pinmux = <0x2b0>; > + input-enable; > + slew-rate = <0x00>; > + }; > + > + llce_can0_grp1 { > + pinmux = <0x2c2>; > + output-enable; > + slew-rate = <0x00>; > + }; > + }; > + }; > +... > -- > 2.37.3 > >
Hi Chester, thanks for your patch! On Mon, Oct 31, 2022 at 11:09 AM Chester Lin <clin@suse.com> wrote: > Add DT schema for the pinctrl driver of NXP S32 SoC family. > > Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> > Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> > Signed-off-by: Chester Lin <clin@suse.com> (...) > + nxp,pins: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + A list of [start, end] pin ID boundaries that correspond to each of > + the register regions reserved. That's an interesting approach. But what about just hardcoding this into the driver instead? If you have the compatible, surely you know these indexes from that compatible string? Yours, Linus Walleij
Hi Rob, Thank you for reviewing this patch. On Wed, Nov 02, 2022 at 10:49:03AM -0500, Rob Herring wrote: > On Mon, Oct 31, 2022 at 06:08:42PM +0800, Chester Lin wrote: > > Add DT schema for the pinctrl driver of NXP S32 SoC family. > > > > Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> > > Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> > > Signed-off-by: Chester Lin <clin@suse.com> > > --- > > .../pinctrl/nxp,s32cc-siul2-pinctrl.yaml | 91 +++++++++++++++++++ > > 1 file changed, 91 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml > > new file mode 100644 > > index 000000000000..eafb9091cbf7 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml > > @@ -0,0 +1,91 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +# Copyright (c) 2022 NXP > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/pinctrl/nxp,s32cc-siul2-pinctrl.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: NXP S32 Common Chassis SIUL2 iomux controller > > + > > +maintainers: > > + - Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> > > + - Chester Lin <clin@suse.com> > > + > > +description: | > > + Core driver for the pin controller found on S32 Common Chassis SoC. > > + > > +properties: > > + compatible: > > + enum: > > + - nxp,s32g-siul2-pinctrl > > + > > + reg: > > + minItems: 5 > > + maxItems: 6 > > + description: A list of register regions to be reserved. > > Need to be explicit about what each entry is. > They are - MSCR registers group 0 managed by the SIUL2 controller #0 - MSCR registers group 1 managed by the SIUL2 controller #1 - MSCR registers group 2 managed by the SIUL2 controller #1 - IMCR registers group 0 managed by the SIUL2 controller #0 - IMCR registers group 1 managed by the SIUL2 controller #1 - IMCR registers group 2 managed by the SIUL2 controller #1 - MSCR: Multiplexed Signal Configuration Register An MSCR register can configure the associated pin as either a GPIO pin or a function output pin depends on the selected signal source. - IMCR: Input Multiplexed Signal Configuration Register An IMCR register can configure the associated pin as function input pin depends on the selected signal source. I will add descriptions for each entry in v2, thanks. > > + > > + nxp,pins: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + description: > > + A list of [start, end] pin ID boundaries that correspond to each of > > + the register regions reserved. > > Looks like a matrix rather than an array. > > > + > > +required: > > + - compatible > > + - reg > > + - nxp,pins > > + > > +patternProperties: > > + '_pins$': > > s/_/-/ > > > + type: object > > additionalProperties: false > > (and a blank line after) > > > + patternProperties: > > + '_grp[0-9]$': > > s/_/-/ > > > + type: object > > + allOf: > > + - $ref: pinmux-node.yaml# > > + - $ref: pincfg-node.yaml# > > unevaluatedProperties: false > > > + description: > > + Pinctrl node's client devices specify pin muxes using subnodes, > > + which in turn use the standard properties below. > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + > > + pinctrl: siul2-pinctrl@4009c240 { > > pinctrl@... > > > + compatible = "nxp,s32g-siul2-pinctrl"; > > + > > + /* MSCR range */ > > + reg = <0x4009c240 0x198>, > > + <0x44010400 0x2c>, > > + <0x44010480 0xbc>, > > + /* MSCR range */ It's IMCR range but not the 2nd MSCR range, will fix it in v2. > > + <0x4009ca40 0x150>, > > + <0x44010c1c 0x45c>, > > + <0x440110f8 0x108>; > > What is in these holes in the memory map? Is this part of some larger > block? If so, that block needs to be described. > In this case S32G contains two SIUL2 controllers, which are located in two different memory regions, siul2_0@4009C000 and siul2_1@44010000. The siul2_0 contains the MSCR0-MSCR101 [starts at 0x4009c240] and IMCR0-IMCR83 [starts at 0x4009ca40] registers, and there are some other reserved regions and registers which are not related to pin muxing in siul2 memory ranges. Not sure what the original reason it could be, but the expanded MSCR112-MSCR122, MSCR144 -MSCR190 and IMCR119-IMCR397, IMCR430-IMCR495 registers are present in siul2_1's memory space. Besides, in the S32G pin map, some indexes are hidden since they're not used as pinouts, such as MSCR indexes 102-111, 123-143, and IMCR indexes 84-118, 398-429. Anyway, that's why they look so fragmented. I will add more descriptions for each entry in v2. Thanks, Chester > > + > > + /* MSCR range */ > > + nxp,pins = <0 101>, > > + <112 122>, > > + <144 190>, > > + /* IMCR range */ > > + <512 595>, > > + <631 909>, > > + <942 1007>; > > + > > + llce_can0_pins { > > + llce_can0_grp0 { > > + pinmux = <0x2b0>; > > + input-enable; > > + slew-rate = <0x00>; > > + }; > > + > > + llce_can0_grp1 { > > + pinmux = <0x2c2>; > > + output-enable; > > + slew-rate = <0x00>; > > + }; > > + }; > > + }; > > +... > > -- > > 2.37.3 > > > >
Hi Linus, On Tue, Nov 08, 2022 at 01:31:16PM +0100, Linus Walleij wrote: > Hi Chester, > > thanks for your patch! > Thanks for reviewing this patch series as well! > On Mon, Oct 31, 2022 at 11:09 AM Chester Lin <clin@suse.com> wrote: > > > Add DT schema for the pinctrl driver of NXP S32 SoC family. > > > > Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com> > > Signed-off-by: Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> > > Signed-off-by: Chester Lin <clin@suse.com> > (...) > > + nxp,pins: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + description: > > + A list of [start, end] pin ID boundaries that correspond to each of > > + the register regions reserved. > > That's an interesting approach. > > But what about just hardcoding this into the driver instead? > > If you have the compatible, surely you know these indexes from > that compatible string? > The nxp,pins property is more like a common language that both kernel and u-boot can share with. Of course hardcoding indexes can be achieved as well but that also means the index matrices in both kernel driver and u-boot driver must be revised and synchronized if new boards may have different reg and nxp,pins. IMHO, having these ID ranges in DT could be more intuitive, developers can easily compare every pair with the corresponding reg entry in the same dts file since reg maps are fragmented as I mentioned in Rob's code review[1]. Based on this approach, both kernel driver and u-boot driver can reuse the same parser to acquire pin ID ranges from different boards, which can also simplify codes and have less patches in the future. Regards, Chester [1] https://lkml.org/lkml/2022/11/9/722 > Yours, > Linus Walleij
On Wed, Nov 9, 2022 at 5:45 PM Chester Lin <clin@suse.com> wrote: > > If you have the compatible, surely you know these indexes from > > that compatible string? > > The nxp,pins property is more like a common language that both kernel and > u-boot can share with. Of course hardcoding indexes can be achieved as well > but that also means the index matrices in both kernel driver and u-boot driver > must be revised and synchronized if new boards may have different reg and > nxp,pins. Is it new *BOARDS* that need a new table really or new *SOC:s*? I was under the impression that this is per-soc and then it can be derived from the compatible string and should be in the driver. If it is something that vary from board to board then it should be in the device tree because it can not be derived from the version of the hardware i.e the compatible string. So which one is it? Yours, Linus Walleij
Hi Chester and Linus, > > > If you have the compatible, surely you know these indexes from that > > > compatible string? > > > > The nxp,pins property is more like a common language that both kernel > > and u-boot can share with. Of course hardcoding indexes can be > > achieved as well but that also means the index matrices in both kernel > > driver and u-boot driver must be revised and synchronized if new > > boards may have different reg and nxp,pins. > > Is it new *BOARDS* that need a new table really or new *SOC:s*? > > I was under the impression that this is per-soc and then it can be derived from the compatible string and should be in the driver. Yes, the "nxp,pins" property only depends on the SoC. It will not change from board to board(boards using the same SoC). It can be derived from the compatible string. Best regards, Andrei
diff --git a/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml new file mode 100644 index 000000000000..eafb9091cbf7 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/nxp,s32cc-siul2-pinctrl.yaml @@ -0,0 +1,91 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (c) 2022 NXP +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/nxp,s32cc-siul2-pinctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP S32 Common Chassis SIUL2 iomux controller + +maintainers: + - Ghennadi Procopciuc <Ghennadi.Procopciuc@nxp.com> + - Chester Lin <clin@suse.com> + +description: | + Core driver for the pin controller found on S32 Common Chassis SoC. + +properties: + compatible: + enum: + - nxp,s32g-siul2-pinctrl + + reg: + minItems: 5 + maxItems: 6 + description: A list of register regions to be reserved. + + nxp,pins: + $ref: /schemas/types.yaml#/definitions/uint32-array + description: + A list of [start, end] pin ID boundaries that correspond to each of + the register regions reserved. + +required: + - compatible + - reg + - nxp,pins + +patternProperties: + '_pins$': + type: object + patternProperties: + '_grp[0-9]$': + type: object + allOf: + - $ref: pinmux-node.yaml# + - $ref: pincfg-node.yaml# + description: + Pinctrl node's client devices specify pin muxes using subnodes, + which in turn use the standard properties below. + +additionalProperties: false + +examples: + - | + + pinctrl: siul2-pinctrl@4009c240 { + compatible = "nxp,s32g-siul2-pinctrl"; + + /* MSCR range */ + reg = <0x4009c240 0x198>, + <0x44010400 0x2c>, + <0x44010480 0xbc>, + /* MSCR range */ + <0x4009ca40 0x150>, + <0x44010c1c 0x45c>, + <0x440110f8 0x108>; + + /* MSCR range */ + nxp,pins = <0 101>, + <112 122>, + <144 190>, + /* IMCR range */ + <512 595>, + <631 909>, + <942 1007>; + + llce_can0_pins { + llce_can0_grp0 { + pinmux = <0x2b0>; + input-enable; + slew-rate = <0x00>; + }; + + llce_can0_grp1 { + pinmux = <0x2c2>; + output-enable; + slew-rate = <0x00>; + }; + }; + }; +...