linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3 0/2] dt-bindings: opp/cpufreq: Convert ti-cpufreq to json schema
@ 2023-08-09  2:30 Nishanth Menon
  2023-08-09  2:30 ` [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply " Nishanth Menon
  2023-08-09  2:30 ` [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq " Nishanth Menon
  0 siblings, 2 replies; 7+ messages in thread
From: Nishanth Menon @ 2023-08-09  2:30 UTC (permalink / raw)
  To: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar
  Cc: Tony Lindgren, Benoît Cousson, Rafael J. Wysocki,
	Vibhore Vardhan, Dhruva Gole, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel, Nishanth Menon

Hi,

Convert the long pending free-form text bindings of ti-cpufreq and
omap5-opp-supply bindings to json-schema.

Changes from V2:
* Fixed up minor typo in commit message, picked up Dhruva's review

V2: https://lore.kernel.org/all/20230801233341.1416552-1-nm@ti.com/
V1: https://lore.kernel.org/all/20230724153911.1376830-1-nm@ti.com/


Nishanth Menon (2):
  dt-bindings: opp: Convert ti-omap5-opp-supply to json schema
  dt-bindings: cpufreq: Convert ti-cpufreq to json schema

 .../bindings/cpufreq/ti-cpufreq.txt           | 132 ------------------
 .../opp/operating-points-v2-ti-cpu.yaml       |  88 ++++++++++++
 .../bindings/opp/ti,omap-opp-supply.yaml      | 103 ++++++++++++++
 .../bindings/opp/ti-omap5-opp-supply.txt      |  63 ---------
 4 files changed, 191 insertions(+), 195 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
 create mode 100644 Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml
 create mode 100644 Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
 delete mode 100644 Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt

-- 
2.40.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply to json schema
  2023-08-09  2:30 [PATCH V3 0/2] dt-bindings: opp/cpufreq: Convert ti-cpufreq to json schema Nishanth Menon
@ 2023-08-09  2:30 ` Nishanth Menon
  2023-08-09  4:48   ` Dhruva Gole
  2023-08-09  2:30 ` [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq " Nishanth Menon
  1 sibling, 1 reply; 7+ messages in thread
From: Nishanth Menon @ 2023-08-09  2:30 UTC (permalink / raw)
  To: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar
  Cc: Tony Lindgren, Benoît Cousson, Rafael J. Wysocki,
	Vibhore Vardhan, Dhruva Gole, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel, Nishanth Menon

Rename ti-omap5-opp-supply to be bit more generic omap-opp-supply and
convert the free text binding to json-schema.

Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V2:
- None.

V2: https://lore.kernel.org/r/20230801233341.1416552-2-nm@ti.com
V1: https://lore.kernel.org/all/20230724153911.1376830-5-nm@ti.com/
 .../bindings/opp/ti,omap-opp-supply.yaml      | 103 ++++++++++++++++++
 .../bindings/opp/ti-omap5-opp-supply.txt      |  63 -----------
 2 files changed, 103 insertions(+), 63 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
 delete mode 100644 Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt

diff --git a/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml b/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
new file mode 100644
index 000000000000..4db80e418829
--- /dev/null
+++ b/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
@@ -0,0 +1,103 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/opp/ti,omap-opp-supply.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments OMAP compatible OPP supply
+
+description:
+  OMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which
+  contain data that can be used to adjust voltages programmed for some of their
+  supplies for more efficient operation. This binding provides the information
+  needed to read these values and use them to program the main regulator during
+  an OPP transitions.
+
+  Also, some supplies may have an associated vbb-supply which is an Adaptive Body
+  Bias regulator which much be transitioned in a specific sequence with regards
+  to the vdd-supply and clk when making an OPP transition. By supplying two
+  regulators to the device that will undergo OPP transitions we can make use
+  of the multi regulator binding that is part of the OPP core described
+  to describe both regulators needed by the platform.
+
+maintainers:
+  - Nishanth Menon <nm@ti.com>
+
+properties:
+  $nodename:
+    pattern: '^opp-supply(@[0-9a-f]+)?$'
+
+  compatible:
+    oneOf:
+      - description: Basic OPP supply controlling VDD and VBB
+        items:
+          - const: ti,omap-opp-supply
+      - description: OMAP5+ optimized voltages in efuse(Class 0) VDD along with
+          VBB.
+        items:
+          - const: ti,omap5-opp-supply
+      - description: OMAP5+ optimized voltages in efuse(class0) VDD but no VBB
+        items:
+          - const: ti,omap5-core-opp-supply
+
+  reg:
+    maxItems: 1
+
+  ti,absolute-max-voltage-uv:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: Absolute maximum voltage for the OPP supply in micro-volts.
+    minimum: 750000
+    maximum: 1500000
+
+  ti,efuse-settings:
+    description: An array of u32 tuple items providing information about
+      optimized efuse configuration.
+    minItems: 1
+    $ref: /schemas/types.yaml#/definitions/uint32-matrix
+    items:
+      items:
+        -
+          description: Reference voltage in micro-volts (OPP Voltage)
+          minimum: 750000
+          maximum: 1500000
+          multipleOf: 10000
+        -
+          description: efuse offset where the optimized voltage is located
+          multipleOf: 4
+          maximum: 256
+
+required:
+  - compatible
+  - ti,absolute-max-voltage-uv
+
+allOf:
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              const: ti,omap-opp-supply
+    then:
+      required:
+        - reg
+        - ti,efuse-settings
+
+additionalProperties: false
+
+examples:
+  - |
+    opp-supply {
+        compatible = "ti,omap-opp-supply";
+        ti,absolute-max-voltage-uv = <1375000>;
+    };
+  - |
+    opp-supply@4a003b20 {
+        compatible = "ti,omap5-opp-supply";
+        reg = <0x4a003b20 0x8>;
+        ti,efuse-settings =
+            /* uV   offset */
+            <1060000 0x0>,
+            <1160000 0x4>,
+            <1210000 0x8>;
+        ti,absolute-max-voltage-uv = <1500000>;
+    };
diff --git a/Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt b/Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt
deleted file mode 100644
index b70d326117cd..000000000000
--- a/Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-Texas Instruments OMAP compatible OPP supply description
-
-OMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which
-contain data that can be used to adjust voltages programmed for some of their
-supplies for more efficient operation. This binding provides the information
-needed to read these values and use them to program the main regulator during
-an OPP transitions.
-
-Also, some supplies may have an associated vbb-supply which is an Adaptive Body
-Bias regulator which much be transitioned in a specific sequence with regards
-to the vdd-supply and clk when making an OPP transition. By supplying two
-regulators to the device that will undergo OPP transitions we can make use
-of the multi regulator binding that is part of the OPP core described here [1]
-to describe both regulators needed by the platform.
-
-[1] Documentation/devicetree/bindings/opp/opp-v2.yaml
-
-Required Properties for Device Node:
-- vdd-supply: phandle to regulator controlling VDD supply
-- vbb-supply: phandle to regulator controlling Body Bias supply
-	      (Usually Adaptive Body Bias regulator)
-
-Required Properties for opp-supply node:
-- compatible: Should be one of:
-	"ti,omap-opp-supply" - basic OPP supply controlling VDD and VBB
-	"ti,omap5-opp-supply" - OMAP5+ optimized voltages in efuse(class0)VDD
-			    along with VBB
-	"ti,omap5-core-opp-supply" - OMAP5+ optimized voltages in efuse(class0) VDD
-			    but no VBB.
-- reg: Address and length of the efuse register set for the device (mandatory
-	only for "ti,omap5-opp-supply")
-- ti,efuse-settings: An array of u32 tuple items providing information about
-	optimized efuse configuration. Each item consists of the following:
-	volt: voltage in uV - reference voltage (OPP voltage)
-	efuse_offseet: efuse offset from reg where the optimized voltage is stored.
-- ti,absolute-max-voltage-uv: absolute maximum voltage for the OPP supply.
-
-Example:
-
-/* Device Node (CPU)  */
-cpus {
-	cpu0: cpu@0 {
-		device_type = "cpu";
-
-		...
-
-		vdd-supply = <&vcc>;
-		vbb-supply = <&abb_mpu>;
-	};
-};
-
-/* OMAP OPP Supply with Class0 registers */
-opp_supply_mpu: opp_supply@4a003b20 {
-	compatible = "ti,omap5-opp-supply";
-	reg = <0x4a003b20 0x8>;
-	ti,efuse-settings = <
-	/* uV   offset */
-	1060000 0x0
-	1160000 0x4
-	1210000 0x8
-	>;
-	ti,absolute-max-voltage-uv = <1500000>;
-};
-- 
2.40.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq to json schema
  2023-08-09  2:30 [PATCH V3 0/2] dt-bindings: opp/cpufreq: Convert ti-cpufreq to json schema Nishanth Menon
  2023-08-09  2:30 ` [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply " Nishanth Menon
@ 2023-08-09  2:30 ` Nishanth Menon
  2023-08-09  4:30   ` Dhruva Gole
  1 sibling, 1 reply; 7+ messages in thread
From: Nishanth Menon @ 2023-08-09  2:30 UTC (permalink / raw)
  To: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar
  Cc: Tony Lindgren, Benoît Cousson, Rafael J. Wysocki,
	Vibhore Vardhan, Dhruva Gole, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel, Nishanth Menon

Move the ti-cpufreq binding over to opp and convert the free text
binding to json-schema.

Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes since V2:
* Just fixup for commit message and picked up Reviewed-by from Dhruva.

V2: https://lore.kernel.org/r/20230801233341.1416552-3-nm@ti.com
V1: https://lore.kernel.org/all/20230724153911.1376830-6-nm@ti.com/

Side note: Cleanups in dt is picked up on Tony's tree:
https://lore.kernel.org/all/20230731062551.GH5194@atomide.com/

 .../bindings/cpufreq/ti-cpufreq.txt           | 132 ------------------
 .../opp/operating-points-v2-ti-cpu.yaml       |  88 ++++++++++++
 2 files changed, 88 insertions(+), 132 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
 create mode 100644 Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml

diff --git a/Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt b/Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
deleted file mode 100644
index 1758051798fe..000000000000
--- a/Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
+++ /dev/null
@@ -1,132 +0,0 @@
-TI CPUFreq and OPP bindings
-================================
-
-Certain TI SoCs, like those in the am335x, am437x, am57xx, and dra7xx
-families support different OPPs depending on the silicon variant in use.
-The ti-cpufreq driver can use revision and an efuse value from the SoC to
-provide the OPP framework with supported hardware information. This is
-used to determine which OPPs from the operating-points-v2 table get enabled
-when it is parsed by the OPP framework.
-
-Required properties:
---------------------
-In 'cpus' nodes:
-- operating-points-v2: Phandle to the operating-points-v2 table to use.
-
-In 'operating-points-v2' table:
-- compatible: Should be
-	- 'operating-points-v2-ti-cpu' for am335x, am43xx, and dra7xx/am57xx,
-	  omap34xx, omap36xx and am3517 SoCs
-- syscon: A phandle pointing to a syscon node representing the control module
-	  register space of the SoC.
-
-Optional properties:
---------------------
-- "vdd-supply", "vbb-supply": to define two regulators for dra7xx
-- "cpu0-supply", "vbb-supply": to define two regulators for omap36xx
-
-For each opp entry in 'operating-points-v2' table:
-- opp-supported-hw: Two bitfields indicating:
-	1. Which revision of the SoC the OPP is supported by
-	2. Which eFuse bits indicate this OPP is available
-
-	A bitwise AND is performed against these values and if any bit
-	matches, the OPP gets enabled.
-
-Example:
---------
-
-/* From arch/arm/boot/dts/am33xx.dtsi */
-cpus {
-	#address-cells = <1>;
-	#size-cells = <0>;
-	cpu@0 {
-		compatible = "arm,cortex-a8";
-		device_type = "cpu";
-		reg = <0>;
-
-		operating-points-v2 = <&cpu0_opp_table>;
-
-		clocks = <&dpll_mpu_ck>;
-		clock-names = "cpu";
-
-		clock-latency = <300000>; /* From omap-cpufreq driver */
-	};
-};
-
-/*
- * cpu0 has different OPPs depending on SoC revision and some on revisions
- * 0x2 and 0x4 have eFuse bits that indicate if they are available or not
- */
-cpu0_opp_table: opp-table {
-	compatible = "operating-points-v2-ti-cpu";
-	syscon = <&scm_conf>;
-
-	/*
-	 * The three following nodes are marked with opp-suspend
-	 * because they can not be enabled simultaneously on a
-	 * single SoC.
-	 */
-	opp50-300000000 {
-		opp-hz = /bits/ 64 <300000000>;
-		opp-microvolt = <950000 931000 969000>;
-		opp-supported-hw = <0x06 0x0010>;
-		opp-suspend;
-	};
-
-	opp100-275000000 {
-		opp-hz = /bits/ 64 <275000000>;
-		opp-microvolt = <1100000 1078000 1122000>;
-		opp-supported-hw = <0x01 0x00FF>;
-		opp-suspend;
-	};
-
-	opp100-300000000 {
-		opp-hz = /bits/ 64 <300000000>;
-		opp-microvolt = <1100000 1078000 1122000>;
-		opp-supported-hw = <0x06 0x0020>;
-		opp-suspend;
-	};
-
-	opp100-500000000 {
-		opp-hz = /bits/ 64 <500000000>;
-		opp-microvolt = <1100000 1078000 1122000>;
-		opp-supported-hw = <0x01 0xFFFF>;
-	};
-
-	opp100-600000000 {
-		opp-hz = /bits/ 64 <600000000>;
-		opp-microvolt = <1100000 1078000 1122000>;
-		opp-supported-hw = <0x06 0x0040>;
-	};
-
-	opp120-600000000 {
-		opp-hz = /bits/ 64 <600000000>;
-		opp-microvolt = <1200000 1176000 1224000>;
-		opp-supported-hw = <0x01 0xFFFF>;
-	};
-
-	opp120-720000000 {
-		opp-hz = /bits/ 64 <720000000>;
-		opp-microvolt = <1200000 1176000 1224000>;
-		opp-supported-hw = <0x06 0x0080>;
-	};
-
-	oppturbo-720000000 {
-		opp-hz = /bits/ 64 <720000000>;
-		opp-microvolt = <1260000 1234800 1285200>;
-		opp-supported-hw = <0x01 0xFFFF>;
-	};
-
-	oppturbo-800000000 {
-		opp-hz = /bits/ 64 <800000000>;
-		opp-microvolt = <1260000 1234800 1285200>;
-		opp-supported-hw = <0x06 0x0100>;
-	};
-
-	oppnitro-1000000000 {
-		opp-hz = /bits/ 64 <1000000000>;
-		opp-microvolt = <1325000 1298500 1351500>;
-		opp-supported-hw = <0x04 0x0200>;
-	};
-};
diff --git a/Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml b/Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml
new file mode 100644
index 000000000000..ada57bfc1da9
--- /dev/null
+++ b/Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/opp/operating-points-v2-ti-cpu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI CPU OPP (Operating Performance Points)
+
+description:
+  Certain TI SoCs, like those in the am335x, am437x, am57xx, am62x and dra7xx
+  families support different OPPs depending on the silicon variant in use.
+  The ti-cpufreq driver can use revision and an efuse value from the SoC to
+  provide the OPP framework with supported hardware information. This is
+  used to determine which OPPs from the operating-points-v2 table get enabled
+  when it is parsed by the OPP framework.
+
+maintainers:
+  - Nishanth Menon <nm@ti.com>
+
+allOf:
+  - $ref: opp-v2-base.yaml#
+
+properties:
+  compatible:
+    const: operating-points-v2-ti-cpu
+
+  syscon:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: |
+      points to syscon node representing the control module
+      register space of the SoC.
+
+  opp-shared: true
+
+patternProperties:
+  '^opp(-?[0-9]+)*$':
+    type: object
+    additionalProperties: false
+
+    properties:
+      clock-latency-ns: true
+      opp-hz: true
+      opp-microvolt: true
+      opp-supported-hw: true
+      opp-suspend: true
+      turbo-mode: true
+
+    required:
+      - opp-hz
+      - opp-supported-hw
+
+required:
+  - compatible
+  - syscon
+
+additionalProperties: false
+
+examples:
+  - |
+    opp-table {
+        compatible = "operating-points-v2-ti-cpu";
+        syscon = <&scm_conf>;
+
+        opp-300000000 {
+            opp-hz = /bits/ 64 <300000000>;
+            opp-microvolt = <1100000 1078000 1122000>;
+            opp-supported-hw = <0x06 0x0020>;
+            opp-suspend;
+        };
+
+        opp-500000000 {
+            opp-hz = /bits/ 64 <500000000>;
+            opp-microvolt = <1100000 1078000 1122000>;
+            opp-supported-hw = <0x01 0xFFFF>;
+        };
+
+        opp-600000000 {
+            opp-hz = /bits/ 64 <600000000>;
+            opp-microvolt = <1100000 1078000 1122000>;
+            opp-supported-hw = <0x06 0x0040>;
+        };
+
+        opp-1000000000 {
+            opp-hz = /bits/ 64 <1000000000>;
+            opp-microvolt = <1325000 1298500 1351500>;
+            opp-supported-hw = <0x04 0x0200>;
+        };
+    };
-- 
2.40.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq to json schema
  2023-08-09  2:30 ` [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq " Nishanth Menon
@ 2023-08-09  4:30   ` Dhruva Gole
  2023-08-09 11:25     ` Nishanth Menon
  0 siblings, 1 reply; 7+ messages in thread
From: Dhruva Gole @ 2023-08-09  4:30 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar, Tony Lindgren, Benoît Cousson,
	Rafael J. Wysocki, Vibhore Vardhan, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel

On Aug 08, 2023 at 21:30:45 -0500, Nishanth Menon wrote:
> Move the ti-cpufreq binding over to opp and convert the free text
> binding to json-schema.
> 
> Reviewed-by: Dhruva Gole <d-gole@ti.com>
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> Changes since V2:
> * Just fixup for commit message and picked up Reviewed-by from Dhruva.
> 
> V2: https://lore.kernel.org/r/20230801233341.1416552-3-nm@ti.com
> V1: https://lore.kernel.org/all/20230724153911.1376830-6-nm@ti.com/
> 
> Side note: Cleanups in dt is picked up on Tony's tree:
> https://lore.kernel.org/all/20230731062551.GH5194@atomide.com/
> 
>  .../bindings/cpufreq/ti-cpufreq.txt           | 132 ------------------
>  .../opp/operating-points-v2-ti-cpu.yaml       |  88 ++++++++++++
>  2 files changed, 88 insertions(+), 132 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
>  create mode 100644 Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml
> 
[...]
> new file mode 100644
> index 000000000000..ada57bfc1da9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml
> @@ -0,0 +1,88 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/opp/operating-points-v2-ti-cpu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI CPU OPP (Operating Performance Points)
> +
> +description:
> +  Certain TI SoCs, like those in the am335x, am437x, am57xx, am62x and dra7xx
> +  families support different OPPs depending on the silicon variant in use.
> +  The ti-cpufreq driver can use revision and an efuse value from the SoC to

Just learned about this yesterday, hence missed it in my earlier review.
Looks like the kernel docs [0] say that we DON'T refer to Linux or
"device driver" in bindings.

Bindings should be based on what the hardware has, not what an OS and
driver currently support.

> +  provide the OPP framework with supported hardware information. This is
> +  used to determine which OPPs from the operating-points-v2 table get enabled
> +  when it is parsed by the OPP framework.
> +
[...]

[0] https://docs.kernel.org/devicetree/bindings/writing-bindings.html

-- 
Best regards,
Dhruva Gole <d-gole@ti.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply to json schema
  2023-08-09  2:30 ` [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply " Nishanth Menon
@ 2023-08-09  4:48   ` Dhruva Gole
  2023-08-09 11:40     ` Nishanth Menon
  0 siblings, 1 reply; 7+ messages in thread
From: Dhruva Gole @ 2023-08-09  4:48 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar, Tony Lindgren, Benoît Cousson,
	Rafael J. Wysocki, Vibhore Vardhan, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel

On Aug 08, 2023 at 21:30:44 -0500, Nishanth Menon wrote:
> Rename ti-omap5-opp-supply to be bit more generic omap-opp-supply and
> convert the free text binding to json-schema.
> 
> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> Changes since V2:
> - None.
> 
> V2: https://lore.kernel.org/r/20230801233341.1416552-2-nm@ti.com
> V1: https://lore.kernel.org/all/20230724153911.1376830-5-nm@ti.com/
>  .../bindings/opp/ti,omap-opp-supply.yaml      | 103 ++++++++++++++++++
>  .../bindings/opp/ti-omap5-opp-supply.txt      |  63 -----------
>  2 files changed, 103 insertions(+), 63 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
>  delete mode 100644 Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt
> 
> diff --git a/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml b/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
> new file mode 100644
> index 000000000000..4db80e418829
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
> @@ -0,0 +1,103 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/opp/ti,omap-opp-supply.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments OMAP compatible OPP supply
> +
> +description:
> +  OMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which
> +  contain data that can be used to adjust voltages programmed for some of their
> +  supplies for more efficient operation. This binding provides the information
> +  needed to read these values and use them to program the main regulator during
> +  an OPP transitions.
> +
> +  Also, some supplies may have an associated vbb-supply which is an Adaptive Body
> +  Bias regulator which much be transitioned in a specific sequence with regards

s/much/must ?

> +  to the vdd-supply and clk when making an OPP transition. By supplying two
> +  regulators to the device that will undergo OPP transitions we can make use
> +  of the multi regulator binding that is part of the OPP core described

Existing txt seems to have:

 part of the OPP core described here [1]

Why get rid of the reference "[1]" here?

Going through Documentation/devicetree/bindings/opp/opp-v2.yaml didn't
tell me much about this multi regulator binding, I only see 1 example.

Please can you explain a bit more or make this line more clear?

> +  to describe both regulators needed by the platform.
> +
> +maintainers:
> +  - Nishanth Menon <nm@ti.com>
> +
> +properties:
> +  $nodename:
> +    pattern: '^opp-supply(@[0-9a-f]+)?$'
[...]

-- 
Best regards,
Dhruva Gole <d-gole@ti.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq to json schema
  2023-08-09  4:30   ` Dhruva Gole
@ 2023-08-09 11:25     ` Nishanth Menon
  0 siblings, 0 replies; 7+ messages in thread
From: Nishanth Menon @ 2023-08-09 11:25 UTC (permalink / raw)
  To: Dhruva Gole
  Cc: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar, Tony Lindgren, Benoît Cousson,
	Rafael J. Wysocki, Vibhore Vardhan, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel

On 10:00-20230809, Dhruva Gole wrote:
[..]

> > +description:
> > +  Certain TI SoCs, like those in the am335x, am437x, am57xx, am62x and dra7xx
> > +  families support different OPPs depending on the silicon variant in use.
> > +  The ti-cpufreq driver can use revision and an efuse value from the SoC to
> 
> Just learned about this yesterday, hence missed it in my earlier review.
> Looks like the kernel docs [0] say that we DON'T refer to Linux or
> "device driver" in bindings.
> 
> Bindings should be based on what the hardware has, not what an OS and
> driver currently support.

Thanks for catching this. will fix in the next rev.
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply to json schema
  2023-08-09  4:48   ` Dhruva Gole
@ 2023-08-09 11:40     ` Nishanth Menon
  0 siblings, 0 replies; 7+ messages in thread
From: Nishanth Menon @ 2023-08-09 11:40 UTC (permalink / raw)
  To: Dhruva Gole
  Cc: Rob Herring, Stephen Boyd, Conor Dooley, Krzysztof Kozlowski,
	Viresh Kumar, Tony Lindgren, Benoît Cousson,
	Rafael J. Wysocki, Vibhore Vardhan, linux-omap, linux-kernel,
	devicetree, linux-pm, linux-arm-kernel

On 10:18-20230809, Dhruva Gole wrote:
> On Aug 08, 2023 at 21:30:44 -0500, Nishanth Menon wrote:
> > Rename ti-omap5-opp-supply to be bit more generic omap-opp-supply and
> > convert the free text binding to json-schema.
> > 
> > Signed-off-by: Nishanth Menon <nm@ti.com>
> > ---
> > Changes since V2:
> > - None.
> > 
> > V2: https://lore.kernel.org/r/20230801233341.1416552-2-nm@ti.com
> > V1: https://lore.kernel.org/all/20230724153911.1376830-5-nm@ti.com/
> >  .../bindings/opp/ti,omap-opp-supply.yaml      | 103 ++++++++++++++++++
> >  .../bindings/opp/ti-omap5-opp-supply.txt      |  63 -----------
> >  2 files changed, 103 insertions(+), 63 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/opp/ti-omap5-opp-supply.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml b/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
> > new file mode 100644
> > index 000000000000..4db80e418829
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
> > @@ -0,0 +1,103 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/opp/ti,omap-opp-supply.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Texas Instruments OMAP compatible OPP supply
> > +
> > +description:
> > +  OMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which
> > +  contain data that can be used to adjust voltages programmed for some of their
> > +  supplies for more efficient operation. This binding provides the information
> > +  needed to read these values and use them to program the main regulator during
> > +  an OPP transitions.
> > +
> > +  Also, some supplies may have an associated vbb-supply which is an Adaptive Body
> > +  Bias regulator which much be transitioned in a specific sequence with regards
> 
> s/much/must ?

Thanks.
> 
> > +  to the vdd-supply and clk when making an OPP transition. By supplying two
> > +  regulators to the device that will undergo OPP transitions we can make use
> > +  of the multi regulator binding that is part of the OPP core described
> 
> Existing txt seems to have:
> 
>  part of the OPP core described here [1]
> 
> Why get rid of the reference "[1]" here?
> 
> Going through Documentation/devicetree/bindings/opp/opp-v2.yaml didn't
> tell me much about this multi regulator binding, I only see 1 example.
> 
> Please can you explain a bit more or make this line more clear?

Example 4 in the referenced binding does explain that - consumer
examples that are already documented does'nt make sense to be replicated
here. I will add a reference to opp-v2.yaml binding along with a pointer
to example 4.

> 
> > +  to describe both regulators needed by the platform.
> > +
> > +maintainers:
> > +  - Nishanth Menon <nm@ti.com>
> > +
> > +properties:
> > +  $nodename:
> > +    pattern: '^opp-supply(@[0-9a-f]+)?$'
> [...]
> 

Thanks for the detailed review. Will repost a new rev in a few days if
there are no further review comments.


-- 

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-08-09 11:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-09  2:30 [PATCH V3 0/2] dt-bindings: opp/cpufreq: Convert ti-cpufreq to json schema Nishanth Menon
2023-08-09  2:30 ` [PATCH V3 1/2] dt-bindings: opp: Convert ti-omap5-opp-supply " Nishanth Menon
2023-08-09  4:48   ` Dhruva Gole
2023-08-09 11:40     ` Nishanth Menon
2023-08-09  2:30 ` [PATCH V3 2/2] dt-bindings: cpufreq: Convert ti-cpufreq " Nishanth Menon
2023-08-09  4:30   ` Dhruva Gole
2023-08-09 11:25     ` Nishanth Menon

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).