# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SPMI PMICs multi-function device

description: |
  Some Qualcomm PMICs used with the Snapdragon series SoCs are interfaced
  to the chip via the SPMI (System Power Management Interface) bus.
  Support for multiple independent functions are implemented by splitting the
  16-bit SPMI peripheral address space into 256 smaller fixed-size regions, 256 bytes
  each. A function can consume one or more of these fixed-size register regions.

  The Qualcomm SPMI series includes the PM8941, PM8841, PMA8084, PM8998 and other
  PMICs.  These PMICs use a "QPNP" scheme through SPMI interface.
  QPNP is effectively a partitioning scheme for dividing the SPMI extended
  register space up into logical pieces, and set of fixed register
  locations/definitions within these regions, with some of these regions
  specifically used for interrupt handling.

maintainers:
  - Stephen Boyd <sboyd@kernel.org>

properties:
  $nodename:
    oneOf:
      - pattern: '^pmic@.*$'
      - pattern: '^pm(a|s)?[0-9]*@.*$'
        deprecated: true

  compatible:
    items:
      - enum:
          - qcom,pm2250
          - qcom,pm6125
          - qcom,pm6150
          - qcom,pm6150l
          - qcom,pm6350
          - qcom,pm660
          - qcom,pm660l
          - qcom,pm7250b
          - qcom,pm7550ba
          - qcom,pm7325
          - qcom,pm8004
          - qcom,pm8005
          - qcom,pm8009
          - qcom,pm8010
          - qcom,pm8019
          - qcom,pm8028
          - qcom,pm8110
          - qcom,pm8150
          - qcom,pm8150b
          - qcom,pm8150c
          - qcom,pm8150l
          - qcom,pm8226
          - qcom,pm8350
          - qcom,pm8350b
          - qcom,pm8350c
          - qcom,pm8450
          - qcom,pm8550
          - qcom,pm8550b
          - qcom,pm8550ve
          - qcom,pm8550vs
          - qcom,pm8841
          - qcom,pm8909
          - qcom,pm8916
          - qcom,pm8937
          - qcom,pm8941
          - qcom,pm8950
          - qcom,pm8953
          - qcom,pm8994
          - qcom,pm8998
          - qcom,pma8084
          - qcom,pmc8180
          - qcom,pmc8180c
          - qcom,pmc8380
          - qcom,pmd9635
          - qcom,pmi632
          - qcom,pmi8950
          - qcom,pmi8962
          - qcom,pmi8994
          - qcom,pmi8998
          - qcom,pmk8002
          - qcom,pmk8350
          - qcom,pmk8550
          - qcom,pmm8155au
          - qcom,pmm8654au
          - qcom,pmp8074
          - qcom,pmr735a
          - qcom,pmr735b
          - qcom,pmr735d
          - qcom,pms405
          - qcom,pmx55
          - qcom,pmx65
          - qcom,pmx75
          - qcom,smb2351
          - qcom,smb2360
      - const: qcom,spmi-pmic

  reg:
    minItems: 1
    maxItems: 2

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  labibb:
    type: object
    $ref: /schemas/regulator/qcom-labibb-regulator.yaml#

  regulators:
    type: object
    $ref: /schemas/regulator/qcom,spmi-regulator.yaml#

  pwm:
    type: object
    $ref: /schemas/leds/leds-qcom-lpg.yaml#

