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:
Francisco Munoz 2019-04-10 01:45:16 -07:00 committed by Andrew Boie
commit 35cfe113d2
5 changed files with 275 additions and 0 deletions

View 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_ */

View 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_ */

View file

@ -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

View file

@ -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

View file

@ -14,6 +14,8 @@
#include "MEC1501hsz.h"
#include "regaccess.h"
#include "../common/soc_gpio.h"
#include "../common/soc_pins.h"
#endif