2022-10-06 10:05:31

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 0/6] arm: qcom: mdm9615: second round of bindings and DT fixes

This is a second round of bindings & DT fixes for the MDM9615 platform.

This second round focuses on less trivial changes like pinctrl & regulators bindings,
the remaining work will mainly be fixing the qcom,kpss-timer/qcom,msm-timer situation and
add bindings for qcom,lcc-mdm9615, qcom,kpss-gcc & swir,mangoh-iotport-spi.

Dependencies:
- patch 1-2, 4-6: None
- patch 3: bindings dependency on [email protected]

To: Bjorn Andersson <[email protected]>
To: Andy Gross <[email protected]>
To: Konrad Dybcio <[email protected]>
To: Linus Walleij <[email protected]>
To: Rob Herring <[email protected]>
To: Krzysztof Kozlowski <[email protected]>
To: Lee Jones <[email protected]>
To: Liam Girdwood <[email protected]>
To: Mark Brown <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Neil Armstrong <[email protected]>

---
Neil Armstrong (6):
dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema
arm: dts: qcom: mdm9615: fix pinctrl subnodes
arm: dts: qcom: mdm9615: wp8548-mangoh-green: fix sx150xq node names and probe-reset property
dt-bindings: soc: qcom: convert non-smd RPM bindings to dt-schema
dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema
dt-bindings: soc: qcom: ipc-rpm: refer to qcom,ipc-rpm-regulator.yaml

Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 283 ---------------------
.../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ------------
.../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 ++++++++
.../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++
.../devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 73 ++++++
.../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts | 20 +-
arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi | 22 +-
7 files changed, 322 insertions(+), 465 deletions(-)
---
base-commit: 6b8b72b0cdd146fe66c6009d86a1784eb24ec798
change-id: 20221005-mdm9615-pinctrl-yaml-13f5c18a4d3a

Best regards,
--
Neil Armstrong <[email protected]>


2022-10-06 10:05:35

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 6/6] dt-bindings: soc: qcom: ipc-rpm: refer to qcom,ipc-rpm-regulator.yaml

Now we have bindings for the expected regulators subnode, refer
to the right qcom,ipc-rpm-regulator.yaml bindings.

Signed-off-by: Neil Armstrong <[email protected]>
---
Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
index d416950189d1..d18200d5c5b5 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
@@ -47,7 +47,7 @@ properties:

regulators:
type: object
- $ref: /schemas/regulator/regulator.yaml#
+ $ref: /schemas/regulator/qcom,ipc-rpm-regulator.yaml#

required:
- compatible

--
b4 0.10.1

2022-10-06 10:05:57

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

Convert the MDM9515 pinctrl bindings to dt-schema.

Signed-off-by: Neil Armstrong <[email protected]>
---
.../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
.../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
2 files changed, 101 insertions(+), 161 deletions(-)

diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.txt
deleted file mode 100644
index d46973968873..000000000000
--- a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.txt
+++ /dev/null
@@ -1,161 +0,0 @@
-Qualcomm MDM9615 TLMM block
-
-This binding describes the Top Level Mode Multiplexer block found in the
-MDM9615 platform.
-
-- compatible:
- Usage: required
- Value type: <string>
- Definition: must be "qcom,mdm9615-pinctrl"
-
-- reg:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: the base address and size of the TLMM register space.
-
-- interrupts:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: should specify the TLMM summary IRQ.
-
-- interrupt-controller:
- Usage: required
- Value type: <none>
- Definition: identifies this node as an interrupt controller
-
-- #interrupt-cells:
- Usage: required
- Value type: <u32>
- Definition: must be 2. Specifying the pin number and flags, as defined
- in <dt-bindings/interrupt-controller/irq.h>
-
-- gpio-controller:
- Usage: required
- Value type: <none>
- Definition: identifies this node as a gpio controller
-
-- #gpio-cells:
- Usage: required
- Value type: <u32>
- Definition: must be 2. Specifying the pin number and flags, as defined
- in <dt-bindings/gpio/gpio.h>
-
-- gpio-ranges:
- Usage: required
- Definition: see ../gpio/gpio.txt
-
-- gpio-reserved-ranges:
- Usage: optional
- Definition: see ../gpio/gpio.txt
-
-Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
-a general description of GPIO and interrupt bindings.
-
-Please refer to pinctrl-bindings.txt in this directory for details of the
-common pinctrl bindings used by client devices, including the meaning of the
-phrase "pin configuration node".
-
-The pin configuration nodes act as a container for an arbitrary number of
-subnodes. Each of these subnodes represents some desired configuration for a
-pin, a group, or a list of pins or groups. This configuration can include the
-mux function to select on those pin(s)/group(s), and various pin configuration
-parameters, such as pull-up, drive strength, etc.
-
-
-PIN CONFIGURATION NODES:
-
-The name of each subnode is not important; all subnodes should be enumerated
-and processed purely based on their content.
-
-Each subnode only affects those parameters that are explicitly listed. In
-other words, a subnode that lists a mux function but no pin configuration
-parameters implies no information about any pin configuration parameters.
-Similarly, a pin subnode that describes a pullup parameter implies no
-information about e.g. the mux function.
-
-
-The following generic properties as defined in pinctrl-bindings.txt are valid
-to specify in a pin configuration subnode:
-
-- pins:
- Usage: required
- Value type: <string-array>
- Definition: List of gpio pins affected by the properties specified in
- this subnode. Valid pins are:
- gpio0-gpio87
-
-- function:
- Usage: required
- Value type: <string>
- Definition: Specify the alternative function to be configured for the
- specified pins.
- Valid values are:
- gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart,
- sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio,
- cdc_mclk
-
-- bias-disable:
- Usage: optional
- Value type: <none>
- Definition: The specified pins should be configured as no pull.
-
-- bias-pull-down:
- Usage: optional
- Value type: <none>
- Definition: The specified pins should be configured as pull down.
-
-- bias-pull-up:
- Usage: optional
- Value type: <none>
- Definition: The specified pins should be configured as pull up.
-
-- output-high:
- Usage: optional
- Value type: <none>
- Definition: The specified pins are configured in output mode, driven
- high.
-
-- output-low:
- Usage: optional
- Value type: <none>
- Definition: The specified pins are configured in output mode, driven
- low.
-
-- drive-strength:
- Usage: optional
- Value type: <u32>
- Definition: Selects the drive strength for the specified pins, in mA.
- Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
-
-Example:
-
- msmgpio: pinctrl@800000 {
- compatible = "qcom,mdm9615-pinctrl";
- reg = <0x800000 0x4000>;
-
- gpio-controller;
- #gpio-cells = <2>;
- gpio-ranges = <&msmgpio 0 0 88>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts = <0 16 0x4>;
-
- gsbi8_uart: gsbi8-uart {
- mux {
- pins = "gpio34", "gpio35";
- function = "gsbi8";
- };
-
- tx {
- pins = "gpio34";
- drive-strength = <4>;
- bias-disable;
- };
-
- rx {
- pins = "gpio35";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
- };
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
new file mode 100644
index 000000000000..6a5966fc0098
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
@@ -0,0 +1,101 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. MDM9615 TLMM block
+
+maintainers:
+ - Bjorn Andersson <[email protected]>
+
+description: |
+ This binding describes the Top Level Mode Multiplexer block found in the
+ MDM9615 platform.
+
+allOf:
+ - $ref: "pinctrl.yaml#"
+ - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
+
+properties:
+ compatible:
+ const: qcom,mdm9615-pinctrl
+
+ reg:
+ maxItems: 1
+
+ interrupts: true
+ interrupt-controller: true
+ '#interrupt-cells': true
+ gpio-controller: true
+ '#gpio-cells': true
+ gpio-ranges: true
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+patternProperties:
+ '-state$':
+ oneOf:
+ - $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
+ - patternProperties:
+ "-pins$":
+ $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
+
+'$defs':
+ qcom-mdm9615-pinctrl-state:
+ type: object
+ description:
+ Pinctrl node's client devices use subnodes for desired pin configuration.
+ Client device subnodes use below standard properties.
+ $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state"
+
+ properties:
+ pins:
+ description:
+ List of gpio pins affected by the properties specified in this
+ subnode.
+ items:
+ oneOf:
+ - pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$"
+ minItems: 1
+ maxItems: 16
+
+ function:
+ description:
+ Specify the alternative function to be configured for the specified
+ pins.
+
+ enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart,
+ sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ]
+
+ bias-disable: true
+ bias-pull-down: true
+ bias-pull-up: true
+ drive-strength: true
+ output-high: true
+ output-low: true
+ input-enable: true
+
+ required:
+ - pins
+ - function
+
+ additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ tlmm: pinctrl@1000000 {
+ compatible = "qcom,mdm9615-pinctrl";
+ reg = <0x01000000 0x300000>;
+ interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ gpio-ranges = <&msmgpio 0 0 88>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };

--
b4 0.10.1

2022-10-06 10:06:04

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 5/6] dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema

