# 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,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
      - 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>;
        };
    };
