Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • sent/topic/sm8550/upstream/spmi-v1
    qcom: add support for SPMI PMICs found on SM8550 platforms
    
    The SM8550 based platforms sports a bunch of new PMICs:
    - pm8550
    - pm8550b
    - pm8550ve
    - pm8550vs
    - pmk8550
    - pmr735d
    - pm8010
    
    With GPIO support on:
    - pm8550
    - pm8550b
    - pm8550ve
    - pm8550vs
    - pmk8550
    - pmr735d
    
    This documents bindings for those SPMI PMIC and adds compatible in the
    PMIC pinctrl driver for GPIO support.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Lee Jones <lee@kernel.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Stephen Boyd <sboyd@kernel.org>
    To: Linus Walleij <linus.walleij@linaro.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-gpio@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (7):
          dt-bindings: mfd: qcom,spmi-pmic: document pm8550, pm8550b, pm8550ve, pm8550vs & pmk8550
          dt-bindings: mfd: qcom,spmi-pmic: document pm8010
          dt-bindings: mfd: qcom,spmi-pmic: document pmr735d
          dt-bindings: pinctrl: qcom,pmic-gpio: document pm8550, pm8550b, pm8550ve, pm8550vs & pmk8550
          dt-bindings: pinctrl: qcom,pmic-gpio: document pmr735d
          pinctrl: qcom: spmi-gpio: add support for pm8550 gpio control
          pinctrl: qcom: spmi-gpio: add support for pmr735d gpio control
    
     .../devicetree/bindings/mfd/qcom,spmi-pmic.yaml        |  7 +++++++
     .../devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml    | 18 ++++++++++++++++++
     drivers/pinctrl/qcom/pinctrl-spmi-gpio.c               |  6 ++++++
     3 files changed, 31 insertions(+)
    ---
    base-commit: 3c1f24109dfc4fb1a3730ed237e50183c6bb26b3
    change-id: 20221114-narmstrong-sm8550-upstream-spmi-d2c999ec5dc1
    
    Best regards,
  • sent/topic/sm8550/upstream/tsens-v1
    dt-bindings: thermal: qcom-tsens: Add compatible for sm8550
    
    The Qualcomm SM8550 platform has three instances of the tsens block,
    add a compatible for these instances.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Amit Kucheria <amitk@kernel.org>
    To: Thara Gopinath <thara.gopinath@gmail.com>
    To: "Rafael J. Wysocki" <rafael@kernel.org>
    To: Daniel Lezcano <daniel.lezcano@linaro.org>
    To: Zhang Rui <rui.zhang@intel.com>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-pm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
     Documentation/devicetree/bindings/thermal/qcom-tsens.yaml | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
    index f0bd4b979e28..09dbd96d380e 100644
    --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
    +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
    @@ -58,6 +58,7 @@ properties:
                   - qcom,sm8250-tsens
                   - qcom,sm8350-tsens
                   - qcom,sm8450-tsens
    +              - qcom,sm8550-tsens
               - const: qcom,tsens-v2
    
           - description: v2 of TSENS with combined interrupt
    
    ---
    base-commit: 3c1f24109dfc4fb1a3730ed237e50183c6bb26b3
    change-id: 20221114-narmstrong-sm8550-upstream-tsens-dfaec218c321
    
    Best regards,
  • sent/mdm9615-pinctrl-yaml-v4
    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: None
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Liam Girdwood <lgirdwood@gmail.com>
    To: Mark Brown <broonie@kernel.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v4:
    - Removed applied patches
    - Removed "-ipc" from bindings file name and removed IPC from title & description
    - Added the review tags from v3 after file renaming & title/description change, after Lee's acceptation
    - Link to v3: https://lore.kernel.org/r/20221005-mdm9615-pinctrl-yaml-v3-0-e5e045644971@linaro.org
    
    Changes in v3:
    - Path 1: Removed from serie because applied
    - Path 2: None
    - Path 3: Added reviewed-by tag
    - Path 4: Fixed dt-schema title and added unevaluatedProperties
    - Path 5: Various schema fixes, uses same naming as other dt-schema for qcom regulators
    - New patch added changing regulators names of msm8660 to conform to bindings
    - Link to v2: https://lore.kernel.org/r/20221005-mdm9615-pinctrl-yaml-v2-0-639fe67a04be@linaro.org
    
    Changes in v2:
    - Rebased on v6.1-rc1
    - Patch 1: Fixed bindings and aligned with Krysztof's series
    - Patch 2: Rewrote patch title and added reviewed-by tag
    - Patch 3: Added reviewed-by tag
    - Patch 4: Moved to end, added support for (regulators|-regulators) sudnode
    - Patch 5: Fixed schema description and added missing unevaluatedProperties in patternProperties
    - Patch 6: Dropped & squashed with patch 4
    - Link to v1: https://lore.kernel.org/r/20221005-mdm9615-pinctrl-yaml-v1-0-0cbc006e2a30@linaro.org
    
    ---
    Neil Armstrong (2):
          dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema
          dt-bindings: soc: qcom: convert non-smd RPM bindings to dt-schema
    
     Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 283 ---------------------
     .../bindings/regulator/qcom,rpm-regulator.yaml     | 128 ++++++++++
     .../devicetree/bindings/soc/qcom/qcom,rpm.yaml     | 101 ++++++++
     3 files changed, 229 insertions(+), 283 deletions(-)
    ---
    base-commit: 19d64985796125c5e3820c3db995c5df6d13d6dc
    change-id: 20221005-mdm9615-pinctrl-yaml-13f5c18a4d3a
    
    Best regards,
  • sent/mdm9615-sx1509q-yaml-v3
    dt-bindings: pinctrl: convert semtech,sx150xq bindings to dt-schema
    
    This converts the Semtech SX150Xq bindings to dt-schemas, add necessary
    bindings documentation to cover all differences between HW variants
    and current bindings usage.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    ---
    To: Linus Walleij <linus.walleij@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
    Changes in v3:
    - Resent with missing To: Linus Walleij
    - Link to v2: https://lore.kernel.org/r/20221005-mdm9615-sx1509q-yaml-v2-0-a4a5b8eecc7b@linaro.org
    
    Changes in v2:
    - fixed rob comments
    - added rob's Reviewed-by
    - Link to v1: https://lore.kernel.org/r/20221005-mdm9615-sx1509q-yaml-v1-0-0c26649b637c@linaro.org
    ---
     .../devicetree/bindings/pinctrl/pinctrl-sx150x.txt |  72 -------
     .../bindings/pinctrl/semtech,sx1501q.yaml          | 208 +++++++++++++++++++++
     2 files changed, 208 insertions(+), 72 deletions(-)
    
    diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt
    deleted file mode 100644
    index 4023bad2fe39..000000000000
    --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -SEMTECH SX150x GPIO expander bindings
    -
    -Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
    -../interrupt-controller/interrupts.txt for generic information regarding
    -pin controller, GPIO, and interrupt bindings.
    -
    -Required properties:
    -- compatible: should be one of :
    -			"semtech,sx1501q",
    -			"semtech,sx1502q",
    -			"semtech,sx1503q",
    -			"semtech,sx1504q",
    -			"semtech,sx1505q",
    -			"semtech,sx1506q",
    -			"semtech,sx1507q",
    -			"semtech,sx1508q",
    -			"semtech,sx1509q".
    -
    -- reg: The I2C slave address for this device.
    -
    -- #gpio-cells: Should be 2. The first cell is the GPIO number and the
    -		second cell is used to specify optional parameters:
    -		bit 0: polarity (0: normal, 1: inverted)
    -
    -- gpio-controller: Marks the device as a GPIO controller.
    -
    -Optional properties :
    -- interrupts: Interrupt specifier for the controllers interrupt.
    -
    -- interrupt-controller: Marks the device as a interrupt controller.
    -
    -- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
    -		only for sx1507q, sx1508q and sx1509q
    -
    -The GPIO expander can optionally be used as an interrupt controller, in
    -which case it uses the default two cell specifier.
    -
    -Required properties for pin configuration sub-nodes:
    - - pins: List of pins to which the configuration applies.
    -
    -Optional properties for pin configuration sub-nodes:
    -----------------------------------------------------
    - - bias-disable: disable any pin bias, except the OSCIO pin
    - - bias-pull-up: pull up the pin, except the OSCIO pin
    - - bias-pull-down: pull down the pin, except the OSCIO pin
    - - bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
    - - drive-push-pull: drive actively high and low
    - - drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
    - - output-low: set the pin to output mode with low level
    - - output-high: set the pin to output mode with high level
    -
    -Example:
    -
    -	i2c0gpio-expander@20{
    -		#gpio-cells = <2>;
    -		#interrupt-cells = <2>;
    -		compatible = "semtech,sx1506q";
    -		reg = <0x20>;
    -		interrupt-parent = <&gpio_1>;
    -		interrupts = <16 0>;
    -
    -		gpio-controller;
    -		interrupt-controller;
    -
    -		pinctrl-names = "default";
    -		pinctrl-0 = <&gpio1_cfg_pins>;
    -
    -		gpio1_cfg_pins: gpio1-cfg {
    -			pins = "gpio1";
    -			bias-pull-up;
    -		};
    -	};
    diff --git a/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
    new file mode 100644
    index 000000000000..df429a396ba3
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
    @@ -0,0 +1,208 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +# Copyright 2022 Linaro Ltd.
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/pinctrl/semtech,sx1501q.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Semtech SX150x GPIO expander
    +
    +maintainers:
    +  - Neil Armstrong <neil.armstrong@linaro.org>
    +
    +properties:
    +  compatible:
    +    enum:
    +      - semtech,sx1501q
    +      - semtech,sx1502q
    +      - semtech,sx1503q
    +      - semtech,sx1504q
    +      - semtech,sx1505q
    +      - semtech,sx1506q
    +      - semtech,sx1507q
    +      - semtech,sx1508q
    +      - semtech,sx1509q
    +
    +  reg:
    +    maxItems: 1
    +
    +  interrupts:
    +    maxItems: 1
    +
    +  '#interrupt-cells':
    +    const: 2
    +
    +  interrupt-controller: true
    +
    +  '#gpio-cells':
    +    const: 2
    +
    +  gpio-controller: true
    +
    +  semtech,probe-reset:
    +    description: Will trigger a reset of the GPIO expander on probe
    +    type: boolean
    +
    +patternProperties:
    +  '-cfg$':
    +    type: object
    +    properties:
    +      pins: true
    +
    +      bias-disable: true
    +      bias-pull-up: true
    +      bias-pull-down: true
    +      bias-pull-pin-default: true
    +      drive-push-pull: true
    +      output-low: true
    +      output-high: true
    +      drive-open-drain: true
    +
    +    required:
    +      - pins
    +
    +    allOf:
    +      - $ref: "pincfg-node.yaml#"
    +      - $ref: "pinmux-node.yaml#"
    +      - if:
    +          properties:
    +            pins:
    +              contains:
    +                const: oscio
    +        then:
    +          properties:
    +            bias-disable: false
    +            bias-pull-up: false
    +            bias-pull-down: false
    +            bias-pull-pin-default: false
    +            drive-open-drain: false
    +
    +    additionalProperties: false
    +
    +required:
    +  - compatible
    +  - reg
    +  - '#gpio-cells'
    +  - gpio-controller
    +
    +allOf:
    +  - $ref: "pinctrl.yaml#"
    +  - if:
    +      not:
    +        properties:
    +          compatible:
    +            contains:
    +              enum:
    +                - semtech,sx1507q
    +                - semtech,sx1508q
    +                - semtech,sx1509q
    +    then:
    +      properties:
    +        semtech,probe-reset: false
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1501q
    +              - semtech,sx1504q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-3]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1502q
    +              - semtech,sx1505q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-7]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1503q
    +              - semtech,sx1506q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-15]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1507q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-3])$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1508q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-7])$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1509q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-15])$'
    +
    +additionalProperties: false
    +
    +examples:
    +  - |
    +    #include <dt-bindings/interrupt-controller/irq.h>
    +    i2c@1000 {
    +        reg = <0x1000 0x80>;
    +        #address-cells = <1>;
    +        #size-cells = <0>;
    +
    +        pinctrl@20 {
    +            compatible = "semtech,sx1501q";
    +            reg = <0x20>;
    +
    +            #gpio-cells = <2>;
    +            #interrupt-cells = <2>;
    +
    +            interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
    +
    +            gpio-controller;
    +            interrupt-controller;
    +
    +            gpio1-cfg {
    +                  pins = "gpio1";
    +                  bias-pull-up;
    +            };
    +        };
    +    };
    
    ---
    base-commit: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
    change-id: 20221005-mdm9615-sx1509q-yaml-7cfabf896fff
    
    Best regards,
  • sent/mdm9615/dt-schema-fixes-v5
    arm: qcom: mdm9615: first round of bindings and DT fixes
    
    This is a first round of trivial bindings & DT fixes for the MDM9615 platform.
    
    This first round focuses on trivial changes, the remaining work will
    mainly be .txt to .yaml transition of old qcom pmic & co device bindings.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Alessandro Zummo <a.zummo@towertech.it>
    To: Alexandre Belloni <alexandre.belloni@bootlin.com>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Satya Priya <quic_c_skakit@quicinc.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-rtc@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Dependencies: None
    Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v5:
    - Removed applied patches
    - Link to v4: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v4-0-dac2dfaac703@linaro.org
    
    Changes in v4:
    - patch 1: None
    - patch 2: None
    - patch 3: None
    - patch 4: None
    - patch 5: Added reviewed-by tag
    - patch 6: Fix descriptions, Added reviewed-by tags
    - patch 7: None
    - patch 8: None
    - patch 9: Added acked-by tag
    - patch 10: None
    - patch 11: None
    - Link to v3: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v3-0-531da552c354@linaro.org
    
    Changes in v3:
    - Rebased on v6.1-rc1
    - patch 1: Added reviewed-by tag
    - patch 2: Fixes typo in commit msg and added precision about why MIT was selected
    - patch 3: Added reviewed-by tag
    - patch 4: None
    - patch 5: Drop second example node
    - patch 6: Drop Andy, fix interrupts desc and fix example indentation
    - patch 7: Fix commit msg wrap & add reviewed-by tag
    - patch 8: Reword commit msg & add reviewed-by tag
    - patch 9: Reword commit msg & add reviewed-by tag
    - patch 10: None
    - patch 11: Added reviewed-by tag
    - Link to v2: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v2-0-87fbeb4ae053@linaro.org
    
    Changes in v2:
    - patch 1: switch to move from swir.txt to qcom.yaml
    - patch 2: use MIT licence instead of X11 licence
    - patch 3: move reg after compatible
    - patch 4: added Krzysztof's review
    - patch 5: split into 5 changes:
      - document qcom,pm8921 as fallback of qcom,pm8018
      - convert qcom,pm8921-pwrkey to dt-schema
      - document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
      - drop unused PM8018 compatible
      - drop unused pm8018 RTC compatible
    - patch 6: None
    - patch 7: Reworded commit log based on Dmitry's wording on similar patches
    - Link to v1: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v1-0-b6e63a7df1e8@linaro.org
    
    ---
    Neil Armstrong (2):
          dt-bindings: rtc: qcom-pm8xxx: document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
          rtc: pm8xxx: drop unused pm8018 compatible
    
     .../devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml         | 16 ++++++++++------
     drivers/rtc/rtc-pm8xxx.c                                 |  1 -
     2 files changed, 10 insertions(+), 7 deletions(-)
    ---
    base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780
    change-id: 20220928-mdm9615-dt-schema-fixes-66d4d0ccb7c7
    
    Best regards,
  • sent/spicc-burst-delay-fix-v2
    spi: meson-spicc: fix do_div build error on non-arm64
    
    This fixes :
    error: passing argument 1 of '__div64_32' from incompatible pointer type
    
    By passing an uint64_t as first variable to do_div().
    
    Reported-by: kernel test robot <lkp@intel.com>
    Fixes: 04694e50020b ("spi: meson-spicc: move wait completion in driver to take bursts delay in account")
    Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    To: Mark Brown <broonie@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: linux-spi@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    ---
    Changes in v2:
    - Added Martin's Acked-by
    - Added Reported-by: kernel test robot
    - Added To: Mark Brown
    - Link to v1: https://lore.kernel.org/r/20221027-b4-spicc-burst-delay-fix-v1-0-5a6e9a88e54c@linaro.org
    ---
     drivers/spi/spi-meson-spicc.c | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c
    index 52bffab18329..1b4195c54ee2 100644
    --- a/drivers/spi/spi-meson-spicc.c
    +++ b/drivers/spi/spi-meson-spicc.c
    @@ -387,7 +387,7 @@ static int meson_spicc_transfer_one(struct spi_master *master,
     				    struct spi_transfer *xfer)
     {
     	struct meson_spicc_device *spicc = spi_master_get_devdata(master);
    -	unsigned long timeout;
    +	uint64_t timeout;
    
     	/* Store current transfer */
     	spicc->xfer = xfer;
    
    ---
    base-commit: 574f97ab96d6b153407161746bc127564e998b4f
    change-id: 20221027-b4-spicc-burst-delay-fix-a03004454876
    
    Best regards,
  • sent/odroid-go-ultra-initial-v1
    arm64: amlogic: add initial Odroid Go Ultra DTS
    
    This adds initial support for the Hardkernel Odroid Go Ultra.
    
    The Odroid Go Ultra is a portable gaming device with the following
    characteristics:
    - Amlogic S922X SoC
    - RK817 & RK818 PMICs
    - 2GiB LPDDR4
    - On board 16GiB eMMC
    - Micro SD Card slot
    - 5inch 854×480 MIPI-DSI TFT LCD
    - Earphone stereo jack, 0.5Watt 8Ω Mono speaker
    - Li-Polymer 3.7V/4000mAh Battery
    - USB-A 2.0 Host Connector
    - x16 GPIO Input Buttons
    - 2x ADC Analog Joysticks
    - USB-C Port for USB2 Device and Charging
    
    The following are not yet handled:
    - Battery RK818 Gauge and Charging
    - Earphone stereo jack detect
    - 5inch 854×480 MIPI-DSI TFT LCD
    
    This adds:
    - Poweroff bindings
    - Poweroff driver
    - Device bindings
    - Initial device DT
    
    This serie depends on:
    - https://lore.kernel.org/all/20221025-rk808-multi-v2-0-d292d51ada81@linaro.org/
    
    To: Sebastian Reichel <sre@kernel.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: linux-pm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (4):
          dt-bindings: reset: document Odroid Go Ultra power-off
          power: reset: add Odroid Go Ultra poweroff driver
          dt-bindings: amlogic: document Odroid Go Ultra compatible
          arm64: dts: amlogic: add initial Odroid Go Ultra DTS
    
     Documentation/devicetree/bindings/arm/amlogic.yaml |   1 +
     .../reset/hardkernel,odroid-go-ultra-poweroff.yaml |  42 ++
     arch/arm64/boot/dts/amlogic/Makefile               |   1 +
     .../dts/amlogic/meson-g12b-odroid-go-ultra.dts     | 730 +++++++++++++++++++++
     drivers/power/reset/Kconfig                        |   7 +
     drivers/power/reset/Makefile                       |   1 +
     drivers/power/reset/odroid-go-ultra-poweroff.c     | 122 ++++
     7 files changed, 904 insertions(+)
    ---
    base-commit: 247f34f7b80357943234f93f247a1ae6b6c3a740
    change-id: 20221031-b4-odroid-go-ultra-initial-5e65cde5e23a
    
    Best regards,
  • sent/rk808-multi-v2
    mfd: rk808: permit having multiple PMIC instances
    
    This set each cells id to PLATFORM_DEVID_NONE to allow multiple
    instances of each cell in case multiple PMICs handled by the rk808
    driver are probed.
    
    This fixes probing a RK818 and a RK817 on the Odroid Go Ultra
    devices.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Cc: Lee Jones <lee@kernel.org>
    Cc: linux-kernel@vger.kernel.org
    ---
    Changes in v2:
    - replaced -1 by PLATFORM_DEVID_NONE
    - Link to v1: https://lore.kernel.org/r/20221025-rk808-multi-v1-0-c07b7cf3fd67@linaro.org
    ---
     drivers/mfd/rk808.c | 26 ++++++++++++++++----------
     1 file changed, 16 insertions(+), 10 deletions(-)
    
    diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c
    index e00da7c7e3b1..c9337c1fd748 100644
    --- a/drivers/mfd/rk808.c
    +++ b/drivers/mfd/rk808.c
    @@ -137,58 +137,64 @@ static const struct resource rk817_charger_resources[] = {
     };
    
     static const struct mfd_cell rk805s[] = {
    -	{ .name = "rk808-clkout", },
    -	{ .name = "rk808-regulator", },
    -	{ .name = "rk805-pinctrl", },
    +	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
    +	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
    +	{ .name = "rk805-pinctrl", .id = PLATFORM_DEVID_NONE, },
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rtc_resources),
     		.resources = &rtc_resources[0],
    +		.id = PLATFORM_DEVID_NONE,
     	},
     	{	.name = "rk805-pwrkey",
     		.num_resources = ARRAY_SIZE(rk805_key_resources),
     		.resources = &rk805_key_resources[0],
    +		.id = PLATFORM_DEVID_NONE,
     	},
     };
    
     static const struct mfd_cell rk808s[] = {
    -	{ .name = "rk808-clkout", },
    -	{ .name = "rk808-regulator", },
    +	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
    +	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rtc_resources),
     		.resources = rtc_resources,
    +		.id = PLATFORM_DEVID_NONE,
     	},
     };
    
     static const struct mfd_cell rk817s[] = {
    -	{ .name = "rk808-clkout",},
    -	{ .name = "rk808-regulator",},
    +	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
    +	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
     	{
     		.name = "rk805-pwrkey",
     		.num_resources = ARRAY_SIZE(rk817_pwrkey_resources),
     		.resources = &rk817_pwrkey_resources[0],
    +		.id = PLATFORM_DEVID_NONE,
     	},
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rk817_rtc_resources),
     		.resources = &rk817_rtc_resources[0],
    +		.id = PLATFORM_DEVID_NONE,
     	},
    -	{ .name = "rk817-codec",},
    +	{ .name = "rk817-codec", .id = PLATFORM_DEVID_NONE, },
     	{
     		.name = "rk817-charger",
     		.num_resources = ARRAY_SIZE(rk817_charger_resources),
     		.resources = &rk817_charger_resources[0],
    +		.id = PLATFORM_DEVID_NONE,
     	},
     };
    
     static const struct mfd_cell rk818s[] = {
    -	{ .name = "rk808-clkout", },
    -	{ .name = "rk808-regulator", },
    +	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rtc_resources),
     		.resources = rtc_resources,
    +		.id = PLATFORM_DEVID_NONE,
     	},
     };
    
    ---
    base-commit: 247f34f7b80357943234f93f247a1ae6b6c3a740
    change-id: 20221025-rk808-multi-65dd03a92705
    
    Best regards,
  • sent/spicc-burst-delay-fix-v1
    spi: meson-spicc: fix do_div build error on non-arm64
    
    This fixes :
    error: passing argument 1 of '__div64_32' from incompatible pointer type
    
    By passing an uint64_t as first variable to do_div().
    
    Fixes: 04694e50020b ("spi: meson-spicc: move wait completion in driver to take bursts delay in account")
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    To: Neil Armstrong <narmstrong@baylibre.com>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: linux-spi@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    ---
     drivers/spi/spi-meson-spicc.c | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c
    index 52bffab18329..1b4195c54ee2 100644
    --- a/drivers/spi/spi-meson-spicc.c
    +++ b/drivers/spi/spi-meson-spicc.c
    @@ -387,7 +387,7 @@ static int meson_spicc_transfer_one(struct spi_master *master,
     				    struct spi_transfer *xfer)
     {
     	struct meson_spicc_device *spicc = spi_master_get_devdata(master);
    -	unsigned long timeout;
    +	uint64_t timeout;
    
     	/* Store current transfer */
     	spicc->xfer = xfer;
    
    ---
    base-commit: 574f97ab96d6b153407161746bc127564e998b4f
    change-id: 20221027-b4-spicc-burst-delay-fix-a03004454876
    
    Best regards,
  • sent/spicc-burst-delay-v1
    spi: meson-spicc: move wait completion in driver to take bursts delay in account
    
    Some delay occurs between each bursts, thus the default delay is wrong
    and a timeout will occur with big enough transfers.
    
    The solution is to handle the timeout management in the driver and
    add some delay for each bursts in the timeout calculation.
    
    Reported-by: Da Xue <da@libre.computer>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    To: Mark Brown <broonie@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: linux-spi@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    ---
     drivers/spi/spi-meson-spicc.c | 24 ++++++++++++++++++++++--
     1 file changed, 22 insertions(+), 2 deletions(-)
    
    diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c
    index bad201510a99..52bffab18329 100644
    --- a/drivers/spi/spi-meson-spicc.c
    +++ b/drivers/spi/spi-meson-spicc.c
    @@ -160,6 +160,7 @@ struct meson_spicc_device {
     	struct clk			*clk;
     	struct spi_message		*message;
     	struct spi_transfer		*xfer;
    +	struct completion		done;
     	const struct meson_spicc_data	*data;
     	u8				*tx_buf;
     	u8				*rx_buf;
    @@ -282,7 +283,7 @@ static irqreturn_t meson_spicc_irq(int irq, void *data)
     		/* Disable all IRQs */
     		writel(0, spicc->base + SPICC_INTREG);
    
    -		spi_finalize_current_transfer(spicc->master);
    +		complete(&spicc->done);
    
     		return IRQ_HANDLED;
     	}
    @@ -386,6 +387,7 @@ static int meson_spicc_transfer_one(struct spi_master *master,
     				    struct spi_transfer *xfer)
     {
     	struct meson_spicc_device *spicc = spi_master_get_devdata(master);
    +	unsigned long timeout;
    
     	/* Store current transfer */
     	spicc->xfer = xfer;
    @@ -410,13 +412,29 @@ static int meson_spicc_transfer_one(struct spi_master *master,
     	/* Setup burst */
     	meson_spicc_setup_burst(spicc);
    
    +	/* Setup wait for completion */
    +	reinit_completion(&spicc->done);
    +
    +	/* For each byte we wait for 8 cycles of the SPI clock */
    +	timeout = 8LL * MSEC_PER_SEC * xfer->len;
    +	do_div(timeout, xfer->speed_hz);
    +
    +	/* Add 10us delay between each fifo bursts */
    +	timeout += ((xfer->len >> 4) * 10) / MSEC_PER_SEC;
    +
    +	/* Increase it twice and add 200 ms tolerance */
    +	timeout += timeout + 200;
    +
     	/* Start burst */
     	writel_bits_relaxed(SPICC_XCH, SPICC_XCH, spicc->base + SPICC_CONREG);
    
     	/* Enable interrupts */
     	writel_relaxed(SPICC_TC_EN, spicc->base + SPICC_INTREG);
    
    -	return 1;
    +	if (!wait_for_completion_timeout(&spicc->done, msecs_to_jiffies(timeout)))
    +		return -ETIMEDOUT;
    +
    +	return 0;
     }
    
     static int meson_spicc_prepare_message(struct spi_master *master,
    @@ -743,6 +761,8 @@ static int meson_spicc_probe(struct platform_device *pdev)
     	spicc->pdev = pdev;
     	platform_set_drvdata(pdev, spicc);
    
    +	init_completion(&spicc->done);
    +
     	spicc->base = devm_platform_ioremap_resource(pdev, 0);
     	if (IS_ERR(spicc->base)) {
     		dev_err(&pdev->dev, "io resource mapping failed\n");
    
    ---
    base-commit: 247f34f7b80357943234f93f247a1ae6b6c3a740
    change-id: 20221026-spicc-burst-delay-ea0526602760
    
    Best regards,
  • sent/rk808-multi-v1
    mfd: rk808: permit having multiple PMIC instances
    
    This set each cells id to -1 to allow multiple instances of
    each cell in case multiple PMICs handled by the rk808 driver
    are probed.
    
    This fixes probing a RK818 and a RK817 on the Odroid Go Ultra
    devices.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Cc: Lee Jones <lee@kernel.org>
    Cc: linux-kernel@vger.kernel.org
    ---
     drivers/mfd/rk808.c | 26 ++++++++++++++++----------
     1 file changed, 16 insertions(+), 10 deletions(-)
    
    diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c
    index e00da7c7e3b1..b9cfd249912d 100644
    --- a/drivers/mfd/rk808.c
    +++ b/drivers/mfd/rk808.c
    @@ -137,58 +137,64 @@ static const struct resource rk817_charger_resources[] = {
     };
    
     static const struct mfd_cell rk805s[] = {
    -	{ .name = "rk808-clkout", },
    -	{ .name = "rk808-regulator", },
    -	{ .name = "rk805-pinctrl", },
    +	{ .name = "rk808-clkout", .id = -1, },
    +	{ .name = "rk808-regulator", .id = -1, },
    +	{ .name = "rk805-pinctrl", .id = -1, },
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rtc_resources),
     		.resources = &rtc_resources[0],
    +		.id = -1,
     	},
     	{	.name = "rk805-pwrkey",
     		.num_resources = ARRAY_SIZE(rk805_key_resources),
     		.resources = &rk805_key_resources[0],
    +		.id = -1,
     	},
     };
    
     static const struct mfd_cell rk808s[] = {
    -	{ .name = "rk808-clkout", },
    -	{ .name = "rk808-regulator", },
    +	{ .name = "rk808-clkout", .id = -1, },
    +	{ .name = "rk808-regulator", .id = -1, },
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rtc_resources),
     		.resources = rtc_resources,
    +		.id = -1,
     	},
     };
    
     static const struct mfd_cell rk817s[] = {
    -	{ .name = "rk808-clkout",},
    -	{ .name = "rk808-regulator",},
    +	{ .name = "rk808-clkout", .id = -1, },
    +	{ .name = "rk808-regulator", .id = -1, },
     	{
     		.name = "rk805-pwrkey",
     		.num_resources = ARRAY_SIZE(rk817_pwrkey_resources),
     		.resources = &rk817_pwrkey_resources[0],
    +		.id = -1,
     	},
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rk817_rtc_resources),
     		.resources = &rk817_rtc_resources[0],
    +		.id = -1,
     	},
    -	{ .name = "rk817-codec",},
    +	{ .name = "rk817-codec", .id = -1, },
     	{
     		.name = "rk817-charger",
     		.num_resources = ARRAY_SIZE(rk817_charger_resources),
     		.resources = &rk817_charger_resources[0],
    +		.id = -1,
     	},
     };
    
     static const struct mfd_cell rk818s[] = {
    -	{ .name = "rk808-clkout", },
    -	{ .name = "rk808-regulator", },
    +	{ .name = "rk808-regulator", .id = -1, },
     	{
     		.name = "rk808-rtc",
     		.num_resources = ARRAY_SIZE(rtc_resources),
     		.resources = rtc_resources,
    +		.id = -1,
     	},
     };
    
    ---
    base-commit: 247f34f7b80357943234f93f247a1ae6b6c3a740
    change-id: 20221025-rk808-multi-65dd03a92705
    
    Best regards,
  • sent/mdm9615-pinctrl-yaml-v3
    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,3-4: None
    - patch 2: bindings dependency on 20221005-mdm9615-sx1509q-yaml-v2-0-a4a5b8eecc7b@linaro.org
    
    To: Bjorn Andersson <andersson@kernel.org>
    To: Andy Gross <agross@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Linus Walleij <linus.walleij@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    To: Liam Girdwood <lgirdwood@gmail.com>
    To: Mark Brown <broonie@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v3:
    - Path 1: Removed from serie because applied
    - Path 2: None
    - Path 3: Added reviewed-by tag
    - Path 4: Fixed dt-schema title and added unevaluatedProperties
    - Path 5: Various schema fixes, uses same naming as other dt-schema for qcom regulators
    - New patch added changing regulators names of msm8660 to conform to bindings
    - Link to v2: https://lore.kernel.org/r/20221005-mdm9615-pinctrl-yaml-v2-0-639fe67a04be@linaro.org
    
    Changes in v2:
    - Rebased on v6.1-rc1
    - Patch 1: Fixed bindings and aligned with Krysztof's series
    - Patch 2: Rewrote patch title and added reviewed-by tag
    - Patch 3: Added reviewed-by tag
    - Patch 4: Moved to end, added support for (regulators|-regulators) sudnode
    - Patch 5: Fixed schema description and added missing unevaluatedProperties in patternProperties
    - Patch 6: Dropped & squashed with patch 4
    - Link to v1: https://lore.kernel.org/r/20221005-mdm9615-pinctrl-yaml-v1-0-0cbc006e2a30@linaro.org
    
    ---
    Neil Armstrong (5):
          arm: dts: qcom: mdm9615: align pinctrl subnodes with dt-schema bindings
          arm: dts: qcom: mdm9615: wp8548-mangoh-green: fix sx150xq node names and probe-reset property
          dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema
          dt-bindings: soc: qcom: convert non-smd RPM bindings to dt-schema
          arm: dts: qcom-msm8660: align RPM regulators node name with bindings
    
     Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 283 ---------------------
     .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 128 ++++++++++
     .../devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 101 ++++++++
     .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts  |  20 +-
     arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi         |  22 +-
     arch/arm/boot/dts/qcom-msm8660.dtsi                |   4 +-
     6 files changed, 252 insertions(+), 306 deletions(-)
    ---
    base-commit: 19d64985796125c5e3820c3db995c5df6d13d6dc
    change-id: 20221005-mdm9615-pinctrl-yaml-13f5c18a4d3a
    
    Best regards,
  • sent/mdm9615/dt-schema-fixes-v4
    arm: qcom: mdm9615: first round of bindings and DT fixes
    
    This is a first round of trivial bindings & DT fixes for the MDM9615 platform.
    
    This first round focuses on trivial changes, the remaining work will
    mainly be .txt to .yaml transition of old qcom pmic & co device bindings.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <bjorn.andersson@linaro.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    To: Satya Priya <quic_c_skakit@quicinc.com>
    To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    To: Alessandro Zummo <a.zummo@towertech.it>
    To: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Bjorn Andersson <andersson@kernel.org>
    Cc: linux-input@vger.kernel.org
    Cc: linux-rtc@vger.kernel.org
    Dependencies: None
    Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v4:
    - patch 1: None
    - patch 2: None
    - patch 3: None
    - patch 4: None
    - patch 5: Added reviewed-by tag
    - patch 6: Fix descriptions, Added reviewed-by tags
    - patch 7: None
    - patch 8: None
    - patch 9: Added acked-by tag
    - patch 10: None
    - patch 11: None
    - Link to v3: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v3-0-531da552c354@linaro.org
    
    Changes in v3:
    - Rebased on v6.1-rc1
    - patch 1: Added reviewed-by tag
    - patch 2: Fixes typo in commit msg and added precision about why MIT was selected
    - patch 3: Added reviewed-by tag
    - patch 4: None
    - patch 5: Drop second example node
    - patch 6: Drop Andy, fix interrupts desc and fix example indentation
    - patch 7: Fix commit msg wrap & add reviewed-by tag
    - patch 8: Reword commit msg & add reviewed-by tag
    - patch 9: Reword commit msg & add reviewed-by tag
    - patch 10: None
    - patch 11: Added reviewed-by tag
    - Link to v2: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v2-0-87fbeb4ae053@linaro.org
    
    Changes in v2:
    - patch 1: switch to move from swir.txt to qcom.yaml
    - patch 2: use MIT licence instead of X11 licence
    - patch 3: move reg after compatible
    - patch 4: added Krzysztof's review
    - patch 5: split into 5 changes:
      - document qcom,pm8921 as fallback of qcom,pm8018
      - convert qcom,pm8921-pwrkey to dt-schema
      - document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
      - drop unused PM8018 compatible
      - drop unused pm8018 RTC compatible
    - patch 6: None
    - patch 7: Reworded commit log based on Dmitry's wording on similar patches
    - Link to v1: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v1-0-b6e63a7df1e8@linaro.org
    
    ---
    Neil Armstrong (11):
          dt-bindings: arm: qcom: move swir,mangoh-green-wp8548 board documentation to qcom.yaml
          arm: dts: qcom: mdm9615*: add SPDX-License-Identifier
          arm: dts: qcom: mdm9615: add missing reg in cpu@0 node
          arm: dts: qcom: mdm9615: remove invalid spi-max-frequency gsbi3_spi node
          dt-bindings: mfd: qcom-pm8xxx: document qcom,pm8921 as fallback of qcom,pm8018
          dt-bindings: input: qcom,pm8921-pwrkey: convert to dt-schema
          dt-bindings: rtc: qcom-pm8xxx: document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
          mfd: qcom-pm8xxx: drop unused PM8018 compatible
          rtc: pm8xxx: drop unused pm8018 compatible
          arm: dts: qcom: mdm9615: remove invalid interrupt-names from pl18x mmc nodes
          arm: dts: qcom: mdm9615: remove useless amba subnode
    
     Documentation/devicetree/bindings/arm/qcom.yaml    |   6 +
     Documentation/devicetree/bindings/arm/swir.txt     |  12 --
     .../bindings/input/qcom,pm8921-pwrkey.yaml         |  75 +++++++++++++
     .../bindings/input/qcom,pm8xxx-pwrkey.txt          |  46 --------
     .../devicetree/bindings/mfd/qcom-pm8xxx.yaml       |  33 +++++-
     .../devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml   |  16 ++-
     .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts  |  39 +------
     arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi         |  39 +------
     arch/arm/boot/dts/qcom-mdm9615.dtsi                | 121 +++++++--------------
     drivers/mfd/qcom-pm8xxx.c                          |   1 -
     drivers/rtc/rtc-pm8xxx.c                           |   1 -
     11 files changed, 159 insertions(+), 230 deletions(-)
    ---
    base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780
    change-id: 20220928-mdm9615-dt-schema-fixes-66d4d0ccb7c7
    
    Best regards,
  • sent/mdm9615-pinctrl-yaml-v2
    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-5: None
    - patch 3: bindings dependency on 20221005-mdm9615-sx1509q-yaml-v2-0-a4a5b8eecc7b@linaro.org
    
    To: Bjorn Andersson <andersson@kernel.org>
    To: Andy Gross <agross@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Linus Walleij <linus.walleij@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    To: Liam Girdwood <lgirdwood@gmail.com>
    To: Mark Brown <broonie@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v2:
    - Rebased on v6.1-rc1
    - Patch 1: Fixed bindings and aligned with Krysztof's series
    - Patch 2: Rewrote patch title and added reviewed-by tag
    - Patch 3: Added reviewed-by tag
    - Patch 4: Moved to end, added support for (regulators|-regulators) sudnode
    - Patch 5: Fixed schema description and added missing unevaluatedProperties in patternProperties
    - Patch 6: Dropped & squashed with patch 4
    - Link to v1: https://lore.kernel.org/r/20221005-mdm9615-pinctrl-yaml-v1-0-0cbc006e2a30@linaro.org
    
    ---
    Neil Armstrong (5):
          dt-bindings: pinctrl: convert qcom,mdm9615-pinctrl.txt to dt-schema
          arm: dts: qcom: mdm9615: align pinctrl subnodes with dt-schema bindings
          arm: dts: qcom: mdm9615: wp8548-mangoh-green: fix sx150xq node names and probe-reset property
          dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema
          dt-bindings: soc: qcom: convert non-smd RPM bindings to dt-schema
    
     Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 283 ---------------------
     .../bindings/pinctrl/qcom,mdm9615-pinctrl.txt      | 161 ------------
     .../bindings/pinctrl/qcom,mdm9615-pinctrl.yaml     | 120 +++++++++
     .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++
     .../devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml |  99 +++++++
     .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts  |  20 +-
     arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi         |  22 +-
     7 files changed, 367 insertions(+), 465 deletions(-)
    ---
    base-commit: 19d64985796125c5e3820c3db995c5df6d13d6dc
    change-id: 20221005-mdm9615-pinctrl-yaml-13f5c18a4d3a
    
    Best regards,
  • sent/mdm9615/dt-schema-fixes-v3
    arm: qcom: mdm9615: first round of bindings and DT fixes
    
    This is a first round of trivial bindings & DT fixes for the MDM9615 platform.
    
    This first round focuses on trivial changes, the remaining work will
    mainly be .txt to .yaml transition of old qcom pmic & co device bindings.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <bjorn.andersson@linaro.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    To: Satya Priya <quic_c_skakit@quicinc.com>
    To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    To: Alessandro Zummo <a.zummo@towertech.it>
    To: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Bjorn Andersson <andersson@kernel.org>
    Cc: linux-input@vger.kernel.org
    Cc: linux-rtc@vger.kernel.org
    Dependencies: None
    Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v3:
    - Rebased on v6.1-rc1
    - patch 1: Added reviewed-by tag
    - patch 2: Fixes typo in commit msg and added precision about why MIT was selected
    - patch 3: Added reviewed-by tag
    - patch 4: None
    - patch 5: Drop second example node
    - patch 6: Drop Andy, fix interrupts desc and fix example indentation
    - patch 7: Fix commit msg wrap & add reviewed-by tag
    - patch 8: Reword commit msg & add reviewed-by tag
    - patch 9: Reword commit msg & add reviewed-by tag
    - patch 10: None
    - patch 11: Added reviewed-by tag
    - Link to v2: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v2-0-87fbeb4ae053@linaro.org
    
    Changes in v2:
    - patch 1: switch to move from swir.txt to qcom.yaml
    - patch 2: use MIT licence instead of X11 licence
    - patch 3: move reg after compatible
    - patch 4: added Krzysztof's review
    - patch 5: split into 5 changes:
      - document qcom,pm8921 as fallback of qcom,pm8018
      - convert qcom,pm8921-pwrkey to dt-schema
      - document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
      - drop unused PM8018 compatible
      - drop unused pm8018 RTC compatible
    - patch 6: None
    - patch 7: Reworded commit log based on Dmitry's wording on similar patches
    - Link to v1: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v1-0-b6e63a7df1e8@linaro.org
    
    ---
    Neil Armstrong (11):
          dt-bindings: arm: qcom: move swir,mangoh-green-wp8548 board documentation to qcom.yaml
          arm: dts: qcom: mdm9615*: add SPDX-License-Identifier
          arm: dts: qcom: mdm9615: add missing reg in cpu@0 node
          arm: dts: qcom: mdm9615: remove invalid spi-max-frequency gsbi3_spi node
          dt-bindings: mfd: qcom-pm8xxx: document qcom,pm8921 as fallback of qcom,pm8018
          dt-bindings: input: qcom,pm8921-pwrkey: convert to dt-schema
          dt-bindings: rtc: qcom-pm8xxx: document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
          mfd: qcom-pm8xxx: drop unused PM8018 compatible
          rtc: pm8xxx: drop unused pm8018 compatible
          arm: dts: qcom: mdm9615: remove invalid interrupt-names from pl18x mmc nodes
          arm: dts: qcom: mdm9615: remove useless amba subnode
    
     Documentation/devicetree/bindings/arm/qcom.yaml    |   6 +
     Documentation/devicetree/bindings/arm/swir.txt     |  12 --
     .../bindings/input/qcom,pm8921-pwrkey.yaml         |  75 +++++++++++++
     .../bindings/input/qcom,pm8xxx-pwrkey.txt          |  46 --------
     .../devicetree/bindings/mfd/qcom-pm8xxx.yaml       |  33 +++++-
     .../devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml   |  16 ++-
     .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts  |  39 +------
     arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi         |  39 +------
     arch/arm/boot/dts/qcom-mdm9615.dtsi                | 121 +++++++--------------
     drivers/mfd/qcom-pm8xxx.c                          |   1 -
     drivers/rtc/rtc-pm8xxx.c                           |   1 -
     11 files changed, 159 insertions(+), 230 deletions(-)
    ---
    base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780
    change-id: 20220928-mdm9615-dt-schema-fixes-66d4d0ccb7c7
    
    Best regards,
  • sent/mdm9615-sx1509q-yaml-v2
    dt-bindings: pinctrl: convert semtech,sx150xq bindings to dt-schema
    
    This converts the Semtech SX150Xq bindings to dt-schemas, add necessary
    bindings documentation to cover all differences between HW variants
    and current bindings usage.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    ---
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
    Changes in v2:
    - fixed rob comments
    - added rob's Reviewed-by
    - Link to v1: https://lore.kernel.org/r/20221005-mdm9615-sx1509q-yaml-v1-0-0c26649b637c@linaro.org
    ---
     .../devicetree/bindings/pinctrl/pinctrl-sx150x.txt |  72 -------
     .../bindings/pinctrl/semtech,sx1501q.yaml          | 208 +++++++++++++++++++++
     2 files changed, 208 insertions(+), 72 deletions(-)
    
    diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt
    deleted file mode 100644
    index 4023bad2fe39..000000000000
    --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -SEMTECH SX150x GPIO expander bindings
    -
    -Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
    -../interrupt-controller/interrupts.txt for generic information regarding
    -pin controller, GPIO, and interrupt bindings.
    -
    -Required properties:
    -- compatible: should be one of :
    -			"semtech,sx1501q",
    -			"semtech,sx1502q",
    -			"semtech,sx1503q",
    -			"semtech,sx1504q",
    -			"semtech,sx1505q",
    -			"semtech,sx1506q",
    -			"semtech,sx1507q",
    -			"semtech,sx1508q",
    -			"semtech,sx1509q".
    -
    -- reg: The I2C slave address for this device.
    -
    -- #gpio-cells: Should be 2. The first cell is the GPIO number and the
    -		second cell is used to specify optional parameters:
    -		bit 0: polarity (0: normal, 1: inverted)
    -
    -- gpio-controller: Marks the device as a GPIO controller.
    -
    -Optional properties :
    -- interrupts: Interrupt specifier for the controllers interrupt.
    -
    -- interrupt-controller: Marks the device as a interrupt controller.
    -
    -- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
    -		only for sx1507q, sx1508q and sx1509q
    -
    -The GPIO expander can optionally be used as an interrupt controller, in
    -which case it uses the default two cell specifier.
    -
    -Required properties for pin configuration sub-nodes:
    - - pins: List of pins to which the configuration applies.
    -
    -Optional properties for pin configuration sub-nodes:
    -----------------------------------------------------
    - - bias-disable: disable any pin bias, except the OSCIO pin
    - - bias-pull-up: pull up the pin, except the OSCIO pin
    - - bias-pull-down: pull down the pin, except the OSCIO pin
    - - bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
    - - drive-push-pull: drive actively high and low
    - - drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
    - - output-low: set the pin to output mode with low level
    - - output-high: set the pin to output mode with high level
    -
    -Example:
    -
    -	i2c0gpio-expander@20{
    -		#gpio-cells = <2>;
    -		#interrupt-cells = <2>;
    -		compatible = "semtech,sx1506q";
    -		reg = <0x20>;
    -		interrupt-parent = <&gpio_1>;
    -		interrupts = <16 0>;
    -
    -		gpio-controller;
    -		interrupt-controller;
    -
    -		pinctrl-names = "default";
    -		pinctrl-0 = <&gpio1_cfg_pins>;
    -
    -		gpio1_cfg_pins: gpio1-cfg {
    -			pins = "gpio1";
    -			bias-pull-up;
    -		};
    -	};
    diff --git a/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
    new file mode 100644
    index 000000000000..df429a396ba3
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
    @@ -0,0 +1,208 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +# Copyright 2022 Linaro Ltd.
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/pinctrl/semtech,sx1501q.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Semtech SX150x GPIO expander
    +
    +maintainers:
    +  - Neil Armstrong <neil.armstrong@linaro.org>
    +
    +properties:
    +  compatible:
    +    enum:
    +      - semtech,sx1501q
    +      - semtech,sx1502q
    +      - semtech,sx1503q
    +      - semtech,sx1504q
    +      - semtech,sx1505q
    +      - semtech,sx1506q
    +      - semtech,sx1507q
    +      - semtech,sx1508q
    +      - semtech,sx1509q
    +
    +  reg:
    +    maxItems: 1
    +
    +  interrupts:
    +    maxItems: 1
    +
    +  '#interrupt-cells':
    +    const: 2
    +
    +  interrupt-controller: true
    +
    +  '#gpio-cells':
    +    const: 2
    +
    +  gpio-controller: true
    +
    +  semtech,probe-reset:
    +    description: Will trigger a reset of the GPIO expander on probe
    +    type: boolean
    +
    +patternProperties:
    +  '-cfg$':
    +    type: object
    +    properties:
    +      pins: true
    +
    +      bias-disable: true
    +      bias-pull-up: true
    +      bias-pull-down: true
    +      bias-pull-pin-default: true
    +      drive-push-pull: true
    +      output-low: true
    +      output-high: true
    +      drive-open-drain: true
    +
    +    required:
    +      - pins
    +
    +    allOf:
    +      - $ref: "pincfg-node.yaml#"
    +      - $ref: "pinmux-node.yaml#"
    +      - if:
    +          properties:
    +            pins:
    +              contains:
    +                const: oscio
    +        then:
    +          properties:
    +            bias-disable: false
    +            bias-pull-up: false
    +            bias-pull-down: false
    +            bias-pull-pin-default: false
    +            drive-open-drain: false
    +
    +    additionalProperties: false
    +
    +required:
    +  - compatible
    +  - reg
    +  - '#gpio-cells'
    +  - gpio-controller
    +
    +allOf:
    +  - $ref: "pinctrl.yaml#"
    +  - if:
    +      not:
    +        properties:
    +          compatible:
    +            contains:
    +              enum:
    +                - semtech,sx1507q
    +                - semtech,sx1508q
    +                - semtech,sx1509q
    +    then:
    +      properties:
    +        semtech,probe-reset: false
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1501q
    +              - semtech,sx1504q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-3]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1502q
    +              - semtech,sx1505q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-7]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1503q
    +              - semtech,sx1506q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-15]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1507q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-3])$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1508q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-7])$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1509q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-15])$'
    +
    +additionalProperties: false
    +
    +examples:
    +  - |
    +    #include <dt-bindings/interrupt-controller/irq.h>
    +    i2c@1000 {
    +        reg = <0x1000 0x80>;
    +        #address-cells = <1>;
    +        #size-cells = <0>;
    +
    +        pinctrl@20 {
    +            compatible = "semtech,sx1501q";
    +            reg = <0x20>;
    +
    +            #gpio-cells = <2>;
    +            #interrupt-cells = <2>;
    +
    +            interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
    +
    +            gpio-controller;
    +            interrupt-controller;
    +
    +            gpio1-cfg {
    +                  pins = "gpio1";
    +                  bias-pull-up;
    +            };
    +        };
    +    };
    
    ---
    base-commit: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
    change-id: 20221005-mdm9615-sx1509q-yaml-7cfabf896fff
    
    Best regards,
  • sent/mdm9615-pinctrl-yaml-v1
    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 20221005-mdm9615-sx1509q-yaml-v1-0-0c26649b637c@linaro.org
    
    To: Bjorn Andersson <andersson@kernel.org>
    To: Andy Gross <agross@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Linus Walleij <linus.walleij@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    To: Liam Girdwood <lgirdwood@gmail.com>
    To: Mark Brown <broonie@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    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,
  • sent/mdm9615-sx1509q-yaml-v1
    dt-bindings: pinctrl: convert semtech,sx150xq bindings to dt-schema
    
    This converts the Semtech SX150Xq bindings to dt-schemas, add necessary
    bindings documentation to cover all differences between HW variants
    and current bindings usage.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    ---
     .../devicetree/bindings/pinctrl/pinctrl-sx150x.txt |  72 -------
     .../bindings/pinctrl/semtech,sx1501q.yaml          | 207 +++++++++++++++++++++
     2 files changed, 207 insertions(+), 72 deletions(-)
    
    diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt
    deleted file mode 100644
    index 4023bad2fe39..000000000000
    --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -SEMTECH SX150x GPIO expander bindings
    -
    -Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
    -../interrupt-controller/interrupts.txt for generic information regarding
    -pin controller, GPIO, and interrupt bindings.
    -
    -Required properties:
    -- compatible: should be one of :
    -			"semtech,sx1501q",
    -			"semtech,sx1502q",
    -			"semtech,sx1503q",
    -			"semtech,sx1504q",
    -			"semtech,sx1505q",
    -			"semtech,sx1506q",
    -			"semtech,sx1507q",
    -			"semtech,sx1508q",
    -			"semtech,sx1509q".
    -
    -- reg: The I2C slave address for this device.
    -
    -- #gpio-cells: Should be 2. The first cell is the GPIO number and the
    -		second cell is used to specify optional parameters:
    -		bit 0: polarity (0: normal, 1: inverted)
    -
    -- gpio-controller: Marks the device as a GPIO controller.
    -
    -Optional properties :
    -- interrupts: Interrupt specifier for the controllers interrupt.
    -
    -- interrupt-controller: Marks the device as a interrupt controller.
    -
    -- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
    -		only for sx1507q, sx1508q and sx1509q
    -
    -The GPIO expander can optionally be used as an interrupt controller, in
    -which case it uses the default two cell specifier.
    -
    -Required properties for pin configuration sub-nodes:
    - - pins: List of pins to which the configuration applies.
    -
    -Optional properties for pin configuration sub-nodes:
    -----------------------------------------------------
    - - bias-disable: disable any pin bias, except the OSCIO pin
    - - bias-pull-up: pull up the pin, except the OSCIO pin
    - - bias-pull-down: pull down the pin, except the OSCIO pin
    - - bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
    - - drive-push-pull: drive actively high and low
    - - drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
    - - output-low: set the pin to output mode with low level
    - - output-high: set the pin to output mode with high level
    -
    -Example:
    -
    -	i2c0gpio-expander@20{
    -		#gpio-cells = <2>;
    -		#interrupt-cells = <2>;
    -		compatible = "semtech,sx1506q";
    -		reg = <0x20>;
    -		interrupt-parent = <&gpio_1>;
    -		interrupts = <16 0>;
    -
    -		gpio-controller;
    -		interrupt-controller;
    -
    -		pinctrl-names = "default";
    -		pinctrl-0 = <&gpio1_cfg_pins>;
    -
    -		gpio1_cfg_pins: gpio1-cfg {
    -			pins = "gpio1";
    -			bias-pull-up;
    -		};
    -	};
    diff --git a/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
    new file mode 100644
    index 000000000000..5c21f54b0e2b
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/pinctrl/semtech,sx1501q.yaml
    @@ -0,0 +1,207 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +# Copyright 2022 Linaro Ltd.
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/pinctrl/semtech,sx1501q.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Semtech SX150x GPIO expander
    +
    +maintainers:
    +  - Neil Armstrong <neil.armstrong@linaro.org>
    +
    +properties:
    +  compatible:
    +    enum:
    +      - semtech,sx1501q
    +      - semtech,sx1502q
    +      - semtech,sx1503q
    +      - semtech,sx1504q
    +      - semtech,sx1505q
    +      - semtech,sx1506q
    +      - semtech,sx1507q
    +      - semtech,sx1508q
    +      - semtech,sx1509q
    +
    +  reg: true
    +
    +  interrupts:
    +    maxItems: 1
    +
    +  '#interrupt-cells':
    +    const: 2
    +
    +  interrupt-controller: true
    +
    +  '#gpio-cells':
    +    const: 2
    +
    +  gpio-controller: true
    +
    +  semtech,probe-reset:
    +    description: Will trigger a reset of the GPIO expander on probe
    +    type: boolean
    +
    +patternProperties:
    +  '-cfg$':
    +    type: object
    +    properties:
    +      pins: true
    +
    +      bias-disable: true
    +      bias-pull-up: true
    +      bias-pull-down: true
    +      bias-pull-pin-default: true
    +      drive-push-pull: true
    +      output-low: true
    +      output-high: true
    +      drive-open-drain: true
    +
    +    required:
    +      - pins
    +
    +    allOf:
    +      - $ref: "pincfg-node.yaml#"
    +      - $ref: "pinmux-node.yaml#"
    +      - if:
    +          properties:
    +            pins:
    +              contains:
    +                const: "oscio"
    +        then:
    +          properties:
    +            bias-disable: false
    +            bias-pull-up: false
    +            bias-pull-down: false
    +            bias-pull-pin-default: false
    +            drive-open-drain: false
    +
    +    additionalProperties: false
    +
    +required:
    +  - compatible
    +  - reg
    +  - '#gpio-cells'
    +  - gpio-controller
    +
    +allOf:
    +  - $ref: "pinctrl.yaml#"
    +  - if:
    +      not:
    +        properties:
    +          compatible:
    +            contains:
    +              enum:
    +                - semtech,sx1507q
    +                - semtech,sx1508q
    +                - semtech,sx1509q
    +    then:
    +      properties:
    +        semtech,probe-reset: false
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1501q
    +              - semtech,sx1504q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-3]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1502q
    +              - semtech,sx1505q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-7]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            enum:
    +              - semtech,sx1503q
    +              - semtech,sx1506q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^gpio[0-15]$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1507q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-3])$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1508q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-7])$'
    +  - if:
    +      properties:
    +        compatible:
    +          contains:
    +            const: semtech,sx1509q
    +    then:
    +      patternProperties:
    +        '-cfg$':
    +          properties:
    +            pins:
    +              items:
    +                pattern: '^(oscio|gpio[0-15])$'
    +
    +additionalProperties: false
    +
    +examples:
    +  - |
    +    #include <dt-bindings/interrupt-controller/irq.h>
    +    i2c@1000 {
    +        reg = <0x1000 0x80>;
    +        #address-cells = <1>;
    +        #size-cells = <0>;
    +
    +        pinctrl@20 {
    +            compatible = "semtech,sx1501q";
    +            reg = <0x20>;
    +
    +            #gpio-cells = <2>;
    +            #interrupt-cells = <2>;
    +
    +            interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
    +
    +            gpio-controller;
    +            interrupt-controller;
    +
    +            gpio1-cfg {
    +                  pins = "gpio1";
    +                  bias-pull-up;
    +            };
    +        };
    +    };
    
    ---
    base-commit: 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
    change-id: 20221005-mdm9615-sx1509q-yaml-7cfabf896fff
    
    Best regards,
  • sent/mdm9615/dt-schema-fixes-v2
    arm: qcom: mdm9615: first round of bindings and DT fixes
    
    This is a first round of trivial bindings & DT fixes for the MDM9615 platform.
    
    This first round focuses on trivial changes, the remaining work will
    mainly be .txt to .yaml transition of old qcom pmic & co device bindings.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <bjorn.andersson@linaro.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Lee Jones <lee@kernel.org>
    To: Satya Priya <quic_c_skakit@quicinc.com>
    To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    To: Alessandro Zummo <a.zummo@towertech.it>
    To: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Bjorn Andersson <andersson@kernel.org>
    Cc: linux-input@vger.kernel.org
    Cc: linux-rtc@vger.kernel.org
    Dependencies: None
    Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v2:
    - patch 1: switch to move from swir.txt to qcom.yaml
    - patch 2: use MIT licence instead of X11 licence
    - patch 3: move reg after compatible
    - patch 4: added Krzysztof's review
    - patch 5: split into 5 changes:
      - document qcom,pm8921 as fallback of qcom,pm8018
      - convert qcom,pm8921-pwrkey to dt-schema
      - document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
      - drop unused PM8018 compatible
      - drop unused pm8018 RTC compatible
    - patch 6: None
    - patch 7: Reworded commit log based on Dmitry's wording on similar patches
    - Link to v1: https://lore.kernel.org/r/20220928-mdm9615-dt-schema-fixes-v1-0-b6e63a7df1e8@linaro.org
    
    ---
    Neil Armstrong (11):
          dt-bindings: arm: qcom: move swir,mangoh-green-wp8548 board documentation to qcom.yaml
          arm: dts: qcom: mdm9615*: add SPDX-License-Identifier
          arm: dts: qcom: mdm9615: add missing reg in cpu@0 node
          arm: dts: qcom: mdm9615: remove invalid spi-max-frequency gsbi3_spi node
          dt-bindings: mfd: qcom-pm8xxx: document qcom,pm8921 as fallback of qcom,pm8018
          dt-bindings: input: qcom,pm8921-pwrkey: convert to dt-schema
          dt-bindings: rtc: qcom-pm8xxx: document qcom,pm8921-rtc as fallback of qcom,pm8018-rtc
          mfd: qcom-pm8xxx: drop unused PM8018 compatible
          rtc: pm8xxx: drop unused pm8018 compatible
          arm: dts: qcom: mdm9615: remove invalid interrupt-names from pl18x mmc nodes
          arm: dts: qcom: mdm9615: remove useless amba subnode
    
     Documentation/devicetree/bindings/arm/qcom.yaml    |   6 +
     Documentation/devicetree/bindings/arm/swir.txt     |  12 --
     .../bindings/input/qcom,pm8921-pwrkey.yaml         |  77 +++++++++++++
     .../bindings/input/qcom,pm8xxx-pwrkey.txt          |  46 --------
     .../devicetree/bindings/mfd/qcom-pm8xxx.yaml       |  45 +++++++-
     .../devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml   |  16 ++-
     .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts  |  39 +------
     arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi         |  39 +------
     arch/arm/boot/dts/qcom-mdm9615.dtsi                | 121 +++++++--------------
     drivers/mfd/qcom-pm8xxx.c                          |   1 -
     drivers/rtc/rtc-pm8xxx.c                           |   1 -
     11 files changed, 173 insertions(+), 230 deletions(-)
    ---
    base-commit: f76349cf41451c5c42a99f18a9163377e4b364ff
    change-id: 20220928-mdm9615-dt-schema-fixes-66d4d0ccb7c7
    
    Best regards,
  • sent/mdm9615/dt-schema-fixes-v1
    arm: qcom: mdm9615: first round of bindings and DT fixes
    
    This is a first round of trivial bindings & DT fixes for the MDM9615 platform.
    
    This first round focuses on trivial changes, the remaining work will
    mainly be .txt to .yaml transition of old qcom pmic & co device bindings.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <bjorn.andersson@linaro.org>
    To: Konrad Dybcio <konrad.dybcio@somainline.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Dependencies: None
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (7):
          dt-bindings: arm: qcom: document the swir,mangoh-green-wp8548 board
          arm: dts: qcom: mdm9615*: add SPDX-License-Identifier
          arm: dts: qcom: mdm9615: add missing reg in cpu@0 node
          arm: dts: qcom: mdm9615: remove invalid spi-max-frequency gsbi3_spi node
          arm: dts: qcom: mdm9615: remove invalid pmic subnodes compatibles
          arm: dts: qcom: mdm9615: remove invalid interrupt-names from pl18x mmc nodes
          arm: dts: qcom: mdm9615: remove useless amba subnode
    
     Documentation/devicetree/bindings/arm/qcom.yaml    |   6 +
     .../boot/dts/qcom-mdm9615-wp8548-mangoh-green.dts  |  39 +------
     arch/arm/boot/dts/qcom-mdm9615-wp8548.dtsi         |  39 +------
     arch/arm/boot/dts/qcom-mdm9615.dtsi                | 127 +++++++--------------
     4 files changed, 49 insertions(+), 162 deletions(-)
    ---
    base-commit: f76349cf41451c5c42a99f18a9163377e4b364ff
    change-id: 20220928-mdm9615-dt-schema-fixes-66d4d0ccb7c7
    
    Best regards,