gpio: PRSDK-7323: fix gpio led blink example compilation error
[processor-sdk/pdk.git] / packages / ti / drv / gpio / test / led_blink / src / GPIO_board.h
1 /**
2  *  \file   GPIO_board.h
3  *
4  *  \brief  GPIO board header file.
5  *
6  */
8 /*
9  * Copyright (C) 2014 - 2018 Texas Instruments Incorporated - http://www.ti.com/
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  *
15  * Redistributions of source code must retain the above copyright
16  * notice, this list of conditions and the following disclaimer.
17  *
18  * Redistributions in binary form must reproduce the above copyright
19  * notice, this list of conditions and the following disclaimer in the
20  * documentation and/or other materials provided with the
21  * distribution.
22  *
23  * Neither the name of Texas Instruments Incorporated nor the names of
24  * its contributors may be used to endorse or promote products derived
25  * from this software without specific prior written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38  *
39  */
42 #ifndef _GPIO_BOARD_H
43 #define _GPIO_BOARD_H
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
50 /* Example/Board Header files */
51 #include <ti/board/board.h>
53 #if defined (SOC_AM572x) || defined (SOC_AM574x)
54 #include <ti/csl/soc/am572x/src/cslr_soc_mpu_baseaddress.h>
55 #endif
57 #if defined (SOC_AM571x)
58 #include <ti/csl/soc/am571x/src/cslr_soc_mpu_baseaddress.h>
59 #endif
61 #if defined (SOC_AM65XX)
62 #include <ti/csl/src/ip/intr_router/V0/csl_intr_router.h>
63 #include <ti/csl/soc/am65xx/src/cslr_soc_baseaddress.h>
64 #include <ti/csl/soc/am65xx/src/cslr_mcu_ctrl_mmr.h>
65 #include <ti/csl/soc/am65xx/src/cslr_mcu_pll_mmr.h>
66 #include <ti/csl/soc/am65xx/src/cslr_wkup_ctrl_mmr.h>
67 #endif
69 #if defined (SOC_J721E)
70 #include <ti/csl/src/ip/intr_router/V0/csl_intr_router.h>
71 #include <ti/csl/soc/j721e/src/cslr_soc_baseaddress.h>
72 #include <ti/csl/soc/j721e/src/cslr_mcu_ctrl_mmr.h>
73 #include <ti/csl/soc/j721e/src/cslr_mcu_pll_mmr.h>
74 #include <ti/csl/soc/j721e/src/cslr_wkup_ctrl_mmr.h>
75 #endif
77 /**********************************************************************
78  ************************** Macros ************************************
79  **********************************************************************/
80 #if defined (idkAM572x) || defined (idkAM574x)
81 #define GPIO_INTR_LED_BASE_ADDR_1P2      (CSL_MPU_GPIO4_REGS)
82 #define GPIO_LED_PIN_NUM_1P2             (0x04U)
83 #define GPIO_INTR_LED_BASE_ADDR_1P3      (CSL_MPU_GPIO7_REGS)
84 #define GPIO_LED_PIN_NUM_1P3             (0x17U)
85 #endif
87 #if defined (idkAM571x)
88 #define GPIO_INTR_LED_BASE_ADDR      (CSL_MPU_GPIO2_REGS)
89 #define GPIO_LED_PIN_NUM             (0x15U)
90 #endif
92 #if defined (evmAM572x)
93 #if defined (__TI_ARM_V7M4__)
94 #define GPIO_INTR_LED_BASE_ADDR      (CSL_MPU_GPIO1_REGS)
95 #define GPIO_LED_PIN_NUM             (0x10U)
96 #else
97 #define GPIO_INTR_LED_BASE_ADDR      (CSL_MPU_GPIO7_REGS)
98 #define GPIO_LED_PIN_NUM             (0x08U)
99 #endif
100 #endif
102 #if defined (evmAM572x) || defined (idkAM571x) || \
103     defined (skAM437x) || defined (evmAM437x) || \
104     defined (icev2AM335x) || defined (skAM335x) || defined (bbbAM335x)
105 #define GPIO_BASE_ADDR GPIO_INTR_LED_BASE_ADDR
106 #define GPIO_LED_PIN   GPIO_LED_PIN_NUM
107 #endif
109 #if defined (evmK2H) || defined (evmK2K)
110 #define K2H_EVM_USER0_LED_RED    (12U) /* GPIO pin 12 */
111 #define K2H_EVM_USER0_LED_GREEN  (13U) /* GPIO pin 13 */
112 #define K2H_EVM_USER1_LED_BLUE   (14U) /* GPIO pin 14 */
113 #define K2H_EVM_USER2_LED_BLUE   (15U) /* GPIO pin 15 */
115 #define GPIO_LED0_PIN_NUM        K2H_EVM_USER0_LED_GREEN
116 #define GPIO_LED0_PORT_NUM       (0U)  /* GPIO port 0 */
117 #define GPIO_LED1_PIN_NUM        K2H_EVM_USER2_LED_BLUE
118 #define GPIO_LED1_PORT_NUM       (0U)  /* GPIO port 0 */
119 #endif
121 #if defined (evmK2E)
122 #define K2E_EVM_USER0_LED_RED    (12U) /* GPIO pin 12 */
123 #define K2E_EVM_USER0_LED_GREEN  (13U) /* GPIO pin 13 */
124 #define K2E_EVM_USER1_LED_BLUE   (14U) /* GPIO pin 14 */
125 #define K2E_EVM_USER2_LED_BLUE   (15U) /* GPIO pin 15 */
127 #define GPIO_LED0_PIN_NUM        K2E_EVM_USER0_LED_GREEN
128 #define GPIO_LED0_PORT_NUM       (0U)  /* GPIO port 0 */
129 #define GPIO_LED1_PIN_NUM        K2E_EVM_USER1_LED_BLUE
130 #define GPIO_LED1_PORT_NUM       (0U)  /* GPIO port 0 */
131 #endif
133 #if defined (evmK2L)
134 /* No gpio pin directly connect to LED on K2L EVM */
135 #define GPIO_LED0_PIN_NUM        (8U)
136 #define GPIO_LED0_PORT_NUM       (0U)  /* GPIO port 0 */
137 #define GPIO_LED1_PIN_NUM        (9U)
138 #define GPIO_LED1_PORT_NUM       (0U)  /* GPIO port 0 */
139 #endif
141 #if defined (evmK2G)
142 #define GPIO_LED0_PIN_NUM        (108U) /* by default PADCONFIG139 set to GPIO0_108 */
143 #define GPIO_LED0_PORT_NUM       (0U)   /* GPIO port 0 */
144 #define GPIO_LED1_PIN_NUM        (11U)  /* by default PADCONFIG186 set to GPIO1_11 */
145 #define GPIO_LED1_PORT_NUM       (1U)   /* GPIO port 1 */
147 #ifdef _TMS320C6X
148 #define GPIO_MUX_SEL             (16U) /* Event slect number for DSP GPIOMUX int */
149 #else
150 #define GPIO_MUX_SEL             (0U)  /* Event slect number for ARM GPIOMUX int */
151 #endif
152 #endif
154 #if defined (iceK2G)
155 #define GPIO_LED0_PIN_NUM        (11U) /* by default PADCONFIG139 set to GPIO0_108 */
156 #define GPIO_LED0_PORT_NUM       (0U)   /* GPIO port 0 */
157 #define GPIO_LED1_PIN_NUM        (12U)  /* by default PADCONFIG186 set to GPIO1_11 */
158 #define GPIO_LED1_PORT_NUM       (1U)   /* GPIO port 1 */
160 #ifdef _TMS320C6X
161 #define GPIO_MUX_SEL             (16U) /* Event slect number for DSP GPIOMUX int */
162 #else
163 #define GPIO_MUX_SEL             (0U)  /* Event slect number for ARM GPIOMUX int */
164 #endif
165 #endif
167 #if defined (evmC6678)
168 /* No gpio pin directly connect to LED on C6678 EVM */
169 #define GPIO_LED0_PIN_NUM        (8U)
170 #define GPIO_LED0_PORT_NUM       (0U)  /* GPIO port 0 */
171 #define GPIO_LED1_PIN_NUM        (9U)
172 #define GPIO_LED1_PORT_NUM       (0U)  /* GPIO port 0 */
173 #endif
175 #if defined (evmC6657)
176 /* No gpio pin directly connect to LED on C6678 EVM */
177 #define GPIO_LED0_PIN_NUM        (8U)
178 #define GPIO_LED0_PORT_NUM       (0U)  /* GPIO port 0 */
179 #define GPIO_LED1_PIN_NUM        (9U)
180 #define GPIO_LED1_PORT_NUM       (0U)  /* GPIO port 0 */
181 #endif
183 #if defined (am65xx_evm) || defined (am65xx_idk) || defined (j721e_sim)
184 #if defined(AM65XX_BETA_BOARD)
185 #define GPIO_LED0_PIN_NUM        BOARD_WKUP_GPIO_LD18_GREEN_PIN_NUM
186 #define GPIO_LED0_PORT_NUM       BOARD_WKUP_GPIO_LD18_GREEN_PORT_NUM
187 #define GPIO_LED1_PIN_NUM        BOARD_WKUP_GPIO_LD18_RED_PIN_NUM
188 #define GPIO_LED1_PORT_NUM       BOARD_WKUP_GPIO_LD18_RED_PORT_NUM
189 #else
190 #define GPIO_LED0_PIN_NUM        BOARD_WKUP_GPIO_LD16_PIN_NUM
191 #define GPIO_LED0_PORT_NUM       BOARD_WKUP_GPIO_LD16_PORT_NUM
192 #define GPIO_LED1_PIN_NUM        BOARD_WKUP_GPIO_LD17_PIN_NUM
193 #define GPIO_LED1_PORT_NUM       BOARD_WKUP_GPIO_LD17_PORT_NUM
194 #endif
195 #endif
197 #if defined (j721e_evm)
198 /* J7ES: use WAKEUP GPIO0_6 --> TP45 for testing */
199 #define GPIO_LED0_PIN_NUM        BOARD_USER_LED1 /* Pin 6 */
200 #define GPIO_LED0_PORT_NUM       0 /* use WAKEUP GPIO0 */
201 #define GPIO_LED1_PIN_NUM        BOARD_USER_LED1 /* Pin 6 */
202 #define GPIO_LED1_PORT_NUM       0 /* use WAKEUP GPIO0 */
203 #endif
205 /* ON Board LED pins which are connected to GPIO pins. */
206 typedef enum GPIO_LED {
207     USER_LED0 = 0,
208     USER_LED1
209 }GPIO_LED;
212 #define GPIO_PIN_VAL_LOW     (0U)
213 #define GPIO_PIN_VAL_HIGH    (1U)
216 #ifdef __cplusplus
218 #endif
220 #endif /* _GPIO_LOG_H */