brintos

brintos / linux-shallow public Read only

0
0
Text · 3.2 KiB · fc8105a Raw
148 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/power/reset/qcom,pon.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm PON Device8 9maintainers:10  - Vinod Koul <vkoul@kernel.org>11 12description: |13  The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey14  and resin along with the Android reboot-mode.15 16  This DT node has pwrkey and resin as sub nodes.17 18properties:19  compatible:20    enum:21      - qcom,pm8916-pon22      - qcom,pm8941-pon23      - qcom,pms405-pon24      - qcom,pm8998-pon25      - qcom,pmk8350-pon26 27  reg:28    description: |29      Specifies the SPMI base address for the PON (power-on) peripheral.  For30      PMICs that have the PON peripheral (GEN3) split into PON_HLOS and PON_PBS31      (e.g. PMK8350), this can hold addresses of both PON_HLOS and PON_PBS32      peripherals.  In that case, the PON_PBS address needs to be specified to33      facilitate software debouncing on some PMIC.34    minItems: 135    maxItems: 236 37  reg-names:38    minItems: 139    maxItems: 240 41  pwrkey:42    type: object43    $ref: /schemas/input/qcom,pm8941-pwrkey.yaml#44 45  resin:46    type: object47    $ref: /schemas/input/qcom,pm8941-pwrkey.yaml#48 49  watchdog:50    type: object51    $ref: /schemas/watchdog/qcom,pm8916-wdt.yaml52 53required:54  - compatible55  - reg56 57unevaluatedProperties: false58 59allOf:60  - if:61      properties:62        compatible:63          contains:64            enum:65              - qcom,pm8916-pon66              - qcom,pms405-pon67              - qcom,pm8998-pon68    then:69      allOf:70        - $ref: reboot-mode.yaml#71 72      properties:73        reg:74          maxItems: 175        reg-names:76          items:77            - const: pon78 79    # Special case for pm8941, which doesn't store reset mode80  - if:81      properties:82        compatible:83          contains:84            const: qcom,pm8941-pon85    then:86      properties:87        reg:88          maxItems: 189        reg-names:90          items:91            - const: pon92 93  - if:94      properties:95        compatible:96          contains:97            const: qcom,pmk8350-pon98    then:99      properties:100        reg:101          minItems: 1102          maxItems: 2103        reg-names:104          minItems: 1105          items:106            - const: hlos107            - const: pbs108 109examples:110  - |111   #include <dt-bindings/interrupt-controller/irq.h>112   #include <dt-bindings/input/linux-event-codes.h>113   #include <dt-bindings/spmi/spmi.h>114 115   spmi@c440000 {116     reg = <0x0c440000 0x1100>;117     #address-cells = <2>;118     #size-cells = <0>;119 120     pmic@0 {121       reg = <0x0 SPMI_USID>;122       #address-cells = <1>;123       #size-cells = <0>;124 125       pon@800 {126         compatible = "qcom,pm8998-pon";127         reg = <0x800>;128 129         pwrkey {130            compatible = "qcom,pm8941-pwrkey";131            interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;132            debounce = <15625>;133            bias-pull-up;134            linux,code = <KEY_POWER>;135         };136 137         resin {138            compatible = "qcom,pm8941-resin";139            interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;140            debounce = <15625>;141            bias-pull-up;142            linux,code = <KEY_VOLUMEDOWN>;143         };144       };145     };146   };147...148