* [PATCH v4 0/2] i2c: Add new driver for Renesas RZ/V2M controller
@ 2022-07-08 10:03 Phil Edworthy
2022-07-08 10:03 ` [PATCH v4 1/2] dt-bindings: i2c: Document RZ/V2M I2C controller Phil Edworthy
0 siblings, 1 reply; 3+ messages in thread
From: Phil Edworthy @ 2022-07-08 10:03 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski
Cc: Phil Edworthy, Wolfram Sang, Andy Shevchenko, Jarkko Nikula,
Sam Protsenko, Sven Peter, Jan Dabros, Lukas Bulwahn, Tyrone Ting,
Arnd Bergmann, Olof Johansson, Biju Das, Geert Uytterhoeven,
devicetree, linux-i2c, linux-renesas-soc
Hi,
The Renesas RZ/V2M SoC (r9a09g011) has a new i2c controller. This series
add the driver. One annoying problem is that the SoC uses a single reset
line for two i2c controllers, and unfortunately one of the controllers
is managed by some firmware, not by Linux. Therefore, the driver just
deasserts the reset.
v4:
- Multiline comment fix
- Use GENMASK
- Fix too many parentheses
- Better use of sizeof()
- Move MODULE_DEVICE_TABLE close to use
- Use pm_runtime_resume_and_get() and check return val
- Replace NOIRQ_SYSTEM_SLEEP_PM_OPS with SYSTEM_SLEEP_PM_OPS
so we can use runtime PM in suspend and resume.
v3:
- dt-binding: Fix example indentation
driver:
- Lots of small fixes based on Andy Shevchenko's review
- Use devm_reset_control_get_shared() instead of devm_reset_control_get()
v2:
dt-binding:
- Use an enum and set the default for clock-frequency
- Add resets property
driver:
- Use the new NOIRQ_SYSTEM_SLEEP_PM_OPS() as suggested by Arnd
- Lots of small fixes based on Geert's review
Phil Edworthy (2):
dt-bindings: i2c: Document RZ/V2M I2C controller
i2c: Add Renesas RZ/V2M controller
.../bindings/i2c/renesas,rzv2m.yaml | 80 +++
drivers/i2c/busses/Kconfig | 10 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-rzv2m.c | 533 ++++++++++++++++++
4 files changed, 624 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
create mode 100644 drivers/i2c/busses/i2c-rzv2m.c
--
2.34.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v4 1/2] dt-bindings: i2c: Document RZ/V2M I2C controller
2022-07-08 10:03 [PATCH v4 0/2] i2c: Add new driver for Renesas RZ/V2M controller Phil Edworthy
@ 2022-07-08 10:03 ` Phil Edworthy
2022-07-22 16:44 ` Wolfram Sang
0 siblings, 1 reply; 3+ messages in thread
From: Phil Edworthy @ 2022-07-08 10:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski
Cc: Phil Edworthy, Biju Das, linux-i2c, devicetree,
Geert Uytterhoeven, linux-renesas-soc, Rob Herring
Document Renesas RZ/V2M (r9a09g011) I2C controller bindings.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
v4:
- No change
v3:
- Fix example indentation
v2:
- Use an enum and set the default for clock-frequency
- Add resets property
---
.../bindings/i2c/renesas,rzv2m.yaml | 80 +++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
diff --git a/Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml b/Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
new file mode 100644
index 000000000000..c46378efc123
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml
@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/renesas,rzv2m.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas RZ/V2M I2C Bus Interface
+
+maintainers:
+ - Phil Edworthy <phil.edworthy@renesas.com>
+
+allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - renesas,i2c-r9a09g011 # RZ/V2M
+ - const: renesas,rzv2m-i2c
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ items:
+ - description: Data transmission/reception interrupt
+ - description: Status interrupt
+
+ interrupt-names:
+ items:
+ - const: tia
+ - const: tis
+
+ clock-frequency:
+ default: 100000
+ enum: [ 100000, 400000 ]
+ description:
+ Desired I2C bus clock frequency in Hz.
+
+ clocks:
+ maxItems: 1
+
+ power-domains:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - clocks
+ - power-domains
+ - resets
+ - '#address-cells'
+ - '#size-cells'
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/r9a09g011-cpg.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ i2c0: i2c@a4030000 {
+ compatible = "renesas,i2c-r9a09g011", "renesas,rzv2m-i2c";
+ reg = <0xa4030000 0x80>;
+ interrupts = <GIC_SPI 232 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "tia", "tis";
+ clocks = <&cpg CPG_MOD R9A09G011_IIC_PCLK0>;
+ resets = <&cpg R9A09G011_IIC_GPA_PRESETN>;
+ power-domains = <&cpg>;
+ clock-frequency = <100000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v4 1/2] dt-bindings: i2c: Document RZ/V2M I2C controller
2022-07-08 10:03 ` [PATCH v4 1/2] dt-bindings: i2c: Document RZ/V2M I2C controller Phil Edworthy
@ 2022-07-22 16:44 ` Wolfram Sang
0 siblings, 0 replies; 3+ messages in thread
From: Wolfram Sang @ 2022-07-22 16:44 UTC (permalink / raw)
To: Phil Edworthy
Cc: Rob Herring, Krzysztof Kozlowski, Biju Das, linux-i2c, devicetree,
Geert Uytterhoeven, linux-renesas-soc, Rob Herring
[-- Attachment #1: Type: text/plain, Size: 326 bytes --]
On Fri, Jul 08, 2022 at 11:03:49AM +0100, Phil Edworthy wrote:
> Document Renesas RZ/V2M (r9a09g011) I2C controller bindings.
>
> Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
Applied to for-next, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-07-22 16:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-08 10:03 [PATCH v4 0/2] i2c: Add new driver for Renesas RZ/V2M controller Phil Edworthy
2022-07-08 10:03 ` [PATCH v4 1/2] dt-bindings: i2c: Document RZ/V2M I2C controller Phil Edworthy
2022-07-22 16:44 ` Wolfram Sang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).