diff mbox series

[v1,2/2] colibri_imx6: add default config with watchdog enabled

Message ID 20230310134333.98573-3-andreas.aegerter@mt.com
State Changes Requested
Delegated to: Stefano Babic
Headers show
Series colibri_imx6: fix linker issue when enabling watchdog | expand

Commit Message

Aegerter Andreas LCPF-CH March 10, 2023, 1:43 p.m. UTC
This config is based on colibri_imx6_defconfig and enables additionally
the watchdog. The intend of the new config is that distros can use this
in the future and the behaviour will not be changed for current users.

However I am not sure if it would be OK, to just enable the watchdog in
the existing colibri_imx6_defconfig. Any suggestions?

Signed-off-by: Andreas Aegerter <andreas.aegerter@mt.com>
---
 board/toradex/colibri_imx6/MAINTAINERS |   4 +
 configs/colibri_imx6_wdg_defconfig     | 124 +++++++++++++++++++++++++
 2 files changed, 128 insertions(+)
 create mode 100644 configs/colibri_imx6_wdg_defconfig

Comments

Francesco Dolcini March 10, 2023, 4:29 p.m. UTC | #1
On Fri, Mar 10, 2023 at 02:43:33PM +0100, Andreas Aegerter wrote:
> This config is based on colibri_imx6_defconfig and enables additionally
> the watchdog. The intend of the new config is that distros can use this
> in the future and the behaviour will not be changed for current users.
IMO in general is a bad idea to duplicate a defconfig for the same
board, you just duplicate the maintenance effort.

> However I am not sure if it would be OK, to just enable the watchdog in
> the existing colibri_imx6_defconfig. Any suggestions?
I wonder what would be the implication of enabling it by default on the
general defconfig.

What about using a debugger or kgdb from Linux?
What is the watchdog timeout once you enable it? Can we be sure that the
OS will be able to start in time to refresh the watchdog?

Francesco
Aegerter Andreas LCPF-CH March 13, 2023, 1:59 p.m. UTC | #2
Francesco Dolcini wrote:
> On Fri, Mar 10, 2023 at 02:43:33PM +0100, Andreas Aegerter wrote:
> > This config is based on colibri_imx6_defconfig and enables
> > additionally the watchdog. The intend of the new config is that
> > distros can use this in the future and the behaviour will not be changed for
> current users.
> IMO in general is a bad idea to duplicate a defconfig for the same board, you
> just duplicate the maintenance effort.
> 
> > However I am not sure if it would be OK, to just enable the watchdog
> > in the existing colibri_imx6_defconfig. Any suggestions?
> I wonder what would be the implication of enabling it by default on the
> general defconfig.
One implication of this is that if the kernel does not support the watchdog and
therefore does not reset it regularly, the system will reboot every 128 seconds.
That's the main reason why I propose creating a new defconfig.
> 
> What about using a debugger or kgdb from Linux?
> What is the watchdog timeout once you enable it? Can we be sure that the
> OS will be able to start in time to refresh the watchdog?
Timeout is 128 seconds (default value if CONFIG_WATCHDOG_TIMEOUT_MSECS 
is not set). This should be enough to boot an embedded device.
For debugger I recommend to use an u-boot image where the watchdog is not
enabled. 
> 
> Francesco

Andreas
diff mbox series

Patch

diff --git a/board/toradex/colibri_imx6/MAINTAINERS b/board/toradex/colibri_imx6/MAINTAINERS
index f7a5ad59f8..631d819f0b 100644
--- a/board/toradex/colibri_imx6/MAINTAINERS
+++ b/board/toradex/colibri_imx6/MAINTAINERS
@@ -9,3 +9,7 @@  F:	configs/colibri_imx6_defconfig
 F:	arch/arm/dts/imx6dl-colibri-eval-v3.dts
 F:	arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
 F:	arch/arm/dts/imx6qdl-colibri.dtsi
+
+M:	Andreas Aegerter <andreas.aegerter@mt.com>
+S:	Maintained
+F:	configs/colibri_imx6_wdg_defconfig
diff --git a/configs/colibri_imx6_wdg_defconfig b/configs/colibri_imx6_wdg_defconfig
new file mode 100644
index 0000000000..3ba6e2ea8a
--- /dev/null
+++ b/configs/colibri_imx6_wdg_defconfig
@@ -0,0 +1,124 @@ 
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TEXT_BASE=0x17800000
+CONFIG_SYS_MALLOC_LEN=0x2000000
+CONFIG_SPL_GPIO=y
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_ENV_SIZE=0x2000
+CONFIG_ENV_OFFSET=0xFFFFDE00
+CONFIG_MX6DL=y
+CONFIG_MX6_DDRCAL=y
+CONFIG_TARGET_COLIBRI_IMX6=y
+CONFIG_SYS_I2C_MXC_I2C1=y
+CONFIG_SYS_I2C_MXC_I2C2=y
+CONFIG_SYS_I2C_MXC_I2C3=y
+CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="imx6dl-colibri-eval-v3"
+CONFIG_SPL_TEXT_BASE=0x00908000
+CONFIG_SYS_PROMPT="Colibri iMX6 # "
+CONFIG_SPL_MMC=y
+CONFIG_SPL_SERIAL=y
+CONFIG_SPL=y
+CONFIG_CMD_HDMIDETECT=y
+CONFIG_SYS_LOAD_ADDR=0x14200000
+CONFIG_SYS_MEMTEST_START=0x10000000
+CONFIG_SYS_MEMTEST_END=0x10010000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_SYS_MONITOR_LEN=409600
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_BOOTDELAY=1
+CONFIG_BOOTCOMMAND="run distro_bootcmd; usb start; setenv stdout serial,vidconsole; setenv stdin serial,usbkbd"
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="test -n ${fdtfile} || setenv fdtfile imx6dl-colibri-${fdt_board}.dtb"
+CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_MISC_INIT_R=y
+CONFIG_SYS_SPL_MALLOC=y
+CONFIG_SPL_DMA=y
+CONFIG_SPL_I2C=y
+CONFIG_SPL_USB_HOST=y
+CONFIG_SPL_USB_GADGET=y
+CONFIG_SPL_USB_SDP_SUPPORT=y
+CONFIG_SYS_MAXARGS=48
+CONFIG_SYS_CBSIZE=1024
+CONFIG_SYS_PBSIZE=1056
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_XIMG is not set
+CONFIG_CMD_ASKENV=y
+CONFIG_CRC32_VERIFY=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_SYS_ALT_MEMTEST=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_I2C=y
+# CONFIG_CMD_LOADB is not set
+# CONFIG_CMD_LOADS is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_SDP=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_CMD_NFS is not set
+CONFIG_CMD_BOOTCOUNT=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_UUID=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_OF_CONTROL=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_VERSION_VARIABLE=y
+CONFIG_IP_DEFRAG=y
+CONFIG_TFTP_BLOCKSIZE=16352
+CONFIG_USE_IPADDR=y
+CONFIG_IPADDR="192.168.10.2"
+CONFIG_USE_NETMASK=y
+CONFIG_NETMASK="255.255.255.0"
+CONFIG_USE_SERVERIP=y
+CONFIG_SERVERIP="192.168.10.1"
+CONFIG_BOUNCE_BUFFER=y
+CONFIG_BOOTCOUNT_LIMIT=y
+CONFIG_BOOTCOUNT_ENV=y
+CONFIG_DM_I2C=y
+CONFIG_SPL_SYS_I2C_LEGACY=y
+CONFIG_SYS_I2C_MXC=y
+CONFIG_SYS_MXC_I2C3_SPEED=400000
+CONFIG_SUPPORT_EMMC_BOOT=y
+CONFIG_FSL_USDHC=y
+CONFIG_PHYLIB=y
+CONFIG_PHY_MICREL=y
+CONFIG_PHY_MICREL_KSZ8XXX=y
+CONFIG_FEC_MXC=y
+CONFIG_MII=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_DM_PMIC=y
+CONFIG_DM_PMIC_PFUZE100=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_PFUZE100=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_MXC_UART=y
+CONFIG_IMX_THERMAL=y
+CONFIG_USB=y
+CONFIG_USB_MAX_CONTROLLER_COUNT=2
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_HOST_ETHER=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="Toradex"
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b67
+CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
+CONFIG_CI_UDC=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_WATCHDOG=y
+CONFIG_WDT=y
+#CONFIG_IMX_WATCHDOG=y