From: Lee Jones <lee@kernel.org>
To: Lakshay Piplani <lakshay.piplani@nxp.com>
Cc: linux-kernel@vger.kernel.org, linux-i3c@lists.infradead.org,
alexandre.belloni@bootlin.com, krzk+dt@kernel.org,
robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org,
broonie@kernel.org, Frank.Li@nxp.com, lgirdwood@gmail.com,
vikash.bansal@nxp.com, priyanka.jain@nxp.com,
aman.kumarpandey@nxp.com
Subject: Re: [PATCH v14 4/8] mfd: p3h2x4x: Add driver for NXP P3H2x4x i3c hub and on-die regulator
Date: Thu, 23 Jul 2026 13:34:43 +0100 [thread overview]
Message-ID: <20260723123443.GI3363113@google.com> (raw)
In-Reply-To: <20260714092053.2461482-5-lakshay.piplani@nxp.com>
On Tue, 14 Jul 2026, Lakshay Piplani wrote:
> From: Aman Kumar Pandey <aman.kumarpandey@nxp.com>
>
> Add core MFD support for the NXP P3H2x4x (P3H2440/P3H2441/P3H2840/P3H2841)
> family of multiport I3C hub devices. These devices connect to a host via
> I3C/I2C/SMBus and expose multiple downstream target ports.
>
> Signed-off-by: Aman Kumar Pandey <aman.kumarpandey@nxp.com>
> Signed-off-by: Vikash Bansal <vikash.bansal@nxp.com>
> Signed-off-by: Lakshay Piplani <lakshay.piplani@nxp.com>
> Reviewed-by: Frank Li <Frank.Li@nxp.com>
>
> ---
> Changes in v14:
> - Clean up MFD driver comments, formatting, variable names and author
> information
> - Define and document the I3C hub DCR value in hexadecimal form
> - Use direct regmap bit-width values instead of local macros
> - Add a shared protected_reg_lock for protected register accesses across
> P3H2X4X child drivers
>
> Changes in v13:
> - Use i3c_device helpers (i3cdev_to_dev()) instead of direct struct access
> to maintain API abstraction
> - Avoid including internal I3C headers and use public device headers instead
> - Ensure proper device matching by relying on manufacturer ID checks in probe
>
> Changes in v12:
> - No change, added Reviewed-By tag
>
> Changes in v11:
> - Use MFD_CELL_NAME() for child device registration
> - Rename local variables for consistency
> - Rename driver names to follow subsystem conventions:
> - Use '-' instead of '_' in driver names
> - Drop the "_drv" suffix from driver names
>
> Changes in v10:
> - Drop redundant is_p3h2x4x_in_i3c flag
>
> Changes in v9:
> - Renamed macros to follow consistent uppercase naming conventions
> - Made REGMAP selects in the P3H2X4X MFD Kconfig conditional,
> to avoid I3C/I2C dependency issues
>
> Changes in v8:
> - No change
>
> Changes in v7:
> - Use new config I3C_OR_I2C
>
> Changes in v6:
> - No change
>
> Changes in v5:
> - Corrected the ordering in the Makefile and Kconfig for MFD_P3H2X4X
> - Updated dev_err_probe() for regmap_init failure.
> - Updated module description
>
> Changes in v4:
> - Split the driver into three separate patches(mfd, regulator and I3C hub)
> - Added support for NXP P3H2x4x MFD functionality
> ---
> ---
> MAINTAINERS | 2 +
> drivers/mfd/Kconfig | 13 ++++
> drivers/mfd/Makefile | 1 +
> drivers/mfd/p3h2840.c | 139 ++++++++++++++++++++++++++++++++++++
> include/linux/i3c/device.h | 2 +
> include/linux/mfd/p3h2840.h | 25 +++++++
> 6 files changed, 182 insertions(+)
> create mode 100644 drivers/mfd/p3h2840.c
> create mode 100644 include/linux/mfd/p3h2840.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ba65ae5a008b..3420701a75c5 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19311,6 +19311,8 @@ L: linux-kernel@vger.kernel.org
> L: linux-i3c@lists.infradead.org
> S: Maintained
> F: Documentation/devicetree/bindings/i3c/nxp,p3h2840.yaml
> +F: drivers/mfd/p3h2840.c
> +F: include/linux/mfd/p3h2840.h
>
> NXP PF5300/PF5301/PF5302 PMIC REGULATOR DEVICE DRIVER
> M: Woodrow Douglass <wdouglass@carnegierobotics.com>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 7192c9d1d268..405b50c3c77b 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -617,6 +617,19 @@ config MFD_MX25_TSADC
> i.MX25 processors. They consist of a conversion queue for general
> purpose ADC and a queue for Touchscreens.
>
> +config MFD_P3H2X4X
> + tristate "NXP P3H2X4X I3C Hub Device"
> + depends on I3C_OR_I2C
> + select MFD_CORE
> + select REGMAP_I3C if I3C
> + select REGMAP_I2C if I2C
> + help
> + Enable Support for NXP P3H244x/P3H284x I3C HUB device using I3C/I2C
> + communication interface.
> +
> + This driver provides support for I3C hub and regulator, each subdriver
> + can be enabled independently depending on the required functionality.
> +
> config MFD_PF1550
> tristate "NXP PF1550 PMIC Support"
> depends on I2C=y && OF
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index e75e8045c28a..a284b22c7b13 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -122,6 +122,7 @@ obj-$(CONFIG_MFD_MC13XXX) += mc13xxx-core.o
> obj-$(CONFIG_MFD_MC13XXX_SPI) += mc13xxx-spi.o
> obj-$(CONFIG_MFD_MC13XXX_I2C) += mc13xxx-i2c.o
>
> +obj-$(CONFIG_MFD_P3H2X4X) += p3h2840.o
> obj-$(CONFIG_MFD_PF1550) += pf1550.o
>
> obj-$(CONFIG_MFD_NCT6694) += nct6694.o
> diff --git a/drivers/mfd/p3h2840.c b/drivers/mfd/p3h2840.c
> new file mode 100644
> index 000000000000..652077408dbd
> --- /dev/null
> +++ b/drivers/mfd/p3h2840.c
> @@ -0,0 +1,139 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright 2025-2026 NXP
> + *
> + * Authors:
> + * Aman Kumar Pandey <aman.kumarpandey@nxp.com>
> + * Vikash Bansal <vikash.bansal@nxp.com>
> + * Lakshay Piplani <lakshay.piplani@nxp.com>
> + *
> + * P3H2X4X multi-function device driver.
There is no such thing as an "MFD device driver". You should describe
what the device actually is: "Multiport I3C hub device", or whatever.
If you end up re-spinning, I'd like you to change this in the next set.
If not, then please provided with a follow-up patch.
--
Lee Jones
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee@kernel.org>
To: Lakshay Piplani <lakshay.piplani@nxp.com>
Cc: linux-kernel@vger.kernel.org, linux-i3c@lists.infradead.org,
alexandre.belloni@bootlin.com, krzk+dt@kernel.org,
robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org,
broonie@kernel.org, Frank.Li@nxp.com, lgirdwood@gmail.com,
vikash.bansal@nxp.com, priyanka.jain@nxp.com,
aman.kumarpandey@nxp.com
Subject: Re: [PATCH v14 4/8] mfd: p3h2x4x: Add driver for NXP P3H2x4x i3c hub and on-die regulator
Date: Thu, 23 Jul 2026 13:34:43 +0100 [thread overview]
Message-ID: <20260723123443.GI3363113@google.com> (raw)
In-Reply-To: <20260714092053.2461482-5-lakshay.piplani@nxp.com>
On Tue, 14 Jul 2026, Lakshay Piplani wrote:
> From: Aman Kumar Pandey <aman.kumarpandey@nxp.com>
>
> Add core MFD support for the NXP P3H2x4x (P3H2440/P3H2441/P3H2840/P3H2841)
> family of multiport I3C hub devices. These devices connect to a host via
> I3C/I2C/SMBus and expose multiple downstream target ports.
>
> Signed-off-by: Aman Kumar Pandey <aman.kumarpandey@nxp.com>
> Signed-off-by: Vikash Bansal <vikash.bansal@nxp.com>
> Signed-off-by: Lakshay Piplani <lakshay.piplani@nxp.com>
> Reviewed-by: Frank Li <Frank.Li@nxp.com>
>
> ---
> Changes in v14:
> - Clean up MFD driver comments, formatting, variable names and author
> information
> - Define and document the I3C hub DCR value in hexadecimal form
> - Use direct regmap bit-width values instead of local macros
> - Add a shared protected_reg_lock for protected register accesses across
> P3H2X4X child drivers
>
> Changes in v13:
> - Use i3c_device helpers (i3cdev_to_dev()) instead of direct struct access
> to maintain API abstraction
> - Avoid including internal I3C headers and use public device headers instead
> - Ensure proper device matching by relying on manufacturer ID checks in probe
>
> Changes in v12:
> - No change, added Reviewed-By tag
>
> Changes in v11:
> - Use MFD_CELL_NAME() for child device registration
> - Rename local variables for consistency
> - Rename driver names to follow subsystem conventions:
> - Use '-' instead of '_' in driver names
> - Drop the "_drv" suffix from driver names
>
> Changes in v10:
> - Drop redundant is_p3h2x4x_in_i3c flag
>
> Changes in v9:
> - Renamed macros to follow consistent uppercase naming conventions
> - Made REGMAP selects in the P3H2X4X MFD Kconfig conditional,
> to avoid I3C/I2C dependency issues
>
> Changes in v8:
> - No change
>
> Changes in v7:
> - Use new config I3C_OR_I2C
>
> Changes in v6:
> - No change
>
> Changes in v5:
> - Corrected the ordering in the Makefile and Kconfig for MFD_P3H2X4X
> - Updated dev_err_probe() for regmap_init failure.
> - Updated module description
>
> Changes in v4:
> - Split the driver into three separate patches(mfd, regulator and I3C hub)
> - Added support for NXP P3H2x4x MFD functionality
> ---
> ---
> MAINTAINERS | 2 +
> drivers/mfd/Kconfig | 13 ++++
> drivers/mfd/Makefile | 1 +
> drivers/mfd/p3h2840.c | 139 ++++++++++++++++++++++++++++++++++++
> include/linux/i3c/device.h | 2 +
> include/linux/mfd/p3h2840.h | 25 +++++++
> 6 files changed, 182 insertions(+)
> create mode 100644 drivers/mfd/p3h2840.c
> create mode 100644 include/linux/mfd/p3h2840.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ba65ae5a008b..3420701a75c5 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19311,6 +19311,8 @@ L: linux-kernel@vger.kernel.org
> L: linux-i3c@lists.infradead.org
> S: Maintained
> F: Documentation/devicetree/bindings/i3c/nxp,p3h2840.yaml
> +F: drivers/mfd/p3h2840.c
> +F: include/linux/mfd/p3h2840.h
>
> NXP PF5300/PF5301/PF5302 PMIC REGULATOR DEVICE DRIVER
> M: Woodrow Douglass <wdouglass@carnegierobotics.com>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 7192c9d1d268..405b50c3c77b 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -617,6 +617,19 @@ config MFD_MX25_TSADC
> i.MX25 processors. They consist of a conversion queue for general
> purpose ADC and a queue for Touchscreens.
>
> +config MFD_P3H2X4X
> + tristate "NXP P3H2X4X I3C Hub Device"
> + depends on I3C_OR_I2C
> + select MFD_CORE
> + select REGMAP_I3C if I3C
> + select REGMAP_I2C if I2C
> + help
> + Enable Support for NXP P3H244x/P3H284x I3C HUB device using I3C/I2C
> + communication interface.
> +
> + This driver provides support for I3C hub and regulator, each subdriver
> + can be enabled independently depending on the required functionality.
> +
> config MFD_PF1550
> tristate "NXP PF1550 PMIC Support"
> depends on I2C=y && OF
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index e75e8045c28a..a284b22c7b13 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -122,6 +122,7 @@ obj-$(CONFIG_MFD_MC13XXX) += mc13xxx-core.o
> obj-$(CONFIG_MFD_MC13XXX_SPI) += mc13xxx-spi.o
> obj-$(CONFIG_MFD_MC13XXX_I2C) += mc13xxx-i2c.o
>
> +obj-$(CONFIG_MFD_P3H2X4X) += p3h2840.o
> obj-$(CONFIG_MFD_PF1550) += pf1550.o
>
> obj-$(CONFIG_MFD_NCT6694) += nct6694.o
> diff --git a/drivers/mfd/p3h2840.c b/drivers/mfd/p3h2840.c
> new file mode 100644
> index 000000000000..652077408dbd
> --- /dev/null
> +++ b/drivers/mfd/p3h2840.c
> @@ -0,0 +1,139 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright 2025-2026 NXP
> + *
> + * Authors:
> + * Aman Kumar Pandey <aman.kumarpandey@nxp.com>
> + * Vikash Bansal <vikash.bansal@nxp.com>
> + * Lakshay Piplani <lakshay.piplani@nxp.com>
> + *
> + * P3H2X4X multi-function device driver.
There is no such thing as an "MFD device driver". You should describe
what the device actually is: "Multiport I3C hub device", or whatever.
If you end up re-spinning, I'd like you to change this in the next set.
If not, then please provided with a follow-up patch.
--
Lee Jones
next prev parent reply other threads:[~2026-07-23 12:34 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 9:20 [PATCH v14 0/8] Add support for NXP P3H2x4x I3C hub driver Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 9:20 ` [PATCH v14 1/8] i3c: master: Add APIs for I3C hub support Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 10:03 ` sashiko-bot
2026-07-14 10:03 ` sashiko-bot
2026-07-14 19:04 ` Frank Li
2026-07-14 19:04 ` Frank Li
2026-07-14 9:20 ` [PATCH v14 2/8] i3c: master: Fix IBI request and free cleanup paths Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 10:20 ` sashiko-bot
2026-07-14 10:20 ` sashiko-bot
2026-07-14 19:10 ` Frank Li
2026-07-14 19:10 ` Frank Li
2026-07-14 9:20 ` [PATCH v14 3/8] dt-bindings: i3c: Add NXP P3H2x4x i3c-hub support Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 10:30 ` sashiko-bot
2026-07-14 10:30 ` sashiko-bot
2026-07-14 9:20 ` [PATCH v14 4/8] mfd: p3h2x4x: Add driver for NXP P3H2x4x i3c hub and on-die regulator Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 10:49 ` sashiko-bot
2026-07-14 10:49 ` sashiko-bot
2026-07-23 12:34 ` Lee Jones [this message]
2026-07-23 12:34 ` Lee Jones
2026-07-14 9:20 ` [PATCH v14 5/8] regulator: p3h2x4x: Add driver for on-die regulators in NXP P3H2x4x i3c hub Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 10:57 ` sashiko-bot
2026-07-14 10:57 ` sashiko-bot
2026-07-14 9:20 ` [PATCH v14 6/8] i3c: hub: Add support for the I3C interface in the I3C hub Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 11:14 ` sashiko-bot
2026-07-14 11:14 ` sashiko-bot
2026-07-14 9:20 ` [PATCH v14 7/8] i3c: hub: p3h2x4x: Add support for NXP P3H2x4x I3C hub functionality Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 11:31 ` sashiko-bot
2026-07-14 11:31 ` sashiko-bot
2026-07-14 9:20 ` [PATCH v14 8/8] i3c: hub: p3h2x4x: Add SMBus slave mode support Lakshay Piplani
2026-07-14 9:20 ` Lakshay Piplani
2026-07-14 11:56 ` sashiko-bot
2026-07-14 11:56 ` sashiko-bot
2026-07-23 12:31 ` [PATCH v14 0/8] Add support for NXP P3H2x4x I3C hub driver Lee Jones
2026-07-23 12:31 ` Lee Jones
2026-07-23 13:02 ` [EXT] " Lakshay Piplani
2026-07-23 13:02 ` Lakshay Piplani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260723123443.GI3363113@google.com \
--to=lee@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=aman.kumarpandey@nxp.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lakshay.piplani@nxp.com \
--cc=lgirdwood@gmail.com \
--cc=linux-i3c@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=priyanka.jain@nxp.com \
--cc=robh@kernel.org \
--cc=vikash.bansal@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.