1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/watchdog/qcom-wdt.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm Krait Processor Sub-system (KPSS) Watchdog timer 8 9maintainers: 10 - Rajendra Nayak <quic_rjendra@quicinc.com> 11 12properties: 13 $nodename: 14 pattern: "^(watchdog|timer)@[0-9a-f]+$" 15 16 compatible: 17 oneOf: 18 - items: 19 - enum: 20 - qcom,apss-wdt-glymur 21 - qcom,kpss-wdt-ipq4019 22 - qcom,apss-wdt-ipq5018 23 - qcom,apss-wdt-ipq5332 24 - qcom,apss-wdt-ipq5424 25 - qcom,apss-wdt-ipq9574 26 - qcom,apss-wdt-kaanapali 27 - qcom,apss-wdt-msm8226 28 - qcom,apss-wdt-msm8974 29 - qcom,apss-wdt-msm8994 30 - qcom,apss-wdt-qcm2290 31 - qcom,apss-wdt-qcs404 32 - qcom,apss-wdt-qcs615 33 - qcom,apss-wdt-qcs8300 34 - qcom,apss-wdt-sa8255p 35 - qcom,apss-wdt-sa8775p 36 - qcom,apss-wdt-sc7180 37 - qcom,apss-wdt-sc7280 38 - qcom,apss-wdt-sc8180x 39 - qcom,apss-wdt-sc8280xp 40 - qcom,apss-wdt-sdm845 41 - qcom,apss-wdt-sdx55 42 - qcom,apss-wdt-sdx65 43 - qcom,apss-wdt-sm6115 44 - qcom,apss-wdt-sm6350 45 - qcom,apss-wdt-sm8150 46 - qcom,apss-wdt-sm8250 47 - qcom,apss-wdt-x1e80100 48 - const: qcom,kpss-wdt 49 - const: qcom,kpss-wdt 50 deprecated: true 51 - items: 52 - const: qcom,scss-timer 53 - const: qcom,msm-timer 54 - items: 55 - enum: 56 - qcom,kpss-wdt-apq8064 57 - qcom,kpss-wdt-ipq8064 58 - qcom,kpss-wdt-mdm9615 59 - qcom,kpss-wdt-msm8960 60 - const: qcom,kpss-timer 61 - const: qcom,msm-timer 62 63 reg: 64 maxItems: 1 65 66 clocks: 67 maxItems: 1 68 69 clock-names: 70 items: 71 - const: sleep 72 73 clock-frequency: 74 description: 75 The frequency of the general purpose timer in Hz. 76 77 cpu-offset: 78 $ref: /schemas/types.yaml#/definitions/uint32 79 description: 80 Per-CPU offset used when the timer is accessed without the CPU remapping 81 facilities. The offset is cpu-offset + (0x10000 * cpu-nr). 82 83 interrupts: 84 minItems: 1 85 maxItems: 5 86 87required: 88 - compatible 89 - reg 90 - clocks 91 92allOf: 93 - $ref: watchdog.yaml# 94 95 - if: 96 properties: 97 compatible: 98 contains: 99 const: qcom,kpss-wdt 100 then: 101 properties: 102 clock-frequency: false 103 cpu-offset: false 104 interrupts: 105 minItems: 1 106 items: 107 - description: Bark 108 - description: Bite 109 110 else: 111 properties: 112 interrupts: 113 minItems: 3 114 items: 115 - description: Debug 116 - description: First general purpose timer 117 - description: Second general purpose timer 118 - description: First watchdog 119 - description: Second watchdog 120 required: 121 - clock-frequency 122 123unevaluatedProperties: false 124 125examples: 126 - | 127 #include <dt-bindings/interrupt-controller/arm-gic.h> 128 129 watchdog@17c10000 { 130 compatible = "qcom,apss-wdt-sm8150", "qcom,kpss-wdt"; 131 reg = <0x17c10000 0x1000>; 132 clocks = <&sleep_clk>; 133 interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>; 134 timeout-sec = <10>; 135 }; 136 137 - | 138 #include <dt-bindings/interrupt-controller/arm-gic.h> 139 140 watchdog@200a000 { 141 compatible = "qcom,kpss-wdt-ipq8064", "qcom,kpss-timer", "qcom,msm-timer"; 142 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 143 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 144 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 145 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 146 <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 147 reg = <0x0200a000 0x100>; 148 clock-frequency = <25000000>; 149 clocks = <&sleep_clk>; 150 clock-names = "sleep"; 151 cpu-offset = <0x80000>; 152 }; 153