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