blob: 443bd0bec24bc43f151de23cf53f5d538614056b [file] [log] [blame]
/*
* Copyright (c) 2021 Nuvoton Technology Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_NPCX_PINCTRL_H_
#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_NPCX_PINCTRL_H_
/**
* @brief NPCX specific PIN configuration flag
*
* Pin configuration is coded with the following fields
* Power Switch Logic (PSL) [ 0 : 3 ]
* Reserved [ 4 : 31]
*
* Applicable to NPCX7 series.
*/
/*
* Power Switch Logic (PSL) input wake-up mode is sensitive to edge signals.
*
* This is a component flag that should be combined with other
* `NPCX_PSL_ACTIVE_*` flags to produce a meaningful configuration.
*/
#define NPCX_PSL_MODE_EDGE (1 << 0)
/*
* Power Switch Logic (PSL) input wake-up mode is sensitive to logical levels.
*
* This is a component flag that should be combined with other
* `NPCX_PSL_ACTIVE_*` flags to produce a meaningful configuration.
*/
#define NPCX_PSL_MODE_LEVEL (1 << 1)
/*
* The active polarity of Power Switch Logic (PSL) input is high level or
* low-to-high transition.
*
* This is a component flag that should be combined with other
* `NPCX_PSL_MODE_*` flags to produce a meaningful configuration.
*/
#define NPCX_PSL_ACTIVE_HIGH (1 << 2)
/*
* The active polarity of Power Switch Logic (PSL) input is low level or
* high-to-low transition.
*
* This is a component flag that should be combined with other
* `NPCX_PSL_MODE_*` flags to produce a meaningful configuration.
*/
#define NPCX_PSL_ACTIVE_LOW (1 << 3)
/*
* Configures Power Switch Logic (PSL) input in detecting rising edge.
*
* This is used for describing the 'flag' property from PSL input device with
* 'nuvoton,npcx-pslctrl-conf' compatible.
*/
#define NPCX_PSL_RISING_EDGE (NPCX_PSL_MODE_EDGE | NPCX_PSL_ACTIVE_HIGH)
/*
* Configures Power Switch Logic (PSL) input in detecting falling edge.
*
* This is used for describing the 'flag' property from PSL input device with
* 'nuvoton,npcx-pslctrl-conf' compatible.
*/
#define NPCX_PSL_FALLING_EDGE (NPCX_PSL_MODE_EDGE | NPCX_PSL_ACTIVE_LOW)
/*
* Configures Power Switch Logic (PSL) input in detecting level high state (has
* logical value '1').
*
* This is used for describing the 'flag' property from PSL input device with
* 'nuvoton,npcx-pslctrl-conf' compatible.
*/
#define NPCX_PSL_LEVEL_HIGH (NPCX_PSL_MODE_LEVEL | NPCX_PSL_ACTIVE_HIGH)
/*
* Configures Power Switch Logic (PSL) input in detecting level low state (has
* logical value '0').
*
* This is used for describing the 'flag' property from PSL input device with
* 'nuvoton,npcx-pslctrl-conf' compatible.
*/
#define NPCX_PSL_LEVEL_LOW (NPCX_PSL_MODE_LEVEL | NPCX_PSL_ACTIVE_LOW)
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_NPCX_PINCTRL_H_ */