[PATCH V2 3/3] drm/bridge: it66121: Add it66122 support

Nishanth Menon posted 3 patches 1 month, 3 weeks ago
[PATCH V2 3/3] drm/bridge: it66121: Add it66122 support
Posted by Nishanth Menon 1 month, 3 weeks ago
The IT66122 is a drop in replacement for the IT66122. The part is
register compatible with what we use of the IT66121. The only relevant
change being the PID is now 0x0622 vs 0x0612. Add this extra PID so
probe does not fail during the PID check with these new parts.

For new platforms that do explicitly use IT66122, they can use the
appropriate compatible as well.

Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V1:
- I think this is a more pragmatic approach with both compatibles
  functional and the option of being able to split this up at a later
  point if required in driver.

NOTE: I still retain the checkpatch --strict warning as v1 here.

V1: https://lore.kernel.org/all/20250813190835.344563-3-nm@ti.com/

 drivers/gpu/drm/bridge/ite-it66121.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c
index 208e118df0e2..dcbbf7578046 100644
--- a/drivers/gpu/drm/bridge/ite-it66121.c
+++ b/drivers/gpu/drm/bridge/ite-it66121.c
@@ -1625,6 +1625,7 @@ static const struct it66121_chip_info it66121_chip_info = {
 	.id = ID_IT66121,
 	.device_id = {
 		{.vid = 0x4954, .pid = 0x0612 },
+		{.vid = 0x4954, .pid = 0x0622 },
 		{ }
 	},
 };
@@ -1639,6 +1640,7 @@ static const struct it66121_chip_info it6610_chip_info = {
 
 static const struct of_device_id it66121_dt_match[] = {
 	{ .compatible = "ite,it66121", &it66121_chip_info },
+	{ .compatible = "ite,it66122", &it66121_chip_info },
 	{ .compatible = "ite,it6610", &it6610_chip_info },
 	{ }
 };
@@ -1646,6 +1648,7 @@ MODULE_DEVICE_TABLE(of, it66121_dt_match);
 
 static const struct i2c_device_id it66121_id[] = {
 	{ "it66121", (kernel_ulong_t) &it66121_chip_info },
+	{ "it66122", (kernel_ulong_t) &it66121_chip_info },
 	{ "it6610", (kernel_ulong_t) &it6610_chip_info },
 	{ }
 };
-- 
2.47.0
Re: [PATCH V2 3/3] drm/bridge: it66121: Add it66122 support
Posted by Tomi Valkeinen 1 month, 3 weeks ago
Hi,

On 13/08/2025 23:41, Nishanth Menon wrote:
> The IT66122 is a drop in replacement for the IT66122. The part is
> register compatible with what we use of the IT66121. The only relevant

The intro letter said "practical purposes is drop in replacement for
IT66121". Here you say "with what we use of the IT66121".

What does that mean? Are they identical, except the IDs? Or are they
different, but the features and registers this driver uses are
identical? Or different, but only identical wrt. the driver's features
TI uses?

Assuming the first one of those, for the series:

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

 Tomi

> change being the PID is now 0x0622 vs 0x0612. Add this extra PID so
> probe does not fail during the PID check with these new parts.
> 
> For new platforms that do explicitly use IT66122, they can use the
> appropriate compatible as well.
> 
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> Changes since V1:
> - I think this is a more pragmatic approach with both compatibles
>   functional and the option of being able to split this up at a later
>   point if required in driver.
> 
> NOTE: I still retain the checkpatch --strict warning as v1 here.
> 
> V1: https://lore.kernel.org/all/20250813190835.344563-3-nm@ti.com/
> 
>  drivers/gpu/drm/bridge/ite-it66121.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c
> index 208e118df0e2..dcbbf7578046 100644
> --- a/drivers/gpu/drm/bridge/ite-it66121.c
> +++ b/drivers/gpu/drm/bridge/ite-it66121.c
> @@ -1625,6 +1625,7 @@ static const struct it66121_chip_info it66121_chip_info = {
>  	.id = ID_IT66121,
>  	.device_id = {
>  		{.vid = 0x4954, .pid = 0x0612 },
> +		{.vid = 0x4954, .pid = 0x0622 },
>  		{ }
>  	},
>  };
> @@ -1639,6 +1640,7 @@ static const struct it66121_chip_info it6610_chip_info = {
>  
>  static const struct of_device_id it66121_dt_match[] = {
>  	{ .compatible = "ite,it66121", &it66121_chip_info },
> +	{ .compatible = "ite,it66122", &it66121_chip_info },
>  	{ .compatible = "ite,it6610", &it6610_chip_info },
>  	{ }
>  };
> @@ -1646,6 +1648,7 @@ MODULE_DEVICE_TABLE(of, it66121_dt_match);
>  
>  static const struct i2c_device_id it66121_id[] = {
>  	{ "it66121", (kernel_ulong_t) &it66121_chip_info },
> +	{ "it66122", (kernel_ulong_t) &it66121_chip_info },
>  	{ "it6610", (kernel_ulong_t) &it6610_chip_info },
>  	{ }
>  };
Re: [PATCH V2 3/3] drm/bridge: it66121: Add it66122 support
Posted by Nishanth Menon 1 month, 3 weeks ago
On 13:32-20250814, Tomi Valkeinen wrote:

Thanks for looking at this closer, Tomi.

> 
> On 13/08/2025 23:41, Nishanth Menon wrote:
> > The IT66122 is a drop in replacement for the IT66122. The part is
                                                      ^^

Uggh.. I just realized I made a typo here -> should have stated: "
"The IT66122 is a drop in replacement for the IT66121."

> > register compatible with what we use of the IT66121. The only relevant
> 
> The intro letter said "practical purposes is drop in replacement for
> IT66121". Here you say "with what we use of the IT66121".
> 
> What does that mean? Are they identical, except the IDs? Or are they

The only difference we had been told at the time about is that they are
identical from operation perspective except for the ID register (I
understand it is some sort of manufacturing change or something that is
not visible to s/w - Robert/Jason could add more).

> different, but the features and registers this driver uses are
> identical? Or different, but only identical wrt. the driver's features
> TI uses?

Minor clarification: This is used on BeagleBoard.org foundation boards
BeagleY-AI to be specific and not on Texas Instruments EVMs/SK.

Personally, I have just looked at the features that BeagleY-AI platform
uses. Though, searching via llms tells me there may be additional
features, but I don't have the specific details to confirm beyond what
the BeagleY-AI platform does.

I am hoping BeagleBoard.org Foundation folks OR anyone on the list who
have contacts with ITE Tech. INC. could probably add information.

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource