# Copyright 2023 NXP # SPDX-License-Identifier: Apache-2.0 description: | FS26 System Basis Chip (SBC) watchdog driver. The FS26 features multiple voltage regulators to supply the microcontroller, peripheral ICs and communication interfaces. The FS26 also offers various functionalities for system control and monitoring, including a configurable watchdog counter to ensure the microcontroller is able to communicate with the FS26, which can react to any failure condition and place the system in a safe state. This driver covers only the watchdog functionality of FS26. The rest of the functionalities are not implemented. The FS26 uses a 32-bit SPI interface. The MCU is the primary driving MOSI and FS26 is the secondary driving MISO. Therefore the FS26 devicetree node must be in a SPI bus. For example, if FS26 is connected to spi3 bus, on Chip Select 0: &spi3 { // here there should be spi3 properties as needed status = "okay"; fs26_wdt: watchdog@0 { compatible = "nxp,fs26-wdog"; reg = <0>; spi-max-frequency = ; type = "challenger"; int-gpios = <&gpioa_h 3 GPIO_ACTIVE_LOW>; status = "okay"; }; }; When an FS26 internal interrupt occurs, the INTB pin generates a pulse to inform the microcontroller. The driver masks all interrupt sources except for bad watchdog refresh (BAD_WD_M). The GPIO pin where the interrupt signal is received must be configured from devicetree. In the example above, this is indicated through int-gpios property. It is also required to configure the external interrupt controller to receive interrupts on this pin. compatible: "nxp,fs26-wdog" include: spi-device.yaml properties: type: required: true type: string enum: - simple - challenger description: | Watchdog type enabled on this device. The Challenger watchdog monitoring feature is enabled for ASIL D devices. This mode is based on a question/answer process with the microcontroller. The Simple watchdog monitoring feature is enabled for ASIL B devices. This mode uses a unique seed. int-gpios: type: phandle-array required: true description: | GPIO to use to receive external interrupts from INTB signal.