1 /* SPDX-License-Identifier:     GPL-2.0+ */
2 /*
3  * Copyright 2018 NXP
4  */
5 
6 #ifndef SC_PAD_API_H
7 #define SC_PAD_API_H
8 
9 /* Defines for sc_pad_config_t */
10 #define SC_PAD_CONFIG_NORMAL	0U	/* Normal */
11 #define SC_PAD_CONFIG_OD	1U	/* Open Drain */
12 #define SC_PAD_CONFIG_OD_IN	2U	/* Open Drain and input */
13 #define SC_PAD_CONFIG_OUT_IN	3U	/* Output and input */
14 
15 /* Defines for sc_pad_iso_t */
16 #define SC_PAD_ISO_OFF		0U	/* ISO latch is transparent */
17 #define SC_PAD_ISO_EARLY	1U	/* Follow EARLY_ISO */
18 #define SC_PAD_ISO_LATE		2U	/* Follow LATE_ISO */
19 #define SC_PAD_ISO_ON		3U	/* ISO latched data is held */
20 
21 /* Defines for sc_pad_28fdsoi_dse_t */
22 #define SC_PAD_28FDSOI_DSE_18V_1MA	0U /* Drive strength of 1mA for 1.8v */
23 #define SC_PAD_28FDSOI_DSE_18V_2MA	1U /* Drive strength of 2mA for 1.8v */
24 #define SC_PAD_28FDSOI_DSE_18V_4MA	2U /* Drive strength of 4mA for 1.8v */
25 #define SC_PAD_28FDSOI_DSE_18V_6MA	3U /* Drive strength of 6mA for 1.8v */
26 #define SC_PAD_28FDSOI_DSE_18V_8MA	4U /* Drive strength of 8mA for 1.8v */
27 #define SC_PAD_28FDSOI_DSE_18V_10MA	5U /* Drive strength of 10mA for 1.8v */
28 #define SC_PAD_28FDSOI_DSE_18V_12MA	6U /* Drive strength of 12mA for 1.8v */
29 #define SC_PAD_28FDSOI_DSE_18V_HS	7U /* High-speed for 1.8v */
30 #define SC_PAD_28FDSOI_DSE_33V_2MA	0U /* Drive strength of 2mA for 3.3v */
31 #define SC_PAD_28FDSOI_DSE_33V_4MA	1U /* Drive strength of 4mA for 3.3v */
32 #define SC_PAD_28FDSOI_DSE_33V_8MA	2U /* Drive strength of 8mA for 3.3v */
33 #define SC_PAD_28FDSOI_DSE_33V_12MA	3U /* Drive strength of 12mA for 3.3v */
34 #define SC_PAD_28FDSOI_DSE_DV_HIGH	0U /* High drive strength dual volt */
35 #define SC_PAD_28FDSOI_DSE_DV_LOW	1U /* Low drive strength  dual volt */
36 
37 /* Defines for sc_pad_28fdsoi_ps_t */
38 #define SC_PAD_28FDSOI_PS_KEEPER 0U /* Bus-keeper (only valid for 1.8v) */
39 #define SC_PAD_28FDSOI_PS_PU	1U /* Pull-up */
40 #define SC_PAD_28FDSOI_PS_PD	2U /* Pull-down */
41 #define SC_PAD_28FDSOI_PS_NONE	3U /* No pull (disabled) */
42 
43 /* Defines for sc_pad_28fdsoi_pus_t */
44 #define SC_PAD_28FDSOI_PUS_30K_PD	0U /* 30K pull-down */
45 #define SC_PAD_28FDSOI_PUS_100K_PU	1U /* 100K pull-up */
46 #define SC_PAD_28FDSOI_PUS_3K_PU	2U /* 3K pull-up */
47 #define SC_PAD_28FDSOI_PUS_30K_PU	3U /* 30K pull-up */
48 
49 /* Defines for sc_pad_wakeup_t */
50 #define SC_PAD_WAKEUP_OFF	0U /* Off */
51 #define SC_PAD_WAKEUP_CLEAR	1U /* Clears pending flag */
52 #define SC_PAD_WAKEUP_LOW_LVL	4U /* Low level */
53 #define SC_PAD_WAKEUP_FALL_EDGE	5U /* Falling edge */
54 #define SC_PAD_WAKEUP_RISE_EDGE	6U /* Rising edge */
55 #define SC_PAD_WAKEUP_HIGH_LVL	7U /* High-level */
56 
57 #endif /* SC_PAD_API_H */
58