Convert the non-SMD Regulators bindings to dt-schema and remove the
old text based bindings now we have migrated all the content.

Signed-off-by: Neil Armstrong <[email protected]>
---
Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 246 ---------------------
.../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++
2 files changed, 127 insertions(+), 246 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
deleted file mode 100644
index b622359e73c2..000000000000
--- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
+++ /dev/null
@@ -1,246 +0,0 @@
-Qualcomm Resource Power Manager (RPM)
-
-This driver is used to interface with the Resource Power Manager (RPM) found in
-various Qualcomm platforms. The RPM allows each component in the system to vote
-for state of the system resources, such as clocks, regulators and bus
-frequencies.
-
-Please refer to soc/qcom/qcom,ipc-rpm.yaml
-
-= SUBNODES
-
-The RPM exposes resources to its subnodes. The below bindings specify the set
-of valid subnodes that can operate on these resources.
-
-== Regulators
-
-Regulator nodes are identified by their compatible:
-
-- compatible:
- Usage: required
- Value type: <string>
- Definition: must be one of:
- "qcom,rpm-pm8058-regulators"
- "qcom,rpm-pm8901-regulators"
- "qcom,rpm-pm8921-regulators"
- "qcom,rpm-pm8018-regulators"
- "qcom,rpm-smb208-regulators"
-
-- vdd_l0_l1_lvs-supply:
-- vdd_l2_l11_l12-supply:
-- vdd_l3_l4_l5-supply:
-- vdd_l6_l7-supply:
-- vdd_l8-supply:
-- vdd_l9-supply:
-- vdd_l10-supply:
-- vdd_l13_l16-supply:
-- vdd_l14_l15-supply:
-- vdd_l17_l18-supply:
-- vdd_l19_l20-supply:
-- vdd_l21-supply:
-- vdd_l22-supply:
-- vdd_l23_l24_l25-supply:
-- vdd_ncp-supply:
-- vdd_s0-supply:
-- vdd_s1-supply:
-- vdd_s2-supply:
-- vdd_s3-supply:
-- vdd_s4-supply:
- Usage: optional (pm8058 only)
- Value type: <phandle>
- Definition: reference to regulator supplying the input pin, as
- described in the data sheet
-
-- lvs0_in-supply:
-- lvs1_in-supply:
-- lvs2_in-supply:
-- lvs3_in-supply:
-- mvs_in-supply:
-- vdd_l0-supply:
-- vdd_l1-supply:
-- vdd_l2-supply:
-- vdd_l3-supply:
-- vdd_l4-supply:
-- vdd_l5-supply:
-- vdd_l6-supply:
-- vdd_s0-supply:
-- vdd_s1-supply:
-- vdd_s2-supply:
-- vdd_s3-supply:
-- vdd_s4-supply:
- Usage: optional (pm8901 only)
- Value type: <phandle>
- Definition: reference to regulator supplying the input pin, as
- described in the data sheet
-
-- vdd_l1_l2_l12_l18-supply:
-- vdd_l3_l15_l17-supply:
-- vdd_l4_l14-supply:
-- vdd_l5_l8_l16-supply:
-- vdd_l6_l7-supply:
-- vdd_l9_l11-supply:
-- vdd_l10_l22-supply:
-- vdd_l21_l23_l29-supply:
-- vdd_l24-supply:
-- vdd_l25-supply:
-- vdd_l26-supply:
-- vdd_l27-supply:
-- vdd_l28-supply:
-- vdd_ncp-supply:
-- vdd_s1-supply:
-- vdd_s2-supply:
-- vdd_s4-supply:
-- vdd_s5-supply:
-- vdd_s6-supply:
-- vdd_s7-supply:
-- vdd_s8-supply:
-- vin_5vs-supply:
-- vin_lvs1_3_6-supply:
-- vin_lvs2-supply:
-- vin_lvs4_5_7-supply:
- Usage: optional (pm8921 only)
- Value type: <phandle>
- Definition: reference to regulator supplying the input pin, as
- described in the data sheet
-
-- vin_lvs1-supply:
-- vdd_l7-supply:
-- vdd_l8-supply:
-- vdd_l9_l10_l11_l12-supply:
- Usage: optional (pm8018 only)
- Value type: <phandle>
- Definition: reference to regulator supplying the input pin, as
- described in the data sheet
-
-The regulator node houses sub-nodes for each regulator within the device. Each
-sub-node is identified using the node's name, with valid values listed for each
-of the pmics below.
-
-pm8058:
- l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
- l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
- lvs0, lvs1, ncp
-
-pm8901:
- l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
- mvs
-
-pm8921:
- s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
- l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
- l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
- ncp
-
-pm8018:
- s1, s2, s3, s4, s5, , l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
- l12, l14, lvs1
-
-smb208:
- s1a, s1b, s2a, s2b
-
-The content of each sub-node is defined by the standard binding for regulators -
-see regulator.txt - with additional custom properties described below:
-
-=== Switch-mode Power Supply regulator custom properties
-
-- bias-pull-down:
- Usage: optional
- Value type: <empty>
- Definition: enable pull down of the regulator when inactive
-
-- qcom,switch-mode-frequency:
- Usage: required
- Value type: <u32>
- Definition: Frequency (Hz) of the switch-mode power supply;
- must be one of:
- 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
- 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
- 1480000, 1370000, 1280000, 1200000
-
-- qcom,force-mode:
- Usage: optional (default if no other qcom,force-mode is specified)
- Value type: <u32>
- Definition: indicates that the regulator should be forced to a
- particular mode, valid values are:
- QCOM_RPM_FORCE_MODE_NONE - do not force any mode
- QCOM_RPM_FORCE_MODE_LPM - force into low power mode
- QCOM_RPM_FORCE_MODE_HPM - force into high power mode
- QCOM_RPM_FORCE_MODE_AUTO - allow regulator to automatically
- select its own mode based on
- realtime current draw, only for:
- pm8921 smps and ftsmps
-
-- qcom,power-mode-hysteretic:
- Usage: optional
- Value type: <empty>
- Definition: select that the power supply should operate in hysteretic
- mode, instead of the default pwm mode
-
-=== Low-dropout regulator custom properties
-
-- bias-pull-down:
- Usage: optional
- Value type: <empty>
- Definition: enable pull down of the regulator when inactive
-
-- qcom,force-mode:
- Usage: optional
- Value type: <u32>
- Definition: indicates that the regulator should not be forced to any
- particular mode, valid values are:
- QCOM_RPM_FORCE_MODE_NONE - do not force any mode
- QCOM_RPM_FORCE_MODE_LPM - force into low power mode
- QCOM_RPM_FORCE_MODE_HPM - force into high power mode
- QCOM_RPM_FORCE_MODE_BYPASS - set regulator to use bypass
- mode, i.e. to act as a switch
- and not regulate, only for:
- pm8921 pldo, nldo and nldo1200
-
-=== Negative Charge Pump custom properties
-
-- qcom,switch-mode-frequency:
- Usage: required
- Value type: <u32>
- Definition: Frequency (Hz) of the switch mode power supply;
- must be one of:
- 19200000, 9600000, 6400000, 4800000, 3840000, 3200000,
- 2740000, 2400000, 2130000, 1920000, 1750000, 1600000,
- 1480000, 1370000, 1280000, 1200000
-
-= EXAMPLE
-
- #include <dt-bindings/mfd/qcom-rpm.h>
-
- rpm@108000 {
- compatible = "qcom,rpm-msm8960";
- reg = <0x108000 0x1000>;
- qcom,ipc = <&apcs 0x8 2>;
-
- interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
- interrupt-names = "ack", "err", "wakeup";
-
- regulators {
- compatible = "qcom,rpm-pm8921-regulators";
- vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
-
- s1 {
- regulator-min-microvolt = <1225000>;
- regulator-max-microvolt = <1225000>;
-
- bias-pull-down;
-
- qcom,switch-mode-frequency = <3200000>;
- };
-
- pm8921_s4: s4 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
-
- qcom,switch-mode-frequency = <1600000>;
- bias-pull-down;
-
- qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
- };
- };
- };
-
diff --git a/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml
new file mode 100644
index 000000000000..e18bb8b87c43
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml
@@ -0,0 +1,127 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/qcom,ipc-rpm-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: QCOM IPC RPM REGULATOR
+
+description:
+ The Qualcomm RPM over IPC regulator is modelled as a subdevice of the RPM.
+
+ Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
+ for information regarding the RPM node.
+
+ The regulator node houses sub-nodes for each regulator within the device.
+ Each sub-node is identified using the node's name, with valid values listed
+ for each of the pmics below.
+
+ For pm8058 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
+ l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
+ lvs0, lvs1, ncp
+
+ For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
+ mvs
+
+ For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
+ l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
+ l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
+ ncp
+
+ For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
+ l12, l14, lvs1
+
+ For smb208 s1a, s1b, s2a, s2b
+
+maintainers:
+ - Bjorn Andersson <[email protected]>
+
+properties:
+ compatible:
+ enum:
+ - qcom,rpm-pm8058-regulators
+ - qcom,rpm-pm8901-regulators
+ - qcom,rpm-pm8921-regulators
+ - qcom,rpm-pm8018-regulators
+ - qcom,rpm-smb208-regulators
+
+patternProperties:
+ ".*-supply$":
+ description: Input supply phandle(s) for this node
+
+ "^((s|l|lvs)[0-9]*)|(s[1-2][a-b])|(ncp)|(mvs)|(usb-switch)|(hdmi-switch)$":
+ description: List of regulators and its properties
+ $ref: regulator.yaml#
+ properties:
+ bias-pull-down:
+ description: enable pull down of the regulator when inactive
+ type: boolean
+
+ qcom,switch-mode-frequency:
+ description: Frequency (Hz) of the switch-mode power supply
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 19200000
+ - 9600000
+ - 6400000
+ - 4800000
+ - 3840000
+ - 3200000
+ - 2740000
+ - 2400000
+ - 2130000
+ - 1920000
+ - 1750000
+ - 1600000
+ - 1480000
+ - 1370000
+ - 1280000
+ - 1200000
+
+ qcom,force-mode:
+ description: Indicates that the regulator should be forced to a particular mode
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode
+ - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode
+ - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode
+ - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode
+ # based on realtime current draw, only for pm8921 smps and ftsmps
+
+ qcom,power-mode-hysteretic:
+ description: select that the power supply should operate in hysteretic mode,
+ instead of the default pwm mode
+ type: boolean
+
+additionalProperties: false
+
+required:
+ - compatible
+
+examples:
+ - |
+ #include <dt-bindings/mfd/qcom-rpm.h>
+ regulators {
+ compatible = "qcom,rpm-pm8921-regulators";
+ vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
+
+ s1 {
+ regulator-min-microvolt = <1225000>;
+ regulator-max-microvolt = <1225000>;
+
+ bias-pull-down;
+
+ qcom,switch-mode-frequency = <3200000>;
+ };
+
+ pm8921_s4: s4 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ qcom,switch-mode-frequency = <1600000>;
+ bias-pull-down;
+
+ qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
+ };
+ };
+...

