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