This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 4aa9b80  stm32 - Add register mappings for STM32G474 VREFBUF
4aa9b80 is described below

commit 4aa9b80d2b046ceb92462dee64c789dfee0fcc6b
Author: Nathan Hartman <[email protected]>
AuthorDate: Fri Oct 30 15:28:51 2020 -0400

    stm32 - Add register mappings for STM32G474 VREFBUF
    
    arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h:
    
        * New file: Adds register definitions for the VREFBUF peripheral.
---
 arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h | 68 +++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h 
b/arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h
new file mode 100755
index 0000000..fa0a030
--- /dev/null
+++ b/arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+ *  arch/arm/src/stm32/hardware/stm32g47xxx_vrefbuf.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_VREFBUF_H
+#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_VREFBUF_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include "chip.h"
+
+#ifdef CONFIG_STM32_STM32G47XX
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Register Offsets *********************************************************/
+
+#define STM32_VREFBUF_CSR_OFFSET          0x0000                         /* 
VREFBUF control and status register (CSR) */
+#define STM32_VREFBUF_CCR_OFFSET          0x0004                         /* 
VREFBUF calibration control register (CCR) */
+
+/* Register Addresses *******************************************************/
+
+#define STM32_VREFBUF_CSR                 (STM32_VREFBUF_BASE + 
STM32_VREFBUF_CSR_OFFSET)
+#define STM32_VREFBUF_CCR                 (STM32_VREFBUF_BASE + 
STM32_VREFBUF_CCR_OFFSET)
+
+/* Register Bitfield Definitions ********************************************/
+
+/* VREFBUF control and status register (CSR) */
+
+#define VREFBUF_CSR_ENVR                  (1 << 0)                       /* 
Bit 0: VREFBUF Mode: 0 = Use external vref, 1 = VREFBUF enable or hold */
+#define VREFBUF_CSR_HIZ                   (1 << 1)                       /* 
Bit 1: HiZ mode: 0 = Connect VREF+ to VREFBUF; 1 = VREF+ pin HiZ */
+#define VREFBUF_CSR_RESERVED2             (1 << 2)                       /* 
Bit 2: Reserved; keep at reset value */
+#define VREFBUF_CSR_VRR                   (1 << 3)                       /* 
Bit 3: Voltage Reference Buffer Ready (0 = not ready; 1 = ready) */
+#define VREFBUF_CSR_VRS_SHIFT             (4)                            /* 
Bits 4-5 */
+#define VREFBUF_CSR_VRS_MASK              (0x3 << VREFBUF_CSR_VRS_SHIFT) /* 
Voltage Reference Scale (VRS) selection bitmask */
+#  define VREFBUF_CSR_VRS_2_048V          (0x0 << VREFBUF_CSR_VRS_SHIFT) /* 
00: Voltage reference set to 2.048V */
+#  define VREFBUF_CSR_VRS_2_5V            (0x1 << VREFBUF_CSR_VRS_SHIFT) /* 
01: Voltage reference set to 2.5V */
+#  define VREFBUF_CSR_VRS_2_90V           (0x2 << VREFBUF_CSR_VRS_SHIFT) /* 
10: Voltage reference set to 2.90V */
+#  define VREFBUF_CSR_VRS_RESERVED        (0x3 << VREFBUF_CSR_VRS_SHIFT) /* 
11: Reserved; do not use */
+
+/* VREFBUF calibration control register (CCR) */
+
+#define VREFBUF_CCR_TRIM_SHIFT            (0)
+#define VREFBUF_CCR_TRIM_MASK             (0x3f)                         /* 
6-bit unsigned trim code */
+
+#endif /* CONFIG_STM32_STM32G47XX */
+#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32G47XXX_VREFBUF_H */

Reply via email to