Commit 57d76cec authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'linux-watchdog-6.20-rc1' of git://www.linux-watchdog.org/linux-watchdog

Pull watchdog updates from Wim Van Sebroeck:

 - iTCO: Drop vendor support

 - s3c2410_wdt: Drop S3C2410 support

 - Convert mpc8xxx-wdt to YAML

 - Several small fixes and improvements

* tag 'linux-watchdog-6.20-rc1' of git://www.linux-watchdog.org/linux-watchdog:
  dt-bindings: watchdog: qcom-wdt: Document Glymur watchdog
  dt-bindings: watchdog: Convert mpc8xxx-wdt to YAML
  dt-bindings: watchdog: samsung-wdt: Split if:then: and constrain more
  dt-bindings: watchdog: samsung-wdt: Drop S3C2410
  watchdog: s3c2410_wdt: Drop S3C2410 support
  dt-bindings: watchdog: samsung-wdt: Define cluster constraints top-level
  watchdog: rzv2h_wdt: Discard pm_runtime_put() return value
  watchdog: rz: Discard pm_runtime_put() return values
  watchdog: Make API functions const correct
  watchdog: imx7ulp_wdt: handle the nowayout option
  watchdog: sbsa: Update the W_IIDR Implementer bit mask to 0xFFF
  watchdog: Always return time left until watchdog times out
  watchdog: iTCO: Drop vendor support
  watchdog: starfive-wdt: Fix PM reference leak in probe error path
  fix it87_wdt early reboot by reporting running timer
parents 2228d9cf 450517fa
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
* Freescale mpc8xxx watchdog driver (For 83xx, 86xx and 8xx)

Required properties:
- compatible: Shall contain one of the following:
	"mpc83xx_wdt" for an mpc83xx
	"fsl,mpc8610-wdt" for an mpc86xx
	"fsl,mpc823-wdt" for an mpc8xx
- reg: base physical address and length of the area hosting the
       watchdog registers.
		On the 83xx, "Watchdog Timer Registers" area:	<0x200 0x100>
		On the 86xx, "Watchdog Timer Registers" area:	<0xe4000 0x100>
		On the 8xx, "General System Interface Unit" area: <0x0 0x10>

Optional properties:
- reg: additional physical address and length (4) of location of the
       Reset Status Register (called RSTRSCR on the mpc86xx)
		On the 83xx, it is located at offset 0x910
		On the 86xx, it is located at offset 0xe0094
		On the 8xx, it is located at offset 0x288

Example:
		WDT: watchdog@0 {
		    compatible = "fsl,mpc823-wdt";
		    reg = <0x0 0x10 0x288 0x4>;
		};
+64 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/mpc8xxx-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale MPC8xxx watchdog timer (For 83xx, 86xx and 8xx)

maintainers:
  - J. Neuschäfer <j.ne@posteo.net>

properties:
  compatible:
    enum:
      - mpc83xx_wdt       # for an mpc83xx
      - fsl,mpc8610-wdt   # for an mpc86xx
      - fsl,mpc823-wdt    # for an mpc8xx

  device_type:
    const: watchdog

  reg:
    minItems: 1
    items:
      - description: |
          Base physical address and length of the area hosting the watchdog
          registers.

          On the 83xx, "Watchdog Timer Registers" area:     <0x200 0x100>
          On the 86xx, "Watchdog Timer Registers" area:     <0xe4000 0x100>
          On the 8xx, "General System Interface Unit" area: <0x0 0x10>

      - description: |
          Additional optional physical address and length (4) of location of
          the Reset Status Register (called RSTRSCR on the mpc86xx)

          On the 83xx, it is located at offset 0x910
          On the 86xx, it is located at offset 0xe0094
          On the 8xx, it is located at offset 0x288

required:
  - compatible
  - reg

allOf:
  - $ref: watchdog.yaml#

additionalProperties: false

examples:
  - |
    watchdog@0 {
        compatible = "fsl,mpc823-wdt";
        reg = <0x0 0x10 0x288 0x4>;
    };

  - |
    watchdog@200 {
        compatible = "mpc83xx_wdt";
        reg = <0x200 0x100>;
        device_type = "watchdog";
    };

...
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ properties:
    oneOf:
      - items:
          - enum:
              - qcom,apss-wdt-glymur
              - qcom,kpss-wdt-ipq4019
              - qcom,apss-wdt-ipq5018
              - qcom,apss-wdt-ipq5332
+44 −12
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ properties:
    oneOf:
      - enum:
          - google,gs101-wdt                      # for Google gs101
          - samsung,s3c2410-wdt                   # for S3C2410
          - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
          - samsung,exynos5250-wdt                # for Exynos5250
          - samsung,exynos5420-wdt                # for Exynos5420
@@ -49,6 +48,7 @@ properties:

  samsung,cluster-index:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2]
    description:
      Index of CPU cluster on which watchdog is running (in case of Exynos850,
      Exynos990 or Google gs101).
@@ -74,26 +74,31 @@ allOf:
          contains:
            enum:
              - google,gs101-wdt
              - samsung,exynos5250-wdt
              - samsung,exynos5420-wdt
              - samsung,exynos7-wdt
              - samsung,exynos850-wdt
              - samsung,exynos990-wdt
              - samsung,exynosautov9-wdt
              - samsung,exynosautov920-wdt
    then:
      properties:
        clocks:
          items:
            - description: Bus clock, used for register interface
            - description: Source clock (driving watchdog counter)
        clock-names:
          items:
            - const: watchdog
            - const: watchdog_src
        samsung,cluster-index:
          enum: [0, 1]
      required:
        - samsung,cluster-index
        - samsung,syscon-phandle

  - if:
      properties:
        compatible:
          contains:
            enum:
              - google,gs101-wdt
              - samsung,exynos850-wdt
              - samsung,exynos990-wdt
              - samsung,exynosautov9-wdt
              - samsung,exynosautov920-wdt
    then:
      properties:
        clocks:
@@ -104,11 +109,37 @@ allOf:
          items:
            - const: watchdog
            - const: watchdog_src
        samsung,cluster-index:
          enum: [0, 1, 2]
      required:
        - samsung,cluster-index
    else:
        - samsung,syscon-phandle

  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,exynos5250-wdt
              - samsung,exynos5420-wdt
              - samsung,exynos7-wdt
    then:
      properties:
        clocks:
          items:
            - description: Bus clock, which is also a source clock
        clock-names:
          items:
            - const: watchdog
        samsung,cluster-index: false
      required:
        - samsung,syscon-phandle

  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,s3c6410-wdt
    then:
      properties:
        clocks:
          items:
@@ -117,6 +148,7 @@ allOf:
          items:
            - const: watchdog
        samsung,cluster-index: false
        samsung,syscon-phandle: false

unevaluatedProperties: false

+1 −1
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ To initialize the timeout field, the following function can be used::

  extern int watchdog_init_timeout(struct watchdog_device *wdd,
                                   unsigned int timeout_parm,
                                   struct device *dev);
                                   const struct device *dev);

The watchdog_init_timeout function allows you to initialize the timeout field
using the module timeout parameter or by retrieving the timeout-sec property from
Loading