public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support
@ 2023-06-02 14:24 Biju Das
  2023-06-02 14:24 ` [PATCH v6 02/11] regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings Biju Das
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Biju Das @ 2023-06-02 14:24 UTC (permalink / raw)
  To: Wolfram Sang, Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski
  Cc: Biju Das, Liam Girdwood, Mark Brown, Geert Uytterhoeven,
	Magnus Damm, devicetree, linux-rtc, linux-kernel,
	linux-renesas-soc, Fabrizio Castro

This patch series aims to add support for Renesas PMIC RAA215300 and
built-in RTC found on this PMIC device.

The details of PMIC can be found here[1].

Renesas PMIC RAA215300 exposes two separate i2c devices, one for the main
device and another for rtc device.

Enhance i2c_new_ancillary_device() to instantiate an I2C client device
apart from the already supported I2C dummy client device.
(eg: Instantiate rtc device from PMIC driver)

The built-in RTC found on PMIC RAA215300 is the same as ISL1208.
However, the external oscillator bit is inverted on PMIC version
0x11. The PMIC driver detects PMIC version and instantiate appropriate
RTC device.

[1]
https://www.renesas.com/in/en/products/power-power-management/multi-channel-power-management-ics-pmics/ssdsoc-power-management-ics-pmic-and-pmus/raa215300-high-performance-9-channel-pmic-supporting-ddr-memory-built-charger-and-rtc

Ref:
 https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230505091720.115675-1-biju.das.jz@bp.renesas.com/
 https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230505172530.357455-5-biju.das.jz@bp.renesas.com/

v5->v6:
 * Added Rb tag from Hans Verkuil and Geert.
 * Updated commit description and comment related to i2c_new_ancillary_device()
 * Fixed the issue related to assigning wrong parent device by adding check
   for aux_device_name.
 * Retained Rb tags for patch#1 as changes are trivial.
 * Added Rb tag from Geert for patch#2.
 * Updated the example with replacing node name "clock-xtal"->"x2-clock".
 * Updated the driver header comment block in C++ style
 * Dropped cache for registers.
 * Dropped check for I2C functionality.
 * Replaced "clock-xtal"->"x2-clock" for x2 node.
 * Sorted nodes in alphabetical order.
 * Added Rb tag from Geert for patch#6,#10 and #11
 * Replaced u8->int for xtosb_val parameter in isl1208_set_xtoscb().
 * Introduced isl1208_clk_present() for checking the presence of "xin" and
   "clkin" for determining internal oscillator is enabled or not.
 * Parsing of parent node is moved from probe->isl1208_clk_present()
 * Added comment for parsing parent node for getting clock resource.
 * Replaced XOR->NOT to make the operation more clear for the inverted case.
v4->v5:
 * Replaced parameter dev->parent in __i2c_new_client_device() and
   __i2c_new_dummy_device().
 * Improved error message in __i2c_new_dummy_device() by printing device name.
 * Updated comment for ancillary's device parent
 * Dropped aux_device_name check in i2c_new_ancillary_device().
 * Replaced oneOf->enum for clock-names as it is simpler.
 * Added Rb tag from Conor for binding patches#3 and #9.
 * Added Rb tag from Geert for patches#4, #5 and #6.
 * Replaced "unsigned long"->"kernel_ulong_t" in isl1208_id[].
 * Fixed the typo in commit description.
 * Replaced the variable int_osc_en->xtosb_val for isl1208_set_xtoscb() and
   changed the data type from bool->u8.
 * Replaced devm_clk_get->devm_clk_get_optional() in probe.
 * IS_ERR() related error is propagated and check for NULL to find out
   if a clock is present.
 * -ENOENT means clock not present, so any other errors are propagated.
 * Dropped bool inverted parameter from isl1208_set_xtoscb() instead
   using xor to compute the value of xtoscb.
 * Added description for clocks in PMIC bindings patch.
 * Dropped clk.h and started using of_property_present to check the
   clocks.
v3->v4:
 * Dropped Rb tag from Geert for patch#1 as there are new changes.
 * Introduced __i2c_new_dummy_device() to share the code between
   i2c_new_dummy_device and i2c_new_ancillary_device().
 * Introduced __i2c_new_client_device() to pass parent dev
   parameter, so that the ancillary device can assign its parent during
   creation.
 * Added minItems to interrupt-names in binding patch.
 * Added interrupt-names in conditional schema check.
 * Documented clock and clock-names properties.
 * Dropped unused name variable from struct isl1208_config.
 * Make similar I2C and DT-based matching.
 * Drop enum isl1208_id and split the array isl1208_configs[].
 * Introduced isl1208_set_xtoscb() to set XTOSCB bit.
 * Added support for internal oscillator enable/disable.
 * Moved PMIC bindings from mfd->regulator.
 * Dropped minItems from reg.
 * Dropped renesas,rtc-enabled property and instead used clock-names property
   to find RTC is enabled or not.
 * Added reg-names in required property.
 * Updated the example.
 * Moved from mfd->regulator as it doesn't use MFD APIs
 * Dropped handling "renesas,rtc-enabled" property and instead used
   clock-names to determine RTC is enabled or not and then instantiating
   RTC device.
 * Added clock nodes.
v2->v3:
 * Enhanced i2c_new_ancillary_device() to instantiate a real ancillary_device().
 * RTC device is instantiated by PMIC driver and dropped isl1208_probe_helper().
 * Added "TYPE_RAA215300_RTC_A0" to handle inverted oscillator bit case.
 * Added more detailed description for renesas,rtc-enabled property.
 * Added support for handling "renesas,rtc-enabled" property.
 * Based on PMIC version, it instantiates rtc device by calling i2c_new_
   ancillary_device().
 * Updated the logs.
RFC->v2:
 * Dropped the cross-links from bindings and used a single compatible
   with separate i2c addresses for pmic main and rtc device.
 * Dropped patch#4 and split patch#3 from this series and send as
   separate patch to ML [2].
 * Added RTC platform driver and mfd cell entry to the PMIC driver.RTC
   platform driver creates rtc device by using i2c_new_ancillary_device()
   and register the rtc device by calling the helper function provided
   by rtc-isl2108 driver.
 * Updated reg property in bindings.
 * Added optional reg-names, interrupts and renesas,rtc-enabled
   properties.
 * Fixed the node name in the binding example
 * Dropped the cross link property renesas,raa215300-rtc.
 * Updated the binding example
 * Dropped MODULE_SOFTDEP from the driver as it is added in RTC platform
   driver.
 * Dropped compatible "renesas,raa215300-isl1208" and "renesas,raa215300-pmic" property.
 * Updated the comment polarity->bit for External Oscillator.
 * Added raa215300_rtc_probe_helper() for registering raa215300_rtc device and
   added the helper function isl1208_probe_helper() to share the code.
 * Updated pmic device node on the SoM dtsi based on the bindings.

Logs:
[   15.447305] rtc-isl1208 3-006f: registered as rtc0
[   15.479493] rtc-isl1208 3-006f: setting system clock to 2023-04-27T19:31:02 UTC (1682623862)

root@smarc-rzv2l:~# hwclock -r
2023-04-27 19:33:05.499001+00:00
root@smarc-rzv2l:~# hwclock -r
2023-04-27 19:33:06.936688+00:00
root@smarc-rzv2l:~#

Biju Das (11):
  i2c: Enhance i2c_new_ancillary_device API
  regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings
  regulator: Add Renesas PMIC RAA215300 driver
  arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC
  dt-bindings: rtc: isl1208: Convert to json-schema
  dt-bindings: rtc: isil,isl1208: Document clock and clock-names
    properties
  rtc: isl1208: Drop name variable
  rtc: isl1208: Make similar I2C and DT-based matching table
  rtc: isl1208: Drop enum isl1208_id and split isl1208_configs[]
  rtc: isl1208: Add isl1208_set_xtoscb()
  rtc: isl1208: Add support for the built-in RTC on the PMIC RAA215300

 .../bindings/regulator/renesas,raa215300.yaml |  85 ++++++++++
 .../devicetree/bindings/rtc/isil,isl1208.txt  |  38 -----
 .../devicetree/bindings/rtc/isil,isl1208.yaml | 100 ++++++++++++
 .../boot/dts/renesas/rzg2l-smarc-som.dtsi     |  18 +++
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |   6 +-
 drivers/i2c/i2c-core-base.c                   |  91 +++++++----
 drivers/media/i2c/adv748x/adv748x-core.c      |   2 +-
 drivers/media/i2c/adv7604.c                   |   3 +-
 drivers/regulator/Kconfig                     |   7 +
 drivers/regulator/Makefile                    |   1 +
 drivers/regulator/raa215300.c                 |  92 +++++++++++
 drivers/rtc/rtc-isl1208.c                     | 150 ++++++++++++++----
 include/linux/i2c.h                           |   3 +-
 13 files changed, 490 insertions(+), 106 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml
 delete mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.txt
 create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
 create mode 100644 drivers/regulator/raa215300.c

-- 
2.25.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v6 02/11] regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings
  2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
@ 2023-06-02 14:24 ` Biju Das
  2023-06-02 14:24 ` [PATCH v6 04/11] arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC Biju Das
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2023-06-02 14:24 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Liam Girdwood, Mark Brown, Geert Uytterhoeven,
	Magnus Damm, devicetree, linux-renesas-soc, Fabrizio Castro,
	Conor Dooley

Document Renesas RAA215300 PMIC bindings.

The RAA215300 is a high Performance 9-Channel PMIC supporting DDR
Memory, with Built-In Charger and RTC.

It supports DDR3, DDR3L, DDR4, and LPDDR4 memory power requirements.
The internally compensated regulators, built-in Real-Time Clock (RTC),
32kHz crystal oscillator, and coin cell battery charger provide a
highly integrated, small footprint power solution ideal for
System-On-Module (SOM) applications. A spread spectrum feature
provides an ease-of-use solution for noise-sensitive audio or RF
applications.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v5->v6:
 * Added Rb tag from Geert.
 * Updated the example with replacing node name "clock-xtal"->"x2-clock".
v4->v5:
 * Added description for clocks.
 * Replaced Oneof->enum in clock-names as it is simpler.
 * Added Rb tag from Conor.
v3->v4:
 * Moved bindings from mfd->regulator.
 * Dropped minItems from reg.
 * Dropped renesas,rtc-enabled property and instead used clock-names property
   to find RTC is enabled or not.
 * Added reg-names in required property.
 * Updated the example.
v2->v3:
 * Added more detailed description for renesas,rtc-enabled property.
RFC->v2:
 * Updated reg property
 * Added optional reg-names, interrupts and renesas,rtc-enabled
   properties.
 * Fixed the node name in the example
 * Dropped the cross link property renesas,raa215300-rtc.
 * Updated the example
---
 .../bindings/regulator/renesas,raa215300.yaml | 85 +++++++++++++++++++
 1 file changed, 85 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml

diff --git a/Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml b/Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml
new file mode 100644
index 000000000000..97cff71d2967
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml
@@ -0,0 +1,85 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/renesas,raa215300.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas RAA215300 Power Management Integrated Circuit (PMIC)
+
+maintainers:
+  - Biju Das <biju.das.jz@bp.renesas.com>
+
+description: |
+  The RAA215300 is a high-performance, low-cost 9-channel PMIC designed for
+  32-bit and 64-bit MCU and MPU applications. It supports DDR3, DDR3L, DDR4,
+  and LPDDR4 memory power requirements. The internally compensated regulators,
+  built-in Real-Time Clock (RTC), 32kHz crystal oscillator, and coin cell
+  battery charger provide a highly integrated, small footprint power solution
+  ideal for System-On-Module (SOM) applications. A spread spectrum feature
+  provides an ease-of-use solution for noise-sensitive audio or RF applications.
+
+  This device exposes two devices via I2C. One for the integrated RTC IP, and
+  one for everything else.
+
+  Link to datasheet:
+  https://www.renesas.com/in/en/products/power-power-management/multi-channel-power-management-ics-pmics/ssdsoc-power-management-ics-pmic-and-pmus/raa215300-high-performance-9-channel-pmic-supporting-ddr-memory-built-charger-and-rtc
+
+properties:
+  compatible:
+    enum:
+      - renesas,raa215300
+
+  reg:
+    maxItems: 2
+
+  reg-names:
+    items:
+      - const: main
+      - const: rtc
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    description: |
+      The clocks are optional. The RTC is disabled, if no clocks are
+      provided(either xin or clkin).
+    maxItems: 1
+
+  clock-names:
+    description: |
+      Use xin, if connected to an external crystal.
+      Use clkin, if connected to an external clock signal.
+    enum:
+      - xin
+      - clkin
+
+required:
+  - compatible
+  - reg
+  - reg-names
+
+additionalProperties: false
+
+examples:
+  - |
+    /* 32.768kHz crystal */
+    x2: x2-clock {
+        compatible = "fixed-clock";
+        #clock-cells = <0>;
+        clock-frequency = <32768>;
+    };
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        raa215300: pmic@12 {
+            compatible = "renesas,raa215300";
+            reg = <0x12>, <0x6f>;
+            reg-names = "main", "rtc";
+
+            clocks = <&x2>;
+            clock-names = "xin";
+        };
+    };
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v6 04/11] arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC
  2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
  2023-06-02 14:24 ` [PATCH v6 02/11] regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings Biju Das
