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