--
b4 0.10.1

2022-10-06 10:42:47

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 3/6] arm: dts: qcom: mdm9615: wp8548-mangoh-green: fix sx150xq node names and probe-reset property

Fix the sx150xq node names to pinctrl and use the right probe-reset property.

Signed-off-by: Neil Armstrong <[email protected]>
---
arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
index 30a110984597..a8304769b509 100644
--- a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
+++ b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
@@ -116,7 +116,7 @@ i2c@4 {
#size-cells = <0>;
reg = <4>;

- gpioext0: gpio@3e {
+ gpioext0: pinctrl@3e {
/* GPIO Expander 0 Mapping :
* - 0: ARDUINO_RESET_Level shift
* - 1: BattChrgr_PG_N
@@ -142,7 +142,7 @@ gpioext0: gpio@3e {
interrupt-parent = <&gpioext1>;
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;

- probe-reset;
+ semtech,probe-reset;

gpio-controller;
interrupt-controller;
@@ -154,7 +154,7 @@ i2c@5 {
#size-cells = <0>;
reg = <5>;

- gpioext1: gpio@3f {
+ gpioext1: pinctrl@3f {
/* GPIO Expander 1 Mapping :
* - 0: GPIOEXP_INT1
* - 1: Battery detect
@@ -183,7 +183,7 @@ gpioext1: gpio@3f {
interrupt-parent = <&msmgpio>;
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;

- probe-reset;
+ semtech,probe-reset;

gpio-controller;
interrupt-controller;
@@ -195,7 +195,7 @@ i2c@6 {
#size-cells = <0>;
reg = <6>;

- gpioext2: gpio@70 {
+ gpioext2: pinctrl@70 {
/* GPIO Expander 2 Mapping :
* - 0: USB_HUB_INTn
* - 1: HUB_CONNECT
@@ -221,7 +221,7 @@ gpioext2: gpio@70 {
interrupt-parent = <&gpioext1>;
interrupts = <14 IRQ_TYPE_EDGE_FALLING>;

- probe-reset;
+ semtech,probe-reset;

gpio-controller;
interrupt-controller;

--
b4 0.10.1

2022-10-06 10:45:21

by Neil Armstrong

[permalink] [raw]
Subject: [PATCH 2/6] arm: dts: qcom: mdm9615: fix pinctrl subnodes

Fix the MDM9615 DT to the expected subnodes namings.

Signed-off-by: Neil Armstrong <[email protected]>
---
.../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts | 8 ++++----
arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi | 22 +++++++++++-----------
2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
index 4e53b3d70195..30a110984597 100644
--- a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
+++ b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
@@ -45,8 +45,8 @@ &msmgpio {
* - 42: IOT0_GPIO1 and SD Card Detect
*/

- gpioext1_pins: gpioext1_pins {
- pins {
+ gpioext1_pins: gpioext1-state {
+ gpioext1-pins {
pins = "gpio2";
function = "gpio";
input-enable;
@@ -54,8 +54,8 @@ pins {
};
};

- sdc_cd_pins: sdc_cd_pins {
- pins {
+ sdc_cd_pins: sdc-cd-state {
+ sdc-cd-pins {
pins = "gpio42";
function = "gpio";
drive-strength = <2>;
diff --git a/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi b/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi
index 2fe8693dc3cd..92c8003dac25 100644
--- a/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi
+++ b/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi
@@ -22,8 +22,8 @@ &msmgpio {
pinctrl-0 = <&reset_out_pins>;
pinctrl-names = "default";

- gsbi3_pins: gsbi3_pins {
- mux {
+ gsbi3_pins: gsbi3-state {
+ gsbi3-pins {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "gsbi3";
drive-strength = <8>;
@@ -31,8 +31,8 @@ mux {
};
};

- gsbi4_pins: gsbi4_pins {
- mux {
+ gsbi4_pins: gsbi4-state {
+ gsbi4-pins {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
function = "gsbi4";
drive-strength = <8>;
@@ -40,15 +40,15 @@ mux {
};
};

- gsbi5_i2c_pins: gsbi5_i2c_pins {
- pin16 {
+ gsbi5_i2c_pins: gsbi5-i2c-state {
+ sda-pins {
pins = "gpio16";
function = "gsbi5_i2c";
drive-strength = <8>;
bias-disable;
};

- pin17 {
+ scl-pins {
pins = "gpio17";
function = "gsbi5_i2c";
drive-strength = <2>;
@@ -56,8 +56,8 @@ pin17 {
};
};

- gsbi5_uart_pins: gsbi5_uart_pins {
- mux {
+ gsbi5_uart_pins: gsbi5-uart-state {
+ gsbi5-uart-pins {
pins = "gpio18", "gpio19";
function = "gsbi5_uart";
drive-strength = <8>;
@@ -65,8 +65,8 @@ mux {
};
};

- reset_out_pins: reset_out_pins {
- pins {
+ reset_out_pins: reset-out-state {
+ reset-out-pins {
pins = "gpio66";
function = "gpio";
drive-strength = <2>;

--
b4 0.10.1

2022-10-06 11:20:03

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/6] arm: dts: qcom: mdm9615: fix pinctrl subnodes

On 06/10/2022 11:57, Neil Armstrong wrote:
> Fix the MDM9615 DT to the expected subnodes namings.

Remove "fix" from the commit title and description, because it might
encourage AUTOSEL to pick it up. There was nothing particularly wrong
with DTS, so there is nothing to fix. One way to describe it is aligning
with DT schema.

>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---


Reviewed-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof

2022-10-06 11:42:07

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

On 06/10/2022 11:57, Neil Armstrong wrote:
> Convert the MDM9515 pinctrl bindings to dt-schema.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
> .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
> 2 files changed, 101 insertions(+), 161 deletions(-)
>

Thank you for your patch. There is something to discuss/improve.

> - };
> - };
> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
> new file mode 100644
> index 000000000000..6a5966fc0098
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
> @@ -0,0 +1,101 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Technologies, Inc. MDM9615 TLMM block
> +
> +maintainers:
> + - Bjorn Andersson <[email protected]>
> +
> +description: |

No need for |

> + This binding describes the Top Level Mode Multiplexer block found in the
> + MDM9615 platform.

Instead: "Top Level Mode Multiplexer pin controller node in Qualcomm
MDM9615 SoC."

I see this pattern is coming from other file, so I will fix all of them.

> +
> +allOf:
> + - $ref: "pinctrl.yaml#"

Drop it, it's included from tlmm-common

> + - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
> +
> +properties:
> + compatible:
> + const: qcom,mdm9615-pinctrl
> +
> + reg:
> + maxItems: 1
> +
> + interrupts: true
> + interrupt-controller: true
> + '#interrupt-cells': true
> + gpio-controller: true
> + '#gpio-cells': true
> + gpio-ranges: true
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +patternProperties:
> + '-state$':

Use " as quotes

> + oneOf:
> + - $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
> + - patternProperties:
> + "-pins$":
> + $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
> +
> +'$defs':

No need for quotes

> + qcom-mdm9615-pinctrl-state:
> + type: object
> + description:
> + Pinctrl node's client devices use subnodes for desired pin configuration.
> + Client device subnodes use below standard properties.
> + $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state"

No need for quotes

> +
> + properties:
> + pins:
> + description:
> + List of gpio pins affected by the properties specified in this
> + subnode.
> + items:
> + oneOf:
> + - pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$"

No sd-like functions? If so, then drop oneOf

> + minItems: 1
> + maxItems: 16
> +
> + function:
> + description:
> + Specify the alternative function to be configured for the specified
> + pins.
> +
> + enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart,
> + sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ]
> +
> + bias-disable: true
> + bias-pull-down: true
> + bias-pull-up: true
> + drive-strength: true
> + output-high: true
> + output-low: true
> + input-enable: true
> +
> + required:
> + - pins
> + - function
> +
> + additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + tlmm: pinctrl@1000000 {

Use 4 spaces indentation.

> + compatible = "qcom,mdm9615-pinctrl";
> + reg = <0x01000000 0x300000>;
> + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
> + gpio-controller;
> + gpio-ranges = <&msmgpio 0 0 88>;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;

Add example of -state with and without -pins node.

You dropped it with conversion.


> + };
>

Best regards,
Krzysztof

2022-10-06 12:33:10

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 5/6] dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema

On Thu, 06 Oct 2022 09:58:02 +0000, Neil Armstrong wrote:
> Convert the non-SMD Regulators bindings to dt-schema and remove the
> old text based bindings now we have migrated all the content.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 246 ---------------------
> .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++
> 2 files changed, 127 insertions(+), 246 deletions(-)
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/


pm8058-regulators: vdd_ncp-supply: [[30]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb

pm8901-regulators: lvs0_in-supply: [[8]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb

pm8901-regulators: lvs1_in-supply: [[29]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb

pm8901-regulators: lvs2_in-supply: [[10]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb

pm8901-regulators: lvs3_in-supply: [[31]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb

pm8901-regulators: mvs_in-supply: [[8]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb

regulators: vdd_ncp-supply: [[10]] is not of type 'object'
arch/arm/boot/dts/qcom-msm8960-cdp.dtb

regulators: vdd_ncp-supply: [[50]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb

regulators: vin_ncp-supply: [[48]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb

2022-10-06 12:33:35

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 6/6] dt-bindings: soc: qcom: ipc-rpm: refer to qcom,ipc-rpm-regulator.yaml

On Thu, 06 Oct 2022 09:58:03 +0000, Neil Armstrong wrote:
> Now we have bindings for the expected regulators subnode, refer
> to the right qcom,ipc-rpm-regulator.yaml bindings.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/


rpm@104000: 'clock-controller', 'clock-names', 'clocks', 'pm8058-regulators', 'pm8901-regulators' do not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb
arch/arm/boot/dts/qcom-msm8660-surf.dtb

rpm@108000: 'clock-controller', 'clock-names', 'clocks' do not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm/boot/dts/qcom-ipq8064-ap148.dtb
arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb

rpm@108000: 'clock-controller' does not match any of the regexes: 'pinctrl-[0-9]+'
arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb
arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb
arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb
arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb

rpm@108000: regulators:vdd_ncp-supply: [[10]] is not of type 'object'
arch/arm/boot/dts/qcom-msm8960-cdp.dtb

rpm@108000: regulators:vdd_ncp-supply: [[50]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb

rpm@108000: regulators:vin_ncp-supply: [[48]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb

2022-10-06 13:02:34

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

On Thu, 06 Oct 2022 09:57:58 +0000, Neil Armstrong wrote:
> Convert the MDM9515 pinctrl bindings to dt-schema.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
> .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
> 2 files changed, 101 insertions(+), 161 deletions(-)
>

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/


pinctrl@800000: 'gpioext1_pins', 'gsbi3_pins', 'gsbi4_pins', 'gsbi5_i2c_pins', 'gsbi5_uart_pins', 'reset_out_pins', 'sdc_cd_pins' do not match any of the regexes: '-state$', 'pinctrl-[0-9]+'
arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb

2022-10-06 16:39:30

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

Hi,

On 06/10/2022 13:09, Krzysztof Kozlowski wrote:
> On 06/10/2022 11:57, Neil Armstrong wrote:
>> Convert the MDM9515 pinctrl bindings to dt-schema.
>>
>> Signed-off-by: Neil Armstrong <[email protected]>
>> ---
>> .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
>> .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
>> 2 files changed, 101 insertions(+), 161 deletions(-)
>>
>
> Thank you for your patch. There is something to discuss/improve.
>
>> - };
>> - };
>> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
>> new file mode 100644
>> index 000000000000..6a5966fc0098
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
>> @@ -0,0 +1,101 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Technologies, Inc. MDM9615 TLMM block
>> +
>> +maintainers:
>> + - Bjorn Andersson <[email protected]>
>> +
>> +description: |
>
> No need for |

Ack

>
>> + This binding describes the Top Level Mode Multiplexer block found in the
>> + MDM9615 platform.
>
> Instead: "Top Level Mode Multiplexer pin controller node in Qualcomm
> MDM9615 SoC."
>
> I see this pattern is coming from other file, so I will fix all of them.

Ack, wil use this.

>
>> +
>> +allOf:
>> + - $ref: "pinctrl.yaml#"
>
> Drop it, it's included from tlmm-common

Ack

>
>> + - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: qcom,mdm9615-pinctrl
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts: true
>> + interrupt-controller: true
>> + '#interrupt-cells': true
>> + gpio-controller: true
>> + '#gpio-cells': true
>> + gpio-ranges: true
>> +
>> +required:
>> + - compatible
>> + - reg
>> +
>> +additionalProperties: false
>> +
>> +patternProperties:
>> + '-state$':
>
> Use " as quotes

Ack

>
>> + oneOf:
>> + - $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
>> + - patternProperties:
>> + "-pins$":
>> + $ref: "#/$defs/qcom-mdm9615-pinctrl-state"

Interesting, if I add this subnode (that should be valid):
gsbi3-state {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "gsbi3";
drive-strength = <8>;
bias-disable;
};

then I get the following warning from dt_bindings_check:

Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.example.dtb: pinctrl@1000000: gsbi3-state: More than one condition true in oneOf schema:
{'oneOf': [{'$ref': '#/$defs/qcom-mdm9615-pinctrl-state'},
{'patternProperties': {'-pins$': {'$ref': '#/$defs/qcom-mdm9615-pinctrl-state'},
'pinctrl-[0-9]+': True},
'properties': {'$nodename': True,
'phandle': True,
'pinctrl-names': True,
'secure-status': True,
'status': True}}]}
From schema: /Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml

And I don't understand why, the nodename should not match "-pins$" nor "pinctrl-[0-9]+'...

>> +
>> +'$defs':
>
> No need for quotes
>
>> + qcom-mdm9615-pinctrl-state:
>> + type: object
>> + description:
>> + Pinctrl node's client devices use subnodes for desired pin configuration.
>> + Client device subnodes use below standard properties.
>> + $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state"
>
> No need for quotes

Ack

>
>> +
>> + properties:
>> + pins:
>> + description:
>> + List of gpio pins affected by the properties specified in this
>> + subnode.
>> + items:
>> + oneOf:
>> + - pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$"
>
> No sd-like functions? If so, then drop oneOf

Ack

>
>> + minItems: 1
>> + maxItems: 16
>> +
>> + function:
>> + description:
>> + Specify the alternative function to be configured for the specified
>> + pins.
>> +
>> + enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart,
>> + sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ]
>> +
>> + bias-disable: true
>> + bias-pull-down: true
>> + bias-pull-up: true
>> + drive-strength: true
>> + output-high: true
>> + output-low: true
>> + input-enable: true
>> +
>> + required:
>> + - pins
>> + - function
>> +
>> + additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> + tlmm: pinctrl@1000000 {
>
> Use 4 spaces indentation.
>
>> + compatible = "qcom,mdm9615-pinctrl";
>> + reg = <0x01000000 0x300000>;
>> + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
>> + gpio-controller;
>> + gpio-ranges = <&msmgpio 0 0 88>;
>> + #gpio-cells = <2>;
>> + interrupt-controller;
>> + #interrupt-cells = <2>;
>
> Add example of -state with and without -pins node.
>
> You dropped it with conversion.

Ack, done but I have a weird warning, see upper.

>
>
>> + };
>>
>
> Best regards,
> Krzysztof
>

Thanks,
Neil

2022-10-06 16:42:03

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

On 06/10/2022 14:27, Rob Herring wrote:
> On Thu, 06 Oct 2022 09:57:58 +0000, Neil Armstrong wrote:
>> Convert the MDM9515 pinctrl bindings to dt-schema.
>>
>> Signed-off-by: Neil Armstrong <[email protected]>
>> ---
>> .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
>> .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
>> 2 files changed, 101 insertions(+), 161 deletions(-)
>>
>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://patchwork.ozlabs.org/patch/
>
>
> pinctrl@800000: 'gpioext1_pins', 'gsbi3_pins', 'gsbi4_pins', 'gsbi5_i2c_pins', 'gsbi5_uart_pins', 'reset_out_pins', 'sdc_cd_pins' do not match any of the regexes: '-state$', 'pinctrl-[0-9]+'
> arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb
>

Yes it's fixed in the next patch, should I move the fix before the bindings conversion ?

Neil

2022-10-06 20:05:19

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

On Thu, Oct 06, 2022 at 06:21:28PM +0200, Neil Armstrong wrote:
> On 06/10/2022 14:27, Rob Herring wrote:
> > On Thu, 06 Oct 2022 09:57:58 +0000, Neil Armstrong wrote:
> > > Convert the MDM9515 pinctrl bindings to dt-schema.
> > >
> > > Signed-off-by: Neil Armstrong <[email protected]>
> > > ---
> > > .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
> > > .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
> > > 2 files changed, 101 insertions(+), 161 deletions(-)
> > >
> >
> > Running 'make dtbs_check' with the schema in this patch gives the
> > following warnings. Consider if they are expected or the schema is
> > incorrect. These may not be new warnings.
> >
> > Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> > This will change in the future.
> >
> > Full log is available here: https://patchwork.ozlabs.org/patch/
> >
> >
> > pinctrl@800000: 'gpioext1_pins', 'gsbi3_pins', 'gsbi4_pins', 'gsbi5_i2c_pins', 'gsbi5_uart_pins', 'reset_out_pins', 'sdc_cd_pins' do not match any of the regexes: '-state$', 'pinctrl-[0-9]+'
> > arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb
> >
>
> Yes it's fixed in the next patch, should I move the fix before the bindings conversion ?

No, because I don't apply the dts patches. It's just informational and
ignore if you already took care of it.

Rob

2022-10-06 20:10:19

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 6/6] dt-bindings: soc: qcom: ipc-rpm: refer to qcom,ipc-rpm-regulator.yaml

On Thu, Oct 06, 2022 at 09:58:03AM +0000, Neil Armstrong wrote:
> Now we have bindings for the expected regulators subnode, refer
> to the right qcom,ipc-rpm-regulator.yaml bindings.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
> index d416950189d1..d18200d5c5b5 100644
> --- a/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
> @@ -47,7 +47,7 @@ properties:
>
> regulators:
> type: object
> - $ref: /schemas/regulator/regulator.yaml#
> + $ref: /schemas/regulator/qcom,ipc-rpm-regulator.yaml#

Just reorder your patches.

Rob

2022-10-06 20:19:14

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 5/6] dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema

On Thu, Oct 06, 2022 at 09:58:02AM +0000, Neil Armstrong wrote:
> Convert the non-SMD Regulators bindings to dt-schema and remove the
> old text based bindings now we have migrated all the content.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 246 ---------------------
> .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++
> 2 files changed, 127 insertions(+), 246 deletions(-)

Ah, the 'regulators' node for the parent should reference this schema.

> diff --git a/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml
> new file mode 100644
> index 000000000000..e18bb8b87c43
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml
> @@ -0,0 +1,127 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/qcom,ipc-rpm-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: QCOM IPC RPM REGULATOR
> +
> +description:

'|' if you want to maintain the formatting.

> + The Qualcomm RPM over IPC regulator is modelled as a subdevice of the RPM.
> +
> + Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
> + for information regarding the RPM node.
> +
> + The regulator node houses sub-nodes for each regulator within the device.
> + Each sub-node is identified using the node's name, with valid values listed
> + for each of the pmics below.
> +
> + For pm8058 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
> + l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
> + lvs0, lvs1, ncp
> +
> + For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
> + mvs
> +
> + For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
> + l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
> + l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
> + ncp
> +
> + For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
> + l12, l14, lvs1
> +
> + For smb208 s1a, s1b, s2a, s2b
> +
> +maintainers:
> + - Bjorn Andersson <[email protected]>
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,rpm-pm8058-regulators
> + - qcom,rpm-pm8901-regulators
> + - qcom,rpm-pm8921-regulators
> + - qcom,rpm-pm8018-regulators
> + - qcom,rpm-smb208-regulators
> +
> +patternProperties:
> + ".*-supply$":
> + description: Input supply phandle(s) for this node
> +
> + "^((s|l|lvs)[0-9]*)|(s[1-2][a-b])|(ncp)|(mvs)|(usb-switch)|(hdmi-switch)$":
> + description: List of regulators and its properties
> + $ref: regulator.yaml#

unevaluatedProperties: false

> + properties:
> + bias-pull-down:
> + description: enable pull down of the regulator when inactive
> + type: boolean
> +
> + qcom,switch-mode-frequency:
> + description: Frequency (Hz) of the switch-mode power supply
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 19200000
> + - 9600000
> + - 6400000
> + - 4800000
> + - 3840000
> + - 3200000
> + - 2740000
> + - 2400000
> + - 2130000
> + - 1920000
> + - 1750000
> + - 1600000
> + - 1480000
> + - 1370000
> + - 1280000
> + - 1200000
> +
> + qcom,force-mode:
> + description: Indicates that the regulator should be forced to a particular mode
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode
> + - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode
> + - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode
> + - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode
> + # based on realtime current draw, only for pm8921 smps and ftsmps
> +
> + qcom,power-mode-hysteretic:
> + description: select that the power supply should operate in hysteretic mode,
> + instead of the default pwm mode
> + type: boolean
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> +
> +examples:
> + - |
> + #include <dt-bindings/mfd/qcom-rpm.h>
> + regulators {
> + compatible = "qcom,rpm-pm8921-regulators";
> + vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
> +
> + s1 {
> + regulator-min-microvolt = <1225000>;
> + regulator-max-microvolt = <1225000>;
> +
> + bias-pull-down;
> +
> + qcom,switch-mode-frequency = <3200000>;
> + };
> +
> + pm8921_s4: s4 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + qcom,switch-mode-frequency = <1600000>;
> + bias-pull-down;
> +
> + qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
> + };
> + };
> +...
>
> --
> b4 0.10.1
>

2022-10-06 21:13:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema

On 06/10/2022 18:20, Neil Armstrong wrote:
> Hi,
>
> On 06/10/2022 13:09, Krzysztof Kozlowski wrote:
>> On 06/10/2022 11:57, Neil Armstrong wrote:
>>> Convert the MDM9515 pinctrl bindings to dt-schema.
>>>
>>> Signed-off-by: Neil Armstrong <[email protected]>
>>> ---
>>> .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt | 161 ---------------------
>>> .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml | 101 +++++++++++++
>>> 2 files changed, 101 insertions(+), 161 deletions(-)
>>>
>>
>> Thank you for your patch. There is something to discuss/improve.
>>
>>> - };
>>> - };
>>> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
>>> new file mode 100644
>>> index 000000000000..6a5966fc0098
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
>>> @@ -0,0 +1,101 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm Technologies, Inc. MDM9615 TLMM block
>>> +
>>> +maintainers:
>>> + - Bjorn Andersson <[email protected]>
>>> +
>>> +description: |
>>
>> No need for |
>
> Ack
>
>>
>>> + This binding describes the Top Level Mode Multiplexer block found in the
>>> + MDM9615 platform.
>>
>> Instead: "Top Level Mode Multiplexer pin controller node in Qualcomm
>> MDM9615 SoC."
>>
>> I see this pattern is coming from other file, so I will fix all of them.
>
> Ack, wil use this.
>
>>
>>> +
>>> +allOf:
>>> + - $ref: "pinctrl.yaml#"
>>
>> Drop it, it's included from tlmm-common
>
> Ack
>
>>
>>> + - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
>>> +
>>> +properties:
>>> + compatible:
>>> + const: qcom,mdm9615-pinctrl
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + interrupts: true
>>> + interrupt-controller: true
>>> + '#interrupt-cells': true
>>> + gpio-controller: true
>>> + '#gpio-cells': true
>>> + gpio-ranges: true
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> +
>>> +additionalProperties: false
>>> +
>>> +patternProperties:
>>> + '-state$':
>>
>> Use " as quotes
>
> Ack
>
>>
>>> + oneOf:
>>> + - $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
>>> + - patternProperties:
>>> + "-pins$":
>>> + $ref: "#/$defs/qcom-mdm9615-pinctrl-state"
>
> Interesting, if I add this subnode (that should be valid):
> gsbi3-state {
> pins = "gpio8", "gpio9", "gpio10", "gpio11";
> function = "gsbi3";
> drive-strength = <8>;
> bias-disable;
> };
>
> then I get the following warning from dt_bindings_check:

First, your block for using defs/qcom-mdm9615-pinctrl-state is not
exactly like it should be, e.g. it misses additionalProperties: false.
Maybe it misses few things more. Please use one of my latest patches as
example, e.g.
https://lore.kernel.org/linux-devicetree/[email protected]/T/#t

>
> Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.example.dtb: pinctrl@1000000: gsbi3-state: More than one condition true in oneOf schema:
> {'oneOf': [{'$ref': '#/$defs/qcom-mdm9615-pinctrl-state'},
> {'patternProperties': {'-pins$': {'$ref': '#/$defs/qcom-mdm9615-pinctrl-state'},
> 'pinctrl-[0-9]+': True},
> 'properties': {'$nodename': True,
> 'phandle': True,
> 'pinctrl-names': True,
> 'secure-status': True,
> 'status': True}}]}
> From schema: /Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.yaml
>
> And I don't understand why, the nodename should not match "-pins$" nor "pinctrl-[0-9]+'...

Hm, dunno... You have a trailing coma in enum with functions - maybe
remove it?

I looked briefly between your patch and mine for sm8150 and could not
find differences except that additionalProperties and coma.

Best regards,
Krzysztof

2022-10-07 20:04:16

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 3/6] arm: dts: qcom: mdm9615: wp8548-mangoh-green: fix sx150xq node names and probe-reset property



On 6.10.2022 11:58, Neil Armstrong wrote:
> Fix the sx150xq node names to pinctrl and use the right probe-reset property.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
Could you please also fix up the property order (may be in a separate patchset ofc)?

Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
> index 30a110984597..a8304769b509 100644
> --- a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
> +++ b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
> @@ -116,7 +116,7 @@ i2c@4 {
> #size-cells = <0>;
> reg = <4>;
>
> - gpioext0: gpio@3e {
> + gpioext0: pinctrl@3e {
> /* GPIO Expander 0 Mapping :
> * - 0: ARDUINO_RESET_Level shift
> * - 1: BattChrgr_PG_N
> @@ -142,7 +142,7 @@ gpioext0: gpio@3e {
> interrupt-parent = <&gpioext1>;
> interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
>
> - probe-reset;
> + semtech,probe-reset;
>
> gpio-controller;
> interrupt-controller;
> @@ -154,7 +154,7 @@ i2c@5 {
> #size-cells = <0>;
> reg = <5>;
>
> - gpioext1: gpio@3f {
> + gpioext1: pinctrl@3f {
> /* GPIO Expander 1 Mapping :
> * - 0: GPIOEXP_INT1
> * - 1: Battery detect
> @@ -183,7 +183,7 @@ gpioext1: gpio@3f {
> interrupt-parent = <&msmgpio>;
> interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
>
> - probe-reset;
> + semtech,probe-reset;
>
> gpio-controller;
> interrupt-controller;
> @@ -195,7 +195,7 @@ i2c@6 {
> #size-cells = <0>;
> reg = <6>;
>
> - gpioext2: gpio@70 {
> + gpioext2: pinctrl@70 {
> /* GPIO Expander 2 Mapping :
> * - 0: USB_HUB_INTn
> * - 1: HUB_CONNECT
> @@ -221,7 +221,7 @@ gpioext2: gpio@70 {
> interrupt-parent = <&gpioext1>;
> interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
>
> - probe-reset;
> + semtech,probe-reset;
>
> gpio-controller;
> interrupt-controller;
>

2022-10-07 20:35:27

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/6] arm: dts: qcom: mdm9615: fix pinctrl subnodes



On 6.10.2022 11:57, Neil Armstrong wrote:
> Fix the MDM9615 DT to the expected subnodes namings.
>
> Signed-off-by: Neil Armstrong <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts | 8 ++++----
> arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi | 22 +++++++++++-----------
> 2 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
> index 4e53b3d70195..30a110984597 100644
> --- a/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
> +++ b/arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts
> @@ -45,8 +45,8 @@ &msmgpio {
> * - 42: IOT0_GPIO1 and SD Card Detect
> */
>
> - gpioext1_pins: gpioext1_pins {
> - pins {
> + gpioext1_pins: gpioext1-state {
> + gpioext1-pins {
> pins = "gpio2";
> function = "gpio";
> input-enable;
> @@ -54,8 +54,8 @@ pins {
> };
> };
>
> - sdc_cd_pins: sdc_cd_pins {
> - pins {
> + sdc_cd_pins: sdc-cd-state {
> + sdc-cd-pins {
> pins = "gpio42";
> function = "gpio";
> drive-strength = <2>;
> diff --git a/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi b/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi
> index 2fe8693dc3cd..92c8003dac25 100644
> --- a/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi
> +++ b/arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi
> @@ -22,8 +22,8 @@ &msmgpio {
> pinctrl-0 = <&reset_out_pins>;
> pinctrl-names = "default";
>
> - gsbi3_pins: gsbi3_pins {
> - mux {
> + gsbi3_pins: gsbi3-state {
> + gsbi3-pins {
> pins = "gpio8", "gpio9", "gpio10", "gpio11";
> function = "gsbi3";
> drive-strength = <8>;
> @@ -31,8 +31,8 @@ mux {
> };
> };
>
> - gsbi4_pins: gsbi4_pins {
> - mux {
> + gsbi4_pins: gsbi4-state {
> + gsbi4-pins {
> pins = "gpio12", "gpio13", "gpio14", "gpio15";
> function = "gsbi4";
> drive-strength = <8>;
> @@ -40,15 +40,15 @@ mux {
> };
> };
>
> - gsbi5_i2c_pins: gsbi5_i2c_pins {
> - pin16 {
> + gsbi5_i2c_pins: gsbi5-i2c-state {
> + sda-pins {
> pins = "gpio16";
> function = "gsbi5_i2c";
> drive-strength = <8>;
> bias-disable;
> };
>
> - pin17 {
> + scl-pins {
> pins = "gpio17";
> function = "gsbi5_i2c";
> drive-strength = <2>;
> @@ -56,8 +56,8 @@ pin17 {
> };
> };
>
> - gsbi5_uart_pins: gsbi5_uart_pins {
> - mux {
> + gsbi5_uart_pins: gsbi5-uart-state {
> + gsbi5-uart-pins {
> pins = "gpio18", "gpio19";
> function = "gsbi5_uart";
> drive-strength = <8>;
> @@ -65,8 +65,8 @@ mux {
> };
> };
>
> - reset_out_pins: reset_out_pins {
> - pins {
> + reset_out_pins: reset-out-state {
> + reset-out-pins {
> pins = "gpio66";
> function = "gpio";
> drive-strength = <2>;
>

2022-10-10 08:21:44

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 3/6] arm: dts: qcom: mdm9615: wp8548-mangoh-green: fix sx150xq node names and probe-reset property

On 07/10/2022 21:38, Konrad Dybcio wrote:
>
>
> On 6.10.2022 11:58, Neil Armstrong wrote:
>> Fix the sx150xq node names to pinctrl and use the right probe-reset property.
>>
>> Signed-off-by: Neil Armstrong <[email protected]>
>> ---
> Could you please also fix up the property order (may be in a separate patchset ofc)?

Yup, sure

>
> Reviewed-by: Konrad Dybcio <[email protected]>
>
> Konrad

Thanks
Neil

<snip>