4.6.2. 参数配置

4.6.2.1. 内核配置

参考快速入门 - 编译概述 - Kernel配置,进入kernel的功能配置,按如下选择:

Linux
    Device Drivers
        [*] Watchdog Timer Support
            <*>   ZX SoC watchdog support

4.6.2.2. DTS 参数配置

4.6.2.2.1. Watchdog 自定义参数

Watchdog 驱动支持从DTS中配置的自定义参数,如下表:

参数名称

适用版本

类型

取值范围

功能说明

dbg_continue

V1.0

boolean

有 - 1,无 - 0

用Jtag进入debug状态时,计数是否继续
默认值是0,停止计数

clr_thd

V1.0

正整数

> 0 ,单位:秒

允许清除WDT的最小秒数

小技巧

  1. 关于清除WDT的逻辑关系,请参考图 Watchdog 清零的窗口示意图 的相关说明。

  2. 在FPGA环境,清零窗口的功能无效,需要屏蔽clr_thd的判断逻辑。

4.6.2.2.2. Common 配置

在common/m4.dtsi中的Watchdog控制器定义:

wdt0: watchdog@19000000 {
    compatible = "zx,aic-wdt-v1.0";
    reg = <0x0 0x19000000 0x0 0x1000>;
    interrupts-extended = <&plic0 64 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&cmu CLK_WDOG>;
    resets = <&rst RESET_WDOG>;
    dbg_continue;  // 使用Jtag进入debug状态时,计数是否继续。默认是暂停计数
    clr_thd = <3>;  // 用于设置clr_thd,单位:秒
};

备注

其中有两个扩展字段,如果没有配置将默认是0。

4.6.2.2.3. Board 配置

xxx-board.dts中的参数配置比较简单,只是说明是否要打开Watchdog:

&wdt0 {
    status = "okay";
};