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