From patchwork Wed Jul 21 14:16:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1508205 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-NXP1-onmicrosoft-com header.b=VgTo+5QM; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GVH1J1w3nz9sWS for ; Wed, 21 Jul 2021 23:46:28 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0CEEE82C6E; Wed, 21 Jul 2021 15:44:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="VgTo+5QM"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AA29D82C61; Wed, 21 Jul 2021 15:44:00 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02on0627.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe06::627]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id CD51F829B9 for ; Wed, 21 Jul 2021 15:43:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hDRJ7hbNn/pRrrw2DnkyGFL2eeu1BYPdcN9uwFQguuDocWIo0Eum/ZxElDW0D88+IYjxNjwbY7T/qwA7eO0Eg43rjvn5Gnusem4w/23KZ52jJnofRysDlyCsqqvW64TodcZ++dQP5L+O7Cy588g8tMUZ9qgueoEOJNsuAJYM8wthxXHuZJGcrvjC1D9BzLzn2BBOQWsJUM+pQ8IE7ILVMH4/UBNoGLNPaVV3ProZnr2Gg8ttr0DK0NnvbpPKRQsVEvTrEW5xm0XeVcdvJFtnd6H+kpQNmO8HeRFfVKjKjkawTHfPg+S2I0CgpkpFBqrocu2Vf1QamQm2VDy2Q3ZH4w== 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-SenderADCheck; bh=WShTjjDiv9a/38BB1cytvcMoXikRwPbc4ZaPrpeajuo=; b=h2cAX+JS9H5zkdtgRbhEuv3bxxcZsvNse4QiqlUi+IhGD119X49CN3zd0XOm4wdIcgkuRZbbELhf8P5uQ464Q91ZJvypLoqGFRCPWnpp+m8PFqHP8Uz2Hecd+5iXloh6bhHhEL7a0ENnoDWXhjU2RwVL8Jqc/71X8OPFGyaAvIlBY2SrQC9aoi13XJyEn4uZR147sR7yCvCNl+8XmhD/vpmBrC536bywCIndP0KdVxkiX7eQYrYGtsQcx3ZH5pRIsq5I5Tps08OS+EZ5xNIzUt23pW6OUXlkFpaJx1cFFO0Xm+fqdXYERicisBFcSPwr8wlHIrUSe5qWaGRH9uStVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WShTjjDiv9a/38BB1cytvcMoXikRwPbc4ZaPrpeajuo=; b=VgTo+5QMcwrX5R8F+c0KVZcpZsF9vqcCNvhGHbk3GgBRTLJPRCtt9WvuFQTUYXNOu9NIjN0Ni7n4fGEMY6n+Xp7mJbJ7JGco41CzId0LKW+5HgXnYvhWEFn/nY3iRhHYTbWG4IHVQuDn5OgZveImV/79ghC/Q7q9K7swOrRN9s0= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB8PR04MB5802.eurprd04.prod.outlook.com (2603:10a6:10:a4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24; Wed, 21 Jul 2021 13:43:52 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c445:d742:eb76:86dd]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::c445:d742:eb76:86dd%9]) with mapi id 15.20.4331.034; Wed, 21 Jul 2021 13:43:52 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: uboot-imx@nxp.com, u-boot@lists.denx.de, Ye Li , Peng Fan Subject: [PATCH V4 14/44] pinctrl: Add pinctrl driver for imx8ulp Date: Wed, 21 Jul 2021 22:16:55 +0800 Message-Id: <20210721141725.23346-15-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210721141725.23346-1-peng.fan@oss.nxp.com> References: <20210721141725.23346-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR0401CA0015.apcprd04.prod.outlook.com (2603:1096:3:1::25) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from linux-1xn6.ap.freescale.net (119.31.174.71) by SG2PR0401CA0015.apcprd04.prod.outlook.com (2603:1096:3:1::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.21 via Frontend Transport; Wed, 21 Jul 2021 13:43:50 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 98e49c1f-3a5f-4f11-cf1d-08d94c4d937c X-MS-TrafficTypeDiagnostic: DB8PR04MB5802: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1775; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BMWfZ87uBdl40nEkB17o+CbhbsRYFjyMvy1aSBN1dCOf+RSoQha5Bdttnuc9w/1JX3VDt/OWrmOJedjzivbeL0ZikyUHXch4yYWqtN5OkJi8G8GGmZchgquCYdygS7z7BL8dMg4k1bSiwosqCPPin3+urJ1UyEjEW1A8UUejL1k/0Pj4yMdZMWIn8Le3YV/bEvHcp6AbHiWSLBFdm1CemJAEkJ2mKUXl70Kun5NohMIjPhzwid7MJHvYmNlP2SfIEIj082UPsi3VdCGqb00BWhYeHmfqjUTLAuKpp3WaqzFPqXXSfNTB40Tl1eOzexPqnsvzp2+uaJ/pF5Zw1u0S7Mdx0+4prihJl0yFc1h5ACeDnxVBKZNvBFINd3wyCM17aJ1pRx26W6jGIQYHsHnFIJa975oLEPrYnooDCVcR01KpPXYHVuEkcrN35xmT6KFb4pvkkXa+AwWQ1iiA0O+WXbc22HrsLmmufF/GKQpWWoM39BQoHaGwbQj6m8apJgkK9u5I1wcXqfQcbNYr5ZYU2OQkrBL5fpxXhsfB3wE5apJIZr9BQ2ACzbNwrhVYrkOVEGCAoVqEXEUUAdsNRjapSGt2WROJ2/MaLFYVblWWu4ARke6NZO+Oxp9RPnGKQAK+oBlh7k0YZNUj2C7nn+5FZZcAyd11HrpCYYdqXAZZONDNrcx0Le6LE0WbEOhNcww9M+bf8OM0nlKy1NqANoRd4XIe1Cu6L3+eWdbNMKsAqY0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(39860400002)(396003)(346002)(136003)(8936002)(6512007)(4326008)(5660300002)(8676002)(2906002)(54906003)(1076003)(38350700002)(38100700002)(956004)(66556008)(66476007)(66946007)(316002)(86362001)(6486002)(26005)(52116002)(2616005)(186003)(6506007)(478600001)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OaD5va519MP+MktRx4Ph1p1UK6TeO6o52+jZblVuROMuxij69BnD/VhCd4xW/28Zhh3L51VreBWjtdLJtScB2FjeDSGc9fdBW+Wv8NGsIo2yOJgCYFgTMJWlXq/mB4qmcDsuhcnGo5WSZJyP4bWmIR8304DL+12PHh8LpRPa3BoZZA8xETiqp/W5gDAaw3Kd0uWaibiDcpO3mwkd/eGbbRqv4EVHfVQkKNPnCaUy0RXwuE0vBcLfiN3NC2+mXW+l0b8FKsf/1pqJxCS3JK+piKjyPe2evdP6F1ZBCnAp56T1PL4w5/4bq2nh1RxpLrXCPbsgHkfwuSMzOtIEWBdQj6KrU1rAC2VNIK6NEnHjAxVHyLntJXWmEovTU/SGKHnMAqo2Rrx3KbM3TDdjkUaE5fFkNjqL/dyFDQwEyPETCCMt4SRyhRtjw7HgeRLu7zxv9GfYBNdHAs7yXht9oT9M94SWvRmaRBYZu9C3hRu2XVvmfe/mngAxEkvCizEzNcp455VqZkNbNg1InKBSeRlul1Oh6yqDMpcjyNvKruYAkNmNjXSUbCfkOu3i1o+AznTgYSi7pUv1h+wI5hE+FkFZN7PKpnXB3tV2VowTj4LqJQIypUS8TDzAtuMq5wTmPvVosixjgvjEVaHc7VclEZdlJzKZU/MBJN3SKeRuZs3yfZwWkk1rmDUgWSc138F/1vQ31SU63US5pQ4LzrWvA0l6VU2KNF915RYQPtQxWz3YuWlWOZ489VDN+ggtyoX+BkXFiSGt0sKXGp+lJ4japB+O3NlZH8E/DJls5fmo6dW+UmmExnuDwhkWE35tJWZFYmUEG4GQBObAhYAWp0d6o6UQ5KKbG2+oHBiPRGlreLNab+VAc9/bvinzYPAhlSc0xBxu1O60+TvSs9tMkiQ31PS/xevo+4N+3Tet6SNNC07oe81KMEKUJpMhFVwXQxRRuUEHQnnYjPVJghHhqdxu9PS/5zg4MxCIUMYtPt8EnKILa7l02j25Pub1DpcEq/c0Urlsb2QXA8st69z/4KZQp0IS704tJueW0c2WVpVdJOJlj/AbsOClJ8fN+40FuDK0jp2IkVesDcx4Wucdz3XzEaMQBq7VyGUX+3LNrS20qZoSqJWITC9AsE9fzELmtFm/KwhhbOPle91yTbj+u0y62bQtzy3BL4/U/M35rJWFbPlbiAdqTkwsjYraXDI5U1NqUCGu9IlJzfXsTbOV3W53HtFsIudD1L38WmNALCduR/tPQMy/WGGTv0W/zLzDew6sjsg765MHGZ1OKvxoBovLCaSbE+Pj5gTXo1NJXGHkPWxUS58DfLS2gOdoA4QpZqMeUhLm X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98e49c1f-3a5f-4f11-cf1d-08d94c4d937c X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2021 13:43:52.2477 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uW1XgzxsbbiSBhstjkr2sfPO3VpPby+hrE8M59f/x3AwC5QXuWpgBlFIERcqLnBp3k++wWIOGLmboV6teMmWFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB5802 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean From: Ye Li Add pinctrl driver for i.MX8ULP Signed-off-by: Ye Li Signed-off-by: Peng Fan --- drivers/pinctrl/nxp/Kconfig | 14 +++++++++ drivers/pinctrl/nxp/Makefile | 1 + drivers/pinctrl/nxp/pinctrl-imx8ulp.c | 44 +++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 drivers/pinctrl/nxp/pinctrl-imx8ulp.c diff --git a/drivers/pinctrl/nxp/Kconfig b/drivers/pinctrl/nxp/Kconfig index ec55351e61..4fb0916a37 100644 --- a/drivers/pinctrl/nxp/Kconfig +++ b/drivers/pinctrl/nxp/Kconfig @@ -60,6 +60,20 @@ config PINCTRL_IMX7ULP only parses the 'fsl,pins' property and configure related registers. +config PINCTRL_IMX8ULP + bool "IMX8ULP pinctrl driver" + depends on ARCH_IMX8ULP && PINCTRL_FULL + select DEVRES + select PINCTRL_IMX + help + Say Y here to enable the imx8ulp pinctrl driver + + This provides a simple pinctrl driver for i.MX8ULP SoC familiy. + This feature depends on device tree configuration. This driver + is different from the linux one, this is a simple implementation, + only parses the 'fsl,pins' property and configure related + registers. + config PINCTRL_IMX8 bool "IMX8 pinctrl driver" depends on ARCH_IMX8 && PINCTRL_FULL diff --git a/drivers/pinctrl/nxp/Makefile b/drivers/pinctrl/nxp/Makefile index 066ca75b65..f2fe0d8efa 100644 --- a/drivers/pinctrl/nxp/Makefile +++ b/drivers/pinctrl/nxp/Makefile @@ -3,6 +3,7 @@ obj-$(CONFIG_PINCTRL_IMX5) += pinctrl-imx5.o obj-$(CONFIG_PINCTRL_IMX6) += pinctrl-imx6.o obj-$(CONFIG_PINCTRL_IMX7) += pinctrl-imx7.o obj-$(CONFIG_PINCTRL_IMX7ULP) += pinctrl-imx7ulp.o +obj-$(CONFIG_PINCTRL_IMX8ULP) += pinctrl-imx8ulp.o obj-$(CONFIG_PINCTRL_IMX_SCU) += pinctrl-scu.o obj-$(CONFIG_PINCTRL_IMX8) += pinctrl-imx8.o obj-$(CONFIG_PINCTRL_IMX8M) += pinctrl-imx8m.o diff --git a/drivers/pinctrl/nxp/pinctrl-imx8ulp.c b/drivers/pinctrl/nxp/pinctrl-imx8ulp.c new file mode 100644 index 0000000000..3f15f1dd45 --- /dev/null +++ b/drivers/pinctrl/nxp/pinctrl-imx8ulp.c @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + * + */ + +#include +#include +#include + +#include "pinctrl-imx.h" + +static struct imx_pinctrl_soc_info imx8ulp_pinctrl_soc_info0 = { + .flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE, +}; + +static struct imx_pinctrl_soc_info imx8ulp_pinctrl_soc_info1 = { + .flags = ZERO_OFFSET_VALID | SHARE_MUX_CONF_REG | CONFIG_IBE_OBE, +}; + +static int imx8ulp_pinctrl_probe(struct udevice *dev) +{ + struct imx_pinctrl_soc_info *info = + (struct imx_pinctrl_soc_info *)dev_get_driver_data(dev); + + return imx_pinctrl_probe(dev, info); +} + +static const struct udevice_id imx8ulp_pinctrl_match[] = { + { .compatible = "fsl,imx8ulp-iomuxc0", .data = (ulong)&imx8ulp_pinctrl_soc_info0 }, + { .compatible = "fsl,imx8ulp-iomuxc1", .data = (ulong)&imx8ulp_pinctrl_soc_info1 }, + { /* sentinel */ } +}; + +U_BOOT_DRIVER(imx8ulp_pinctrl) = { + .name = "imx8ulp-pinctrl", + .id = UCLASS_PINCTRL, + .of_match = of_match_ptr(imx8ulp_pinctrl_match), + .probe = imx8ulp_pinctrl_probe, + .remove = imx_pinctrl_remove, + .priv_auto = sizeof(struct imx_pinctrl_priv), + .ops = &imx_pinctrl_ops, + .flags = DM_FLAG_PRE_RELOC, +};