Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Nordic Semiconductor ASA
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_NORDIC_NPM1300_GPIO_H_
7 : #define ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_NORDIC_NPM1300_GPIO_H_
8 :
9 : /**
10 : * @brief nPM1300-specific GPIO Flags
11 : * @defgroup gpio_interface_npm1300 nPM1300-specific GPIO Flags
12 : *
13 : * The drive flags are encoded in the 8 upper bits of @ref gpio_dt_flags_t as
14 : * follows:
15 : *
16 : * - Bit 8: Drive strength (0=1mA, 1=6mA)
17 : * - Bit 9: Debounce (0=OFF, 1=ON)
18 : * - Bit 10: Watchdog reset (0=OFF, 1=ON)
19 : * - Bit 11: Power loss warning (0=OFF, 1=ON)
20 : *
21 : * @ingroup gpio_interface
22 : * @{
23 : */
24 :
25 : /**
26 : * @name nPM1300 GPIO drive strength flags
27 : * @brief nPM1300 GPIO drive strength flags
28 : * @{
29 : */
30 :
31 : /** @cond INTERNAL_HIDDEN */
32 : /** Drive mode field mask */
33 : #define NPM1300_GPIO_DRIVE_MSK 0x0100U
34 : /** @endcond */
35 :
36 : /** 1mA drive */
37 1 : #define NPM1300_GPIO_DRIVE_1MA (0U << 8U)
38 : /** 6mA drive */
39 1 : #define NPM1300_GPIO_DRIVE_6MA (1U << 8U)
40 :
41 : /** @} */
42 :
43 : /**
44 : * @name nPM1300 GPIO debounce flags
45 : * @brief nPM1300 GPIO debounce flags
46 : * @{
47 : */
48 :
49 : /** @cond INTERNAL_HIDDEN */
50 : /** Debounce field mask */
51 : #define NPM1300_GPIO_DEBOUNCE_MSK 0x0200U
52 : /** @endcond */
53 :
54 : /** Normal drive */
55 1 : #define NPM1300_GPIO_DEBOUNCE_OFF (0U << 9U)
56 : /** High drive */
57 1 : #define NPM1300_GPIO_DEBOUNCE_ON (1U << 9U)
58 :
59 : /** @} */
60 :
61 : /**
62 : * @name nPM1300 GPIO watchdog reset flags
63 : * @brief nPM1300 GPIO watchdog reset flags
64 : * @{
65 : */
66 :
67 : /** @cond INTERNAL_HIDDEN */
68 : /** watchdog reset field mask */
69 : #define NPM1300_GPIO_WDT_RESET_MSK 0x0400U
70 : /** @endcond */
71 :
72 : /** Off */
73 1 : #define NPM1300_GPIO_WDT_RESET_OFF (0U << 10U)
74 : /** On */
75 1 : #define NPM1300_GPIO_WDT_RESET_ON (1U << 10U)
76 :
77 : /** @} */
78 :
79 : /**
80 : * @name nPM1300 GPIO power loss warning flags
81 : * @brief nPM1300 GPIO power loss warning flags
82 : * @{
83 : */
84 :
85 : /** @cond INTERNAL_HIDDEN */
86 : /** power loss warning field mask */
87 : #define NPM1300_GPIO_PWRLOSSWARN_MSK 0x0800U
88 : /** @endcond */
89 :
90 : /** Off */
91 1 : #define NPM1300_GPIO_PWRLOSSWARN_OFF (0U << 11U)
92 : /** On */
93 1 : #define NPM1300_GPIO_PWRLOSSWARN_ON (1U << 11U)
94 :
95 : /** @} */
96 :
97 : /** @} */
98 :
99 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_NORDIC_NPM1300_GPIO_H_ */
|