soc : microchip_mec : Add gpio driver common definitions
Macros and enums are included for supporting pin configuration settings. Entries to the dts_fixup were also included in order to configure port level settings. Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
This commit is contained in:
parent
0cb238127d
commit
35cfe113d2
5 changed files with 275 additions and 0 deletions
23
soc/arm/microchip_mec/common/soc_gpio.h
Normal file
23
soc/arm/microchip_mec/common/soc_gpio.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2019 Intel Corporation
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/** @file
|
||||
* @brief Microchip XEC MCU family General Purpose Input Output (GPIO) defines.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _MICROCHIP_MEC_SOC_GPIO_H_
|
||||
#define _MICROCHIP_MEC_SOC_GPIO_H_
|
||||
|
||||
#define MCHP_GPIO_000_036 0
|
||||
#define MCHP_GPIO_040_076 1
|
||||
#define MCHP_GPIO_100_136 2
|
||||
#define MCHP_GPIO_140_176 3
|
||||
#define MCHP_GPIO_200_236 4
|
||||
#define MCHP_GPIO_240_276 5
|
||||
#define MCHP_GPIO_MAX_PORT 6
|
||||
#define MCHP_NUM_GPIO_PORTS 6
|
||||
|
||||
#endif /* _MICROCHIP_MEC_SOC_GPIO_H_ */
|
204
soc/arm/microchip_mec/common/soc_pins.h
Normal file
204
soc/arm/microchip_mec/common/soc_pins.h
Normal file
|
@ -0,0 +1,204 @@
|
|||
/*
|
||||
* Copyright (c) 2019 Intel Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef _SOC_MCHP_GPIOS_H_
|
||||
#define _SOC_MCHP_GPIOS_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Begin Port A */
|
||||
#define MCHP_GPIO_000 (0U)
|
||||
#define MCHP_GPIO_001 (1U)
|
||||
#define MCHP_GPIO_002 (2U)
|
||||
#define MCHP_GPIO_003 (3U)
|
||||
#define MCHP_GPIO_004 (4U)
|
||||
#define MCHP_GPIO_005 (5U)
|
||||
#define MCHP_GPIO_006 (6U)
|
||||
#define MCHP_GPIO_007 (7U)
|
||||
#define MCHP_GPIO_010 (8U)
|
||||
#define MCHP_GPIO_011 (9U)
|
||||
#define MCHP_GPIO_012 (10U)
|
||||
#define MCHP_GPIO_013 (11U)
|
||||
#define MCHP_GPIO_014 (12U)
|
||||
#define MCHP_GPIO_015 (13U)
|
||||
#define MCHP_GPIO_016 (14U)
|
||||
#define MCHP_GPIO_017 (15U)
|
||||
#define MCHP_GPIO_020 (16U)
|
||||
#define MCHP_GPIO_021 (17U)
|
||||
#define MCHP_GPIO_022 (18U)
|
||||
#define MCHP_GPIO_023 (19U)
|
||||
#define MCHP_GPIO_024 (20U)
|
||||
#define MCHP_GPIO_025 (21U)
|
||||
#define MCHP_GPIO_026 (22U)
|
||||
#define MCHP_GPIO_027 (23U)
|
||||
#define MCHP_GPIO_030 (24U)
|
||||
#define MCHP_GPIO_031 (25U)
|
||||
#define MCHP_GPIO_032 (26U)
|
||||
#define MCHP_GPIO_033 (27U)
|
||||
#define MCHP_GPIO_034 (28U)
|
||||
#define MCHP_GPIO_035 (29U)
|
||||
#define MCHP_GPIO_036 (30U)
|
||||
/* End Port A */
|
||||
|
||||
/* Begin Port B */
|
||||
#define MCHP_GPIO_040 (0U)
|
||||
#define MCHP_GPIO_041 (1U)
|
||||
#define MCHP_GPIO_042 (2U)
|
||||
#define MCHP_GPIO_043 (3U)
|
||||
#define MCHP_GPIO_044 (4U)
|
||||
#define MCHP_GPIO_045 (5U)
|
||||
#define MCHP_GPIO_046 (6U)
|
||||
#define MCHP_GPIO_047 (7U)
|
||||
#define MCHP_GPIO_050 (8U)
|
||||
#define MCHP_GPIO_051 (9U)
|
||||
#define MCHP_GPIO_052 (10U)
|
||||
#define MCHP_GPIO_053 (11U)
|
||||
#define MCHP_GPIO_054 (12U)
|
||||
#define MCHP_GPIO_055 (13U)
|
||||
#define MCHP_GPIO_056 (14U)
|
||||
#define MCHP_GPIO_057 (15U)
|
||||
#define MCHP_GPIO_060 (16U)
|
||||
#define MCHP_GPIO_061 (17U)
|
||||
#define MCHP_GPIO_062 (18U)
|
||||
#define MCHP_GPIO_063 (19U)
|
||||
#define MCHP_GPIO_064 (20U)
|
||||
#define MCHP_GPIO_065 (21U)
|
||||
#define MCHP_GPIO_066 (22U)
|
||||
#define MCHP_GPIO_067 (23U)
|
||||
#define MCHP_GPIO_070 (24U)
|
||||
#define MCHP_GPIO_071 (25U)
|
||||
#define MCHP_GPIO_072 (26U)
|
||||
#define MCHP_GPIO_073 (27U)
|
||||
#define MCHP_GPIO_074 (28U)
|
||||
#define MCHP_GPIO_075 (29U)
|
||||
#define MCHP_GPIO_076 (30U)
|
||||
/* End Port B */
|
||||
|
||||
/* Begin Port C */
|
||||
#define MCHP_GPIO_100 (0U)
|
||||
#define MCHP_GPIO_101 (1U)
|
||||
#define MCHP_GPIO_102 (2U)
|
||||
#define MCHP_GPIO_103 (3U)
|
||||
#define MCHP_GPIO_104 (4U)
|
||||
#define MCHP_GPIO_105 (5U)
|
||||
#define MCHP_GPIO_106 (6U)
|
||||
#define MCHP_GPIO_107 (7U)
|
||||
#define MCHP_GPIO_110 (8U)
|
||||
#define MCHP_GPIO_111 (9U)
|
||||
#define MCHP_GPIO_112 (10U)
|
||||
#define MCHP_GPIO_113 (11U)
|
||||
#define MCHP_GPIO_114 (12U)
|
||||
#define MCHP_GPIO_115 (13U)
|
||||
#define MCHP_GPIO_116 (14U)
|
||||
#define MCHP_GPIO_117 (15U)
|
||||
#define MCHP_GPIO_120 (16U)
|
||||
#define MCHP_GPIO_121 (17U)
|
||||
#define MCHP_GPIO_122 (18U)
|
||||
#define MCHP_GPIO_123 (19U)
|
||||
#define MCHP_GPIO_124 (20U)
|
||||
#define MCHP_GPIO_125 (21U)
|
||||
#define MCHP_GPIO_126 (22U)
|
||||
#define MCHP_GPIO_127 (23U)
|
||||
#define MCHP_GPIO_130 (24U)
|
||||
#define MCHP_GPIO_131 (25U)
|
||||
#define MCHP_GPIO_132 (26U)
|
||||
#define MCHP_GPIO_133 (27U)
|
||||
#define MCHP_GPIO_134 (28U)
|
||||
#define MCHP_GPIO_135 (29U)
|
||||
#define MCHP_GPIO_136 (30U)
|
||||
/* End Port C */
|
||||
|
||||
/* Begin Port D */
|
||||
#define MCHP_GPIO_140 (0U)
|
||||
#define MCHP_GPIO_141 (1U)
|
||||
#define MCHP_GPIO_142 (2U)
|
||||
#define MCHP_GPIO_143 (3U)
|
||||
#define MCHP_GPIO_144 (4U)
|
||||
#define MCHP_GPIO_145 (5U)
|
||||
#define MCHP_GPIO_146 (6U)
|
||||
#define MCHP_GPIO_147 (7U)
|
||||
#define MCHP_GPIO_150 (8U)
|
||||
#define MCHP_GPIO_151 (9U)
|
||||
#define MCHP_GPIO_152 (10U)
|
||||
#define MCHP_GPIO_153 (11U)
|
||||
#define MCHP_GPIO_154 (12U)
|
||||
#define MCHP_GPIO_155 (13U)
|
||||
#define MCHP_GPIO_156 (14U)
|
||||
#define MCHP_GPIO_157 (15U)
|
||||
#define MCHP_GPIO_160 (16U)
|
||||
#define MCHP_GPIO_161 (17U)
|
||||
#define MCHP_GPIO_162 (18U)
|
||||
#define MCHP_GPIO_163 (19U)
|
||||
#define MCHP_GPIO_164 (20U)
|
||||
#define MCHP_GPIO_165 (21U)
|
||||
#define MCHP_GPIO_166 (22U)
|
||||
#define MCHP_GPIO_167 (23U)
|
||||
#define MCHP_GPIO_170 (24U)
|
||||
#define MCHP_GPIO_171 (25U)
|
||||
#define MCHP_GPIO_172 (26U)
|
||||
#define MCHP_GPIO_173 (27U)
|
||||
#define MCHP_GPIO_174 (28U)
|
||||
#define MCHP_GPIO_175 (29U)
|
||||
#define MCHP_GPIO_176 (30U)
|
||||
/* End Port D */
|
||||
|
||||
/* Begin Port E */
|
||||
#define MCHP_GPIO_200 (0U)
|
||||
#define MCHP_GPIO_201 (1U)
|
||||
#define MCHP_GPIO_202 (2U)
|
||||
#define MCHP_GPIO_203 (3U)
|
||||
#define MCHP_GPIO_204 (4U)
|
||||
#define MCHP_GPIO_205 (5U)
|
||||
#define MCHP_GPIO_206 (6U)
|
||||
#define MCHP_GPIO_207 (7U)
|
||||
#define MCHP_GPIO_210 (8U)
|
||||
#define MCHP_GPIO_211 (9U)
|
||||
#define MCHP_GPIO_212 (10U)
|
||||
#define MCHP_GPIO_213 (11U)
|
||||
#define MCHP_GPIO_214 (12U)
|
||||
#define MCHP_GPIO_215 (13U)
|
||||
#define MCHP_GPIO_216 (14U)
|
||||
#define MCHP_GPIO_217 (15U)
|
||||
#define MCHP_GPIO_220 (16U)
|
||||
#define MCHP_GPIO_221 (17U)
|
||||
#define MCHP_GPIO_222 (18U)
|
||||
#define MCHP_GPIO_223 (19U)
|
||||
#define MCHP_GPIO_224 (20U)
|
||||
#define MCHP_GPIO_225 (21U)
|
||||
#define MCHP_GPIO_226 (22U)
|
||||
#define MCHP_GPIO_227 (23U)
|
||||
#define MCHP_GPIO_230 (24U)
|
||||
#define MCHP_GPIO_231 (25U)
|
||||
#define MCHP_GPIO_232 (26U)
|
||||
#define MCHP_GPIO_233 (27U)
|
||||
#define MCHP_GPIO_234 (28U)
|
||||
#define MCHP_GPIO_235 (29U)
|
||||
#define MCHP_GPIO_236 (30U)
|
||||
/* End Port E */
|
||||
|
||||
/* Begin Port F */
|
||||
#define MCHP_GPIO_240 (0U)
|
||||
#define MCHP_GPIO_241 (1U)
|
||||
#define MCHP_GPIO_242 (2U)
|
||||
#define MCHP_GPIO_243 (3U)
|
||||
#define MCHP_GPIO_244 (4U)
|
||||
#define MCHP_GPIO_245 (5U)
|
||||
#define MCHP_GPIO_246 (6U)
|
||||
#define MCHP_GPIO_247 (7U)
|
||||
#define MCHP_GPIO_250 (8U)
|
||||
#define MCHP_GPIO_251 (9U)
|
||||
#define MCHP_GPIO_252 (10U)
|
||||
#define MCHP_GPIO_253 (11U)
|
||||
#define MCHP_GPIO_254 (12U)
|
||||
/* End Port F */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _SOC_MCHP_GPIOS_H_ */
|
|
@ -22,6 +22,16 @@ config UART_NS16550
|
|||
|
||||
endif # SERIAL
|
||||
|
||||
config GPIO
|
||||
default y
|
||||
|
||||
if GPIO
|
||||
|
||||
config GPIO_XEC
|
||||
default y
|
||||
|
||||
endif # GPIO
|
||||
|
||||
if I2C
|
||||
|
||||
config I2C_XEC
|
||||
|
|
|
@ -44,3 +44,39 @@
|
|||
#define DT_UART_NS16550_PORT_2_IRQ DT_NS16550_400F2C00_IRQ_0
|
||||
#define DT_UART_NS16550_PORT_2_IRQ_PRI DT_NS16550_2_IRQ_0_PRIORITY
|
||||
#define DT_UART_NS16550_PORT_2_IRQ_FLAGS 0 /* Default */
|
||||
|
||||
#define DT_GPIO_XEC_GPIO000_036_BASE_ADDR DT_MICROCHIP_XEC_GPIO_0_BASE_ADDRESS
|
||||
#define DT_GPIO_XEC_GPIO000_036_IRQ DT_MICROCHIP_XEC_GPIO_0_IRQ_0
|
||||
#define DT_GPIO_XEC_GPIO000_036_IRQ_PRIORITY DT_MICROCHIP_XEC_GPIO_0_IRQ_0_PRIORITY
|
||||
#define DT_GPIO_XEC_GPIO000_036_LABEL DT_MICROCHIP_XEC_GPIO_0_LABEL
|
||||
#define DT_GPIO_XEC_GPIO000_036_SIZE DT_MICROCHIP_XEC_GPIO_0_SIZE
|
||||
|
||||
#define DT_GPIO_XEC_GPIO040_076_BASE_ADDR DT_MICROCHIP_XEC_GPIO_1_BASE_ADDRESS
|
||||
#define DT_GPIO_XEC_GPIO040_076_IRQ DT_MICROCHIP_XEC_GPIO_1_IRQ_0
|
||||
#define DT_GPIO_XEC_GPIO040_076_IRQ_PRIORITY DT_MICROCHIP_XEC_GPIO_1_IRQ_0_PRIORITY
|
||||
#define DT_GPIO_XEC_GPIO040_076_LABEL DT_MICROCHIP_XEC_GPIO_1_LABEL
|
||||
#define DT_GPIO_XEC_GPIO040_076_SIZE DT_MICROCHIP_XEC_GPIO_1_SIZE
|
||||
|
||||
#define DT_GPIO_XEC_GPIO100_136_BASE_ADDR DT_MICROCHIP_XEC_GPIO_2_BASE_ADDRESS
|
||||
#define DT_GPIO_XEC_GPIO100_136_IRQ DT_MICROCHIP_XEC_GPIO_2_IRQ_0
|
||||
#define DT_GPIO_XEC_GPIO100_136_IRQ_PRIORITY DT_MICROCHIP_XEC_GPIO_2_IRQ_0_PRIORITY
|
||||
#define DT_GPIO_XEC_GPIO100_136_LABEL DT_MICROCHIP_XEC_GPIO_2_LABEL
|
||||
#define DT_GPIO_XEC_GPIO100_136_SIZE DT_MICROCHIP_XEC_GPIO_2_SIZE
|
||||
|
||||
#define DT_GPIO_XEC_GPIO140_176_BASE_ADDR DT_MICROCHIP_XEC_GPIO_3_BASE_ADDRESS
|
||||
#define DT_GPIO_XEC_GPIO140_176_IRQ DT_MICROCHIP_XEC_GPIO_3_IRQ_0
|
||||
#define DT_GPIO_XEC_GPIO140_176_IRQ_PRIORITY DT_MICROCHIP_XEC_GPIO_3_IRQ_0_PRIORITY
|
||||
#define DT_GPIO_XEC_GPIO140_176_LABEL DT_MICROCHIP_XEC_GPIO_3_LABEL
|
||||
#define DT_GPIO_XEC_GPIO140_176_SIZE DT_MICROCHIP_XEC_GPIO_3_SIZE
|
||||
|
||||
#define DT_GPIO_XEC_GPIO200_236_BASE_ADDR DT_MICROCHIP_XEC_GPIO_4_BASE_ADDRESS
|
||||
#define DT_GPIO_XEC_GPIO200_236_IRQ DT_MICROCHIP_XEC_GPIO_4_IRQ_0
|
||||
#define DT_GPIO_XEC_GPIO200_236_IRQ_PRIORITY DT_MICROCHIP_XEC_GPIO_4_IRQ_0_PRIORITY
|
||||
#define DT_GPIO_XEC_GPIO200_236_LABEL DT_MICROCHIP_XEC_GPIO_4_LABEL
|
||||
#define DT_GPIO_XEC_GPIO200_236_SIZE DT_MICROCHIP_XEC_GPIO_4_SIZE
|
||||
|
||||
#define DT_GPIO_XEC_GPIO240_276_BASE_ADDR DT_MICROCHIP_XEC_GPIO_5_BASE_ADDRESS
|
||||
#define DT_GPIO_XEC_GPIO240_276_IRQ DT_MICROCHIP_XEC_GPIO_5_IRQ_0
|
||||
#define DT_GPIO_XEC_GPIO240_276_IRQ_PRIORITY DT_MICROCHIP_XEC_GPIO_5_IRQ_0_PRIORITY
|
||||
#define DT_GPIO_XEC_GPIO240_276_LABEL DT_MICROCHIP_XEC_GPIO_5_LABEL
|
||||
#define DT_GPIO_XEC_GPIO240_276_SIZE DT_MICROCHIP_XEC_GPIO_5_SIZE
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include "MEC1501hsz.h"
|
||||
#include "regaccess.h"
|
||||
|
||||
#include "../common/soc_gpio.h"
|
||||
#include "../common/soc_pins.h"
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue