blob: a27f2e9b1a0302d5b0266bcc684a02a67a71e218 [file] [log] [blame]
# 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 = <DT_FREQ_M(5)>;
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.