patternProperties:
  "^adc@[0-9a-f]+$":
    type: object
    oneOf:
      - $ref: /schemas/iio/adc/qcom,spmi-iadc.yaml#
      - $ref: /schemas/iio/adc/qcom,spmi-rradc.yaml#
      - $ref: /schemas/iio/adc/qcom,spmi-vadc.yaml#

  "^adc-tm@[0-9a-f]+$":
    type: object
    # ref depends on compatible, see allOf below

  "^audio-codec@[0-9a-f]+$":
    type: object
    $ref: /schemas/sound/qcom,pm8916-wcd-analog-codec.yaml#

  "^battery@[0-9a-f]+$":
    type: object
    oneOf:
      - $ref: /schemas/power/supply/qcom,pm8916-bms-vm.yaml#

  "^charger@[0-9a-f]+$":
    type: object
    oneOf:
      - $ref: /schemas/power/supply/qcom,pm8916-lbc.yaml#
      - $ref: /schemas/power/supply/qcom,pm8941-charger.yaml#
      - $ref: /schemas/power/supply/qcom,pm8941-coincell.yaml#
      - $ref: /schemas/power/supply/qcom,pmi8998-charger.yaml#

  "gpio@[0-9a-f]+$":
    type: object
    $ref: /schemas/pinctrl/qcom,pmic-gpio.yaml#

  "^led-controller@[0-9a-f]+$":
    type: object
    $ref: /schemas/leds/qcom,spmi-flash-led.yaml#

  "^nvram@[0-9a-f]+$":
    type: object
    $ref: /schemas/nvmem/qcom,spmi-sdam.yaml#

  "^pbs@[0-9a-f]+$":
    type: object
    $ref: /schemas/soc/qcom/qcom,pbs.yaml#

  "phy@[0-9a-f]+$":
    type: object
    $ref: /schemas/phy/qcom,snps-eusb2-repeater.yaml#

  "pon@[0-9a-f]+$":
    type: object
    $ref: /schemas/power/reset/qcom,pon.yaml#

  "^rtc@[0-9a-f]+$":
    type: object
    $ref: /schemas/rtc/qcom-pm8xxx-rtc.yaml#

  "^temp-alarm@[0-9a-f]+$":
    type: object
    $ref: /schemas/thermal/qcom,spmi-temp-alarm.yaml#

  "^typec@[0-9a-f]+$":
    type: object
    $ref: /schemas/usb/qcom,pmic-typec.yaml#

  "^usb-detect@[0-9a-f]+$":
    type: object
    $ref: /schemas/extcon/qcom,pm8941-misc.yaml#

  "^usb-vbus-regulator@[0-9a-f]+$":
    type: object
    $ref: /schemas/regulator/qcom,usb-vbus-regulator.yaml#

  "^vibrator@[0-9a-f]+$":
    type: object
    $ref: /schemas/input/qcom,pm8xxx-vib.yaml#

  "^mpps@[0-9a-f]+$":
    type: object
    $ref: /schemas/pinctrl/qcom,pmic-mpp.yaml#

  "(.*)?(wled|leds)@[0-9a-f]+$":
    type: object
    $ref: /schemas/leds/backlight/qcom-wled.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8998
    then:
      patternProperties:
        "^adc-tm@[0-9a-f]+$":
          $ref: /schemas/thermal/qcom-spmi-adc-tm-hc.yaml#
    else:
      patternProperties:
        "^adc-tm@[0-9a-f]+$":
          $ref: /schemas/thermal/qcom-spmi-adc-tm5.yaml#

additionalProperties: false

examples:
  - |
    #include <dt-bindings/spmi/spmi.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    spmi@c440000 {
        compatible = "qcom,spmi-pmic-arb";
        reg = <0x0c440000 0x1100>,
              <0x0c600000 0x2000000>,
              <0x0e600000 0x100000>,
              <0x0e700000 0xa0000>,
              <0x0c40a000 0x26000>;
        reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
        interrupt-names = "periph_irq";
        interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
        qcom,ee = <0>;
        qcom,channel = <0>;
        #address-cells = <2>;
        #size-cells = <0>;
        interrupt-controller;
        #interrupt-cells = <4>;

        pmic@2 {
            compatible = "qcom,pmi8998", "qcom,spmi-pmic";
            reg = <0x2 SPMI_USID>;
            #address-cells = <1>;
            #size-cells = <0>;

            gpio@c000 {
                compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
                reg = <0xc000>;
                gpio-controller;
                gpio-ranges = <&pmi8998_gpio 0 0 14>;
                #gpio-cells = <2>;
                interrupt-controller;
                #interrupt-cells = <2>;
            };
        };
    };

  - |
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/iio/qcom,spmi-vadc.h>
    #include <dt-bindings/spmi/spmi.h>

    pmic@0 {
        compatible = "qcom,pm6150", "qcom,spmi-pmic";
        reg = <0x0 SPMI_USID>;
        #address-cells = <1>;
        #size-cells = <0>;

        pon@800 {
            compatible = "qcom,pm8998-pon";
            reg = <0x800>;
            mode-bootloader = <0x2>;
            mode-recovery = <0x1>;

            pwrkey {
                compatible = "qcom,pm8941-pwrkey";
                interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
                debounce = <15625>;
                bias-pull-up;
                linux,code = <KEY_POWER>;
            };
        };

        temp-alarm@2400 {
            compatible = "qcom,spmi-temp-alarm";
            reg = <0x2400>;
            interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
            io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
            io-channel-names = "thermal";
            #thermal-sensor-cells = <0>;
        };

        pm6150_adc: adc@3100 {
            compatible = "qcom,spmi-adc5";
            reg = <0x3100>;
            interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
            #address-cells = <1>;
            #size-cells = <0>;
            #io-channel-cells = <1>;

            channel@6 {
                reg = <ADC5_DIE_TEMP>;
                label = "die_temp";
            };

            channel@4f {
                reg = <ADC5_AMUX_THM3_100K_PU>;
                qcom,ratiometric;
                qcom,hw-settle-time = <200>;
            };
        };

        adc-tm@3500 {
            compatible = "qcom,spmi-adc-tm5";
            reg = <0x3500>;
            interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
            #thermal-sensor-cells = <1>;
            #address-cells = <1>;
            #size-cells = <0>;

            charger-thermistor@0 {
                reg = <0>;
                io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
                qcom,ratiometric;
                qcom,hw-settle-time-us = <200>;
            };
        };

        gpio@c000 {
            compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
            reg = <0xc000>;
            gpio-controller;
            gpio-ranges = <&pm6150_gpio 0 0 10>;
            #gpio-cells = <2>;
            interrupt-controller;
            #interrupt-cells = <2>;
        };
    };
