hartmannathan commented on a change in pull request #1051:
URL: https://github.com/apache/incubator-nuttx/pull/1051#discussion_r426815435



##########
File path: arch/arm/src/stm32/hardware/stm32g47xxx_gpio.h
##########
@@ -0,0 +1,340 @@
+/****************************************************************************
+ *  arch/arm/src/stm32/hardware/stm32g47xxx_gpio.h
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.  The
+ *  ASF licenses this file to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance with the
+ *  License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ *  License for the specific language governing permissions and limitations
+ *  under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_GPIO_H
+#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_GPIO_H
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define STM32_NGPIO_PORTS              (7)            /* GPIOA-G */
+
+/* Register Offsets *********************************************************/
+
+#define STM32_GPIO_MODER_OFFSET        0x0000         /* GPIO port mode 
register */
+#define STM32_GPIO_OTYPER_OFFSET       0x0004         /* GPIO port output type 
register */
+#define STM32_GPIO_OSPEED_OFFSET       0x0008         /* GPIO port output 
speed register */
+#define STM32_GPIO_PUPDR_OFFSET        0x000c         /* GPIO port 
pull-up/pull-down register */
+#define STM32_GPIO_IDR_OFFSET          0x0010         /* GPIO port input data 
register */
+#define STM32_GPIO_ODR_OFFSET          0x0014         /* GPIO port output data 
register */
+#define STM32_GPIO_BSRR_OFFSET         0x0018         /* GPIO port bit 
set/reset register */
+#define STM32_GPIO_LCKR_OFFSET         0x001c         /* GPIO port 
configuration lock register */
+#define STM32_GPIO_AFRL_OFFSET         0x0020         /* GPIO alternate 
function low register */
+#define STM32_GPIO_AFRH_OFFSET         0x0024         /* GPIO alternate 
function high register */
+#define STM32_GPIO_BRR_OFFSET          0x0028         /* GPIO port bit reset 
register */
+
+/* Register Addresses *******************************************************/
+
+#if (STM32_NGPIO_PORTS > 0)
+#  define STM32_GPIOA_MODER            (STM32_GPIOA_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOA_OTYPER           (STM32_GPIOA_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOA_OSPEED           (STM32_GPIOA_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOA_PUPDR            (STM32_GPIOA_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOA_IDR              (STM32_GPIOA_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOA_ODR              (STM32_GPIOA_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOA_BSRR             (STM32_GPIOA_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOA_LCKR             (STM32_GPIOA_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOA_AFRL             (STM32_GPIOA_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOA_AFRH             (STM32_GPIOA_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOA_BRR              (STM32_GPIOA_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+#if (STM32_NGPIO_PORTS > 1)
+#  define STM32_GPIOB_MODER            (STM32_GPIOB_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOB_OTYPER           (STM32_GPIOB_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOB_OSPEED           (STM32_GPIOB_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOB_PUPDR            (STM32_GPIOB_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOB_IDR              (STM32_GPIOB_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOB_ODR              (STM32_GPIOB_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOB_BSRR             (STM32_GPIOB_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOB_LCKR             (STM32_GPIOB_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOB_AFRL             (STM32_GPIOB_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOB_AFRH             (STM32_GPIOB_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOB_BRR              (STM32_GPIOB_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+#if (STM32_NGPIO_PORTS > 2)
+#  define STM32_GPIOC_MODER            (STM32_GPIOC_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOC_OTYPER           (STM32_GPIOC_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOC_OSPEED           (STM32_GPIOC_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOC_PUPDR            (STM32_GPIOC_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOC_IDR              (STM32_GPIOC_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOC_ODR              (STM32_GPIOC_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOC_BSRR             (STM32_GPIOC_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOC_LCKR             (STM32_GPIOC_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOC_AFRL             (STM32_GPIOC_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOC_AFRH             (STM32_GPIOC_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOC_BRR              (STM32_GPIOC_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+#if (STM32_NGPIO_PORTS > 3)
+#  define STM32_GPIOD_MODER            (STM32_GPIOD_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOD_OTYPER           (STM32_GPIOD_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOD_OSPEED           (STM32_GPIOD_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOD_PUPDR            (STM32_GPIOD_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOD_IDR              (STM32_GPIOD_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOD_ODR              (STM32_GPIOD_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOD_BSRR             (STM32_GPIOD_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOD_LCKR             (STM32_GPIOD_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOD_AFRL             (STM32_GPIOD_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOD_AFRH             (STM32_GPIOD_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOD_BRR              (STM32_GPIOD_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+#if (STM32_NGPIO_PORTS > 4)
+#  define STM32_GPIOE_MODER            (STM32_GPIOE_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOE_OTYPER           (STM32_GPIOE_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOE_OSPEED           (STM32_GPIOE_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOE_PUPDR            (STM32_GPIOE_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOE_IDR              (STM32_GPIOE_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOE_ODR              (STM32_GPIOE_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOE_BSRR             (STM32_GPIOE_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOE_LCKR             (STM32_GPIOE_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOE_AFRL             (STM32_GPIOE_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOE_AFRH             (STM32_GPIOE_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOE_BRR              (STM32_GPIOE_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+#if (STM32_NGPIO_PORTS > 5)
+#  define STM32_GPIOF_MODER            (STM32_GPIOF_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOF_OTYPER           (STM32_GPIOF_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOF_OSPEED           (STM32_GPIOF_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOF_PUPDR            (STM32_GPIOF_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOF_IDR              (STM32_GPIOF_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOF_ODR              (STM32_GPIOF_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOF_BSRR             (STM32_GPIOF_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOF_LCKR             (STM32_GPIOF_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOF_AFRL             (STM32_GPIOF_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOF_AFRH             (STM32_GPIOF_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOF_BRR              (STM32_GPIOF_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+#if (STM32_NGPIO_PORTS > 6)
+#  define STM32_GPIOG_MODER            (STM32_GPIOG_BASE + 
STM32_GPIO_MODER_OFFSET)
+#  define STM32_GPIOG_OTYPER           (STM32_GPIOG_BASE + 
STM32_GPIO_OTYPER_OFFSET)
+#  define STM32_GPIOG_OSPEED           (STM32_GPIOG_BASE + 
STM32_GPIO_OSPEED_OFFSET)
+#  define STM32_GPIOG_PUPDR            (STM32_GPIOG_BASE + 
STM32_GPIO_PUPDR_OFFSET)
+#  define STM32_GPIOG_IDR              (STM32_GPIOG_BASE + 
STM32_GPIO_IDR_OFFSET)
+#  define STM32_GPIOG_ODR              (STM32_GPIOG_BASE + 
STM32_GPIO_ODR_OFFSET)
+#  define STM32_GPIOG_BSRR             (STM32_GPIOG_BASE + 
STM32_GPIO_BSRR_OFFSET)
+#  define STM32_GPIOG_LCKR             (STM32_GPIOG_BASE + 
STM32_GPIO_LCKR_OFFSET)
+#  define STM32_GPIOG_AFRL             (STM32_GPIOG_BASE + 
STM32_GPIO_AFRL_OFFSET)
+#  define STM32_GPIOG_AFRH             (STM32_GPIOG_BASE + 
STM32_GPIO_AFRH_OFFSET)
+#  define STM32_GPIOG_BRR              (STM32_GPIOG_BASE + 
STM32_GPIO_BRR_OFFSET)
+#endif
+
+/* Register Bitfield Definitions ********************************************/
+
+/* GPIO port mode register */
+
+#define GPIO_MODER_INPUT               (0x0)          /* Input mode */
+#define GPIO_MODER_OUTPUT              (0x1)          /* General purpose 
output mode */
+#define GPIO_MODER_ALT                 (0x2)          /* Alternate mode */
+#define GPIO_MODER_ANALOG              (0x3)          /* Analog mode (reset 
state) */
+
+#define GPIO_MODER_SHIFT(n)            ((n) << 1)
+#define GPIO_MODER_MASK(n)             (0x3 << GPIO_MODER_SHIFT(n))
+

Review comment:
       Done in 637afd3d4c5762f81db49cfce9f6e1b2527bf3a5.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to