Older boards before revision E don't have the external watchdog signal wired up to the PMIC, so they must use watchdog 1, which is able to reset the SoC internally. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> --- arch/arm/boards/gateworks-ventana/board.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm/boards/gateworks-ventana/board.c b/arch/arm/boards/gateworks-ventana/board.c index 82dba7c..3ff142e 100644 --- a/arch/arm/boards/gateworks-ventana/board.c +++ b/arch/arm/boards/gateworks-ventana/board.c @@ -24,6 +24,19 @@ #include "gsc.h" +static int gw54xx_wdog_of_fixup(struct device_node *root, void *context) +{ + struct device_node *np; + + /* switch to the watchdog with internal reset capabilities */ + np = of_find_node_by_name(root, "wdog@020c0000"); + of_device_disable(np); + np = of_find_node_by_name(root, "wdog@020bc000"); + of_device_enable(np); + + return 0; +} + static int gw54xx_devices_init(void) { struct i2c_client client; @@ -60,6 +73,10 @@ static int gw54xx_devices_init(void) of_eth_register_ethaddr(dnode, mac); } + /* boards before rev E don't have the external watchdog signal */ + if (gsc_get_rev(&client) < 'E') + of_register_fixup(gw54xx_wdog_of_fixup, NULL); + imx6_bbu_nand_register_handler("nand", BBU_HANDLER_FLAG_DEFAULT); barebox_set_hostname("gw54xx"); -- 2.9.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox