[v5,0/2] Add WDT driver for Toshiba Visconti ARM SoC

Message ID 20201005023012.603026-1-nobuhiro1.iwamatsu@toshiba.co.jp
Headers show
Series
  • Add WDT driver for Toshiba Visconti ARM SoC
Related show

Message

Nobuhiro Iwamatsu Oct. 5, 2020, 2:30 a.m.
Hi,

This is the WDT driver for Toshiba's ARM SoC, Visconti[0].
This has not yet been included in Linux kernel, but patches have been posted [1]
and some patches have been applied [2].

Since this is a SoC driver, this cannot work by itself, but I have confirmed that it
works with the patch series sent as [1] with DT setting.

Best regards,
  Nobuhiro

[0]: https://toshiba.semicon-storage.com/ap-en/semiconductor/product/image-recognition-processors-visconti.html
[1]: http://lists.infradead.org/pipermail/linux-arm-kernel/2020-September/599678.html
[2]: http://lists.infradead.org/pipermail/linux-arm-kernel/2020-September/600578.html

watchdog: bindings: Add binding documentation for Toshiba Visconti watchdog device
  v4 - > v5:
    - Add 'additionalProperties: false' property 
    - Add Reviewed-by: Rob Herring <robh@kernel.org>
  v3 - > v4:
    - Add timeout-sec property 
    - Add Reviewed-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
  v2 - > v3:
    - no update
  v1 - > v2:
    - no update

watchdog: Add Toshiba Visconti watchdog driver
  v4 - > v5:
    - Add devm_add_action_or_reset().
  v3 - > v4:
    - Remove unnecessary include file.
    - Drop unnecessary MODULE_AUTHOR.
    - Add Reviewed-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
  v2 - > v3:
    - Fix unnecessary split lines
    - Fix negative value check and handling for visconti_wdt_get_timelef()
  v1 - > v2:
    - Sort incclude alphabetically.
    - Add negative value check and handling for visconti_wdt_get_timelef()
    - Use dev_err_probe() with devm_clk_get()

Nobuhiro Iwamatsu (2):
  watchdog: bindings: Add binding documentation for Toshiba Visconti
    watchdog device
  watchdog: Add Toshiba Visconti watchdog driver

 .../watchdog/toshiba,visconti-wdt.yaml        |  54 +++++
 drivers/watchdog/Kconfig                      |   8 +
 drivers/watchdog/Makefile                     |   1 +
 drivers/watchdog/visconti_wdt.c               | 195 ++++++++++++++++++
 4 files changed, 258 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/watchdog/toshiba,visconti-wdt.yaml
 create mode 100644 drivers/watchdog/visconti_wdt.c

Comments

Guenter Roeck Oct. 5, 2020, 3:33 p.m. | #1
On 10/4/20 7:30 PM, Nobuhiro Iwamatsu wrote:
> Add documentation for the binding of Toshiba Visconti SoC's watchdog.
> 
> Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
> Reviewed-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
> Reviewed-by: Rob Herring <robh@kernel.org>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  .../watchdog/toshiba,visconti-wdt.yaml        | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/watchdog/toshiba,visconti-wdt.yaml
> 
> diff --git a/Documentation/devicetree/bindings/watchdog/toshiba,visconti-wdt.yaml b/Documentation/devicetree/bindings/watchdog/toshiba,visconti-wdt.yaml
> new file mode 100644
> index 000000000000..690e19ce4b87
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/toshiba,visconti-wdt.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2020 Toshiba Electronic Devices & Storage Corporation
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/watchdog/toshiba,visconti-wdt.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Toshiba Visconti SoCs PIUWDT Watchdog timer
> +
> +maintainers:
> +  - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
> +
> +allOf:
> +  - $ref: watchdog.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - toshiba,visconti-wdt
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  timeout-sec: true
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    soc {
> +        #address-cells = <2>;
> +        #size-cells = <2>;
> +
> +        wdt_clk: wdt-clk {
> +            compatible = "fixed-clock";
> +            clock-frequency = <150000000>;
> +            #clock-cells = <0>;
> +        };
> +
> +        watchdog@28330000 {
> +            compatible = "toshiba,visconti-wdt";
> +            reg = <0 0x28330000 0 0x1000>;
> +            clocks = <&wdt_clk>;
> +            timeout-sec = <20>;
> +        };
> +    };
>