From nobody Wed Dec 17 05:45:54 2025 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013065.outbound.protection.outlook.com [52.101.72.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC6FC2561DB; Wed, 19 Mar 2025 12:31:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387478; cv=fail; b=QbMwnYXBdtza/wLcunA+jrMCPGhY2yyhoZWPzkWMrGz8BklE6tM/PHpndH3whGDYHXkbfiPJymUOGytwW+tiiGqGeuoKhRvIaUGp6TvME98VkVVXmGvJcGekG8tlU8YClDmH41gbd7TzRT/6cHrgoYw9KbVnNWr2hA2HIgE2SMo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387478; c=relaxed/simple; bh=5PvLihW+j69y767Ve57WrHRsA+jz3tq83Y33zGfLows=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=fsM/0rGErRIzGrA9PPKsaNZEXaWJ2Xi0aGmR75MV3cV0Qg7HZlsTYmhp3NUfCape1sSI70gicqWqRJ8AP87otorD1g41MENrspfqeOQcCxvoHkwT/9OqFq3DH3gGL1EN4bP3crrnkzr9c9R0Pb5i3qsr1g4xwbkpFGxRGCGiscs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=GvhIoht+; arc=fail smtp.client-ip=52.101.72.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="GvhIoht+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Yma5IcZH+EBqKnmMOFE9KVt75HhUXXvC+xh+4YcxAPyByHGvBB3+8B+V4xml1lIda83a3WlCHIYIJLext/MLp6HKNgr/w+eFKYVmsjYf0DiFHay40iP708ke3gAWEtf/Kcph2yb/6xUSbhIopRePm9KLVT7phoB/gDw2V7xXSmh5Xg49HeGXtDI3WiEuPNMvCB7KJl+OvzhLTWsAQPesMSq0IYtGYSHgrbzV3WmD+X7vGRzT0jB6tWq1SuxBeuxl7HL9+4M9PALXU6KwhDv7REfuSlYllB0X01VEKqsOCRbrUVN54gi8l6Brit4k4xQHNpF+N17NHz+ZPgT5eRuomA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=P4d/F5NFPZncF+9CR39Dp52JGeQmMuLGWGHtWYe/hZs=; b=GvT0Uj5m+rv4c7db4KsRcjPLOeoKBjoN0KaRCNHr5HlKqMjSiV9Vb7TnyEAuW7usXPrISFSNGP5FmqEeDlfMp7gh/GgocGbBSCKgpXVm5swnqMLwyyKlKjR2JDR77obkCG4wwdc9KYQGU3lcSsZt0MxEpG8it7ib562WTjZO7BNscz7IPINYo+Fm0FdrKN6IMYsASA/tWolua988q8KY/FhukJygcUeVfBqRB1M0jNvvqhk+rnnyXJuHQqCLGkq+pbg/LxOiq10MtUQPYYvP2Nf+IyLJzurlueSKqLYn4qNT0fdVVZePeCeJNjGY8CEfTliGuRfWi87c1DnpQ9IMmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P4d/F5NFPZncF+9CR39Dp52JGeQmMuLGWGHtWYe/hZs=; b=GvhIoht+bagSeupGxDVRWxBVvbwfyGkx1VQYYH6JOH5nhqG5Dg59QBPcZbX2mbKCRZS9JSWkgFbqf8Cz8HNrOYhpyIgBo0yRexkY+iGFxxqAXd2zFLz+WvLaHzJSYaR+pnnTUp6ureQaew2fbu57sBaluZO4UeKsDHq/JG2Ofdk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:07 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:07 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 1/8] mfd: ocelot: refactor bus-specific regmap initialization Date: Wed, 19 Mar 2025 13:30:51 +0100 Message-ID: <20250319123058.452202-2-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0029.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:a::17) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: a3e5dc02-7abc-42a6-89a6-08dd66e1ebe7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?g0yeCbSgW/fa17J6SallSOawBvshQjMH4HJ4xgjflXNUJcu+be1WqfSgZ0/X?= =?us-ascii?Q?EsBmmbbsUUT2jXfOCcmTMn7++svTCiTq8/OTMA3bamUCejwqTKAcLbdShhEI?= =?us-ascii?Q?gaeRWZbFa8mmz8OFwm1qdgb1QxO8mqTk3ubwdmNnmCuVHirAHBosl8HGKVTv?= =?us-ascii?Q?6fnAmvJnXhi7K2BAaXweFdEvX9cMBPGcmb9dTJ3WR50HzRur8hXuGlWfcHG5?= =?us-ascii?Q?exNWrYssdWpNQaulYy0Y/oy60OrXMRO89JDNpG5UZeEy1Cgzl4oTON/DkqVL?= =?us-ascii?Q?lZC0ZAzKNGTjlLwRIFNNG2zT0N8X+BeWStyCxX6pz0wol6+WzJyyScWzZiup?= =?us-ascii?Q?AbFQ4pYzmTBMeXuQr+zac6sFh5eZfrDleSzasKGkFc0aEFY+QbrirudgSwLB?= =?us-ascii?Q?/lJS3i00fnBrZ6TQaKhK42fTzjFwPnICoXokAJMmNifud3mFT2v7aTN6b1Sv?= =?us-ascii?Q?y37xXwnFWNSkIluGKYL1N0AXU5ZSlkBcCgZ3+LXYLQVA7MCSJ4pqGthVVRea?= =?us-ascii?Q?slvU9CLIWV7QIxPEH6W4/Dhv/jn+Wx7tqHHDQ38ecXQ0HZ0X9XGpjuCEobUL?= =?us-ascii?Q?cgpcyR0yGSEvxQp5MiK8sMXTd39FxQ8XrB+bIdTDSVpKXsjxTHnjV4l+5tns?= =?us-ascii?Q?3AZT+fOl0OibdJL8gSEXNEujgw1GXIouDpbWvuMmnOAx0r0iNUmFH6XMzMjI?= =?us-ascii?Q?81amWfuKCHfsIU0AbR0Nx4JijW75IL4xyvnfUSL+arboO/6VRC4J1aO9yIxV?= =?us-ascii?Q?6SGG6d8F8o6hrLsHF72bEg1RCNUHFpSJ2UIcSdDGkWcnb82n1izUlakRL0PZ?= =?us-ascii?Q?qpN5NULTsAu4BYnpTNxne51xKcPPKrR7HG2TRc2ywoP183LyGWoba2q1zEG4?= =?us-ascii?Q?6tJOs20SXSwwNW2tnlQdEpzAbE5KH7z4KBhfojAQF+h1XSmZoRzegq7AxWFg?= =?us-ascii?Q?X2Y5Z/51WoOk6QVFb95HhARcew2RmbMX3q/awA5SCTbmyTvdgbsP/X3B55/g?= =?us-ascii?Q?rTRD1NZKN2u4osLa26G6YvSi4kTlQCovRPteEy7L2tLUUpebB2qXzh8kZ7mX?= =?us-ascii?Q?cE4lmo/GzY1MeUsdN2yddzNcgccYyXolnt5le3DhmHtG7dN24whAOSfe5CfK?= =?us-ascii?Q?WfvAYHsQXZlczzUW327NxsKKZzP0bM5LADplJyybang8d0h+B7eVjuSm+L9a?= =?us-ascii?Q?fBhxJKYA59Mupmu5m1k1xdJ66zq0Zg7uOiex5/0/oRkAFStC2zRoQkW8Mpst?= =?us-ascii?Q?heL0LR0ijMq69wEdV0aDKieReq1Eiob1QBDf1kLSEnQ+5vkXDyxPJF6W4SBv?= =?us-ascii?Q?LP3c/HELsHmeY9nyTZZR3IWx6/iXqoITx6psGvt8oRhskbjNbIBYdAhvNsJN?= =?us-ascii?Q?vNMykdxS55gRY4Ev4OGJ6w6qt9Dvs+HYjaGSK9O6nNIqUp7UF7QJJgKX9ruM?= =?us-ascii?Q?K0MZgcQkXqAbFxdmgtLkEQGZputAV1Rv?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?M41/9gUkMnb2p7i8vTOy6Cft3ebsTRq5Odk89lVpMJwEcHnV4xXRdDcgDfJj?= =?us-ascii?Q?vPBTiTZ00js7Cf/t9Q5fmUD2fxI65jwEbgwiku5Of32ZhR8qpDUSeDSsptSW?= =?us-ascii?Q?q24h2Bx9Sn4XtX3SLjuyS3/GuhDx4bmEY823evJMr/ZKM29pUc80CdSWCSXk?= =?us-ascii?Q?Q8UMLN/xtVJCryLuLkrgc1+8s3WGmrfMCmWxs7e9b/igFQSgMtgNvM/U1CWV?= =?us-ascii?Q?V18VthbxJksyG1/oQ/4HIDCctyTJFREoyC7s6OT5dMbiwDYZk+sIWoWX48wv?= =?us-ascii?Q?HpW007TBAuzngBZIzFz8L3pu+dmeSAZ06a38PNvewTlTXWdmDVtvyE5vPW5N?= =?us-ascii?Q?YUbV50AJDPalYintD6KwaC14GvwEcVkLzrPyZtap8t8i3fElb3gKmn2CiHUy?= =?us-ascii?Q?5cxiDejJPm1QkxGDAL3+ILsL+mw3HWIoj++H8Xbc50OLs9KIqcm1L9tymOx9?= =?us-ascii?Q?bPP+QUdI43v4Zh2Hx6Eqe2t21yYeLBYVJSYquU5+R6ZShnsvV+W+3J6VZ0XD?= =?us-ascii?Q?oOgBwgDlyjUrcN0OUqJgDJWLBJVHMhx4Ivzjrz1WYoMI03pf2vd42XfWJB4+?= =?us-ascii?Q?3bXh/ghQw5iLY+OCA0hQFGSnvXdFlam/kZLv/XPztDoqpEknH5o6sIeBBeVd?= =?us-ascii?Q?uIjFdsVMIQZij09o5l8jQnsPc4eiRHr8awH4FizMDpOk0kspbHEh4Th33OLS?= =?us-ascii?Q?PC0aDGkx/gVoGP+i6MK6fiDxgPzwRMt0sYf8ArcFqsIcakD1/BWok9hLlkIb?= =?us-ascii?Q?wxvHfMfJMU6LNVtg2rtbOLJRal/lrrl17b7pW39VsR3kQQonCITPO9tEIzGT?= =?us-ascii?Q?qRQ3MMC2vtF7IcKaDSTTLPT6hisVztuUf1XuheB2WQO3fS79GjUaAKASm/k3?= =?us-ascii?Q?zvWq2Ds/EJ1OCa28IiEVTlfRsZt4CWsLVTSDY/PdfImuLg2PkialI85IrMMV?= =?us-ascii?Q?Y3OcMSi+wZowb7+lQwivsoKdUya4Evys5iIh7JcJKGVuXYseSj72ydcbWq7p?= =?us-ascii?Q?TgyUfIK5Yc+Gv8smcJfFtwHo+mHV55lJl5aNe+ZLihIBa4dHI0oClxuDLmqu?= =?us-ascii?Q?vgYDeGd72kGCf9Ry0QmlUtJVafhmdjDdiP0i4wakOnOzrscYeYtL/NPRdCce?= =?us-ascii?Q?64RaHODV2f0T2GZ0Kipkl9tqgq7enDKBxxkWZB2NehYssne+Z3f+yR2Q5riw?= =?us-ascii?Q?jTHgL661LgF2vy0tkB2kdyyQoXXxYBxYHavSCYUbK2007KyL16JLAyXDP5BN?= =?us-ascii?Q?JdJ4nkffe8vSc24ReeSsgs6lqCSXxf3joFQnYmtQR4oj+2NOngIBn08C2+4Q?= =?us-ascii?Q?Xj2exsPJiGnBWZ0esH3h7uXjfSPMiz49QcG+ppAr/JXj3TCknnxu0OasHwuK?= =?us-ascii?Q?MlcW1h9+C0mNvC8s3U17kpKqQ+69nXAq49yvREtNTsr5fplz8f2RoZWTVXM2?= =?us-ascii?Q?V/EAeMUCYW0C15iPNF6iOrYACr7woHmnR/4TPbMEZHSm5RxCnBxxussrXxkC?= =?us-ascii?Q?pa+lWj3QJ2+jLGE9gtxDeupMKOi+h7hGZKgGyyeaj6QDajtT1+JRs5JxhllR?= =?us-ascii?Q?DRZ+7LTprqe9IRfEwWYyJAkzlx3JQmzn383jXNHkMSq39Rig7RiLPYTZo1hx?= =?us-ascii?Q?lA=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: a3e5dc02-7abc-42a6-89a6-08dd66e1ebe7 X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:06.9669 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IoVlWZsT/p5V0ofCvVG334eH/X1q4qriiBKMUEnAgzTUYF3UMwcEX2n95/0LzGkpgqtfxu3JDzzAl4BJxOTjIDXdijRxX7KZ3LWDTeJSLAk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" Make ocelot-core truly bus-agnostic by letting the bus-specific part set an ->init_regmap callback in struct ocelot_ddata, instead of relying on the bus being spi. With this, the only symbol in the MFD_OCELOT_SPI namespace vanishes, and hence ocelot-core should no longer import that. This is preparation for adding support for mdio-based management of the Ocelot chip. Signed-off-by: Rasmus Villemoes Reviewed-by: Colin Foster Tested-by: Colin Foster --- drivers/mfd/ocelot-core.c | 5 +++-- drivers/mfd/ocelot-spi.c | 4 ++-- drivers/mfd/ocelot.h | 6 ++---- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/mfd/ocelot-core.c b/drivers/mfd/ocelot-core.c index 41aff27088548..78b5fe15efdd2 100644 --- a/drivers/mfd/ocelot-core.c +++ b/drivers/mfd/ocelot-core.c @@ -200,10 +200,12 @@ static const struct mfd_cell vsc7512_devs[] =3D { static void ocelot_core_try_add_regmap(struct device *dev, const struct resource *res) { + struct ocelot_ddata *ddata =3D dev_get_drvdata(dev); + if (dev_get_regmap(dev, res->name)) return; =20 - ocelot_spi_init_regmap(dev, res); + ddata->init_regmap(dev, res); } =20 static void ocelot_core_try_add_regmaps(struct device *dev, @@ -231,4 +233,3 @@ EXPORT_SYMBOL_NS(ocelot_core_init, "MFD_OCELOT"); MODULE_DESCRIPTION("Externally Controlled Ocelot Chip Driver"); MODULE_AUTHOR("Colin Foster "); MODULE_LICENSE("GPL"); -MODULE_IMPORT_NS("MFD_OCELOT_SPI"); diff --git a/drivers/mfd/ocelot-spi.c b/drivers/mfd/ocelot-spi.c index 1fed9878c3231..a320a613d00e1 100644 --- a/drivers/mfd/ocelot-spi.c +++ b/drivers/mfd/ocelot-spi.c @@ -181,7 +181,7 @@ static const struct regmap_bus ocelot_spi_regmap_bus = =3D { .read =3D ocelot_spi_regmap_bus_read, }; =20 -struct regmap *ocelot_spi_init_regmap(struct device *dev, const struct res= ource *res) +static struct regmap *ocelot_spi_init_regmap(struct device *dev, const str= uct resource *res) { struct regmap_config regmap_config; =20 @@ -193,7 +193,6 @@ struct regmap *ocelot_spi_init_regmap(struct device *de= v, const struct resource =20 return devm_regmap_init(dev, &ocelot_spi_regmap_bus, dev, ®map_config); } -EXPORT_SYMBOL_NS(ocelot_spi_init_regmap, "MFD_OCELOT_SPI"); =20 static int ocelot_spi_probe(struct spi_device *spi) { @@ -207,6 +206,7 @@ static int ocelot_spi_probe(struct spi_device *spi) return -ENOMEM; =20 spi_set_drvdata(spi, ddata); + ddata->init_regmap =3D ocelot_spi_init_regmap; =20 if (spi->max_speed_hz <=3D 500000) { ddata->spi_padding_bytes =3D 0; diff --git a/drivers/mfd/ocelot.h b/drivers/mfd/ocelot.h index b8bc2f1486e24..4305e7a55cb1a 100644 --- a/drivers/mfd/ocelot.h +++ b/drivers/mfd/ocelot.h @@ -12,6 +12,7 @@ struct resource; =20 /** * struct ocelot_ddata - Private data for an external Ocelot chip + * @init_regmap: Bus-specific callback for initializing regmap. * @gcb_regmap: General Configuration Block regmap. Used for * operations like chip reset. * @cpuorg_regmap: CPU Device Origin Block regmap. Used for operations @@ -24,6 +25,7 @@ struct resource; * data of a SPI read operation. */ struct ocelot_ddata { + struct regmap * (*init_regmap)(struct device *dev, const struct resource = *res); struct regmap *gcb_regmap; struct regmap *cpuorg_regmap; int spi_padding_bytes; @@ -33,10 +35,6 @@ struct ocelot_ddata { int ocelot_chip_reset(struct device *dev); int ocelot_core_init(struct device *dev); =20 -/* SPI-specific routines that won't be necessary for other interfaces */ -struct regmap *ocelot_spi_init_regmap(struct device *dev, - const struct resource *res); - #define OCELOT_SPI_BYTE_ORDER_LE 0x00000000 #define OCELOT_SPI_BYTE_ORDER_BE 0x81818181 =20 --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013002.outbound.protection.outlook.com [40.107.162.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 05D842571CB; Wed, 19 Mar 2025 12:31:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387487; cv=fail; b=q8SS2pVUFtc3flju1WerhkBCyhxcgzjbhEcK+su+K6hNOSc75tIFhIUJqpHfq6KVS5MiRKiZZfUbykNDsK52z4HLYEqUPNN4rQ961gnlUG02mrIM+ZaEa8kxQJyJr0jMLqFUYgL12LnMn5/fc3qhbUru8NlFFa+qDASlB1KdSdU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387487; c=relaxed/simple; bh=YYgorFPl1B3+kKFplaJR7buaAuCnVY1I/oPe48Gz/Dg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=R7SqscFJHwBQnmOJv3aKsBtpTI+Owhd/Eu2JHal1JL4y7oKrcuI1q1/yDXJGfoW30u0BJEmQP1E4JqWpWfEUvDngmmIORjKVRRkps/++a9b5uZdBStampu/Y1Db0MO2ub/mEgaiebYElus2NBgbjCZt/SLt0N9hAJr+QCF6ptNk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=fb3RRawQ; arc=fail smtp.client-ip=40.107.162.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="fb3RRawQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xe85psz4Plvd+Uqj2jMouQR7PR/UxdiNaYKgHVms2mtt2x8dYcqCU8T0x8WU5Vana1BFgUxdJJnK/H3UvRUCYN7iLv8k2ppyHkiBCuTaG7vrARV3SRH6T56jZ3RsSjQmLnLVLmbuEo+akVrg7Qp/nnYzD3Snxd+vU1ewHOFKwBU8HSdF2qzT/AnLQQgG6PrL3ch6oHA3/fiPhn9w4F65dGDAZPBSoFnGJG9VpX/hQTuVJrFSkDluH4/Iu6JvGBeEm0Wj/sX8BTGfL8gwZyOhrDo03PvMOCFlhMgJnC8JuAA209odA1IoN+V/5inthQ1rT1Y751zvuU4AucJhgw7nhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=AhY25m2nlIOGMtUFgphbVF0Axx9gObv/Nzra+axx6dc=; b=UeiatxDxeC1lt7/fvVo303SAGOhz6lhzhAIWQ2DThpon3ECsgVFDrlbxeGMyouOSVRmiSjnQMghPnJPwcKEVgtK9jUvMxm47MzkuLDtXdevPgSgMIO607uEi+qZt/54rLF+pD2S+pvu+qCXpsg3BMGzKM/J8lCEApDmLaMupMKpmiTpPoYXvaCfgrcpTbgfyo5EZrhXo6ewPmg6Qj79weKJR4cwkU5PCl3IrSmmqcA6M0WdPVrEAc8C4CT5QlCpBxmMdN24fQCHDKdYhMiJ4S+Eh4PSupy+WibQuaYWBCHs7Qw+Elj9BJLelGJ7YcfSZAAptUF+W+fQ/eP6m1G76Yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AhY25m2nlIOGMtUFgphbVF0Axx9gObv/Nzra+axx6dc=; b=fb3RRawQwQYs5haYBMtS9hAP6tCZ9mLJPfWzy9XtRA+4WmBCn8/bMHiHI/wgujkUAl137eVwWmUuu5wzuBwsxUV3cbXrjZNzd1PeV6lEGFK9n+hIyvpKI1P09sUTZqx8PxfBCE5Z7XZPAXJMxVT5CeyAnYsrZSTC/a+DZ8o/Ip0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:08 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:08 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 2/8] mfd: ocelot: move SPI specific macros to ocelot-spi.c Date: Wed, 19 Mar 2025 13:30:52 +0100 Message-ID: <20250319123058.452202-3-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0028.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:a::8) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: 60062349-66a6-43b6-3e6c-08dd66e1ecd0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?SfVvCpGtURMwco/4Iq7qs9X7Xh9O55h5D1+BpisI5l0BcOHPJ+xWlj9c2qUm?= =?us-ascii?Q?2fv9oQYw3b0sH3Vcw9yYTDeOYZ5yIzrk8sWuVeMePJz/qghlol6g446OeQzH?= =?us-ascii?Q?ZMJpzQvNnDOgpZdTLaJF/jtLO8u1uDHab/MQZvvNBkFnMYjo8LkBWGuuqXjE?= =?us-ascii?Q?KQDHSzTALJNjphDoZT0UM7ldEkiUNkdtqmsn/U/zbDq6ZK23LlaN2osFkyxu?= =?us-ascii?Q?xtVDJsMD34YInK0OCDWIZT3+16j75ZZYZkrkudUCwlj9OQdvo/L4+1D7tCHA?= =?us-ascii?Q?vulPOouITKKk7byXibQfhBNmMa1bSDomcxqfrD5hJCZ3RsiSkqQvupnyv9Hk?= =?us-ascii?Q?tNTjMG2RbSPFLOG6ovKC6CW5xPv2uKcTJjrJfwXZsfp9XcaTxsmeDvGVR2xk?= =?us-ascii?Q?KFon+vmPN47NbycecQtGoxlfYTLzkQsh6/COLxDk4BVW6c2yKbC12tQByvOO?= =?us-ascii?Q?DfRiHA1rbeGxnud6OTxUlWieqt7Uh9ss8Y4jUCw5uOnIwafdvhFEp5vJGhVk?= =?us-ascii?Q?SMhlYMT27f+zQWuzgCP09wXaaezpTbQCGEVyj/j7VeS0uXzlhsr4JR2oktRx?= =?us-ascii?Q?D+kuxkZoOjtQvaB+3VyfBXJMNzuYeQur5W73aF+XxfcNR4L6B8br2XeY2SLC?= =?us-ascii?Q?YDyr765HM3ttAUIrzSC6IASu1XMLyYu1yQS8JkVjudzwI0T2kPyIjgxJpiBj?= =?us-ascii?Q?xA50QR380md70j4av/FjDoSjhr6HREWK6eBpjBkBtn4cJYtSaFK4jL9cXOjh?= =?us-ascii?Q?2cqn0+KHJ05ENnZC9yaY2v2UJAiQQIRLtJNFLmsL9gkUNfK/BjWx5VFynyL1?= =?us-ascii?Q?BVHVslhIcvCQ1GOCh0aMAPKtNkcAPnpLXxr8yz3LT659nonlxpELIZ4oGLI4?= =?us-ascii?Q?JJyoEKllln1KzhRT05IN1QjyjbQXasvixUbyuumE211nYsMJl+ath4f8NuVK?= =?us-ascii?Q?AXxKOnjZ99uAnPwmit21tGI5kirZa3E2JwjcEVYBITEYNOPl7GThRErdj9Oo?= =?us-ascii?Q?pq6w/r5VkVypkUN49B5olVtKX+I+8S8RZgpgA4leNzd4fnwUnWw6JwG9+csg?= =?us-ascii?Q?VqvHHP+1oys/qeZEnnKHhkru5+wG+MMSlMWvaZolgG7F5HKZC7hlvTdyPG7g?= =?us-ascii?Q?hU3WqHQQZqTSCAvIRz1ZyPuds9k79vUERNvWzfBTlbYAkTwVvaefkP/FPIXs?= =?us-ascii?Q?0ElH5imUB+Vmxs+pFOY82Ui7Yn8vKRocCl0XyREzgIJaeCwc7ZH5mKShCbTH?= =?us-ascii?Q?MPRwka9casLZITDPIAwxPvX+IRi1oJnyddtlt2v+85KnvvjKnJo+w6xiRyHQ?= =?us-ascii?Q?CPS6GaGz1FlkY+JH+gVN127hCflvLQssC8P5nsJahdm0YKmebIPk3h7VbPu5?= =?us-ascii?Q?zd345fgoFvG/LWeNvgH0YeI+5/N6kPdUvAWsb5EO0N7SdK2Wac3/DVYEr4+L?= =?us-ascii?Q?wNDRJKtBCtSr64u4H+5e4O5yKvFrImtY?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?e9t8ttjdOlF2O3EFGsvJu/3JxTp0T0ALlBF6mm6qnp7pg4iJETPmapULHbb1?= =?us-ascii?Q?FTPfF32oL7GoHapSE37yeZq2aS6BuhvOcSnpQDSjNt/4hmaw8NnQD/DzD6Lg?= =?us-ascii?Q?imMuy3lsYx8Pl4aImLaSPV7y/MPNpUWhZjipQqBK7fflYITp12h+5ksxpcdQ?= =?us-ascii?Q?Xqludc4dDyU8+qE+LWYY3fBqKCp/7ki2hOAWE2R1eC/S1IAhAmSz4OjP8CwV?= =?us-ascii?Q?2pSvu/b6NJgjFZPsJ1ybgsPNJ4GBQY3Onv2PtCrxivhK7lUUifGhlbUzSthK?= =?us-ascii?Q?W8W7GqSYc5I9DXit0n7oiME9qZErkxN2EaOaqxhieet3NC4uOp1ePZ4S5erw?= =?us-ascii?Q?Vhvd65dfzJL4+xTsujACjTQAmqrthNxzjIj+J/3VcWQpmKCzKCimIJp0RRPu?= =?us-ascii?Q?NWvxsI/LdFZmeqB49nAl334cIydftgL5lrmpNK7B6j0jl0cX18rbhgBj5Iht?= =?us-ascii?Q?DZIAMQO1Pf6cJEj5XJVTDOb6A2jwyBvIgu1lJuAzyXBCS3oP63qvUsErc62P?= =?us-ascii?Q?EVEVvQBfDjtm7Wr5JELjSlyb30xAGdvs8suV/ayXN3nU5xb2c8iOpf9G02iL?= =?us-ascii?Q?BHf7AqDfSAAa3DjNc/zH444EINndbBY/MxdJ0du2dWgTL5t6aD4sQM3HKHUM?= =?us-ascii?Q?n4RmR/3hp+urxRIXQerYagnla+D96tR9nnKqBpVQlKoItJ8akcN7MpTo7Vyv?= =?us-ascii?Q?+5OVuoZ3szVxKk6eb4vj7SJ/qSlT2uxQtTb4isPQWRam7Q73YKApWs8XV7TG?= =?us-ascii?Q?SHXx8NF+Lj69/kHJ16BBjYfE1Ho8/VUX0rv2iuV+93sGzffPz9nyGqCw0ylL?= =?us-ascii?Q?mAKwuCjnVqKgsi7OF4pyNleHDLvrosf37itAQ5PfDMh5FKstogAUULiIcyfb?= =?us-ascii?Q?jJgBOJvgdiSRPYJVtC3DZUHUxOVCo7f2329hO9LuHWx0YaQgoO64IVTiwk0/?= =?us-ascii?Q?25JwShZyBZTienFHIdmqZ2CC3NgmmySm+fmKRsRHBsjfZ6WufvgC6KegUyWs?= =?us-ascii?Q?FrxQxbSPfajzSXf/u9Ipg2mpkBy0wgf4zR0uYe1kZw5fC3ztXwYe2AZK80LP?= =?us-ascii?Q?6QCjIduNcPLp386+v+4jU3lJSsd/E4ng81VLuE2kY4fqWlGpX4rPyzNL0rv7?= =?us-ascii?Q?DUewv3JXTfRf0G85BFtLLSfgLfwn9C6sn6wINKVvDZb+QohbMSAyBekU8PiM?= =?us-ascii?Q?rd9xSFfKntPZXj5Or8PcK+GJV1/51KGlIbgDlpdXjhGsU1lkzfuCo034YLNy?= =?us-ascii?Q?s4LItQMZwTHswqu0+AgtfkvzNYG6kgefVLBQqsYen58akOmLoURL4HstHXys?= =?us-ascii?Q?d9H6Vys68NtzUfJaNcBM4KHpVGrv3Q2MWKJueSnf0VIxMqmqVNNhSDpyzlqb?= =?us-ascii?Q?Ktf4HuslVjyq9t81u9SAnU0sWLkZKYpkJRKinfe60ehGT49tvJnup3e3Zj3Z?= =?us-ascii?Q?cPFidTYhGFK8hlJkFKVO4y2Djdkw3MouHisKHpftGUnukTOWMODD16/OenPx?= =?us-ascii?Q?VpDrDOaows5YsZOvuP1PUAcDbqsXTOg91Opq9MdnUXpDHwCaBBxdXwO7vFQj?= =?us-ascii?Q?TBQ2kpluudaoSWLKXhA+G/qRgjN5V4lc890dIqKo0UVjknhWzCnLKtkx2adT?= =?us-ascii?Q?Uw=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 60062349-66a6-43b6-3e6c-08dd66e1ecd0 X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:08.4421 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OMPo9r9VZtxL3ZS2jXWRCufiWfgxi8+7Pyb0Dn9SnDPWxJtwkaYrzxgBwFl24+AtTp6Jq1I5JfaHBSKC2DLokj47IW/e4h0Fbo5uzRu4f9M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" These are only used in and relevant to the SPI backend. Signed-off-by: Rasmus Villemoes Reviewed-by: Colin Foster --- drivers/mfd/ocelot-spi.c | 9 +++++++++ drivers/mfd/ocelot.h | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/mfd/ocelot-spi.c b/drivers/mfd/ocelot-spi.c index a320a613d00e1..97e4061e3dff7 100644 --- a/drivers/mfd/ocelot-spi.c +++ b/drivers/mfd/ocelot-spi.c @@ -41,6 +41,15 @@ #define VSC7512_CHIP_REGS_RES_START 0x71070000 #define VSC7512_CHIP_REGS_RES_SIZE 0x14 =20 +#define OCELOT_SPI_BYTE_ORDER_LE 0x00000000 +#define OCELOT_SPI_BYTE_ORDER_BE 0x81818181 + +#ifdef __LITTLE_ENDIAN +#define OCELOT_SPI_BYTE_ORDER OCELOT_SPI_BYTE_ORDER_LE +#else +#define OCELOT_SPI_BYTE_ORDER OCELOT_SPI_BYTE_ORDER_BE +#endif + static const struct resource vsc7512_dev_cpuorg_resource =3D DEFINE_RES_REG_NAMED(VSC7512_DEVCPU_ORG_RES_START, VSC7512_DEVCPU_ORG_RES_SIZE, diff --git a/drivers/mfd/ocelot.h b/drivers/mfd/ocelot.h index 4305e7a55cb1a..4f602611a5a86 100644 --- a/drivers/mfd/ocelot.h +++ b/drivers/mfd/ocelot.h @@ -35,13 +35,4 @@ struct ocelot_ddata { int ocelot_chip_reset(struct device *dev); int ocelot_core_init(struct device *dev); =20 -#define OCELOT_SPI_BYTE_ORDER_LE 0x00000000 -#define OCELOT_SPI_BYTE_ORDER_BE 0x81818181 - -#ifdef __LITTLE_ENDIAN -#define OCELOT_SPI_BYTE_ORDER OCELOT_SPI_BYTE_ORDER_LE -#else -#define OCELOT_SPI_BYTE_ORDER OCELOT_SPI_BYTE_ORDER_BE -#endif - #endif --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011070.outbound.protection.outlook.com [52.101.70.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AC582561CC; Wed, 19 Mar 2025 12:31:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387482; cv=fail; b=IZa299JBuVE++2SMpaZnMFDdSE6HGO8J9nbzgP2Pqa0iW+giBkTZg5pTGj/jtxajKkVhaudMfabsjkkR/PG6fji+4/+K+NHQfN9FuOGd82IMfrR5bU2xsJU3xdhsPjwGPJ8jlc8QSLhiAnzB0vZjPpYousRwI79v7cKpisdBKJ0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387482; c=relaxed/simple; bh=AzhJjnKN2dcC8okFzeHmSiYP64j7rVp/YMI0nNzlcQM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GRfePuneCPWTxAK+45I2uNuHBso446OGR4NpsYRN6riL5lDMcfp1OZpF1UMGNyQa3fCytsaEzGZEhQzOEnpR0hHprT43Y5nIU9koJA63P8LMFKxACs+KZ5UkoH8/UW4sfrTw/ineI2Y9sJxDRtxjNW0ARVvlrLH5Ykm/vc6EEoE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=CSbNCNrV; arc=fail smtp.client-ip=52.101.70.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="CSbNCNrV" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d11xAPKJ8fYMzMjDg+ZpSt+0MiHvByRWli7/+WqvIWA56jXjoIyVaruraUV+dND9iAOYWKaPxv1budxL0YZcrzYVCO1AiJoy0ImF9ZPNJLwZFwnsXsBXBghtNJFJ/aA8QdZA7VGXJEdpnpHfu4nCMFXITup8nl0xtAD6HZIGjFO7Aq1t8JskX1r9HexW8bzxau3xZWj2iPe1wOQ0cVOzKQZfHVqrITA6gRAYJC9213X01ifihiQXIH+bqj2Bbke3eTxLL68V0H2l5HChJlYs1SahbnaE1WgsMdhkfvhFV6bs/337v0iQ7tWWmp6utokApsCAQR1DgCo++G8NIcRooQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Z5LSs2xA4W1YVe5adU70peFXIrVvvKhiF/CUEmSEGW0=; b=AXFLWpydrLHGNo/kQRX2bblgH2/YN8xIqXqMJeGBkdjdhU7Nxqv0SqQ2mG+0spF6pVupKqnCx6aWlu2ibgGASZ0gy4qWvUSyCZX8XuoF7azUR50y8FiHo5RTrn8NowHIQLzTDj+1RVH1/jT5ZLq6RNBLvhBP9lZwZFdHv19EmKtv6gnp39BL03v9opR34kkMqPHllLbJt9XV5KDwZUVRU87X8ewZ3atVwQ1Kp2x39sMoWtfEB5x6cJHqdzhmAZjTNlXupGHNkSqvTCZ3ZYQudpPYek7VpoIJ4DgZ+5EVdx+VDM0zxZPTjBbE2SpTAmzccySbqxAGN63nZeS1woNjDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z5LSs2xA4W1YVe5adU70peFXIrVvvKhiF/CUEmSEGW0=; b=CSbNCNrVYb2+vj/fKtX+Y29jgxqvGWjr92RTsezPG4D5moc0cFMFN/vGUPAMBDoOI4itKId4PDKZ9xl5mvWDw6vRx1hw54qo5sLVgKQijbR2kSoSCfhYe7deVmcnsHuhFyeSJriPZ9aj0dRA2M2tyTqRzMVU6EPmM5jlXP/+NLY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:10 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:10 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 3/8] mfd: ocelot: rework SPI (re-)initialization after chip reset Date: Wed, 19 Mar 2025 13:30:53 +0100 Message-ID: <20250319123058.452202-4-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0111.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:9::24) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: d7c7247b-47b2-4422-1562-08dd66e1ee09 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?kSIv8V1Zkqq3JTNAvRZb0PFwflPAFZUutZb26/1gDmp857clY0G0SIsRscD4?= =?us-ascii?Q?rI4/KK+5PixQIul/5ArodfRgMLoYGbLjRDfGF82ulp/HFueFQLQTlIyqYMGW?= =?us-ascii?Q?i9SGUS82aRMutVi7WrFHIRE/lEwuXquy1+Pc9L3RIMhfRcBMXPxCaT99kYsB?= =?us-ascii?Q?cBSo9XEMUvgRIlqaBRWF4qAMtd62lhmNWYDnkhyxik0UfeGgB5OhQjDjT5iA?= =?us-ascii?Q?Fh5r7awGEJ5/s5W6J+0NhuwSnqTdUAGzt6tEUgraVVSfgiUy+Rmbnae4N+y7?= =?us-ascii?Q?3VVCQskVcb4gu/IUzfPK1Se1/Xppfoh4FR6UzVVVhSWyl6D3oyIjrCf8C3EE?= =?us-ascii?Q?ogj7byzfWeZfnqI9D5r3TMhKcxnFLdglkyVPHXqiFCjIndaL4KkRRnKllitM?= =?us-ascii?Q?dZTrHVBjUf9IyyRlYvdiSCDQBjLacJD2tHp4l8q7G/wuasa0y3eDU2Entrr2?= =?us-ascii?Q?CGDhO1STIG9a8NdXJi2vWBdA3H8N+txWoD9Ourno/wnhxsaXFVI0G3ArQkah?= =?us-ascii?Q?nxaaT0isQg7/GTP1ZXa4anTYZC98HjG9+lDPJuETUxE8ggoWmeM+jDV1DXjo?= =?us-ascii?Q?rNBlwyLVlkNKKa+yzvVphR/DCvecmxtQdaA3PEmd0ymVLtjsyDGcZx3ebkY/?= =?us-ascii?Q?dF4n8Jh8mBGLIZY06EzKNaogikGeR2xLdf/uMhC1WDO8DGkLne1ZnH8Zj+Bm?= =?us-ascii?Q?ehObGx1+FWR1/NaqoA55ljYxKB47fNFWPqleBkq9EJHSUwrtJJj5fdeqbI51?= =?us-ascii?Q?S7VfkWxdaB38ybDGrKud6QTCU1jCLEhbgfuHFC/fkMCj65TGFdDNaGhpOyV4?= =?us-ascii?Q?YBOSpvdgvHXZz2dJhA4+PjetHCMoscMqiJlu8fWQKAYGe5fFXt77Mn+aoMeq?= =?us-ascii?Q?yJl3LnA3ls1jMQ6MzWKv5D3lDMBZCCCbGLxVfMf1tpT86FzRU+F7pvivec8J?= =?us-ascii?Q?RNCDFImk9Pg9iuyHaKfMsS09T1hcJa3SRGUdQEdk6k9mtKyZ8V74bDmK0Owg?= =?us-ascii?Q?JU6d7os96NwhMcY/FBCN62mvpLgMU6gyZzhR8Sst/mX2lbqwm6qle6Gpk6qe?= =?us-ascii?Q?1OWzEdMuw69z0yX5+zEQeykDbIpC+os1G04wirzbjjQzbSmcGqX3fkY3GZWy?= =?us-ascii?Q?795jkMq+RTc4cr9Us60u34yHYY0/iqJ0Sbr/yevfV/pmkOCtV5KxYQfWTB/z?= =?us-ascii?Q?DXcXB4RxvNz04h3YhWui9plJyQzLr9hQL0SvzPLXecbOGsEoNplEUsL7LJeH?= =?us-ascii?Q?B4lExFl96AtZfQL5JBmzvHQ1nE0IokxIo4VWaKlaK8qIRNf0W4nHOjv6yiqG?= =?us-ascii?Q?um3LG5R7DJKpnB0mT70+yRn44tePV3ZD88a4HTuwpuvM5pI9OwOGJ+3mRLAR?= =?us-ascii?Q?NICu0OsWCqQ6+1Rfd39k3RZ5PbIn5ofh0x0IO94S3Olg4JHtVZEfcWx2YsLs?= =?us-ascii?Q?pAFXrF4oyydQ/+aybqfsD5x/c6wUsUIW?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?l7ieRQvqyC8qY4YSSmkFvITI86wVjEeifgIRmibl9IKGgz3UHJkh/dkQmXjJ?= =?us-ascii?Q?lG2V1MxKIMwZkJF/irVoMDG495mcszTTmQefFEcJys5ReNXL7tUxuJQYbt+i?= =?us-ascii?Q?ivK5db8nQteL3JYXZfTGEor3Mnm7UKExTMB9mSEztw5+lIt3Mh9Auw2MEnGv?= =?us-ascii?Q?IapAIZrKNhQLGPHi7qKyLnAxx/DVrOz9OZ4UE32+mGPsja70OiVhl15RRQbg?= =?us-ascii?Q?p3r+NpKFoj8WOb2ZtAYTCLsEVk9Vi59PjxDI1rcOjRLulVVcEVMNjV9lATTf?= =?us-ascii?Q?xNbAUnXEn77+MkMZjr1dqpT1WPIpkHVHSF0V4zz1sIWYSkwMF9JTQPB+7yYf?= =?us-ascii?Q?8HfCtY+zZFD7nB2t5RO6dyTCWYznh/OkBMAEYgfbiFHQ92bArj4YTJ4WDy2T?= =?us-ascii?Q?rT6lHtJxTh0ppgWDYj8LfFNOMXHDthERttjPebdolqoByDk2NXQgph7fkWvm?= =?us-ascii?Q?A5RC2x4r9k5BtAqedzo9mzRZv0dsqOFECmGsjJnFo0BcggI2ILsuYj6queLN?= =?us-ascii?Q?Ay3Kc/E+Hd1ivIcBj9EJxlkDQlw4O6k+yODr8n/l9ScHMag7vKWVcLnr3N2F?= =?us-ascii?Q?z1p7yInZE7Zs/eMPBA649Te1rId4YmMKjfqaN0oW8e3yKtsJgSdVZ/Gm1Z6a?= =?us-ascii?Q?uLXeZkObVNua+CWPHqjc85lvIDZN+bBvUdFatjikRsqXi4k27im1OSWRsF7Y?= =?us-ascii?Q?s1UwKISqOJNb9yv4/D02lffeL6PSdSpF1qIFwtAloceiN8rI9ct18uBuyHll?= =?us-ascii?Q?EYftWwBcnnJ5AXfNnCZyFV3q5jKtCy4gkncV/wWhdsXIGGHUZTRRw4qt7441?= =?us-ascii?Q?YCIAKURLghG06GaTfX0RReYfcWbVL3hlQSqHboo0yew9GULwWB8wrrii/Px+?= =?us-ascii?Q?McO3iUyus2FTGfjgg2LykiPDkFfWJA5APP5lVKYJzNJN7CDQytdXCTYWeFIo?= =?us-ascii?Q?hzdT5OKk4rjvqhAIsa3nMmVVoyY65I1tZrhv8ttjnDsJO52LEI+23Utk2Q3L?= =?us-ascii?Q?Y8WpMheMLXEwkBej9y0S4mBWZWM6iIaAFTmlZK41sQcEl2X45IbO/fGVqqpE?= =?us-ascii?Q?vLEijcQcG2u8eHDouEV8pW1OClUED98Dk3Q3RgxrJun2wZANXYsaV64gBlQA?= =?us-ascii?Q?rXW41umWpLVR2Tyoxk7gwIKGdNmn2jwzKaus+BI97GYyH/aItlRG5h7fApl+?= =?us-ascii?Q?DNYLVOKjQIbqp0/1viyqe2wHju5MqAo4jINljwvq7YgJvAZ/o5V/0pt2IKeU?= =?us-ascii?Q?PbPHQTBWmq5s7t0RfgxyXBBOEFpsck6qXHJGt+mEiJ7ZYopyhWWwpGLY5Xvf?= =?us-ascii?Q?wBJHxeGcUcns4dM/b8Ysb3BXaVP6XfkrN0aTbOtdKve+JQJbW2eOmXsyvHQg?= =?us-ascii?Q?GPZX+kJqKKooQ8z4xr3Awe9+Eao5Xj0nTFzpzXZjjIZjXG1YbNlKo4s6Lm4b?= =?us-ascii?Q?zk5IMfusMgycyYLjzNGFcRIMgh7qh29HGIYxg0hOahRP95iZFbVZxVv3rpPx?= =?us-ascii?Q?+l5v3dL24pwvWJcngp+7Ve3sAfJQyfOVK+tT2lZWAQp4EaTu9rdWPpEmQa0l?= =?us-ascii?Q?tv0N21xhNGekXQ9qtdrrT/oy+KXaCuiG5V9W+J7np8aGZ5PXjT4OnGVvOSEC?= =?us-ascii?Q?kA=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: d7c7247b-47b2-4422-1562-08dd66e1ee09 X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:10.5260 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cDEe/S5pFhTDCexlb1zR9FTT5pamv4ktGHuYsUPAGWZ6S0ChytH6L+qNcxcizyDBV96N9xqbm9LRBXxctbdso/ZeBrtKR9zDDNP3WjithZs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" As the comments in ocelot-spi.c explain, after a chip reset, the CFGSTAT register must be written again setting the appropriate number of padding bytes; otherwise reads are not reliable. However, the way the code is currently structured violates that: After the BIT_SOFT_CHIP_RST is written, ocelot_chip_reset() immediately enters a readx_poll_timeout(). Since the code in ocelot-spi.c implementing those reads still insert the padding bytes in the spi transfer, any read done after the reset is effected, including the "final" read that should confirm the self-clearing has happened, is most likely garbage: Say we are using 1 padding byte; after the reset is completed, the device doesn't wait for 8 cycles before sending data (because CFGSTAT.IF_CFG has been reset to 0), so the result is going to be something like 24 bits from the actual register, shifted 8 bits, followed by 8 bits of whatever state the MISO line is in when not being driven explicitly. Now, some of the registers blocks (DEVCPU_QS and DEVCPU_ORG) are documented to have access times of 0.1us, but the reset register is located in DEVCPU_GCB, thus has access time 1us, so it seems there is no way around doing the reads of the SOFT_RST register with the correct value set in CFGSTAT.IF_CFG. So rework the code to let the underlying bus define an ->init_bus callback that the core can call after setting the soft reset bit, and before polling that bit for being clear. Note that we do have somewhat of a catch-22: We cannot read back the REG_GCB_SOFT_RST register to know if reset is completed until CFGSTAT.IF_CFG is reinitialized, but even if we are always allowed to write to that register, if it is possible to write it "too soon", before reset is completed, that re-initialization might be in vain. The data sheet is unfortunately silent on how much time a soft reset might take, and I simply assume that the re-initialization can be done after 100us. This also serves as preparation for implementing mdio management, lifting some of the initialization steps from ocelot-spi.c to ocelot-core.c. Signed-off-by: Rasmus Villemoes --- drivers/mfd/ocelot-core.c | 8 ++++++++ drivers/mfd/ocelot-spi.c | 9 +-------- drivers/mfd/ocelot.h | 2 ++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/mfd/ocelot-core.c b/drivers/mfd/ocelot-core.c index 78b5fe15efdd2..9caab83138e59 100644 --- a/drivers/mfd/ocelot-core.c +++ b/drivers/mfd/ocelot-core.c @@ -110,6 +110,14 @@ int ocelot_chip_reset(struct device *dev) if (ret) return ret; =20 + if (ddata->init_bus) { + fsleep(VSC7512_GCB_RST_SLEEP_US); + ret =3D ddata->init_bus(dev); + if (ret) + return dev_err_probe(dev, ret, + "Error initializing bus after reset\n"); + } + return readx_poll_timeout(ocelot_gcb_chip_rst_status, ddata, val, !val, VSC7512_GCB_RST_SLEEP_US, VSC7512_GCB_RST_TIMEOUT_US); } diff --git a/drivers/mfd/ocelot-spi.c b/drivers/mfd/ocelot-spi.c index 97e4061e3dff7..37828dd3ee95e 100644 --- a/drivers/mfd/ocelot-spi.c +++ b/drivers/mfd/ocelot-spi.c @@ -215,6 +215,7 @@ static int ocelot_spi_probe(struct spi_device *spi) return -ENOMEM; =20 spi_set_drvdata(spi, ddata); + ddata->init_bus =3D ocelot_spi_initialize; ddata->init_regmap =3D ocelot_spi_init_regmap; =20 if (spi->max_speed_hz <=3D 500000) { @@ -264,14 +265,6 @@ static int ocelot_spi_probe(struct spi_device *spi) if (err) return dev_err_probe(dev, err, "Error resetting device\n"); =20 - /* - * A chip reset will clear the SPI configuration, so it needs to be done - * again before we can access any registers. - */ - err =3D ocelot_spi_initialize(dev); - if (err) - return dev_err_probe(dev, err, "Error initializing SPI bus after reset\n= "); - err =3D ocelot_core_init(dev); if (err) return dev_err_probe(dev, err, "Error initializing Ocelot core\n"); diff --git a/drivers/mfd/ocelot.h b/drivers/mfd/ocelot.h index 4f602611a5a86..5aa6589b9038e 100644 --- a/drivers/mfd/ocelot.h +++ b/drivers/mfd/ocelot.h @@ -12,6 +12,7 @@ struct resource; =20 /** * struct ocelot_ddata - Private data for an external Ocelot chip + * @init_bus: Bus-specific initialization callback (optional). * @init_regmap: Bus-specific callback for initializing regmap. * @gcb_regmap: General Configuration Block regmap. Used for * operations like chip reset. @@ -25,6 +26,7 @@ struct resource; * data of a SPI read operation. */ struct ocelot_ddata { + int (*init_bus)(struct device *dev); struct regmap * (*init_regmap)(struct device *dev, const struct resource = *res); struct regmap *gcb_regmap; struct regmap *cpuorg_regmap; --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013002.outbound.protection.outlook.com [40.107.162.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B1EF5256C98; Wed, 19 Mar 2025 12:31:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387484; cv=fail; b=AU4cy5srfABvqinLgdwcrnvoGq2T5DaABUk1nIgj5sj/6rpgJ7anC2KtnCKcEn0va0roovfjIq74z9BBgVXBNz5ilP6YijWP+iHzEaLZ7yDbCSZ6ntUCXHoOoSKUq+KjDmbiHYoEU2r3lF6oM4PLgxqL4OLaVxEACCPGlENvDz8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387484; c=relaxed/simple; bh=xkGk3s/1cj8+GgOktE8ZAVfPJfnRduhTIp5rChtgFIk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=WAFQzkju4XhWY8h1Tu4W0YQoZ4Ru4StOPrrksRR2vRLiwffHDUesReLJUI1VbYN4L5k34VINKEkxwo8Gvn4eSeKH1UvuZ4xYrx3olWIcxdSLB/QTIpCYgEDMtkR0J/e+FLt+mHIvBqd5Hodi0TB/hFJYU2OAk3u0zcSMSKbFCIw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=FPvouaNZ; arc=fail smtp.client-ip=40.107.162.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="FPvouaNZ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cvtAMxZIf2prtMkWil0jzvNSrJviAyi2IZDiz3ZbMIYrpUC5vvczHL3YlYiZjwjiizcbAJeEz/OIVRLLmEN2obCbBJj3D9zRdMoOPAQAik/O9eWhiEaQ6Hv8UibRSfKhf9GwUABdvJ96431oOSyrqUHzdeZrnQAwItX5QzEdLS8k+0ZtZtdo0j46LzWcSjkQ1swap9RksHzJB+kEzc1jWCjznK5i+JEqCqFTyRQ4/0IRqwfaYH1AUB01XRJihFsZ/FqKCLXUa7JCuZ6T8++M+5S2osdU05gXbYZIIQo13h3PL3Fn6SWt8JMtCZ2NPZp9Bs5KCchbi2zoWxg7aeGIBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4aVVTOPy3yWZfDCknm/42Whe04cgR2oPyz1O0vSaB4o=; b=LEf5PfOLSws0mMr8lUr1x3OyzPeNkbcbxgHQomiSA/wwHS6/jpRsEkhofMUyCGJuGVRgXm3C9HiaKy5cW3YyH58aJp0hGhu15TjsHpy/cm80ft1ngGvupq4gBFRaQPfeR82L7V1L4wK1aThhWiMSKht4spKrrtKMMfXHnUoPDMosbb/G08L0wTlKmz34G0q7/o18YzGpcKlIa8dLx/NOT/HdbMM2NiIHNS4Ia1fxyV7l/M7svHqrpe7dZyzXy8mbpEo9mzXBbBRWPPc/kmXepPcbE5uEq36NO5q25aiVIhfURPPpQbyNwKlhIEatMdU/pqXJjQQkR9Cn4/ZvrosBjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4aVVTOPy3yWZfDCknm/42Whe04cgR2oPyz1O0vSaB4o=; b=FPvouaNZcqPFJn+Z/v8ctOerUna9icDKEHIBj8GYN4zsES1/j7HwEznJ5SJL7Q7prwEv5q6x+IQZHzhQtiyEUWUgo67kSF2sgnrJHWyo0Pb/rJZmS/6ktC7VuMr2RjyAM5f5c/n04tFOLey3UoSTY7DgX6jpdNd19RdzYMTWJNo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:13 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:12 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 4/8] mfd: ocelot: lift chip reset logic to ocelot-core.c Date: Wed, 19 Mar 2025 13:30:54 +0100 Message-ID: <20250319123058.452202-5-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0059.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:b::26) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: 23e2be62-3a07-4e47-0df3-08dd66e1ef4b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rvrTt4D+tib5Wx8MHvWiLeB8Xz9tdXKFTbl6K7UHeViH1hMyt1J45RobEV9D?= =?us-ascii?Q?Je3aTE3uY6qqfRpY70EhRfxOswJzK9c7OZOXzAyFZ3YYe75k4kmz4pZNP5LZ?= =?us-ascii?Q?jjQSGwItnuhRBl69FUpelRnGFuPW+2fXIP/8gdVgmY1xDvqK2A6Zih+Aak21?= =?us-ascii?Q?ozTch6QAkOnzHsqrBty/hOtHodoPVvGMivn8ZSgghJMkgdJYPW8nsEnqK/z6?= =?us-ascii?Q?AsmlFJDVlu4PZj95D3XOJra9E1fMmF4RQJL+KWGxjzaOJi1O57ANMkGUapph?= =?us-ascii?Q?vSPl3H+lEz1t0gdWJjLHJkuvvTVWfYxRF/gLUJIxhf6HRqVFMnZPtWCsmxWP?= =?us-ascii?Q?19ua7LkXfLg2ZAoiQitvypdKFrceJ3Wos3k/VYZpCYWY/DCuIZoB2mOuosic?= =?us-ascii?Q?EnVui1V0q5KjiAqb3eYodP/cV6CI6SpahIi72DbH4fSR3eT90PLpDUVw7NTC?= =?us-ascii?Q?grLkij4+5kZAn549bX8nXXIJNjvf7662WiGPLGa+UjLqWKTWymHWkVBbZWh0?= =?us-ascii?Q?61VXKWFrvnrlI2wMugjfFHhYQvDn55f5VXh7KNGo9lRf2M+cjj/5iF7715W0?= =?us-ascii?Q?NHCuEFvbFjG+gIR56+v57nGmJ20TE8thF6j3zW7URGX8recxUYCirVjK2ygK?= =?us-ascii?Q?2UGhhmgYmPPG9nadBAeZlbxXD3A9RgEBxOozWs34TfrGxEN0wlvnoaM7TTH2?= =?us-ascii?Q?YF4wtc94R8icRebJlsXNmYlsbVkaD5Mxfcaqzhged7sdBfg681M5vBlJE/Aa?= =?us-ascii?Q?W0eCW1j0hHAxFKV31qG2DMCpGuXeRPZPHgaUMeKwl6qVWWXgy63I+p2UNEAp?= =?us-ascii?Q?jVL5+VqFtOJpab8wFISm0cWPnWmiVQ1Znqv+DIKbysIAPy7okSBYhJq/uvU8?= =?us-ascii?Q?0a8fEat8Jth78tvsikiPSnOThkRCPU/YyQchqgPmfRt9egVBJA2JTmrVjdYs?= =?us-ascii?Q?ghHb8fMJ2Llt0yko/qRZW3V7eLh8MGiKXgKCAIiB8VIh8YB3qNvw0TbIbxHT?= =?us-ascii?Q?wKD7rVCsdkuGx15nXJe6PYj0dzbqRIfnzeqf7MFDldqla3w/JVS4ouXZ9xRx?= =?us-ascii?Q?YvspQwf85Jz10LL95H2CuQB0WxYiQXtW7HKWwAYx5ppuvldgLKoaPl1URC8b?= =?us-ascii?Q?HJT1AYidCQQXweilUe+F/ZYGQhKHoz2rpXGoBUbzeEymLC6JJEPMi5yM64un?= =?us-ascii?Q?IcM2V7UP33bqFzWEZZl8UrEfuszLQdSnd2fHGKzBFNgaNK6mNiFM41C+74lS?= =?us-ascii?Q?hEZZtI5CRsUPMAr9LP3UO/yCMALWRstyKHwdcOtP2K2SMetGPuOKdLNkfbtg?= =?us-ascii?Q?yGCOgD7oE06xJ3WKaZP0nf1TOIWOMMRhdrsXAiKiYM/wsWgCKiM/bfVK3C/5?= =?us-ascii?Q?gAKnDx22La0MeprkYBMFEslCaFQ0mEkwKxdGoMw40SuuQFK5us1YqaiTfLSA?= =?us-ascii?Q?PPyTlhymeV7FzOrQEnUOJo4DcMZfsXen?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?sAEj6rks8/QXaeJryrrnmd+RKKN8pLeT/JipxtB+AEG3npc1XdaCXfJkrgb6?= =?us-ascii?Q?SZlku3tAIdfetibRJVpy1MVnQL/wzQ6lSRpPZFPYBreNsYE8bDsWJlxFMQc3?= =?us-ascii?Q?DmoVywXi+Qy9nhJ86Cof/9GvUokZ9UBs0pWzVTUFJeQnjkRUVMvEbWQ7tMKQ?= =?us-ascii?Q?ba/sJN1XPJL6bujCp7veRO1k9nIwAOPzPOR+O/YJOf8sbVKOiCsJmD4AOKhp?= =?us-ascii?Q?3hJaBODCWKmvNovi00+Zdt1BedXxE9UbVODhBwdj2dxJhSdi3GVOeAicEky7?= =?us-ascii?Q?57lgBn/umisczwXjuevkAQSfjXZFCjbZ8WA77JivAP8LYs3qxn6cY89Ys3zM?= =?us-ascii?Q?4xpJxGUCjNO5Fmlk1HN+Hogpz2rx+v1DrYT1bii/CzS7pzc9Nk3Mb1Z0SeUP?= =?us-ascii?Q?f5QWrHXYiAuc9CI2vVDo5izwTiidvsY9pNRATvuqHqjRro8jssVRArSPOBpF?= =?us-ascii?Q?MwpiQVP2xBD1ckTEYkBOZvULkI2Z7qLPUccp2aehZlyltYlPUIzLmvKVVeZC?= =?us-ascii?Q?f2XJKJkqR3ypGmE2NedK16IyEpOzAZri+K7cClzkPTa+SbumGpdFXGd59VEF?= =?us-ascii?Q?YSpsMWDV7/Q4PVhtVDeeZ/xPHKpb0CXHkMhd2YWUJPn/joEOv4pZyfNaVxT3?= =?us-ascii?Q?N6X+pvVE5a/S4CtgT3+76pyJ5jYgFUN6zahV6OYeEJcGEiLd9QFAluPmFBTv?= =?us-ascii?Q?LQXNyXk4eT8fO2LWRUGpLbHKIVQaHSebUpp6JAgvbPR+9tKOoh0QG3J/yvjf?= =?us-ascii?Q?yhT+B85G/1jq9l7ziaoX+ClwPoGm+Z9MQrkVT6qz4cJz022vXLxkTsLfvzUK?= =?us-ascii?Q?2vNJURGxxAFq0oXAVTAr5+CbZXdKe/v/5UsH0siDRe4CNLNKcHfKy0bwuaPf?= =?us-ascii?Q?IP8yxmr0mmkDXi2WwYS0fqAx/9MYdHFr+PDKAmfUImpTOQAXh1C8tIojrz94?= =?us-ascii?Q?4IrKMnFNsPORrsIhF9SzagvFWWQTUP7EjTeH7NYh0xmMaKeK0J2TcisVHmqv?= =?us-ascii?Q?2YlKPA1HSeGzVR1MeA6VuyIs6DaE8mOQqW1tOEqind6AmesbdjvRpON1bll2?= =?us-ascii?Q?4VZwuhB9gEc92Dy9h7tH/MnBCAQO8A+s7/wvKEiefOlz7kq/cC3kb9LzLC1c?= =?us-ascii?Q?LEv0hHnH7p9NPJBe6+CPSwhU5qsbAaqil5etg6+Y6uzMwpx+x5QUw6UWblFy?= =?us-ascii?Q?VguO4FFRp8l1yO4lkj9R8H7nc5/M7GXN2FlWCY7yj1+Ddf8KLlNe1wrddP8m?= =?us-ascii?Q?euF+CEIE2imDPBbAykJDnAekc2itkSIIy9Wzk8jA9+76D9yOVoR9ak/R2zhN?= =?us-ascii?Q?en2eRukrVjftvnvlYufu2lE0DjC/SPOR4UIl0X5Up7faf08WwLhh8wQFhkxl?= =?us-ascii?Q?ZtSjB0JoOF5Q9hXDzq3VVpWKeW9NvvJNqM0nIWxakHWSSR7fy6uyd/BvO3i/?= =?us-ascii?Q?mX1Trwn/dv1G+uo15upDFSPzHThsIp/KN0/DhQSH5LhGP4rjZmlkSzzGoZCl?= =?us-ascii?Q?w+8yPLIysdtpmFxWmn62j9beEv6Ee41uGr91tHpBHfs0qDuBUTX2VjLqOYxl?= =?us-ascii?Q?sSLaJSyn8SmJf29eGjxA7dmMFYtiiQSWKth0O+AjkCOwgvxgnAvc7NChtPd6?= =?us-ascii?Q?ig=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 23e2be62-3a07-4e47-0df3-08dd66e1ef4b X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:12.5924 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ec+7K34hLU8zfLd8hOXX9KL99bK1ciqniXK4RomsPcsc9ajY2e9HBhbPGxSKeUNweaQbPmUfaWa8fHjvQ/hBCKShKG6//NjsukT1GdWxZj8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" As further preparation for implementing support for mdio management, lift the initialization of the ->gcb_regmap, the initial (and optional) bus initialization callback, and the call of ocelot_chip_reset() to ocelot_core_init(). Signed-off-by: Rasmus Villemoes Reviewed-by: Colin Foster --- drivers/mfd/ocelot-core.c | 28 +++++++++++++++++++++++++++- drivers/mfd/ocelot-spi.c | 33 +-------------------------------- 2 files changed, 28 insertions(+), 33 deletions(-) diff --git a/drivers/mfd/ocelot-core.c b/drivers/mfd/ocelot-core.c index 9caab83138e59..c0ab5492c83f9 100644 --- a/drivers/mfd/ocelot-core.c +++ b/drivers/mfd/ocelot-core.c @@ -28,6 +28,9 @@ =20 #include "ocelot.h" =20 +#define VSC7512_CHIP_REGS_RES_START 0x71070000 +#define VSC7512_CHIP_REGS_RES_SIZE 0x14 + #define REG_GCB_SOFT_RST 0x0008 =20 #define BIT_SOFT_CHIP_RST BIT(0) @@ -123,6 +126,11 @@ int ocelot_chip_reset(struct device *dev) } EXPORT_SYMBOL_NS(ocelot_chip_reset, "MFD_OCELOT"); =20 +static const struct resource vsc7512_gcb_resource =3D + DEFINE_RES_REG_NAMED(VSC7512_CHIP_REGS_RES_START, + VSC7512_CHIP_REGS_RES_SIZE, + "devcpu_gcb_chip_regs"); + static const struct resource vsc7512_miim0_resources[] =3D { DEFINE_RES_REG_NAMED(VSC7512_MIIM0_RES_START, VSC7512_MIIM_RES_SIZE, "gcb= _miim0"), DEFINE_RES_REG_NAMED(VSC7512_PHY_RES_START, VSC7512_PHY_RES_SIZE, "gcb_ph= y"), @@ -227,7 +235,25 @@ static void ocelot_core_try_add_regmaps(struct device = *dev, =20 int ocelot_core_init(struct device *dev) { - int i, ndevs; + struct ocelot_ddata *ddata =3D dev_get_drvdata(dev); + struct regmap *r; + int i, ndevs, err; + + r =3D ddata->init_regmap(dev, &vsc7512_gcb_resource); + if (IS_ERR(r)) + return PTR_ERR(r); + + ddata->gcb_regmap =3D r; + + if (ddata->init_bus) { + err =3D ddata->init_bus(dev); + if (err) + return dev_err_probe(dev, err, "Error initializing bus\n"); + } + + err =3D ocelot_chip_reset(dev); + if (err) + return dev_err_probe(dev, err, "Error resetting device\n"); =20 ndevs =3D ARRAY_SIZE(vsc7512_devs); =20 diff --git a/drivers/mfd/ocelot-spi.c b/drivers/mfd/ocelot-spi.c index 37828dd3ee95e..1844b8451e8e7 100644 --- a/drivers/mfd/ocelot-spi.c +++ b/drivers/mfd/ocelot-spi.c @@ -38,9 +38,6 @@ #define VSC7512_DEVCPU_ORG_RES_START 0x71000000 #define VSC7512_DEVCPU_ORG_RES_SIZE 0x38 =20 -#define VSC7512_CHIP_REGS_RES_START 0x71070000 -#define VSC7512_CHIP_REGS_RES_SIZE 0x14 - #define OCELOT_SPI_BYTE_ORDER_LE 0x00000000 #define OCELOT_SPI_BYTE_ORDER_BE 0x81818181 =20 @@ -55,11 +52,6 @@ static const struct resource vsc7512_dev_cpuorg_resource= =3D VSC7512_DEVCPU_ORG_RES_SIZE, "devcpu_org"); =20 -static const struct resource vsc7512_gcb_resource =3D - DEFINE_RES_REG_NAMED(VSC7512_CHIP_REGS_RES_START, - VSC7512_CHIP_REGS_RES_SIZE, - "devcpu_gcb_chip_regs"); - static int ocelot_spi_initialize(struct device *dev) { struct ocelot_ddata *ddata =3D dev_get_drvdata(dev); @@ -246,30 +238,7 @@ static int ocelot_spi_probe(struct spi_device *spi) =20 ddata->cpuorg_regmap =3D r; =20 - r =3D ocelot_spi_init_regmap(dev, &vsc7512_gcb_resource); - if (IS_ERR(r)) - return PTR_ERR(r); - - ddata->gcb_regmap =3D r; - - /* - * The chip must be set up for SPI before it gets initialized and reset. - * This must be done before calling init, and after a chip reset is - * performed. - */ - err =3D ocelot_spi_initialize(dev); - if (err) - return dev_err_probe(dev, err, "Error initializing SPI bus\n"); - - err =3D ocelot_chip_reset(dev); - if (err) - return dev_err_probe(dev, err, "Error resetting device\n"); - - err =3D ocelot_core_init(dev); - if (err) - return dev_err_probe(dev, err, "Error initializing Ocelot core\n"); - - return 0; + return ocelot_core_init(dev); } =20 static const struct spi_device_id ocelot_spi_ids[] =3D { --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011070.outbound.protection.outlook.com [52.101.70.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6A7A256C9F; Wed, 19 Mar 2025 12:31:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387484; cv=fail; b=IX1WEgZ+8YjngT39M/kj8jR62BVtgli9I4db0R8gKkUNntCKmtYhi1ovM0mtaIfIOvGyKBJ35GhlknwKMIghaz6f/vLczNuyvASb6ERZs6ehi5colN3JsafVFvwx5E4RkQ/BYFJD1k3ISExSoKmdX1Em/xQMM2fLKwK0SWDy2A4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387484; c=relaxed/simple; bh=VYswblBai4dr0DQ19Hn2P1pTv3IDLFNHhEm0xM+qlu0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OrKYfJ+pAT8FeynuHXnmsorm8YItdZivucUqwrp/6KEqHuTg4bQwQY2Uyf9pDq6pfGxvxM9kWykVcodqqlq7HsUefOWLqRVLzwM9E4eZyY4nCqFbblmq6Zm5fSnqHyd0yw6GRkb5aYKBOetDdjBhNhamxtBZKx6d2eqv2/iEtaA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=lXqietPp; arc=fail smtp.client-ip=52.101.70.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="lXqietPp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MI6bETysyJuGgYbE0bHsMUtwYuslBuymRYnAziENnb4M8T8LB/iSHljIjhVXMF3c2Pn3iSOsy+/6P/nF59t+UYWAp+H/n9enLjXxdACVq/merCcZs6q3ljvdMKzyR89xX3QbKll73BGnPD4nTVsOs+CHvGMCQlWHEbepu1EYdIxC736Cw+LNOl0c/PSuBDZizZ4aPFtFMFRaBrT17MzhxiVfLdwgxbGinsyzeAV+FJG3sjXCvDm/3wvqgMgT7hUWJLcWaDlFyCOv9AUhzdKvTEFDMhxrTtnjrsxhXaxZ6AooK2nfvoOLRr98UAsCj3gjIawWNE6UaOfXUbbnLgmq6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=wi+RYLnovjJN1vmRsE8RYoRZQ3czH7JRCfqHQXU+QOo=; b=BEeLi38wXK8ygrAK8uy6sKrOE4E54niE8q/8v27S+TGmkZIL7hZ1ImkOQk3MMueP5WOBTlN2Xrc0w/XL15s2SGSVQ6r/ozQSCmIHa33oLcu+uN8WhByU4Bh6AMlmtAp0QiozadcWMgjEDtAnWUTMhJ2FYsxmFb1sk+0Cjffkj/O/8PSEwpCq0hNS5Ug0+6/UWqQ5rgCRGGa4sUNpcQnD2TDlFaFd0WNO4SO05AwK7LMfBs6bG6HfK0+GFJ1hEjYXCfxt1WBDyauq/XbkzWyx5MR2lf/E0yMrBFh96pHHrfwfcGdTHDw3gANTwXVj5NyYM/ZvxHhK9mcnMdCJHZDNpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wi+RYLnovjJN1vmRsE8RYoRZQ3czH7JRCfqHQXU+QOo=; b=lXqietPpTCUu8LR5BYpuMJLlOhAqwORxiTkMX6sl2+WDBfTPZk7OZZ5mz8bZLrIJZ2pPvCNp0QZjCxgJtgPFXEyhfp7EhmuOLjP22yMivMoqljyv3YEJx74Hhr9SMcgMdW3jHiWXhJnHtj+LH7Pvc3ZOLQlSP9m6h3rVNitZH64= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:14 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:14 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 5/8] mfd: ocelot: make ocelot_chip_init() static Date: Wed, 19 Mar 2025 13:30:55 +0100 Message-ID: <20250319123058.452202-6-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0033.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:b::13) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: f493911d-703d-46d1-5beb-08dd66e1f061 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fLccHP+Q222ZCarGuVujr5ZBBIScYrU2824upisjwuBAg9ZoAgkmQzuBqQjK?= =?us-ascii?Q?1pRALg+6HCuY2lhGZ69AqtLne6mM0/oHY8S2bytYrT73Zz174e7vEUutQk8z?= =?us-ascii?Q?7cKrW/EHQiX9a0xZTv5cLnzVh8BfGKFTcwnuyKby74mL+ZOUhUDLwSGkR5Hr?= =?us-ascii?Q?9zl3eZPIEkVMF2xZ6aggm/rGSvEVm9Vb6MPWXaATEs3XWF2WskViSlugtHb2?= =?us-ascii?Q?EHVlvtpu6TCHEKUJtPMA5HciAhpDrWUG50ljcP1Py6Swszk7/2/2gK0S+ypE?= =?us-ascii?Q?sOMXwp4IB9P8wMsHjt1Nt4y7kJFSAeB1HNtoi1sqYgeqWUsXad9TCOVo6q9R?= =?us-ascii?Q?wTt+vNJ4CNlC8VUh8rcdNOMViA7rGNg2SRBG8n0Xsnt+pUElRB+HAG/TVmnG?= =?us-ascii?Q?6hc7cW8EugXlf/jJpo4HhzqTio5JxEnPutcgkTn+aX8qIx4mKDCfVBy0H4SP?= =?us-ascii?Q?x68N0K5mSbpzqupnXcXfTKrRqHbV6zISKt5g6ATNuOUEd/atWfUwuMd7QAvT?= =?us-ascii?Q?q8yC2v34aQjvfuawUut3bvIYB2jni0gkawmJgmLc1nLCBLcZXmoyrebGTG8s?= =?us-ascii?Q?qi0gpLC2QdzjZmmngcF0fMDzyOJM0Euw9wK4IAbsXhMBrvdcld23/z9Hk2KV?= =?us-ascii?Q?vUSiVmHBV3ZpOAeA35ihFxHp7up6nz5vBsLJ0k0C0dsIkl+8nQUf4suOyX3C?= =?us-ascii?Q?RZkJ2bpaBQfU0IKMlx28I1BPPzsFtDCHRyeIqKwS/xlPPAtuSiIiJjvWrotg?= =?us-ascii?Q?lA5wHw2PwZs0TEkONFww86NXLrZWGO7GoQlVNo1oqRCmIT5gLHO/JkedYAmg?= =?us-ascii?Q?0ly/BvaLSROTb+EwV8tDu8/43YIsA3VFTDW6MvdWMcWUqc4pnoOh/3XNtsHR?= =?us-ascii?Q?0903ccDSPRt1lgmFg4FXb3B8u4V0n1sXKEOEjGGEyZmPFR4iZulxcD9WCjoa?= =?us-ascii?Q?GN0pkO2o4J/hBK0vevDZNfucMT0Jt41oP+WQXo+dSbZU1pbSKjhuNLTdD9Jy?= =?us-ascii?Q?Wt73nfslhaD20wJ/HjLIycUcn2yLC9j8wCoJaElkPQlGphV9e/BuxpTS5Bc2?= =?us-ascii?Q?5znErjQd0GQgjWMor1XGNdwjCgCCEpz1TGPrpkMFkFQHx6kRUBlhJtQmZYPh?= =?us-ascii?Q?VMS1PtTwcEuVmRLJASIrYacVczybLOAARg0mp3OXK4ILYlaHiXKjQ7MF76pu?= =?us-ascii?Q?n7soREkzHw5S3Hcg8nxfrfvp4FEagyCX4mnbLONUaM3Qx7AmZJGHBHp5np61?= =?us-ascii?Q?yyTjgphgRvvLJsk399w00cs5p/LiQhW6paXo0WpZl+osOloLpLfLTeb5QBm5?= =?us-ascii?Q?mxsroaBtoiRE5hlYoAfHYJGv2ezdAtXMBLvDj01Prs+62xxOifKyAGgJwxn7?= =?us-ascii?Q?RiljGSwY3DHrpnDX1Z1U0+gPArnMD2vtbsUHGNa09cp4rAm91x9QwvBEjPW1?= =?us-ascii?Q?VUOea4K6b5qQo7mjeZVsC1ytwHJpZ2nL?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?shTnIKZPw2zBNCGLxjRkomMnOvukRI3DjD+DgBjSLFHveuXfgMGbdyUT2niS?= =?us-ascii?Q?mtlzUw60feLPuu7xXYjO8v//RuzD/bso+Ddsf28O6onDwGC9QTYnWrnC95yL?= =?us-ascii?Q?adNG8HWDiYNq0y7HH64GU3zYfHdRZOx6+HoQqKpZJEd1pFJpgK/QzHJ9YwAK?= =?us-ascii?Q?iI/y+uNutZCZ9XVqAuB7AHwfFdghqtANFfQsN4PjonEa2Y0d1M7OZTKCbOyT?= =?us-ascii?Q?/Hwnd0IlIBfZh64eqPNOlydMs6aJzEaDergmmMgsElU2OdGtj+jaSZOWKrGu?= =?us-ascii?Q?MIB9UKv2ymCcBRB4LOQJvuhNEjasgDooR2f46sTq+OAYkn4yyn9/gbyJ7B78?= =?us-ascii?Q?K3fIkmUJ8tTN1Klo1Hr1vURT/+Kn3DkBdxGDff2bCaqW8Gpdl1TRvOd87v67?= =?us-ascii?Q?kR8nvmWaKlD/A6Bq5XlqyCJxAuMFE7J8Br1GDrU01u1Rjwz4bgsmUYb9ylZN?= =?us-ascii?Q?N7rfNLt7mVCZpK6vEtlcV2UzNBHZIoSYQfWMdV1JQR6lQDqYS6nTXYOCxIn0?= =?us-ascii?Q?BRr+xj+cncyRd4o/f5u+3gmqMLqt0l6l6B2Run4HZVuwBmo7v3Ont/u/6ILa?= =?us-ascii?Q?qZnrB00H24sBMfhPik8QUFDIKBCoHx/FCWrdOANH+9NIFhWmSQftiPzhC8Re?= =?us-ascii?Q?XjCfmFt40Y/pmojlhjsjfPxhircOTlZtaJLTw22DKeqtePTkfVuB5jukf+EL?= =?us-ascii?Q?0Pi2mI13iBlSF88947mHBF+phQ4R654P0J5Uc4WZVW1eBEHIjLqK+FgTi1Bk?= =?us-ascii?Q?7qh42pSaB6ezvxT785Dut1kzkDdx2nz6AD0qcqrHIAXcbvx/cPKZYkZv44dn?= =?us-ascii?Q?NZ4dxMA40eBvBC/CckB0mVMXhDxz6Wr/t4yp1xtYiaKOlr/hIzeUdcZ20QUT?= =?us-ascii?Q?XZnLhhbDqvU6ZZdLvVnscWGYty5s9vmGBr4C0ZceIg0d2eVBSDHdUtH8oVmP?= =?us-ascii?Q?YIouRP0IZor2yPVO4bnjxNi+Ap1FHCYc7F1sVWnPuNH2PzSG42uOax52h6nZ?= =?us-ascii?Q?xP+KY26TfJmZCGmKAbMLGExBnxsQEfQSAbeli1iwu0lGQcKp4Tk6d6gVq9vp?= =?us-ascii?Q?7ztpXVNQ3AtQjN/JmpTn6TpE9AA+Q/Bj1oK9OCf9w6OQrfumUQ+ppoaQiZLI?= =?us-ascii?Q?mkcFU0EP9AcBrxha7L4r46xqXsReUF/kVkWjQ41jkvhgjD1RH1df7otRbMiX?= =?us-ascii?Q?mG38lw+FA4PAFpWpQD15ybk6PvXqH085eLw269Kja6eNfuZ5Ryy1sHO/SA2L?= =?us-ascii?Q?euUUqbV5uP2aynuPobXq2WaX2NRrA5Gxw9SuG0uXUPcit/2eAoHzCF+0XRZt?= =?us-ascii?Q?XsiT01cB2J23yzbBzIs3cQv/bSiwQKMndynTk/x6hByAJ3ukF4W0RUMc+56j?= =?us-ascii?Q?mRhVRBLRf97J7SYjuy1+q53FGrtz0etcYdpQaHAV7jDfzhtQH+XPE10Bag7D?= =?us-ascii?Q?iUob+0PnMFxwViYk48+RoRATetC8DMTwwPorxTO8ZURNxFWpZk3fey0i4kFI?= =?us-ascii?Q?nG8Hyac+OaaO3mQ9QPqp9k3riGLqv5OcN37Dwf3r04v0Y/YAkrIBhAhczztS?= =?us-ascii?Q?3OLxnTBBvdZ9FGP/r1DXjb2SeTUOVSxUnsbxY+xRIPS61mqrncokyFeIUArh?= =?us-ascii?Q?IQ=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: f493911d-703d-46d1-5beb-08dd66e1f061 X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:14.5374 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hkDM0xLbu/rO3w+Vl50wpCligEC4p0y3l/2N+s1XIaWRNNQNplP6FrO4e8t+rOUiDItj2bkPZBVJWySQLYsnFQGkTAb2wZB6Zly7RXD+XNc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" Now only called from within ocelot-core.c. Signed-off-by: Rasmus Villemoes Reviewed-by: Colin Foster --- drivers/mfd/ocelot-core.c | 3 +-- drivers/mfd/ocelot.h | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/mfd/ocelot-core.c b/drivers/mfd/ocelot-core.c index c0ab5492c83f9..c00d30dbfca82 100644 --- a/drivers/mfd/ocelot-core.c +++ b/drivers/mfd/ocelot-core.c @@ -98,7 +98,7 @@ static int ocelot_gcb_chip_rst_status(struct ocelot_ddata= *ddata) return val; } =20 -int ocelot_chip_reset(struct device *dev) +static int ocelot_chip_reset(struct device *dev) { struct ocelot_ddata *ddata =3D dev_get_drvdata(dev); int ret, val; @@ -124,7 +124,6 @@ int ocelot_chip_reset(struct device *dev) return readx_poll_timeout(ocelot_gcb_chip_rst_status, ddata, val, !val, VSC7512_GCB_RST_SLEEP_US, VSC7512_GCB_RST_TIMEOUT_US); } -EXPORT_SYMBOL_NS(ocelot_chip_reset, "MFD_OCELOT"); =20 static const struct resource vsc7512_gcb_resource =3D DEFINE_RES_REG_NAMED(VSC7512_CHIP_REGS_RES_START, diff --git a/drivers/mfd/ocelot.h b/drivers/mfd/ocelot.h index 5aa6589b9038e..f1272a359ef47 100644 --- a/drivers/mfd/ocelot.h +++ b/drivers/mfd/ocelot.h @@ -34,7 +34,6 @@ struct ocelot_ddata { void *dummy_buf; }; =20 -int ocelot_chip_reset(struct device *dev); int ocelot_core_init(struct device *dev); =20 #endif --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011070.outbound.protection.outlook.com [52.101.70.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A24F2571CC; Wed, 19 Mar 2025 12:31:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387486; cv=fail; b=rpvEC+VIHNCo98W3ml8hVtYVL4A/9sgmk1VDteJF5jVsPBfTBWpoPIvgiNVeaRnLLcUJzGZ9BoM5+nrYRHjvhxPv42REiswpv0UP63zAe+y9ykv9LgeBYDblZG3c3eCtE2hSnFdrlRetWygZjoJ8sHCWR3jXtWQaAZzM7469S7Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387486; c=relaxed/simple; bh=hrouQ+u57fcxMgN63OZO6eGdB9i4azjaxGxEjdw91AA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ozaJl6rCZISCIsF5S4RidOGnJaodZX+MZ1wOVH+vOQYK9ygApaH8FHdGQEfHdFx8wVTO6D1O0ovBicBWSpdWAjbYInjencHT3TMG3IZyY7jM/7Yu1NUk7aw/YDuvO86z2OHPEHc/661YzpGbsekV8uOKGfddSr5iyRFGce40sv4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=dZ4hay4i; arc=fail smtp.client-ip=52.101.70.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="dZ4hay4i" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FOg3e6szQJSXEbJAZXv3eNCIxbRHfMHjECfyRRR9uPQK1xW+mxUVuwDbaDl17XXInQgix1oJD3nXZew1+x3MrYIo21+hPoedqgH1aD3Aqr0p/vHXuV3Rum4fb5GZCW4OVPr2l2D9S6Y2J7KOjPVvhBC0r6eV0DhdlnioPQeWGkRZjrcpjgEPmscMeOi+0LTFDnoSqdPxxKAig4P8vIGIjOLzr4gGknnGJJgo8/ZCsk6abMD3/uV51Fa+vAiTJBmo1dUUmLcLmpVytiY5BgtZvjyLtvHgEQGK6xBrHnN4hgd9oD/HP1KF1Yu6R+/6pijQpgNFU2sRxg2t+jBVVNO9sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=K7SJi8AHouM9KnZVzJUhOf8dxyu0/KDDQ6tGFWU6W9I=; b=vW4pbKSSpLDWbA9LXcH1x1ahsBqZsjLjKFlA6lNjxkrs8OjbI1wpnhC8HFiTgcJaCUdx64DkeGt60yZ6QbIWn2Gvw83sf3wsfF9iF6tsYnpbJyKOzdZycI5fwTU9tbWlkQUAkCHeNbi/P5vSSY0J4jqlV83OEa8uAd7mcX+Om9RJmWuhkH6wQ8dpdCfstNH0TdlAInFDP1LPV7YiTQMt17afl0QWdMX/vFrJhRjiU/8ZoF64pRjp3FjO4CebNV396W1z1tVEHSCZkUm9icD0uJ0YbCbSeesmQYQAwIvG6R1cemudCGU/smSkzIq0XkrJIoDGD9XuU3IsNOJ5TLBbHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K7SJi8AHouM9KnZVzJUhOf8dxyu0/KDDQ6tGFWU6W9I=; b=dZ4hay4iZiKA7xJNOh3G6cIKKVouWqn0myHP+3OPanen1keUJSRcPYfW42n4IkRujiJ81qqRRjtdO/lt6Z85GiOA2C8ZApUglZ0Dy7kcVqJ60TwoNl1bVMA1JYDGKzUfEEEJ7uNoTNAlxg5HP96MDySC+0T00LwLHKDjf9mo788= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:16 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:16 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 6/8] mfd: ocelot: correct Kconfig dependency Date: Wed, 19 Mar 2025 13:30:56 +0100 Message-ID: <20250319123058.452202-7-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0056.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:b::29) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b2beda0-f85b-40a6-083d-08dd66e1f1a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?i+kV9yC+baeedM/yc+zARnhhDAnW68PEn0QbQy8nNY8wAKnBcdPtcYUjUYy+?= =?us-ascii?Q?w9NJpNJheGJPhJ4K6mbkDkETrJTUGQeDwJqHE40upS6dFRfTzDEm0ebKjPyf?= =?us-ascii?Q?pYvSu6qFxjm9UEfB3jTWU0ZEliygveRyBN/52VOFH7NraWZKB5TBhCGXPa6u?= =?us-ascii?Q?LWOP2nDOmbEXRJSpNOk+YbFMfwje7tL/dVln3Rgew31utIDQ5PCr6LBB9hny?= =?us-ascii?Q?WJ6emJIxZ25q2ZXoe7phg3mEEuobJx2edLV2X7ofO+33ZFNryfTNV6BSKU0B?= =?us-ascii?Q?nE0PMXZ19cLOW/os4KwUHsOoHeoUwJPRR47ylINUqPyHDYOQjWtQaeCT31tt?= =?us-ascii?Q?J5hFl6g+PbshTQhxx3UN+R1kM1EHwvDgC0tVYy8EVIiqJ3Pyq61P8aZNVCrL?= =?us-ascii?Q?ha1ZaVnD1hh/K4/A97th0E4u/36TSQFuvwenf1FqWtDnH4JTFKhn0wKANxi2?= =?us-ascii?Q?p9AFV6AEvrvAO1E6StT82CTjeKtLyfi1fpvY8RA0FlnaPcNZNcp7wch705iz?= =?us-ascii?Q?LU3+S6GC+Pk0Ylbo9Vl3yIyjrdj1Rx6zjfyDEkWZECG6ToMnab/4iMTxP8Q7?= =?us-ascii?Q?HodGxj6vLPn+hLbBQsF55SeCgqBbZTZ6HYtgOyv4nB1yCF4fMIanpaGWjsVv?= =?us-ascii?Q?dv0YSUYsHbL80R+1ptjFaWDardQDHNSlNYBjTa7pJU6ml1BWTJ9zPbchAdL2?= =?us-ascii?Q?ZqVsIuNzvvPMfQDJ2h7fpHlDbLsObgRZ8rDlq2ADdE6WxvMGFrszm6kVHPoA?= =?us-ascii?Q?sJyeihymQhAi/jHq70mxy2tj/bGvGw/0XSvut3CeAPBSOrulCMxV/dT6tVwI?= =?us-ascii?Q?P96xX2xRvsJcVcg30PphJfEogiyrq+c58Ykc3pZbPg3d85M0ULHh11Y+b8sj?= =?us-ascii?Q?h91CeERefhnbH4/9qLQeGcKa2epOfesKM6S6Es0yFr9b8mF+4U9G2XyizyqB?= =?us-ascii?Q?Mk8i1t21i/J1+FoZFvPBh45hEG7oE2u+vUyxu+hBuaVSlCuGqyaE9A+If57F?= =?us-ascii?Q?AGvzQsgvmyKZvETOMqOHhvULWOuj3eOqYcza6s/VX5i/AU3mBLrfvq0Xvz/C?= =?us-ascii?Q?kq5PaNCvl3wIQo3eNflYTm4hwC7bxKcZamKh7i6Q4THIJdHwU4ouDX6lmBSE?= =?us-ascii?Q?fUWKDciltsE6DOTHTBhPsyHVeakcEEblxxBXWrzTHZ0jHBSbRiXe0blzq7jC?= =?us-ascii?Q?zZJOSmpeEzdSpMI4uJtaKfZk8dCwsXYzH0EV3CzptWWDr3yfrEq4FxRUZHG5?= =?us-ascii?Q?jFJCsuvgDyNdbBHctJXOG9gcd/3s72pmEU9OD+7JU0UTY7TqG4U5OxMygFZV?= =?us-ascii?Q?G9m9v7uS+d7T8LSP0IjEPJni90qhZLtOl/FubcJBlYqnmkYiWjK1L/vWYjRr?= =?us-ascii?Q?aYAObjfm2a7vr6WOt2Nzd34wKXlwRm9djSFIJQ6r37hjTbL04ehJ9DuMCKC5?= =?us-ascii?Q?PrzQ7ycsCuApctO9FDVmNRH5JA6958Ap?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?55dS1MiXHn8jxJxm3vCZbWsAtpI+mLWHr1dFkrTqd08P+kytrLVyzGLCzbEl?= =?us-ascii?Q?Y9Rr2jHoZ1fgAzKaob+2HpgnhIP1oE3/M60MhXTJgBfI56GzkM3AouWlwddy?= =?us-ascii?Q?4xyMMPU35iVMrQkCh1ucHa2H3zx4CDUbVuXXTQjMxw37gremI9KN5ozKuiVX?= =?us-ascii?Q?XNNV7IP7Znw3PhhSjuJE0J/Vzv2yz6YbT8e4s5fug4gHQHfXd13HkWc+E9Hy?= =?us-ascii?Q?rK0oyfKOySCpgzJcK7ZmFr58bqko0dPvcf5SfheAhV3ohrcuyqk3F+3s/Z4Z?= =?us-ascii?Q?8VMNQh59EhA4GXy0ziQ5DaKpWNVmcvhAOAuwB6ZOx4eamRlztlNKpqqaypEo?= =?us-ascii?Q?pOEIT9KGzJ1sVZXh2mE+QTl8mbQD3u9Z1gzFvKuZo+fqk5D3df46jiAbYWAV?= =?us-ascii?Q?BpafvuEUtsj/bLRSot8+F5G662WusRg6bUAnxTqf4rdjnA+JyXr91hwLtdFt?= =?us-ascii?Q?WhYAi4y1eNmEigPe6yYEeUJGTARD6RNwIA4otB6tDEo0YgeYZxKsB3TxhZHc?= =?us-ascii?Q?YKvGdB4E/V5cVH6RVjKEXzfSyi5nqt2hLlQG8ah/9KHvqSmQh2KQjZsVbRTw?= =?us-ascii?Q?EqXsYVQAAavSMm2fp2DiHUyoGdHLpSP1VDqvjlqtsbo28mwJofoVcaUlwvPN?= =?us-ascii?Q?yGG8gSGzkkLGI9t1DOb+zTBIDYRLnD/fIMOdUPRR3OtifQ5K9Pp0CcYGjcQ+?= =?us-ascii?Q?f3aQ64fjLUxKACzvy941tLLZdVlnjzlF8bN2T9cDl5QFnur+4nedO1BZhgEX?= =?us-ascii?Q?bBHGaSjkistb+mTOo1ZeaGqzNnzHUtnqAOSMa81mrazLWk0ZV8sQx2uCe7Aw?= =?us-ascii?Q?lfvizvIqqA6XHrSJtq0AaszpeAaUXjqgXPgAwiahhUWWg56XMWDLAMae76pc?= =?us-ascii?Q?gsQ3/MV9d/9vY0ltymyQZ2B6QBxQlV+ifIqI8YGb6ZE3jHmIvhiiARVQxYtw?= =?us-ascii?Q?6cG32fcd7Hz9N/Ks/jhV3jbRSvTaKxROAM/ufAwtfK85uEZKQsXUZ6Wc+xv+?= =?us-ascii?Q?OIxH9lexlLKZRHXK7AU4MOMGfZdnoscgbmWedK+YKb/MTlC+jKhjwMMdrrtr?= =?us-ascii?Q?A1on10DjtWeLOcXNcENBvbPwac0Jb6mqAEFavUERzORGT7dvwqnrDlHUbHTv?= =?us-ascii?Q?Y7P/9nIaNcAtKbOUPTvRvMJo9hv4/aIbzldUiD3wRVBnErh4sI0lVbvzFPJ5?= =?us-ascii?Q?2jmL8LRTXdc8vwbDCoFmDnDF2g23piMxscqNwJoBMIFIgtj0isMKy7sHWnGT?= =?us-ascii?Q?9ZZDfh5DoeWV8z3AyKc3vXiJkcoMxWh1SEeBhuJHEP/ZFPO1qlBwEWoM7g/I?= =?us-ascii?Q?cdIPtkWjkntS0WXkv4IxOlO2katBw4PHQKAgH4HnhJPo184MvQzO3zMvVn+W?= =?us-ascii?Q?bFgTHDLPg+8Ql/NOOfYa89Tl0C+V56w+mVIXsuP9a3GRg/sBMW+mfWmW4IHq?= =?us-ascii?Q?64t65PHYd4PYmoeDqW/JTtNSalmo82LSBcziZvdtD2+4qdBrOFLkIk9t9MB5?= =?us-ascii?Q?sF/fTvPminMvFYTgdVTq8H0TfNj1aAaKDjvi+BxQk68qPCdIOF4VI8PzzOkZ?= =?us-ascii?Q?LByZy/SeR5yY62AlGmW4L/xBwF6BuzkgXYk8th2QJv8R0drkk0Lm4dzDmvnb?= =?us-ascii?Q?mw=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 3b2beda0-f85b-40a6-083d-08dd66e1f1a4 X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:16.5850 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JMFL3bAhdcjLeAYWEMaz3jbykkU72fWbhihfeOZTDOMqkkhwxg2I/vya0EO63JVMbcf6gwEpYxwbdoJ1mPNO8I4kvsVbVC4Ej+MZuUsPntI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" The ocelot-spi.c file does not actually use the generic spi regmap support (i.e., it does not call any variant of regmap_init_spi), but instead implements its own specialized regmap (though of course with spi as the underlying bus). So it should simply 'select REGMAP'. Signed-off-by: Rasmus Villemoes Reviewed-by: Colin Foster --- drivers/mfd/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 6b0682af6e32b..4dc894061b62e 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1049,7 +1049,7 @@ config MFD_OCELOT tristate "Microsemi Ocelot External Control Support" depends on SPI_MASTER select MFD_CORE - select REGMAP_SPI + select REGMAP help Ocelot is a family of networking chips that support multiple ethernet and fibre interfaces. In addition to networking, they contain several --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011070.outbound.protection.outlook.com [52.101.70.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 339A225744B; Wed, 19 Mar 2025 12:31:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.70 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387489; cv=fail; b=tabVWmZXUA1sA1cdRL4OSnnb8RlieXd0xiD8hB/6fj9GFSwzime3H4X4o/Lyi19tbj5Cozti8GsqZ3QXmBgjUDOmLj2JWOOh6NXSPG5Apj2b5uYliVSVBH/Tu02XQlNUneCBRTNqVUzywkGwINsMl/pDIEwdF+Zj2cOIJRNNxNM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387489; c=relaxed/simple; bh=kJqtGuW7ZAvstDHYDti4Wrl4VJ57AC8EUWoR7yT6lf8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=gIhH6e4/2fhgqllveQiHyLw4jNzlmBoV8pslYDEePYqE+hf63ceG/ymd+IURTX0e8yWCE2kOyti4IUMliqdEXB9RkqfqT16CRW5AFwXDRVb8BdJfckMhk5dyRaNmedAdN62WrbgfxgkjsaPXgIaDOCDVaRwH/Lxet/PgKyJxkyo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=hjgKVuEB; arc=fail smtp.client-ip=52.101.70.70 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="hjgKVuEB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ea5fbR9/X2WHpRr4vm4tiQt2LfODo7y8Nu00EVtm27Pg0sUui9XsrXQ4lyx/uYpJWLf6g8bQcQccppaI82fH+GScSdQSfjCF8PrONnLZJss1aYZdZP25wpu2ijDtS/WY2L7zGpMF541qJX2LEYdVh5okoc7UJWb6fR6dAtlvndIsDOsadrro+bPApmkX+58GpU5dHd+ZLyU6vRAyNlSCP2wrPBch+aJzAhWLmulIQi431dDpNkrwMJXal+LjPGku5jMr2jkWMDBu8DuhpTVd7+IG+GIVs+ML/Cb5MCw2UP1rEi1hNlsVGzjE5F8p3rxUWNLJ+MZrY2iQru0HHGY7+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=SoQ2mmcCqjOG9k/GuV/8j0xB497IgQ0pvFakQtTeooQ=; b=aj64SzS9WGSJIgdxg8YaVLZv4Vt5v0z9g/H3wwHmZwDtmEYljSFWVlHQMAQxKzPptnQs9mk6QUImt5iooAnOSoaBQxjJsTBKL+dCENFYtDjFs1NYOIoA8kr/kyFp83xES3KW9ncyj7zZ1V/DYYlThA3ZRfQ89Y5eKIlI3txwjUxYJRnCok4Hg5snj5hZcqyveK8hseU1vbZcRu09lLQ2u+uehGEZUWdXacRUjVUP+SC6zMMEb7ecesU58fjbHWLtCc9+ev0aOJX2c3iwIMmbSLxNoDI6U4zBQoOo3AlvhF6zXO/gGdSJfo5Y0uTUG0BpGFJJ7Cu09JLfzCfVQ+ZfwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SoQ2mmcCqjOG9k/GuV/8j0xB497IgQ0pvFakQtTeooQ=; b=hjgKVuEB3f4dlC0SRqmv+HFPbaU9Q6cN0n39jBJRi5+1UrnHxJh48/pawrwqZPK2DsNARQyNmLZqaNMuFEytHPNMPex7Qo9/VEa6YgwpXhbWzKuefW7brQjU801QC60rfyxvkrhuoZQPtc2N3HRmWsfIZHcqeMGsSHqJEsEXbpA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:18 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:18 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 7/8] mfd: ocelot: enable support for mdio management Date: Wed, 19 Mar 2025 13:30:57 +0100 Message-ID: <20250319123058.452202-8-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0099.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:9::12) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: cfae93fe-26f9-4527-8f22-08dd66e1f2ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?E95oD0Avs3hfVAscoQ2N419qMaab2oHuQSSidzoOqriFjebAOpZF0gMPyBbV?= =?us-ascii?Q?RkU7d9NxVGVzTB/gOL+yynYeSXFfGCmyAhxb+rueJjWK4N9hFTTS1L3BvMWZ?= =?us-ascii?Q?gpmcd+BDCjquPqi1BO7z6xr4SnmJd8zqHN+0xKcc7LqtmWNk8nhbVSEihynE?= =?us-ascii?Q?FJ78qlnA/s5QhYEqD3TWVeEAm1LDDJBmauWQy0O/7vxCOjvgcoDHkmaDW6pf?= =?us-ascii?Q?XgITLfdUxVrsP6lPE0PwySnh8mOojj42Cjouc60Xw7hr8iapVHDz6DS+i85N?= =?us-ascii?Q?cO4x958kdmXi7D1rKfanE3H1OZpzk2WNNrY7nupDVMx4ddSsgFYUPph92nNl?= =?us-ascii?Q?JpBp3V+VjpI9rZWiFMDxCkiMNXEzDEGTEvNSBsg1ftskkYifT/oAUwFmoc8R?= =?us-ascii?Q?rbGnJxdhJVn0l7iw9hzHRS647NP95LudzuvV0vfyYvEdD52KK+71pNE9AGlL?= =?us-ascii?Q?HJxLhZAh1Y9SCPIvRzzQhFXuvVEDADo/U/Aa+OUjbUUJn3XrfQTkQqyFd4W7?= =?us-ascii?Q?ltVkgo/rBdMrsxSBOaBrPdX3Xmks/A8tuT0q+aTNaid3yZkKyvnwbhfr9nEd?= =?us-ascii?Q?C4bVxKgnL2SMyqYL2sm8OBK/8OMyWAv+JHERE65DmwmBagACX2Hccjxm62UZ?= =?us-ascii?Q?zyDLyohjUseDPVHKYkmc7WonXndJgdhzVYIjpaARH2Pxkk80/CMYCi6tGQ+l?= =?us-ascii?Q?9MNLPgeN4YWZD+WZ6Zs4bC47mqw8LAUcAnpUJmukRaqO5IboYYyUZf/ZRWk3?= =?us-ascii?Q?qGv2I0q5hYkhlcZ4g0m63vLuXmI0VjJ3cqxmTolwDK8YzzphHaPNWKH1REij?= =?us-ascii?Q?3IdWCakvXCX/3IMDXZdj9EMZABAEu9GbL812TOxCauoQvadBWwhZ+5Sfnc8r?= =?us-ascii?Q?m89eNknVQmEQOe0H79GjTIq2Xl77HVtCyAzuIg4koYzPyhzXcalBej5o7Th8?= =?us-ascii?Q?kd3Oqxmbu8JgL51Yvx+gWZNfswQz9ll8jbovG7ulQbZPNqTCMDL/KAuigymM?= =?us-ascii?Q?vIG053MMLN9Nf/RHuEcwA8cDpOjGzp6oQovtuGkkv/qDIpsIwdIBBTIVuJyX?= =?us-ascii?Q?7AOEg4od0wFnu2MeT+MPLqR40C2aSwUWsEO6ETMesqQUdvXIqQCFo8Kzmhe2?= =?us-ascii?Q?JEEstdr6d3i3qRaL1vHA4J4w+1qYX1U129cuP1nSinr13YB0fWKXArUFYwhX?= =?us-ascii?Q?JI61k55nZx1QCub4M2CgnSV0SMct8aBn/e5gZ6/cK2G3yEmZRKhf0fU9WD7y?= =?us-ascii?Q?dCS4WPcjLDLHUBaftrRMNSydt80e97dNV8BrR8pj8s/M5mDUKZJJxd3DtsYP?= =?us-ascii?Q?CGXEchbRRnGizsyZ6g/5Rm9mW40/G/+yh7AaRf8mKC6Zoyqxu1tSf9LFuaxH?= =?us-ascii?Q?iRICfXZ7FZ25BZNIhw7j5NSF1ZfK0rZ2vGDGpvMJyaG5kQRNxmBfq7PcM0Kk?= =?us-ascii?Q?E74dLcYWhk0t/BwKWzOhtdRaFXKf2bk3?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lmvg3DWnvdsfHgLi6V9UeLRVYgSXyI3oZ5bRBo9jdZtiUtDpnQDcd1M/+VPm?= =?us-ascii?Q?xPLMKwO4qtQo5SfQoxVlf2XaEpE99OYzQI6lGpSjo9Qc937ZLWa58SZ63Ra5?= =?us-ascii?Q?DPeq2EcWnEyFopGVNyGq1aMdBYMqyhTVbsJXs3vUbjh3R7IocmFxESMn68Ug?= =?us-ascii?Q?x1EgtYYq3xX53MPz30l7DlL2aWV+7oU2i/TqJupXr/2QUzN678uTcIwXv6wB?= =?us-ascii?Q?UiE4igpakIUR6l3U+xgfKhoWda/V2FHkXoqhEh0VKpxKqkUbf4lKeDwaxbHm?= =?us-ascii?Q?OcN9NyMGNlMqN7Ve5OfzCdCPxa+lFUi+7pcNnRF3NOvyjvD4VztnE3TPwtA/?= =?us-ascii?Q?tXnifi5x0Fgh+mtbP1OpCc4zPyU6e7/aqANOf79K5rh816CKH6Ii1Wn81689?= =?us-ascii?Q?V4x31k2Dzc4YXSoPpf5G/Q9IewO0nDUExGTvVObmsvuCIPCI4ZsU5WUkPqTy?= =?us-ascii?Q?Lx16gzyY6+K5o0jF9cgvhJj+B6hsP9FQLHKq/q4v1LwCfccD5H11jzb8rIYh?= =?us-ascii?Q?o3Fjz+Ep4OjtDC8W0oFNO7Y+5NnlpLNQxwDdW7nkiWx95pOc75F+7F3Q5ZJy?= =?us-ascii?Q?s8HFYLBjsiF59P1zNUvojFTgG42Sk8UAew1CmSOm6F6wbgIm982G7fIOlUyy?= =?us-ascii?Q?DkVxml2eg87XzmsMNEZMxagoUBTQZQliQjFgJMV9DubE4Yl41ANVjA/utKkz?= =?us-ascii?Q?MRcjfYx9NgpSbjrJ7v2LyqnShUrUlj3VbOQvBT/e/p0h7LZkbv9Uyc0wnqyh?= =?us-ascii?Q?sEmUanXgjLg+kRr27U82hjxgtk0dHzPQdEkN7vH3jYU44EDmjTKywlFAYMLF?= =?us-ascii?Q?JUmU6CAGRWbe0NehaUuu7y6InCzIaAgaKi7gammCYYl7bfdpZQKUgls4N3Bd?= =?us-ascii?Q?CUM3MNpPPWwhqG5+9pcYaF2JoGfzjfwP2txhtkj1+2c99zQzneO2Tn8kSkec?= =?us-ascii?Q?KpurPmvGxOrk7rm4owY1D2MdAfcpeGjCh8QJY6znJ2/DCM0qk0UYBntogKWu?= =?us-ascii?Q?eg6X+xujnkLUJoFwW6HcPZmRBz6PRSDSOo6iThpo7wC5aTsDOzgEV/hdP9MS?= =?us-ascii?Q?0FcWoKrrg1p5RgjZpMdtyM1jO0glKiq8wFAHz8f6HJRZcmq2E8UpOMivFu60?= =?us-ascii?Q?OQ4ZqDd4sW+lrlvfPtE+4junyxY7DXIoJ0yDcVtfrJwVD4O5bUQIGOD1Es+/?= =?us-ascii?Q?Sv1Y15WeMRYX/qjUcDkeQnxa0Pb5lDHqn76j6PmylXWYLL99fM7Ti7/qv6+E?= =?us-ascii?Q?nU5lJp5GC3UtQorbaB1VflkstdUXmBTj5wZQgkmamN2usqnjDRnjQsAlBIi0?= =?us-ascii?Q?+DiJW+MaTZY5Mv6HMDyqLXZWlgE5x2X8LVG7wrPjJJj6tI69EKRaG4mEunCo?= =?us-ascii?Q?6SaFqv3ELRQkxM8kvIqV83m7y6semRONag3d8qn5GNvibvVQvj8rh4Ml9BtM?= =?us-ascii?Q?/QaR3gKIdNsm8ajc8OczTf8I8hAyyDibjiN8S4KF+x0liFo76YdS7L28rp7b?= =?us-ascii?Q?Y7aYCFIRMFrh/TpbTz9YPwgPxU1yw5wbSAr8c1SHBrXWUB5VKaB3ggxTIqFJ?= =?us-ascii?Q?Gxf0gLWVmA7RxeC7di6gVDAazRL9J8aJfWQqm4pUvLR/lHqJlZXsi1Ii0/uZ?= =?us-ascii?Q?qg=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: cfae93fe-26f9-4527-8f22-08dd66e1f2ab X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:18.3818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BgzhPzIzDRNsV2U3FWwbqfArLHRPJYUTzgmRlDwZroD9BA78eHwJMN7KaDB3C/NTB1rO8gk0bOrCxZPBq64AUyFJPyqac6uVOptMeGNmrY4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" The implementation is rather straight-forward, following section 3.5.3 (MIIM interface in slave mode) in the data sheet for the vsc7514. Since each register access requires multiple MDIO accesses, keep the parent mii_bus locked for the whole read/write in order that accesses by different sub-devices do not end up corrupting each other. Since the MFD among other things exposes an mdio bus to the switch's internal PHYs, use MDIO_MUTEX_NESTED. Looking through the data sheets of all of VSC7511, VSC7512, VSC7513, VSC7514, I haven't seen any indication that they can be controlled over I2C, so drop that mention from the Kconfig help text and add MDIO in its place. Signed-off-by: Rasmus Villemoes --- drivers/mfd/Kconfig | 3 +- drivers/mfd/Makefile | 2 +- drivers/mfd/ocelot-mdio.c | 161 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 drivers/mfd/ocelot-mdio.c diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 4dc894061b62e..c062563794d9e 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1048,6 +1048,7 @@ config MFD_MENF21BMC config MFD_OCELOT tristate "Microsemi Ocelot External Control Support" depends on SPI_MASTER + select PHYLIB select MFD_CORE select REGMAP help @@ -1056,7 +1057,7 @@ config MFD_OCELOT other functions, including pinctrl, MDIO, and communication with external chips. While some chips have an internal processor capable of running an OS, others don't. All chips can be controlled externally - through different interfaces, including SPI, I2C, and PCIe. + through different interfaces, including SPI, MDIO, and PCIe. =20 Say yes here to add support for Ocelot chips (VSC7511, VSC7512, VSC7513, VSC7514) controlled externally. diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 9220eaf7cf125..fc675ddd59f17 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -123,7 +123,7 @@ obj-$(CONFIG_MFD_MC13XXX_I2C) +=3D mc13xxx-i2c.o =20 obj-$(CONFIG_MFD_CORE) +=3D mfd-core.o =20 -ocelot-soc-objs :=3D ocelot-core.o ocelot-spi.o +ocelot-soc-objs :=3D ocelot-core.o ocelot-spi.o ocelot-mdio.o obj-$(CONFIG_MFD_OCELOT) +=3D ocelot-soc.o =20 obj-$(CONFIG_EZX_PCAP) +=3D ezx-pcap.o diff --git a/drivers/mfd/ocelot-mdio.c b/drivers/mfd/ocelot-mdio.c new file mode 100644 index 0000000000000..7ac232a1ad6ad --- /dev/null +++ b/drivers/mfd/ocelot-mdio.c @@ -0,0 +1,161 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * MIIM core driver for the Ocelot chip family. + */ + +/* + * Each register access requires multiple MDIO accesses. + */ + +#include +#include +#include +#include + +#include "ocelot.h" + +#define ADDR_REG0 0 +#define ADDR_REG1 1 +#define DATA_REG0 2 +#define DATA_REG1 3 + +static int +ocelot_mdio_write_addr(struct mdio_device *mdiodev, unsigned int addr) +{ + int ret; + + addr &=3D 0x00ffffff; + addr >>=3D 2; + + ret =3D __mdiodev_write(mdiodev, ADDR_REG0, addr & 0xffff); + if (ret) + return ret; + + return __mdiodev_write(mdiodev, ADDR_REG1, addr >> 16); +} + +static int +__ocelot_mdio_write(void *context, unsigned int reg, unsigned int val) +{ + struct mdio_device *mdiodev =3D context; + int ret; + + ret =3D ocelot_mdio_write_addr(mdiodev, reg); + if (ret) + return ret; + + ret =3D __mdiodev_write(mdiodev, DATA_REG0, val & 0xffff); + if (ret) + return ret; + + return __mdiodev_write(mdiodev, DATA_REG1, val >> 16); +} + +static int +__ocelot_mdio_read(struct mdio_device *mdiodev, unsigned int reg, unsigned= int *val) +{ + int ret, lo, hi, i; + + ret =3D ocelot_mdio_write_addr(mdiodev, reg); + if (ret) + return ret; + + /* + * The data registers must be read twice. Only after the first + * read is the value of the register whose address was written + * into the address registers latched into the data registers. + */ + for (i =3D 0; i < 2; ++i) { + lo =3D __mdiodev_read(mdiodev, DATA_REG0); + if (lo < 0) + return lo; + hi =3D __mdiodev_read(mdiodev, DATA_REG1); + if (hi < 0) + return hi; + } + + *val =3D (hi << 16) | (lo & 0xffff); + + return 0; +} + +static int +ocelot_mdio_write(void *context, unsigned int reg, unsigned int val) +{ + struct mdio_device *mdiodev =3D context; + int ret; + + mutex_lock_nested(&mdiodev->bus->mdio_lock, MDIO_MUTEX_NESTED); + ret =3D __ocelot_mdio_write(mdiodev, reg, val); + mutex_unlock(&mdiodev->bus->mdio_lock); + + return ret; +} + +static int +ocelot_mdio_read(void *context, unsigned int reg, unsigned int *val) +{ + struct mdio_device *mdiodev =3D context; + int ret; + + mutex_lock_nested(&mdiodev->bus->mdio_lock, MDIO_MUTEX_NESTED); + ret =3D __ocelot_mdio_read(mdiodev, reg, val); + mutex_unlock(&mdiodev->bus->mdio_lock); + + return ret; +} + +static const struct regmap_bus ocelot_mdio_regmap_bus =3D { + .reg_write =3D ocelot_mdio_write, + .reg_read =3D ocelot_mdio_read, +}; + +static struct regmap *ocelot_mdio_init_regmap(struct device *dev, const st= ruct resource *res) +{ + struct mdio_device *mdiodev =3D to_mdio_device(dev); + struct regmap_config regmap_config =3D {}; + + regmap_config.reg_bits =3D 32; + regmap_config.reg_stride =3D 4; + regmap_config.val_bits =3D 32; + regmap_config.name =3D res->name; + regmap_config.max_register =3D resource_size(res) - 1; + regmap_config.reg_base =3D res->start; + + return devm_regmap_init(dev, &ocelot_mdio_regmap_bus, mdiodev, ®map_co= nfig); +} + +static int ocelot_mdio_probe(struct mdio_device *mdiodev) +{ + struct device *dev =3D &mdiodev->dev; + struct ocelot_ddata *ddata; + + ddata =3D devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL); + if (!ddata) + return -ENOMEM; + + dev_set_drvdata(dev, ddata); + ddata->init_regmap =3D ocelot_mdio_init_regmap; + + return ocelot_core_init(dev); +} + +static const struct of_device_id ocelot_mdio_of_match[] =3D { + { .compatible =3D "mscc,vsc7512" }, + { } +}; +MODULE_DEVICE_TABLE(of, ocelot_mdio_of_match); + +static struct mdio_driver ocelot_mdio_driver =3D { + .probe =3D ocelot_mdio_probe, + .mdiodrv.driver =3D { + .name =3D "ocelot-soc", + .of_match_table =3D ocelot_mdio_of_match, + }, +}; +mdio_module_driver(ocelot_mdio_driver); + +MODULE_DESCRIPTION("MDIO Controlled Ocelot Chip Driver"); +MODULE_AUTHOR("Rasmus Villemoes "); +MODULE_LICENSE("Dual MIT/GPL"); +MODULE_IMPORT_NS("MFD_OCELOT"); --=20 2.49.0 From nobody Wed Dec 17 05:45:54 2025 Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013002.outbound.protection.outlook.com [40.107.162.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEAA4257AD8; Wed, 19 Mar 2025 12:31:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387489; cv=fail; b=O2KUwdOZtaWzCRD/wjSXuAFLWEJeHEdEK6rR9wkGQiOam7VieIyiwn+/shFkaXqrRrT7OUiasaXwYcTqC4hxpkJAZdEfWyO5ucnxwQqvq7s3zacPaCCZ6zcPqVNUsTNi3xjcVriqO1X7s2lM/bCouNDxVLH+R9DFBQgL1wL4WAc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742387489; c=relaxed/simple; bh=Zy2NUK8gTcyUNurnVJmAUzxEtcuLsQ001vQ1QzSjkRc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=a1nh5TXvlXEHw6o4AI+t1KzyUSHCBjKVubeT3c4RZNYyXSARfZAE2BQmgpj//j5PNtNnFnV37y+ZFKAdViUIuurzDMjhcKLaynXi8weIVMuULgg176wA/Klw/37YOW35gO/VWhbpgQUMCjeZPMOBM8QtLIGwE4e5Ze7N4mUK5wA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk; spf=pass smtp.mailfrom=prevas.dk; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b=YJgZnD7F; arc=fail smtp.client-ip=40.107.162.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=prevas.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=prevas.dk header.i=@prevas.dk header.b="YJgZnD7F" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vs2ikG9ymdEghvJDrKayTfVeVTfuiFVxD74QQhg2aCV9OVxB+ub3IweZHzvFsmPmz+LTi7B+F3a5E7NYNWghkZ9FB/KMSYBE4d0Q8OIKEJfzYbIZbvxSLjFVwKr+cwnziumjxc5I2lSYHpTgDi5f0D/yV/posKfYWsrBUSXjiDkZGCU6jC4FOrRxrNGLN/OMDnLtOsQgmhAzjEVXWW3iemneP/zrzloB3ZlEjLz3UI/Lsz0HSqlAQugXR7bZ85qBDO1/WKatcYgrOOOeTTd68aUr2tHOFhCXDJW/+mv+hQc+3JllwtZiinL+spBvNyahpa017ZqPN3pcXFubwJxcyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=aLHhbbMyRoP6Gsc8k1igNSwD3Qr3HH2VOhLqF7qJw18=; b=icSGL4239SNW/jw8Gqlvz31tTBrPDaj8Dw61ycKSwxC7Qv+OvrYRY5Y/kxplrMMimdgm4evQCKxGxHgOaj3sip0uBzrWC3UWqd1fGP/IvLwxSCVFx6J1fzTenvzBWCXXrSRJx7P4N2v7Qb4vZ/ekbuKcw1cS1GZ8lTkTEKBRXgnqMNMTijqubkmTYoJXmDm7hlN+wZZTlgj8PrMHonBMDAuGjw+az8ckhB/xa8YXpejnEKoHyijrpmm9fie9ovOaM71Imo9RyGSV77tP/SK/lvnQc5ajj7DifIPYkZWPAjHX4RB+bHEXvttg/93GgHimucT7oCjSu3CBA2nAypb9gQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aLHhbbMyRoP6Gsc8k1igNSwD3Qr3HH2VOhLqF7qJw18=; b=YJgZnD7FLvlt19EyRA/+yBC3dc7o02pxn1VLiRe2N9UPYMj1gVGH0JyMn9Xr/H9EHWZKFAUYsF5ehUS8rrxseYs/vScfjlPq8Ze6rz7Ctg8pHGRvuQh51umHJIBlX6LIjTX4dMpgssnz7BDfkaRcafxldQDsh6s1jjfB+np01lA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) by PAWPR10MB6856.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:33c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Wed, 19 Mar 2025 12:31:20 +0000 Received: from DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4]) by DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM ([fe80::7e2c:5309:f792:ded4%5]) with mapi id 15.20.8534.031; Wed, 19 Mar 2025 12:31:20 +0000 From: Rasmus Villemoes To: Colin Foster , Lee Jones Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Felix Blix Everberg , Rasmus Villemoes Subject: [PATCH 8/8] dt-bindings: mfd: ocelot: mention MDIO management and add example Date: Wed, 19 Mar 2025 13:30:58 +0100 Message-ID: <20250319123058.452202-9-ravi@prevas.dk> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319123058.452202-1-ravi@prevas.dk> References: <20250319123058.452202-1-ravi@prevas.dk> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MM0P280CA0086.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:8::10) To DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:41::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR10MB2475:EE_|PAWPR10MB6856:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f62f72c-4f41-4ca5-ad67-08dd66e1f3f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PbEE+uYUj5yuXGuz2oJfE8uEpL/GHidMj81RFY90OAtt8ooXFs5wOziD5rvb?= =?us-ascii?Q?+3fqBF4We76IoWSNSiLcBcl1x10zdW5cz9VsRmmHtyh7yJxEa+Q+0lrcGeeh?= =?us-ascii?Q?fU5oTuJtiWpFD2YaQSI5PFqBbVLHWSvcj4QPeQrW8zaGJpbGFdqFOrCXrM1b?= =?us-ascii?Q?SsASEFQDpjyegBZ6cX6ps3MnFvD1Juh8OForVXhh216TXH1woduvR2vfXB96?= =?us-ascii?Q?aQED9eSZsUFWZiJbWA+hNLbQM4xKs3BT2KkHmnbQIYWP+thfMoKqB1njDMPu?= =?us-ascii?Q?Q8sjFGq4zdwBw8FFqnOQ70Q2hFMJa3/WS/qZCm9oeYlcwj303dtn3Db1Arlf?= =?us-ascii?Q?/0puBlXuNsGF5450HaOJCEonIJf6mB54sUQ/AN0BQaV16+IINQhWu5VU8oIN?= =?us-ascii?Q?1wX9Ew2IPNHBxmlRTYkW11p3jSKrubmyrv5wUK+xhsogCUfNjSc+tYer86oy?= =?us-ascii?Q?RwTNrWubNfPJ3Zm0iNyIb/dUACAf/Jv/+U/BNXTmQRkVHzoaaqGlcQboJlh7?= =?us-ascii?Q?xk79mtKhGaBAacfqh/q2WUh4bqU9cLZqWkw4o+ptY3sXhvb9STIlmeka+dvI?= =?us-ascii?Q?FrJRzTAH/U1Pu9uSjvittfDYEXpwZ5CUeoYsXvdiLUw3tn7PfN69efgtS7u0?= =?us-ascii?Q?6/ofSv0T3SD67xZbSdN+Bvli0beubJulGRWtrt73OATZp9mqyEWM0nTxb0C5?= =?us-ascii?Q?ejLzi/g7fEJDWeLt6vl0x3dkKaXyzwoDEWjsUdvAXeqIkQblkT3WqhmHF+oZ?= =?us-ascii?Q?BTGFYC28OHG50SGgEqeiUlVT/bO9nYNbOZp7c1mMvKpQak+sdfSN5/dHukev?= =?us-ascii?Q?nIjf0H6WRkVd36K4AJ9eAYVeQaTxKU2piwo56ippDB3v7ZpkvgBRXGSLzrX0?= =?us-ascii?Q?awHVvfcVj+H2eLUePqywn4iJ5sZI7HA4Oc2yAjZvItL+lE52yHJ5n/YnovnO?= =?us-ascii?Q?gQfEaHo3stU+ahYOxLrK/VEzgVQC3Ck6/gZ03UhtSCtXBXGlVPMLeFlsSKdU?= =?us-ascii?Q?sEbY7xxBOeZzLJvlagjXoVeNdCq4u88XoigEV3kOHuSxR82SVF9+fTPezWsk?= =?us-ascii?Q?gxoMzRD52a822XMvrWZ+lYHr2t3dZD5zXD2QKJOCFWgs1MRjxJu5i3342SKQ?= =?us-ascii?Q?DblTb0F1ZedkZRToMcTFtuJ/o/FcDNDpo781muJTywCIIuGinkk1WDLgOVcp?= =?us-ascii?Q?EY3QrXCfi0+0P3pZjMk/aHe3edcjulqZ0C0lE7wCXsm0OkcyLzqDgC/T753G?= =?us-ascii?Q?96W66c+xfrYlRIlqv98LyBlmmx4abHihPGWOtS2WJxuKQUuNUwTl3BVDQKgV?= =?us-ascii?Q?pS5MWf3PRpTBhCLjo6Fw1vBB+lgkVOPcJ4jVSfK5Gr6zz6mSYQqXfrDf/CHM?= =?us-ascii?Q?90f4r1r1/BL+GDa29Pg27r6GO3DAUtZ89BpD6vzct1SoUw66vWU3m73prSnW?= =?us-ascii?Q?YGQLeDi7XgAKsUQpon2C+vWoCSSphYWe?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EQI3goEtMQODD59nUylxcic4kwfpLI5gB88Sk2lRIoLF1eL9EnkRcAqg8zGG?= =?us-ascii?Q?EdEArMqfGFHqD2NY3HR7Fr41RKPX5dRW7nyCI+CqJeVDuxBT1tj0T03oet9Q?= =?us-ascii?Q?qwtRFOkYqXncvQvJgSOuZqIotmb8K9DZe4ZIYP9R32IIRtjTrV8XeCO0VjDz?= =?us-ascii?Q?uFA9bphfiIOzyKurBkxqBQy6R8aQnwJYHlqr+baO/hIvNmD2LUlSV6qhb3hs?= =?us-ascii?Q?oks/LU1uefQtWyjxylMqtVlvXpqZCFfP/sM1m6vWR1kxGtWlkWFMenvbollE?= =?us-ascii?Q?0IT/FYCL64neL9/xdXmJIyYXgW6nvWCKRXnRYv5TqaFTfLAYxbfxxwQ7PtHe?= =?us-ascii?Q?CF5Rn9XTXYJkEU+V7kLYkdVEkDiG1Vzmv2ANB8eNVoHp8FMKwu5sub6N2wdc?= =?us-ascii?Q?0CFuaudNnNJw/sU8+FYFVeDQ6sFVxZeM14MkcHoMXbbsdcu5sPB3wvRzebaL?= =?us-ascii?Q?8VpOf+xAlCE6deJ+diPQvvIzKa1zUY3NPPg0JZbtMOwsWzcH7oNaVXV13s1y?= =?us-ascii?Q?usR/Eb0zi+tDVNWblMR+o0nm4HKhoMUm10VkD3zKv+ZZjB7V9vP3sdS/E1F4?= =?us-ascii?Q?RZwtUsaFx17HFpTJW++N124Yktmzy18tzJ7Hhd4BM4Nr/4+qcifPXQ7XJyTv?= =?us-ascii?Q?g9SqLRQwtt0/csa4bdRegDrGBJtwnENjCjbYDC9o/x6zOdaFXOAIGAlimRv4?= =?us-ascii?Q?Xi6BIec1aqDWrbdZ38E3bPbxaTT6TOKsze8Ize+QurdtCHxMhMCXCUBU88zV?= =?us-ascii?Q?ke9JAKkpMtpvr4kP/LbKBLNg2mwEME7ZLeaEyntZVYjaFPn+8wcqr1SNLGdm?= =?us-ascii?Q?ICCq8WSj/yKy/PfNiP5N3Bx5xaBe8mKrKDEXrm2IqoFIOqBeh4hI+s3TPGLK?= =?us-ascii?Q?glWqhN71qxtx/kB/M17s8SOZcyOFomHfMGHz9mc8wnC9tPjNyTPCcC2bTEx7?= =?us-ascii?Q?wh9cLgzIqWeut6wYvjZftZznAAdLGhHNj/y+fiqB2+PW6Q8VP68/S15wJ+c0?= =?us-ascii?Q?icBXnQEo3aNhlDeN/QwsQnNteLb/faL604MtMtdkuAakD2yah2NC09RKXcED?= =?us-ascii?Q?oUttugOTqyq7V+r/EsmU7q3D0ZQ/SFrjtf/OvorsUS2CKX5MGhtC+rLHj8dk?= =?us-ascii?Q?bNetjeXP9EWa17edOlkLoOvnp5V063ayU6W6iqagOb4pIFjzAT0i+g0kyEb8?= =?us-ascii?Q?sbqpuzndX2yUF7o3CSqFk5opnGJJkzpd4oZAGe4CPnePy/mpUDQBK4V7Xdko?= =?us-ascii?Q?aHy1LopXNj2jl5q/VIzvKpKwE0jPAD4UdbJAMy2Hw7s37V6pAVWGWjIE1uAf?= =?us-ascii?Q?+iZpuTo+zjmyiE87NvN4P2aa/AoFFBBCFrBhIbLXTN09Dic1yKaF+/FD/0c/?= =?us-ascii?Q?Na/Z0+NCMpNJiuoOVn/tRnYyHRJl1qG9NgXlX2nuc5YCJs1/jQeujlbr0t1H?= =?us-ascii?Q?reT3hovsicr6oU4CqNZfQLZisNfdYoArfdkgbiDF3VHTsd+YbB2xPGyGM3/p?= =?us-ascii?Q?8jaJ82w/El0pItgN5xdaCs3/q9kIYkrRKXQpdGzDOF2e3/fj5XeIT7dOcoA2?= =?us-ascii?Q?PkaXQcKbQBDVrCj7cgYmnC//gDjEVeqUYynLBCGCgMRZgflMJMT+x1anLPNa?= =?us-ascii?Q?lA=3D=3D?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 9f62f72c-4f41-4ca5-ad67-08dd66e1f3f1 X-MS-Exchange-CrossTenant-AuthSource: DB7PR10MB2475.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2025 12:31:20.5824 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GQfuGJrdSRIIXXntBEsNc1pjXSsGHKoiq8+3j+y8BFoN1mVX5af+tb+y1gT9yCttjB1Hx97auRRI3JJkvDWSuYahHdXfzMmlWW+4581Mc64= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB6856 Content-Type: text/plain; charset="utf-8" The ocelot switches can also be strapped so that they can be controlled via an MDIO bus (on either address 0 or 31). Mention that and add an example. Signed-off-by: Rasmus Villemoes --- .../devicetree/bindings/mfd/mscc,ocelot.yaml | 121 +++++++++++++++++- 1 file changed, 119 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml b/Docum= entation/devicetree/bindings/mfd/mscc,ocelot.yaml index 8bd1abfc44d99..bd2787a613e16 100644 --- a/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml +++ b/Documentation/devicetree/bindings/mfd/mscc,ocelot.yaml @@ -12,8 +12,8 @@ maintainers: description: | The Ocelot ethernet switch family contains chips that have an internal C= PU (VSC7513, VSC7514) and chips that don't (VSC7511, VSC7512). All switches= have - the option to be controlled externally via external interfaces like SPI = or - PCIe. + the option to be controlled externally via external interfaces like SPI,= MDIO + or PCIe. =20 The switch family is a multi-port networking switch that supports many interfaces. Additionally, the device can perform pin control, MDIO buses= , and @@ -164,6 +164,123 @@ examples: }; }; }; + - | + #include + mdio { + #address-cells =3D <1>; + #size-cells =3D <0>; + + soc@0 { + compatible =3D "mscc,vsc7512"; + reg =3D <0x0>; + #address-cells =3D <1>; + #size-cells =3D <1>; + + mdio@7107009c { + compatible =3D "mscc,ocelot-miim"; + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0x7107009c 0x24>; + + sw_phy1: ethernet-phy@1 { + reg =3D <0x1>; + }; + sw_phy2: ethernet-phy@2 { + reg =3D <0x2>; + }; + }; + + mdio@710700c0 { + compatible =3D "mscc,ocelot-miim"; + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0x710700c0 0x24>; + status =3D "disabled"; + }; + + ocelot_gpio: pinctrl@71070034 { + compatible =3D "mscc,ocelot-pinctrl"; + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&ocelot_gpio 0 0 22>; + reg =3D <0x71070034 0x6c>; + }; + + gpio@710700f8 { + compatible =3D "mscc,ocelot-sgpio"; + #address-cells =3D <1>; + #size-cells =3D <0>; + reg =3D <0x710700f8 0x100>; + status =3D "disabled"; + }; + + ocelot_serdes: serdes@710d0000 { + compatible =3D "mscc,vsc7514-serdes"; + reg =3D <0x710d0000 0x10000>; + #phy-cells =3D <2>; + }; + + ethernet-switch@71010000 { + compatible =3D "mscc,vsc7512-switch"; + reg =3D <0x71010000 0x10000>, + <0x71030000 0x10000>, + <0x71080000 0x100>, + <0x710e0000 0x10000>, + <0x711e0000 0x100>, + <0x711f0000 0x100>, + <0x71200000 0x100>, + <0x71210000 0x100>, + <0x71220000 0x100>, + <0x71230000 0x100>, + <0x71240000 0x100>, + <0x71250000 0x100>, + <0x71260000 0x100>, + <0x71270000 0x100>, + <0x71280000 0x100>, + <0x71800000 0x80000>, + <0x71880000 0x10000>, + <0x71040000 0x10000>, + <0x71050000 0x10000>, + <0x71060000 0x10000>; + reg-names =3D "sys", "rew", "qs", "ptp", "port0", "port1", + "port2", "port3", "port4", "port5", "port6", + "port7", "port8", "port9", "port10", "qsys", + "ana", "s0", "s1", "s2"; + + ethernet-ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@1 { + reg =3D <1>; + label =3D "swp1"; + phy-handle =3D <&sw_phy1>; + phy-mode =3D "internal"; + }; + + port@2 { + reg =3D <2>; + label =3D "swp2"; + phy-handle =3D <&sw_phy2>; + phy-mode =3D "internal"; + }; + + port@a { + reg =3D <10>; + label =3D "cpu"; + ethernet =3D <&enetc_port0>; + phy-connection-type =3D "sgmii"; + phys =3D <&ocelot_serdes 10 SERDES6G(2)>; + + fixed-link { + speed =3D <1000>; + full-duplex; + }; + }; + }; + }; + }; + }; =20 ... =20 --=20 2.49.0