1 /*
2  * Copyright 2022-2023, NXP
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /**
8  * @file
9  * @brief Board configuration macros for the MXRT595 platform
10  *
11  * This header file is used to specify and describe board-level aspects for the
12  * 'MXRT595' platform.
13  */
14 
15 #ifndef _SOC__H_
16 #define _SOC__H_
17 
18 #ifndef _ASMLANGUAGE
19 #include <zephyr/sys/util.h>
20 #include <fsl_common.h>
21 
22 #endif /* !_ASMLANGUAGE */
23 
24 /*!<@brief Analog mux is disabled */
25 #define IOPCTL_PIO_ANAMUX_DI 0x00u
26 /*!<@brief Analog mux is enabled */
27 #define IOPCTL_PIO_ANAMUX_EN 0x0200u
28 /*!<@brief Normal drive */
29 #define IOPCTL_PIO_FULLDRIVE_DI 0x00u
30 /*!<@brief Full drive */
31 #define IOPCTL_PIO_FULLDRIVE_EN 0x0100u
32 /*!<@brief Selects pin function 0 */
33 #define IOPCTL_PIO_FUNC0 0x00u
34 /*!<@brief Selects pin function 1 */
35 #define IOPCTL_PIO_FUNC1 0x01u
36 /*!<@brief Selects pin function 2 */
37 #define IOPCTL_PIO_FUNC2 0x02u
38 /*!<@brief Selects pin function 3 */
39 #define IOPCTL_PIO_FUNC3 0x03u
40 /*!<@brief Selects pin function 4 */
41 #define IOPCTL_PIO_FUNC4 0x04u
42 /*!<@brief Selects pin function 5 */
43 #define IOPCTL_PIO_FUNC5 0x05u
44 /*!<@brief Selects pin function 6 */
45 #define IOPCTL_PIO_FUNC6 0x06u
46 /*!<@brief Selects pin function 7 */
47 #define IOPCTL_PIO_FUNC7 0x07u
48 /*!<@brief Selects pin function 8 */
49 #define IOPCTL_PIO_FUNC8 0x08u
50 /*!<@brief Disable input buffer function */
51 #define IOPCTL_PIO_INBUF_DI 0x00u
52 /*!<@brief Enables input buffer function */
53 #define IOPCTL_PIO_INBUF_EN 0x40u
54 /*!<@brief Input function is not inverted */
55 #define IOPCTL_PIO_INV_DI 0x00u
56 /*!<@brief Input function is inverted */
57 #define IOPCTL_PIO_INV_EN 0x0800u
58 /*!<@brief Pseudo Output Drain is disabled */
59 #define IOPCTL_PIO_PSEDRAIN_DI 0x00u
60 /*!<@brief Pseudo Output Drain is enabled */
61 #define IOPCTL_PIO_PSEDRAIN_EN 0x0400u
62 /*!<@brief Enable pull-down function */
63 #define IOPCTL_PIO_PULLDOWN_EN 0x00u
64 /*!<@brief Enable pull-up function */
65 #define IOPCTL_PIO_PULLUP_EN 0x20u
66 /*!<@brief Disable pull-up / pull-down function */
67 #define IOPCTL_PIO_PUPD_DI 0x00u
68 /*!<@brief Enable pull-up / pull-down function */
69 #define IOPCTL_PIO_PUPD_EN 0x10u
70 /*!<@brief Normal mode */
71 #define IOPCTL_PIO_SLEW_RATE_NORMAL 0x00u
72 /*!<@brief Slow mode */
73 #define IOPCTL_PIO_SLEW_RATE_SLOW 0x80u
74 
75 /* Workaround to handle macro variation in the SDK */
76 #ifndef INPUTMUX_PINTSEL_COUNT
77 #define INPUTMUX_PINTSEL_COUNT INPUTMUX_PINT_SEL_COUNT
78 
79 #if CONFIG_MIPI_DSI
80 void imxrt_pre_init_display_interface(void);
81 
82 void imxrt_post_init_display_interface(void);
83 
84 void imxrt_deinit_display_interface(void);
85 #endif
86 
87 #endif
88 
89 #endif /* _SOC__H_ */
90