* [PATCH 0/2] i2c: rcar: add Gen5 support @ 2026-07-27 11:34 Wolfram Sang 2026-07-27 11:34 ` [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support Wolfram Sang 2026-07-27 11:34 ` [PATCH 2/2] i2c: rcar: add R-Car Gen5 support Wolfram Sang 0 siblings, 2 replies; 5+ messages in thread From: Wolfram Sang @ 2026-07-27 11:34 UTC (permalink / raw) To: linux-renesas-soc Cc: Wolfram Sang, Andi Shyti, Conor Dooley, devicetree, Geert Uytterhoeven, Krzysztof Kozlowski, linux-i2c, Magnus Damm, Philipp Zabel, Rob Herring This small series adds support for the Renesas R-Car X5H SoC to the i2c-rcar driver. Not much changes needed, only skip polling for reset. And add some compatibles. Tested with a Renesas R-Car Gen5 Ironhide board. Branch is here: git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/x5h/i2c-experimental 'dt_binding_check' also passed. Happy hacking! Minh Le (1): dt-bindings: i2c: rcar-i2c: Document R-Car X5H support Wolfram Sang (1): i2c: rcar: add R-Car Gen5 support .../bindings/i2c/renesas,rcar-i2c.yaml | 5 +++++ drivers/i2c/busses/i2c-rcar.c | 22 ++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) -- 2.47.3 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support 2026-07-27 11:34 [PATCH 0/2] i2c: rcar: add Gen5 support Wolfram Sang @ 2026-07-27 11:34 ` Wolfram Sang 2026-07-27 11:40 ` sashiko-bot 2026-07-27 11:48 ` Wolfram Sang 2026-07-27 11:34 ` [PATCH 2/2] i2c: rcar: add R-Car Gen5 support Wolfram Sang 1 sibling, 2 replies; 5+ messages in thread From: Wolfram Sang @ 2026-07-27 11:34 UTC (permalink / raw) To: linux-renesas-soc Cc: Minh Le, Wolfram Sang, Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven, Magnus Damm, linux-i2c, devicetree From: Minh Le <minh.le.aj@renesas.com> Document support for rcar-i2c on R8A78000 (X5H) SoCs. Signed-off-by: Minh Le <minh.le.aj@renesas.com> [wsa: fixed white space issues] Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> --- Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml index 6cc60c3f61cd..46b4bd16c593 100644 --- a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml @@ -56,6 +56,11 @@ properties: - renesas,i2c-r8a779h0 # R-Car V4M - const: renesas,rcar-gen4-i2c # R-Car Gen4 + - items: + - enum: + - renesas,i2c-r8a78000 # R-Car X5H + - const: renesas,rcar-gen5-i2c # R-Car Gen5 + reg: maxItems: 1 -- 2.47.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support 2026-07-27 11:34 ` [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support Wolfram Sang @ 2026-07-27 11:40 ` sashiko-bot 2026-07-27 11:48 ` Wolfram Sang 1 sibling, 0 replies; 5+ messages in thread From: sashiko-bot @ 2026-07-27 11:40 UTC (permalink / raw) To: Wolfram Sang; +Cc: robh, conor+dt, devicetree, wsa+renesas Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] The new `renesas,rcar-gen5-i2c` compatible string is missing from the `allOf` conditional block that requires the `resets` property, resulting in a Device Tree schema validation bypass. -- --- Patch [1]: [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support --- commit e3abab1fc2392666638c3324ed628bfe91397742 Author: Minh Le <minh.le.aj@renesas.com> dt-bindings: i2c: rcar-i2c: Document R-Car X5H support This commit adds documentation for the rcar-i2c on R8A78000 (X5H) SoCs. It introduces the new Gen5 compatible strings. > diff --git a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml > index 6cc60c3f61cd6..46b4bd16c5937 100644 > --- a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml > +++ b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml > @@ -56,6 +56,11 @@ properties: > - renesas,i2c-r8a779h0 # R-Car V4M > - const: renesas,rcar-gen4-i2c # R-Car Gen4 > > + - items: > + - enum: > + - renesas,i2c-r8a78000 # R-Car X5H > + - const: renesas,rcar-gen5-i2c # R-Car Gen5 [Severity: Medium] Will this schema fully validate the new hardware configurations? The new renesas,rcar-gen5-i2c string is defined here, but the allOf conditional block for the resets property lower in the file only matches Gen2, Gen3, and Gen4: - if: properties: compatible: contains: enum: - renesas,rcar-gen2-i2c - renesas,rcar-gen3-i2c - renesas,rcar-gen4-i2c then: required: - resets Should renesas,rcar-gen5-i2c be added to this enum list so that missing reset configurations are still caught by dt_binding_check? [ ... ] -- Sashiko AI review · https://sashiko.dev/#/patchset/20260727113441.11193-4-wsa+renesas@sang-engineering.com?part=1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support 2026-07-27 11:34 ` [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support Wolfram Sang 2026-07-27 11:40 ` sashiko-bot @ 2026-07-27 11:48 ` Wolfram Sang 1 sibling, 0 replies; 5+ messages in thread From: Wolfram Sang @ 2026-07-27 11:48 UTC (permalink / raw) To: linux-renesas-soc Cc: Minh Le, Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven, Magnus Damm, linux-i2c, devicetree [-- Attachment #1: Type: text/plain, Size: 183 bytes --] > The new renesas,rcar-gen5-i2c string is defined here, but the allOf > conditional block for the resets property lower in the file only matches > Gen2, Gen3, and Gen4: Sigh, yes. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] i2c: rcar: add R-Car Gen5 support 2026-07-27 11:34 [PATCH 0/2] i2c: rcar: add Gen5 support Wolfram Sang 2026-07-27 11:34 ` [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support Wolfram Sang @ 2026-07-27 11:34 ` Wolfram Sang 1 sibling, 0 replies; 5+ messages in thread From: Wolfram Sang @ 2026-07-27 11:34 UTC (permalink / raw) To: linux-renesas-soc Cc: Wolfram Sang, Andi Shyti, Geert Uytterhoeven, Magnus Damm, Philipp Zabel, linux-i2c To support the next generation of R-Car SoCs, we need to skip polling the reset status. SCMI doesn't support it and the firmware must take care of this anyhow. Other than that, the driver works fine as-is. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> --- drivers/i2c/busses/i2c-rcar.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c index 5ce8f8e4856f..46508176712c 100644 --- a/drivers/i2c/busses/i2c-rcar.c +++ b/drivers/i2c/busses/i2c-rcar.c @@ -137,6 +137,7 @@ enum rcar_i2c_type { I2C_RCAR_GEN2, I2C_RCAR_GEN3, I2C_RCAR_GEN4, + I2C_RCAR_GEN5, }; struct rcar_i2c_priv { @@ -900,8 +901,12 @@ static int rcar_i2c_do_reset(struct rcar_i2c_priv *priv) if (ret) return ret; - return read_poll_timeout_atomic(reset_control_status, ret, ret == 0, 1, - 100, false, priv->rstc); + /* SCMI based resets don't need to poll for success */ + if (priv->devtype < I2C_RCAR_GEN5) + return read_poll_timeout_atomic(reset_control_status, ret, ret == 0, + 1, 100, false, priv->rstc); + + return 0; } static int rcar_i2c_master_xfer(struct i2c_adapter *adap, @@ -1111,6 +1116,7 @@ static const struct of_device_id rcar_i2c_dt_ids[] = { { .compatible = "renesas,rcar-gen2-i2c", .data = (void *)I2C_RCAR_GEN2 }, { .compatible = "renesas,rcar-gen3-i2c", .data = (void *)I2C_RCAR_GEN3 }, { .compatible = "renesas,rcar-gen4-i2c", .data = (void *)I2C_RCAR_GEN4 }, + { .compatible = "renesas,rcar-gen5-i2c", .data = (void *)I2C_RCAR_GEN5 }, {}, }; MODULE_DEVICE_TABLE(of, rcar_i2c_dt_ids); @@ -1194,9 +1200,15 @@ static int rcar_i2c_probe(struct platform_device *pdev) goto out_pm_put; } - ret = reset_control_status(priv->rstc); - if (ret < 0) - goto out_pm_put; + /* + * Gen5+ uses SCMI based reset which cannot report status. + * Firmware has to ensure proper reset + */ + if (priv->devtype < I2C_RCAR_GEN5) { + ret = reset_control_status(priv->rstc); + if (ret < 0) + goto out_pm_put; + } /* hard reset disturbs HostNotify local target, so disable it */ priv->flags &= ~ID_P_HOST_NOTIFY; -- 2.47.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-07-27 11:48 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-07-27 11:34 [PATCH 0/2] i2c: rcar: add Gen5 support Wolfram Sang 2026-07-27 11:34 ` [PATCH 1/2] dt-bindings: i2c: rcar-i2c: Document R-Car X5H support Wolfram Sang 2026-07-27 11:40 ` sashiko-bot 2026-07-27 11:48 ` Wolfram Sang 2026-07-27 11:34 ` [PATCH 2/2] i2c: rcar: add R-Car Gen5 support Wolfram Sang
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.