@ 2023-06-02 14:24 ` Biju Das
  2023-06-02 14:24 ` [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema Biju Das
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2023-06-02 14:24 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Geert Uytterhoeven, Magnus Damm, linux-renesas-soc,
	devicetree, Fabrizio Castro

Enable PMIC RAA215300 and the built-in RTC on the RZ/{G2L,V2L} SMARC
EVK.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v5->v6:
 * Replaced "clock-xtal"->"x2-clock" for x2 node.
 * Sorted nodes in alphabetical order.
v4->v5:
 * No change.
v3->v4:
 * Added clock nodes.
v2->v3:
 * No change.
RFC->V2:
 * Updated pmic device node based on the bindings.
---
 .../boot/dts/renesas/rzg2l-smarc-som.dtsi      | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
index fbbb4f03440b..aed0a9ca7f29 100644
--- a/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
@@ -73,6 +73,13 @@ vccq_sdhi0: regulator-vccq-sdhi0 {
 		gpios = <&pinctrl RZG2L_GPIO(39, 0) GPIO_ACTIVE_HIGH>;
 		regulator-always-on;
 	};
+
+	/* 32.768kHz crystal */
+	x2: x2-clock {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <32768>;
+	};
 };
 
 &adc {
@@ -148,6 +155,17 @@ &gpu {
 	mali-supply = <&reg_1p1v>;
 };
 
+&i2c3 {
+	raa215300: pmic@12 {
+		compatible = "renesas,raa215300";
+		reg = <0x12>, <0x6f>;
+		reg-names = "main", "rtc";
+
+		clocks = <&x2>;
+		clock-names = "xin";
+	};
+};
+
 &ostm1 {
 	status = "okay";
 };
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema
  2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
  2023-06-02 14:24 ` [PATCH v6 02/11] regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings Biju Das
  2023-06-02 14:24 ` [PATCH v6 04/11] arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC Biju Das
@ 2023-06-02 14:24 ` Biju Das
  2023-06-09  6:42   ` Biju Das
  2023-06-09  7:48   ` Trent Piepho
  2023-06-02 14:24 ` [PATCH v6 06/11] dt-bindings: rtc: isil,isl1208: Document clock and clock-names properties Biju Das
                   ` (2 subsequent siblings)
  5 siblings, 2 replies; 14+ messages in thread
From: Biju Das @ 2023-06-02 14:24 UTC (permalink / raw)
  To: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Trent Piepho, linux-rtc, devicetree, Geert Uytterhoeven,
	Fabrizio Castro, linux-renesas-soc, Krzysztof Kozlowski

Convert the isl1208 RTC device tree binding documentation to json-schema.

Update the example to match reality.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
v5->v6:
 * No change
v4_new->v5:
 * No change.
v4->v4_new:
 * Moved this patch to PMIC series
 * Added minItems to interrupt-names.
 * Added interrupt-names in conditional schema check.
v3->v4:
 * Added Rb tag from Krzysztof Kozlowski.
 * Dropped | from description 
 * Replaced the pin name #EVDET->EVDET in description.
 * Dropped oneOf from compatible.
v2->v3:
 * Updated interrupt-names property by keeping the list of names.
 * Removed Interrupts from required property as it may not be wired.
 * Removed isil,ev-evienb from required property.
RFC->v2:
 * Updated maintainers list
 * Updated description from original bindings
 * removed default from isil,ev-evienb properties to match with the original
   bindings.
 * Added conditional check for interrupts.
---
 .../devicetree/bindings/rtc/isil,isl1208.txt  | 38 --------
 .../devicetree/bindings/rtc/isil,isl1208.yaml | 89 +++++++++++++++++++
 2 files changed, 89 insertions(+), 38 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.txt
 create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.yaml

diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt b/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
deleted file mode 100644
index 51f003006f04..000000000000
--- a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-Intersil ISL1209/19 I2C RTC/Alarm chip with event in
-
-ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while the
-ISL1208 and ISL1218 do not.  They are all use the same driver with the bindings
-described here, with chip specific properties as noted.
-
-Required properties supported by the device:
- - "compatible": Should be one of the following:
-		- "isil,isl1208"
-		- "isil,isl1209"
-		- "isil,isl1218"
-		- "isil,isl1219"
- - "reg": I2C bus address of the device
-
-Optional properties:
- - "interrupt-names": list which may contains "irq" and "evdet"
-	evdet applies to isl1209 and isl1219 only
- - "interrupts": list of interrupts for "irq" and "evdet"
-	evdet applies to isl1209 and isl1219 only
- - "isil,ev-evienb": Enable or disable internal pull on EVIN pin
-	Applies to isl1209 and isl1219 only
-	Possible values are 0 and 1
-	Value 0 enables internal pull-up on evin pin, 1 disables it.
-	Default will leave the non-volatile configuration of the pullup
-	as is.
-
-Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12 and #EVDET pin
-connected to SoC gpio2 pin 24 and internal pull-up enabled in EVIN pin.
-
-	isl1219: rtc@68 {
-		compatible = "isil,isl1219";
-		reg = <0x68>;
-		interrupt-names = "irq", "evdet";
-		interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
-			<&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
-		isil,ev-evienb = <1>;
-	};
-
diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
new file mode 100644
index 000000000000..565965147ce6
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/isil,isl1208.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Intersil ISL1209/19 I2C RTC/Alarm chip with event in
+
+maintainers:
+  - Biju Das <biju.das.jz@bp.renesas.com>
+  - Trent Piepho <tpiepho@gmail.com>
+
+description:
+  ISL12X9 have additional pins EVIN and EVDET for tamper detection, while the
+  ISL1208 and ISL1218 do not.
+
+properties:
+  compatible:
+    enum:
+      - isil,isl1208
+      - isil,isl1209
+      - isil,isl1218
+      - isil,isl1219
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    minItems: 1
+    maxItems: 2
+
+  interrupt-names:
+    minItems: 1
+    items:
+      - const: irq
+      - const: evdet
+
+  isil,ev-evienb:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [ 0, 1 ]
+    description: |
+      Enable or disable internal pull on EVIN pin
+      Default will leave the non-volatile configuration of the pullup
+      as is.
+        <0> : Enables internal pull-up on evin pin
+        <1> : Disables internal pull-up on evin pin
+
+required:
+  - compatible
+  - reg
+
+allOf:
+  - $ref: rtc.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - isil,isl1209
+              - isil,isl1219
+    then:
+      properties:
+        interrupts:
+          maxItems: 2
+        interrupt-names:
+          items:
+            - const: irq
+            - const: evdet
+    else:
+      properties:
+        interrupts:
+          maxItems: 1
+        interrupt-names:
+          items:
+            - const: irq
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        rtc_twi: rtc@6f {
+            compatible = "isil,isl1208";
+            reg = <0x6f>;
+        };
+    };
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v6 06/11] dt-bindings: rtc: isil,isl1208: Document clock and clock-names properties
  2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
                   ` (2 preceding siblings ...)
  2023-06-02 14:24 ` [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema Biju Das
@ 2023-06-02 14:24 ` Biju Das
  2023-06-05 13:04 ` [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Alexandre Belloni
  2023-06-05 13:10 ` Mark Brown
  5 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2023-06-02 14:24 UTC (permalink / raw)
  To: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Biju Das, Trent Piepho, linux-rtc, devicetree, Geert Uytterhoeven,
	Fabrizio Castro, linux-renesas-soc, Conor Dooley

As per the HW manual, XTOSCB bit setting is as follows

If using an external clock signal, set the XTOSCB bit as 1 to
disable the crystal oscillator.

If using an external crystal, the XTOSCB bit needs to be set at 0
to enable the crystal oscillator.

Document clock and clock-names properties.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v5->v6:
 * Added Rb tag from Geert.
v4->v5:
 * Replaced oneOf->enum for clock-names as it is simpler.
 * Added Rb tag from Conor.
v4:
 * New patch
---
 .../devicetree/bindings/rtc/isil,isl1208.yaml         | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
index 565965147ce6..11f7378d4997 100644
--- a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
+++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
@@ -25,6 +25,17 @@ properties:
   reg:
     maxItems: 1
 
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    description: |
+      Use xin, if connected to an external crystal.
+      Use clkin, if connected to an external clock signal.
+    enum:
+      - xin
+      - clkin
+
   interrupts:
     minItems: 1
     maxItems: 2
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support
  2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
                   ` (3 preceding siblings ...)
  2023-06-02 14:24 ` [PATCH v6 06/11] dt-bindings: rtc: isil,isl1208: Document clock and clock-names properties Biju Das
@ 2023-06-05 13:04 ` Alexandre Belloni
  2023-06-05 13:09   ` Biju Das
  2023-06-05 13:10 ` Mark Brown
  5 siblings, 1 reply; 14+ messages in thread
From: Alexandre Belloni @ 2023-06-05 13:04 UTC (permalink / raw)
  To: Biju Das
  Cc: Wolfram Sang, Alessandro Zummo, Rob Herring, Krzysztof Kozlowski,
	Liam Girdwood, Mark Brown, Geert Uytterhoeven, Magnus Damm,
	devicetree, linux-rtc, linux-kernel, linux-renesas-soc,
	Fabrizio Castro

Hello,

On 02/06/2023 15:24:15+0100, Biju Das wrote:
> Logs:
> [   15.447305] rtc-isl1208 3-006f: registered as rtc0
> [   15.479493] rtc-isl1208 3-006f: setting system clock to 2023-04-27T19:31:02 UTC (1682623862)
> 
> root@smarc-rzv2l:~# hwclock -r
> 2023-04-27 19:33:05.499001+00:00
> root@smarc-rzv2l:~# hwclock -r
> 2023-04-27 19:33:06.936688+00:00
> root@smarc-rzv2l:~#

You should probably run rtc-test if you want to ensure it is working
properly.

What is the expectation, can I apply the rtc patches once they are ready
or are there dependencies?

> 
> Biju Das (11):
>   i2c: Enhance i2c_new_ancillary_device API
>   regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings
>   regulator: Add Renesas PMIC RAA215300 driver
>   arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC
>   dt-bindings: rtc: isl1208: Convert to json-schema
>   dt-bindings: rtc: isil,isl1208: Document clock and clock-names
>     properties
>   rtc: isl1208: Drop name variable
>   rtc: isl1208: Make similar I2C and DT-based matching table
>   rtc: isl1208: Drop enum isl1208_id and split isl1208_configs[]
>   rtc: isl1208: Add isl1208_set_xtoscb()
>   rtc: isl1208: Add support for the built-in RTC on the PMIC RAA215300
> 
>  .../bindings/regulator/renesas,raa215300.yaml |  85 ++++++++++
>  .../devicetree/bindings/rtc/isil,isl1208.txt  |  38 -----
>  .../devicetree/bindings/rtc/isil,isl1208.yaml | 100 ++++++++++++
>  .../boot/dts/renesas/rzg2l-smarc-som.dtsi     |  18 +++
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |   6 +-
>  drivers/i2c/i2c-core-base.c                   |  91 +++++++----
>  drivers/media/i2c/adv748x/adv748x-core.c      |   2 +-
>  drivers/media/i2c/adv7604.c                   |   3 +-
>  drivers/regulator/Kconfig                     |   7 +
>  drivers/regulator/Makefile                    |   1 +
>  drivers/regulator/raa215300.c                 |  92 +++++++++++
>  drivers/rtc/rtc-isl1208.c                     | 150 ++++++++++++++----
>  include/linux/i2c.h                           |   3 +-
>  13 files changed, 490 insertions(+), 106 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml
>  delete mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.txt
>  create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
>  create mode 100644 drivers/regulator/raa215300.c
> 
> -- 
> 2.25.1
> 

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support
  2023-06-05 13:04 ` [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Alexandre Belloni
@ 2023-06-05 13:09   ` Biju Das
  0 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2023-06-05 13:09 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Wolfram Sang, Alessandro Zummo, Rob Herring, Krzysztof Kozlowski,
	Liam Girdwood, Mark Brown, Geert Uytterhoeven, Magnus Damm,
	devicetree@vger.kernel.org, linux-rtc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Fabrizio Castro

Hi Alexandre Belloni,

Thanks for the feedback.

> Subject: Re: [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in
> RTC support
> 
> Hello,
> 
> On 02/06/2023 15:24:15+0100, Biju Das wrote:
> > Logs:
> > [   15.447305] rtc-isl1208 3-006f: registered as rtc0
> > [   15.479493] rtc-isl1208 3-006f: setting system clock to 2023-04-
> 27T19:31:02 UTC (1682623862)
> >
> > root@smarc-rzv2l:~# hwclock -r
> > 2023-04-27 19:33:05.499001+00:00
> > root@smarc-rzv2l:~# hwclock -r
> > 2023-04-27 19:33:06.936688+00:00
> > root@smarc-rzv2l:~#
> 
> You should probably run rtc-test if you want to ensure it is working
> properly.

OK.
> 
> What is the expectation, can I apply the rtc patches once they are ready
> or are there dependencies?

Yes please once it is ready, as there is no build dependencies.

Cheers,
Biju

> 
> >
> > Biju Das (11):
> >   i2c: Enhance i2c_new_ancillary_device API
> >   regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings
> >   regulator: Add Renesas PMIC RAA215300 driver
> >   arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC
> >   dt-bindings: rtc: isl1208: Convert to json-schema
> >   dt-bindings: rtc: isil,isl1208: Document clock and clock-names
> >     properties
> >   rtc: isl1208: Drop name variable
> >   rtc: isl1208: Make similar I2C and DT-based matching table
> >   rtc: isl1208: Drop enum isl1208_id and split isl1208_configs[]
> >   rtc: isl1208: Add isl1208_set_xtoscb()
> >   rtc: isl1208: Add support for the built-in RTC on the PMIC RAA215300
> >
> >  .../bindings/regulator/renesas,raa215300.yaml |  85 ++++++++++
> > .../devicetree/bindings/rtc/isil,isl1208.txt  |  38 -----
> > .../devicetree/bindings/rtc/isil,isl1208.yaml | 100 ++++++++++++
> >  .../boot/dts/renesas/rzg2l-smarc-som.dtsi     |  18 +++
> >  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c  |   6 +-
> >  drivers/i2c/i2c-core-base.c                   |  91 +++++++----
> >  drivers/media/i2c/adv748x/adv748x-core.c      |   2 +-
> >  drivers/media/i2c/adv7604.c                   |   3 +-
> >  drivers/regulator/Kconfig                     |   7 +
> >  drivers/regulator/Makefile                    |   1 +
> >  drivers/regulator/raa215300.c                 |  92 +++++++++++
> >  drivers/rtc/rtc-isl1208.c                     | 150 ++++++++++++++---
> -
> >  include/linux/i2c.h                           |   3 +-
> >  13 files changed, 490 insertions(+), 106 deletions(-)  create mode
> > 100644
> > Documentation/devicetree/bindings/regulator/renesas,raa215300.yaml
> >  delete mode 100644
> > Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> >  create mode 100644
> > Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> >  create mode 100644 drivers/regulator/raa215300.c
> >
> > --
> > 2.25.1
> >
> 
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbootli
> n.com%2F&data=05%7C01%7Cbiju.das.jz%40bp.renesas.com%7C9d246dbc501d49a6c
> 47608db65c56c20%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C63821567083
> 2856847%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB
> TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hBni%2BGZSj221vD45CuMEd
> oxS3MDoA%2FfB1ERpMlFbYuE%3D&reserved=0

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support
  2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
                   ` (4 preceding siblings ...)
  2023-06-05 13:04 ` [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Alexandre Belloni
@ 2023-06-05 13:10 ` Mark Brown
  2023-06-05 13:27   ` Biju Das
  5 siblings, 1 reply; 14+ messages in thread
From: Mark Brown @ 2023-06-05 13:10 UTC (permalink / raw)
  To: Biju Das
  Cc: Wolfram Sang, Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Liam Girdwood, Geert Uytterhoeven,
	Magnus Damm, devicetree, linux-rtc, linux-kernel,
	linux-renesas-soc, Fabrizio Castro

[-- Attachment #1: Type: text/plain, Size: 255 bytes --]

On Fri, Jun 02, 2023 at 03:24:15PM +0100, Biju Das wrote:

> Biju Das (11):
>   i2c: Enhance i2c_new_ancillary_device API

I assume there's some dependency from this patch in the others but
you've not copied me on it so I can't tell what the status is...

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support
  2023-06-05 13:10 ` Mark Brown
@ 2023-06-05 13:27   ` Biju Das
  0 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2023-06-05 13:27 UTC (permalink / raw)
  To: Mark Brown
  Cc: Wolfram Sang, Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Liam Girdwood, Geert Uytterhoeven,
	Magnus Damm, devicetree@vger.kernel.org,
	linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org, Fabrizio Castro

Hi Mark Brown,

> Subject: Re: [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in
> RTC support
> 
> On Fri, Jun 02, 2023 at 03:24:15PM +0100, Biju Das wrote:
> 
> > Biju Das (11):
> >   i2c: Enhance i2c_new_ancillary_device API
> 
> I assume there's some dependency from this patch in the others but
> you've not copied me on it so I can't tell what the status is...

I will make sure you are in copy next time. Some how missed, sorry for that

The PMIC driver has build dependency on the i2c patch. The PMIC driver
instantiates i2c client(RTC driver)

But RTC driver does not have build dependency rather it has functional
dependency for PMIC rev a0 chips as the oscillator bit is inverted 

please see [1], [2] and [3]

[1] and [2] has build dependency

Between [2] and [3], RTC has functional dependency for PMIC version 0x11 as
     oscillator bit is inverted

[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230602142426.438375-2-biju.das.jz@bp.renesas.com/

[2] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230602142426.438375-4-biju.das.jz@bp.renesas.com/

[3] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230602142426.438375-12-biju.das.jz@bp.renesas.com/

Cheers,
Biju



^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema
  2023-06-02 14:24 ` [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema Biju Das
@ 2023-06-09  6:42   ` Biju Das
  2023-06-09 13:48     ` Alexandre Belloni
  2023-06-09  7:48   ` Trent Piepho
  1 sibling, 1 reply; 14+ messages in thread
From: Biju Das @ 2023-06-09  6:42 UTC (permalink / raw)
  To: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Trent Piepho, linux-rtc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Fabrizio Castro,
	linux-renesas-soc@vger.kernel.org, Krzysztof Kozlowski,
	Mark Brown, Laurent Pinchart, Wolfram Sang

Hi Alexandre Belloni,

Is it ok, if I send isl1208 driver enhancement patches patch#5 to patch#10,
as it has no dependencies?

Patch#11 will send later based on the discussion [1]

[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230602142426.438375-2-biju.das.jz@bp.renesas.com/

Cheers,
Biju

> -----Original Message-----
> From: Biju Das <biju.das.jz@bp.renesas.com>
> Sent: Friday, June 2, 2023 3:24 PM
> To: Alessandro Zummo <a.zummo@towertech.it>; Alexandre Belloni
> <alexandre.belloni@bootlin.com>; Rob Herring <robh+dt@kernel.org>;
> Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
> <conor+dt@kernel.org>
> Cc: Biju Das <biju.das.jz@bp.renesas.com>; Trent Piepho
> <tpiepho@gmail.com>; linux-rtc@vger.kernel.org;
> devicetree@vger.kernel.org; Geert Uytterhoeven <geert+renesas@glider.be>;
> Fabrizio Castro <fabrizio.castro.jz@renesas.com>; linux-renesas-
> soc@vger.kernel.org; Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Subject: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-
> schema
> 
> Convert the isl1208 RTC device tree binding documentation to json-schema.
> 
> Update the example to match reality.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> v5->v6:
>  * No change
> v4_new->v5:
>  * No change.
> v4->v4_new:
>  * Moved this patch to PMIC series
>  * Added minItems to interrupt-names.
>  * Added interrupt-names in conditional schema check.
> v3->v4:
>  * Added Rb tag from Krzysztof Kozlowski.
>  * Dropped | from description
>  * Replaced the pin name #EVDET->EVDET in description.
>  * Dropped oneOf from compatible.
> v2->v3:
>  * Updated interrupt-names property by keeping the list of names.
>  * Removed Interrupts from required property as it may not be wired.
>  * Removed isil,ev-evienb from required property.
> RFC->v2:
>  * Updated maintainers list
>  * Updated description from original bindings
>  * removed default from isil,ev-evienb properties to match with the
> original
>    bindings.
>  * Added conditional check for interrupts.
> ---
>  .../devicetree/bindings/rtc/isil,isl1208.txt  | 38 --------
> .../devicetree/bindings/rtc/isil,isl1208.yaml | 89 +++++++++++++++++++
>  2 files changed, 89 insertions(+), 38 deletions(-)  delete mode 100644
> Documentation/devicetree/bindings/rtc/isil,isl1208.txt
>  create mode 100644
> Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> 
> diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> b/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> deleted file mode 100644
> index 51f003006f04..000000000000
> --- a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -Intersil ISL1209/19 I2C RTC/Alarm chip with event in
> -
> -ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while
> the
> -ISL1208 and ISL1218 do not.  They are all use the same driver with the
> bindings -described here, with chip specific properties as noted.
> -
> -Required properties supported by the device:
> - - "compatible": Should be one of the following:
> -		- "isil,isl1208"
> -		- "isil,isl1209"
> -		- "isil,isl1218"
> -		- "isil,isl1219"
> - - "reg": I2C bus address of the device
> -
> -Optional properties:
> - - "interrupt-names": list which may contains "irq" and "evdet"
> -	evdet applies to isl1209 and isl1219 only
> - - "interrupts": list of interrupts for "irq" and "evdet"
> -	evdet applies to isl1209 and isl1219 only
> - - "isil,ev-evienb": Enable or disable internal pull on EVIN pin
> -	Applies to isl1209 and isl1219 only
> -	Possible values are 0 and 1
> -	Value 0 enables internal pull-up on evin pin, 1 disables it.
> -	Default will leave the non-volatile configuration of the pullup
> -	as is.
> -
> -Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12 and
> #EVDET pin -connected to SoC gpio2 pin 24 and internal pull-up enabled in
> EVIN pin.
> -
> -	isl1219: rtc@68 {
> -		compatible = "isil,isl1219";
> -		reg = <0x68>;
> -		interrupt-names = "irq", "evdet";
> -		interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
> -			<&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
> -		isil,ev-evienb = <1>;
> -	};
> -
> diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> new file mode 100644
> index 000000000000..565965147ce6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> @@ -0,0 +1,89 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> +---
> +$id:
> +https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevice
> +tree.org%2Fschemas%2Frtc%2Fisil%2Cisl1208.yaml%23&data=05%7C01%7Cbiju.d
> +as.jz%40bp.renesas.com%7C6425b765422a4c478a9b08db63752444%7C53d82571da1
> +947e49cb4625a166a4a2a%7C0%7C0%7C638213126986073790%7CUnknown%7CTWFpbGZs
> +b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> +7C3000%7C%7C%7C&sdata=MWVlU9PbKqZwsoKfLM595a%2BM8kNNScTer6VApvxwlPY%3D&
> +reserved=0
> +$schema:
> +https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevice
> +tree.org%2Fmeta-schemas%2Fcore.yaml%23&data=05%7C01%7Cbiju.das.jz%40bp.
> +renesas.com%7C6425b765422a4c478a9b08db63752444%7C53d82571da1947e49cb462
> +5a166a4a2a%7C0%7C0%7C638213126986073790%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> +iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7
> +C%7C&sdata=xq1qpnrXLjjAr06kMBWUSRqJcY5leluI3JR%2BPZ%2FoU%2F8%3D&reserve
> +d=0
> +
> +title: Intersil ISL1209/19 I2C RTC/Alarm chip with event in
> +
> +maintainers:
> +  - Biju Das <biju.das.jz@bp.renesas.com>
> +  - Trent Piepho <tpiepho@gmail.com>
> +
> +description:
> +  ISL12X9 have additional pins EVIN and EVDET for tamper detection,
> +while the
> +  ISL1208 and ISL1218 do not.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - isil,isl1208
> +      - isil,isl1209
> +      - isil,isl1218
> +      - isil,isl1219
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 2
> +
> +  interrupt-names:
> +    minItems: 1
> +    items:
> +      - const: irq
> +      - const: evdet
> +
> +  isil,ev-evienb:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [ 0, 1 ]
> +    description: |
> +      Enable or disable internal pull on EVIN pin
> +      Default will leave the non-volatile configuration of the pullup
> +      as is.
> +        <0> : Enables internal pull-up on evin pin
> +        <1> : Disables internal pull-up on evin pin
> +
> +required:
> +  - compatible
> +  - reg
> +
> +allOf:
> +  - $ref: rtc.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - isil,isl1209
> +              - isil,isl1219
> +    then:
> +      properties:
> +        interrupts:
> +          maxItems: 2
> +        interrupt-names:
> +          items:
> +            - const: irq
> +            - const: evdet
> +    else:
> +      properties:
> +        interrupts:
> +          maxItems: 1
> +        interrupt-names:
> +          items:
> +            - const: irq
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        rtc_twi: rtc@6f {
> +            compatible = "isil,isl1208";
> +            reg = <0x6f>;
> +        };
> +    };
> --
> 2.25.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema
  2023-06-02 14:24 ` [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema Biju Das
  2023-06-09  6:42   ` Biju Das
@ 2023-06-09  7:48   ` Trent Piepho
  2023-06-09  7:58     ` Biju Das
  1 sibling, 1 reply; 14+ messages in thread
From: Trent Piepho @ 2023-06-09  7:48 UTC (permalink / raw)
  To: Biju Das
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-rtc, devicetree,
	Geert Uytterhoeven, Fabrizio Castro, linux-renesas-soc,
	Krzysztof Kozlowski

On Fri, Jun 2, 2023 at 7:24 AM Biju Das <biju.das.jz@bp.renesas.com> wrote:
>
> Convert the isl1208 RTC device tree binding documentation to json-schema.
>
> Update the example to match reality.

I still don't know why you say this and changed the example to be as
simple as possible.

Did you test it and does it not work with the actual driver?  I looked
at the code for parsing OF interrupts and it does not look like
anything has changed to make it not work.  Nor do I see anything
incorrect in the original example.  Can you explain what you think is
wrong with the original example?

> +
> +        rtc_twi: rtc@6f {
> +            compatible = "isil,isl1208";
> +            reg = <0x6f>;
> +        };
> +    };
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema
  2023-06-09  7:48   ` Trent Piepho
@ 2023-06-09  7:58     ` Biju Das
  0 siblings, 0 replies; 14+ messages in thread
From: Biju Das @ 2023-06-09  7:58 UTC (permalink / raw)
  To: Trent Piepho
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-rtc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Fabrizio Castro,
	linux-renesas-soc@vger.kernel.org, Krzysztof Kozlowski


Hi Trent Piepho,

Thanks for the feedback.

> Subject: Re: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-
> schema
> 
> On Fri, Jun 2, 2023 at 7:24 AM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> >
> > Convert the isl1208 RTC device tree binding documentation to json-
> schema.
> >
> > Update the example to match reality.
> 
> I still don't know why you say this and changed the example to be as
> simple as possible.
> 
> Did you test it and does it not work with the actual driver?  I looked at
> the code for parsing OF interrupts and it does not look like anything has
> changed to make it not work.  Nor do I see anything incorrect in the
> original example.  Can you explain what you think is wrong with the
> original example?

There is nothing wrong with example. The only reason is there is no dts in mainline
matching with example.

If I am correct, example should match with reality. If it is not the case, I am happy to
update the example.

I have seen people(including me) sending patches to update example with reality.

Note:
Can you please confirm rtctest[1] is passing with interrupts in your environment?

In my board interrupt is not populated. So it is good to know RTC test which involves
IRQ is passing in your environment.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/tools/testing/selftests/rtc/rtctest.c?h=next-20230609

Cheers,
Biju

> 
> > +
> > +        rtc_twi: rtc@6f {
> > +            compatible = "isil,isl1208";
> > +            reg = <0x6f>;
> > +        };
> > +    };
> > --
> > 2.25.1
> >

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema
  2023-06-09  6:42   ` Biju Das
@ 2023-06-09 13:48     ` Alexandre Belloni
  2023-06-09 14:03       ` Conor Dooley
  0 siblings, 1 reply; 14+ messages in thread
From: Alexandre Belloni @ 2023-06-09 13:48 UTC (permalink / raw)
  To: Biju Das
  Cc: Alessandro Zummo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Trent Piepho, linux-rtc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Fabrizio Castro,
	linux-renesas-soc@vger.kernel.org, Krzysztof Kozlowski,
	Mark Brown, Laurent Pinchart, Wolfram Sang

Hello,

On 09/06/2023 06:42:59+0000, Biju Das wrote:
> Hi Alexandre Belloni,
> 
> Is it ok, if I send isl1208 driver enhancement patches patch#5 to patch#10,
> as it has no dependencies?
> 

I was still waiting on a review from the DT maintainers on 6/11 to apply
the series.

> Patch#11 will send later based on the discussion [1]
> 
> [1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20230602142426.438375-2-biju.das.jz@bp.renesas.com/
> 
> Cheers,
> Biju
> 
> > -----Original Message-----
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> > Sent: Friday, June 2, 2023 3:24 PM
> > To: Alessandro Zummo <a.zummo@towertech.it>; Alexandre Belloni
> > <alexandre.belloni@bootlin.com>; Rob Herring <robh+dt@kernel.org>;
> > Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
> > <conor+dt@kernel.org>
> > Cc: Biju Das <biju.das.jz@bp.renesas.com>; Trent Piepho
> > <tpiepho@gmail.com>; linux-rtc@vger.kernel.org;
> > devicetree@vger.kernel.org; Geert Uytterhoeven <geert+renesas@glider.be>;
> > Fabrizio Castro <fabrizio.castro.jz@renesas.com>; linux-renesas-
> > soc@vger.kernel.org; Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Subject: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-
> > schema
> > 
> > Convert the isl1208 RTC device tree binding documentation to json-schema.
> > 
> > Update the example to match reality.
> > 
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > ---
> > v5->v6:
> >  * No change
> > v4_new->v5:
> >  * No change.
> > v4->v4_new:
> >  * Moved this patch to PMIC series
> >  * Added minItems to interrupt-names.
> >  * Added interrupt-names in conditional schema check.
> > v3->v4:
> >  * Added Rb tag from Krzysztof Kozlowski.
> >  * Dropped | from description
> >  * Replaced the pin name #EVDET->EVDET in description.
> >  * Dropped oneOf from compatible.
> > v2->v3:
> >  * Updated interrupt-names property by keeping the list of names.
> >  * Removed Interrupts from required property as it may not be wired.
> >  * Removed isil,ev-evienb from required property.
> > RFC->v2:
> >  * Updated maintainers list
> >  * Updated description from original bindings
> >  * removed default from isil,ev-evienb properties to match with the
> > original
> >    bindings.
> >  * Added conditional check for interrupts.
> > ---
> >  .../devicetree/bindings/rtc/isil,isl1208.txt  | 38 --------
> > .../devicetree/bindings/rtc/isil,isl1208.yaml | 89 +++++++++++++++++++
> >  2 files changed, 89 insertions(+), 38 deletions(-)  delete mode 100644
> > Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> >  create mode 100644
> > Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> > b/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> > deleted file mode 100644
> > index 51f003006f04..000000000000
> > --- a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt
> > +++ /dev/null
> > @@ -1,38 +0,0 @@
> > -Intersil ISL1209/19 I2C RTC/Alarm chip with event in
> > -
> > -ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while
> > the
> > -ISL1208 and ISL1218 do not.  They are all use the same driver with the
> > bindings -described here, with chip specific properties as noted.
> > -
> > -Required properties supported by the device:
> > - - "compatible": Should be one of the following:
> > -		- "isil,isl1208"
> > -		- "isil,isl1209"
> > -		- "isil,isl1218"
> > -		- "isil,isl1219"
> > - - "reg": I2C bus address of the device
> > -
> > -Optional properties:
> > - - "interrupt-names": list which may contains "irq" and "evdet"
> > -	evdet applies to isl1209 and isl1219 only
> > - - "interrupts": list of interrupts for "irq" and "evdet"
> > -	evdet applies to isl1209 and isl1219 only
> > - - "isil,ev-evienb": Enable or disable internal pull on EVIN pin
> > -	Applies to isl1209 and isl1219 only
> > -	Possible values are 0 and 1
> > -	Value 0 enables internal pull-up on evin pin, 1 disables it.
> > -	Default will leave the non-volatile configuration of the pullup
> > -	as is.
> > -
> > -Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12 and
> > #EVDET pin -connected to SoC gpio2 pin 24 and internal pull-up enabled in
> > EVIN pin.
> > -
> > -	isl1219: rtc@68 {
> > -		compatible = "isil,isl1219";
> > -		reg = <0x68>;
> > -		interrupt-names = "irq", "evdet";
> > -		interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
> > -			<&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
> > -		isil,ev-evienb = <1>;
> > -	};
> > -
> > diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> > b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> > new file mode 100644
> > index 000000000000..565965147ce6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml
> > @@ -0,0 +1,89 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> > +https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevice
> > +tree.org%2Fschemas%2Frtc%2Fisil%2Cisl1208.yaml%23&data=05%7C01%7Cbiju.d
> > +as.jz%40bp.renesas.com%7C6425b765422a4c478a9b08db63752444%7C53d82571da1
> > +947e49cb4625a166a4a2a%7C0%7C0%7C638213126986073790%7CUnknown%7CTWFpbGZs
> > +b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > +7C3000%7C%7C%7C&sdata=MWVlU9PbKqZwsoKfLM595a%2BM8kNNScTer6VApvxwlPY%3D&
> > +reserved=0
> > +$schema:
> > +https://jpn01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevice
> > +tree.org%2Fmeta-schemas%2Fcore.yaml%23&data=05%7C01%7Cbiju.das.jz%40bp.
> > +renesas.com%7C6425b765422a4c478a9b08db63752444%7C53d82571da1947e49cb462
> > +5a166a4a2a%7C0%7C0%7C638213126986073790%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> > +iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7
> > +C%7C&sdata=xq1qpnrXLjjAr06kMBWUSRqJcY5leluI3JR%2BPZ%2FoU%2F8%3D&reserve
> > +d=0
> > +
> > +title: Intersil ISL1209/19 I2C RTC/Alarm chip with event in
> > +
> > +maintainers:
> > +  - Biju Das <biju.das.jz@bp.renesas.com>
> > +  - Trent Piepho <tpiepho@gmail.com>
> > +
> > +description:
> > +  ISL12X9 have additional pins EVIN and EVDET for tamper detection,
> > +while the
> > +  ISL1208 and ISL1218 do not.
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - isil,isl1208
> > +      - isil,isl1209
> > +      - isil,isl1218
> > +      - isil,isl1219
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    minItems: 1
> > +    maxItems: 2
> > +
> > +  interrupt-names:
> > +    minItems: 1
> > +    items:
> > +      - const: irq
> > +      - const: evdet
> > +
> > +  isil,ev-evienb:
> > +    $ref: /schemas/types.yaml#/definitions/uint32
> > +    enum: [ 0, 1 ]
> > +    description: |
> > +      Enable or disable internal pull on EVIN pin
> > +      Default will leave the non-volatile configuration of the pullup
> > +      as is.
> > +        <0> : Enables internal pull-up on evin pin
> > +        <1> : Disables internal pull-up on evin pin
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +allOf:
> > +  - $ref: rtc.yaml#
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - isil,isl1209
> > +              - isil,isl1219
> > +    then:
> > +      properties:
> > +        interrupts:
> > +          maxItems: 2
> > +        interrupt-names:
> > +          items:
> > +            - const: irq
> > +            - const: evdet
> > +    else:
> > +      properties:
> > +        interrupts:
> > +          maxItems: 1
> > +        interrupt-names:
> > +          items:
> > +            - const: irq
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > +  - |
> > +    i2c {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        rtc_twi: rtc@6f {
> > +            compatible = "isil,isl1208";
> > +            reg = <0x6f>;
> > +        };
> > +    };
> > --
> > 2.25.1
> 

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema
  2023-06-09 13:48     ` Alexandre Belloni
@ 2023-06-09 14:03       ` Conor Dooley
  0 siblings, 0 replies; 14+ messages in thread
From: Conor Dooley @ 2023-06-09 14:03 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Biju Das, Alessandro Zummo, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Trent Piepho, linux-rtc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Fabrizio Castro,
	linux-renesas-soc@vger.kernel.org, Krzysztof Kozlowski,
	Mark Brown, Laurent Pinchart, Wolfram Sang

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

On Fri, Jun 09, 2023 at 03:48:31PM +0200, Alexandre Belloni wrote:
> Hello,
> 
> On 09/06/2023 06:42:59+0000, Biju Das wrote:
> > Hi Alexandre Belloni,
> > 
> > Is it ok, if I send isl1208 driver enhancement patches patch#5 to patch#10,
> > as it has no dependencies?
> > 
> 
> I was still waiting on a review from the DT maintainers on 6/11 to apply
> the series.

It should have one, no? Although I am new as of -rc1 and the information
is unlikely to have propagated far maintainers wise.
https://www.kernel.org/doc/html/latest/process/maintainers.html#open-firmware-and-flattened-device-tree-bindings

Cheers,
Conor.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-06-09 14:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-02 14:24 [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Biju Das
2023-06-02 14:24 ` [PATCH v6 02/11] regulator: dt-bindings: Add Renesas RAA215300 PMIC bindings Biju Das
2023-06-02 14:24 ` [PATCH v6 04/11] arm64: dts: renesas: rzg2l-smarc-som: Enable PMIC and built-in RTC Biju Das
2023-06-02 14:24 ` [PATCH v6 05/11] dt-bindings: rtc: isl1208: Convert to json-schema Biju Das
2023-06-09  6:42   ` Biju Das
2023-06-09 13:48     ` Alexandre Belloni
2023-06-09 14:03       ` Conor Dooley
2023-06-09  7:48   ` Trent Piepho
2023-06-09  7:58     ` Biju Das
2023-06-02 14:24 ` [PATCH v6 06/11] dt-bindings: rtc: isil,isl1208: Document clock and clock-names properties Biju Das
2023-06-05 13:04 ` [PATCH v6 00/11] Add Renesas PMIC RAA215300 and built-in RTC support Alexandre Belloni
2023-06-05 13:09   ` Biju Das
2023-06-05 13:10 ` Mark Brown
2023-06-05 13:27   ` Biju Das

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox