Hi.

I have a bug to report. I tried starting the watchdog on Asus TinkerBoard S
(Rockchip RK3288), but it's not working. I investigated a little bit. Here's
what I found so far:

=> wdt dev watchdog@ff800000
drivers/core/ofnode.c:417-ofnode_read_u32_index() ofnode_read_u32_index: 
timeout-sec: (not found)
drivers/core/ofnode.c:417-ofnode_read_u32_index() ofnode_read_u32_index: 
hw_margin_ms: (not found)
drivers/core/ofnode.c:525-    ofnode_read_bool() ofnode_read_bool: 
u-boot,noautostart: false
drivers/core/ofnode.c:525-    ofnode_read_bool() ofnode_read_bool: 
u-boot,autostart: false
drivers/core/ofnode.c:540-    ofnode_read_prop() ofnode_read_prop: 
assigned-clock-rates: <not found>
drivers/core/uclass.c:546-uclass_get_device_by_ofnode() Looking for 
clock-controller@ff760000
drivers/core/uclass.c:397-uclass_find_device_by_ofnode() Looking for 
clock-controller@ff760000
drivers/core/uclass.c:406-uclass_find_device_by_ofnode()       - checking 
oscillator
drivers/core/uclass.c:406-uclass_find_device_by_ofnode()       - checking 
clock-controller@ff760000
drivers/core/uclass.c:416-uclass_find_device_by_ofnode()    - result for 
clock-controller@ff760000: clock-controller@ff760000 (ret=0)
drivers/core/uclass.c:549-uclass_get_device_by_ofnode()    - result for 
clock-controller@ff760000: clock-controller@ff760000 (ret=0)
Can't get the watchdog timer: watchdog@ff800000

It seems that the error is generated in designware_wdt_probe(), after
clk_enable(). Function clk_enable() runs on branch CLK_CCF=false. It returns
error from ops->enable. Struct ops is defined by driver: rockchip_rk3288_cru,
in drivers/clk/rockchip/clk_rk3288.c, but it doesn't have a .enable or
.disable component, so there is no ops->enable.

The solution to this one would probably be a stub for .enable. AFAIK, it's
always enabled.

I also tried to enable CLK_CCF (drivers from Linux tree), selecting the
watchdog works, but if I try to start it, the board immediately resets.
I have no ideea how to troubleshoot this one.

Thanks.
Marius

Reply via email to