gustavonihei commented on a change in pull request #4401:
URL: https://github.com/apache/incubator-nuttx/pull/4401#discussion_r698764284



##########
File path: arch/xtensa/src/esp32s2/esp32s2_tim.c
##########
@@ -0,0 +1,981 @@
+/****************************************************************************
+ * arch/xtensa/src/esp32s2/esp32s2_tim.c
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/arch.h>
+#include <nuttx/irq.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <assert.h>
+#include <debug.h>
+
+#include "xtensa.h"
+
+#include "hardware/esp32s2_tim.h"
+
+#include "esp32s2_tim.h"
+#include "esp32s2_cpuint.h"
+
+/****************************************************************************
+ * Private Types
+ ****************************************************************************/
+
+struct esp32s2_tim_priv_s
+{
+  FAR struct esp32s2_tim_ops_s    *ops;
+  uint8_t                          gid;  /* Group instance */
+  uint8_t                          tid;  /* Timer instance */
+  uint8_t                      int_pri;
+  uint8_t                       periph;  /* Peripheral ID */
+  uint8_t                          irq;  /* Interrupt ID */
+  int                           cpuint;  /* CPU interrupt assigned to this 
timer */
+  bool                           inuse;  /* Flag indicating if the timer is in 
use */
+};
+
+/****************************************************************************
+ * Private Function Prototypes
+ ****************************************************************************/
+
+/* TIM operations ***********************************************************/
+
+static void esp32s2_tim_start(FAR struct esp32s2_tim_dev_s *dev);
+static void esp32s2_tim_stop(FAR struct esp32s2_tim_dev_s *dev);
+static void esp32s2_tim_clear(FAR struct esp32s2_tim_dev_s *dev);
+static void esp32s2_tim_setmode(FAR struct esp32s2_tim_dev_s *dev,
+                                enum esp32s2_tim_mode_e mode);
+static void esp32s2_tim_setclksrc(FAR struct esp32s2_tim_dev_s *dev,
+                                  enum esp32s2_tim_clksrc_e src);
+static void esp32s2_tim_setpre(FAR struct esp32s2_tim_dev_s *dev,
+                               uint16_t pre);
+static void esp32s2_tim_getcounter(FAR struct esp32s2_tim_dev_s *dev,
+                                   uint64_t *value);
+static void esp32s2_tim_setcounter(FAR struct esp32s2_tim_dev_s *dev,
+                                   uint64_t value);
+static void esp32s2_tim_reload_now(FAR struct esp32s2_tim_dev_s *dev);
+static void esp32s2_tim_getalarmvalue(FAR struct esp32s2_tim_dev_s *dev,
+                                      uint64_t *value);
+static void esp32s2_tim_setalarmvalue(FAR struct esp32s2_tim_dev_s *dev,
+                                      uint64_t value);
+static void esp32s2_tim_setalarm(FAR struct esp32s2_tim_dev_s *dev,
+                                 bool enable);
+static void esp32s2_tim_setautoreload(FAR struct esp32s2_tim_dev_s *dev,
+                                      bool enable);
+static int esp32s2_tim_setisr(FAR struct esp32s2_tim_dev_s *dev,
+                              xcpt_t handler, FAR void * arg);
+static void esp32s2_tim_enableint(FAR struct esp32s2_tim_dev_s *dev);
+static void esp32s2_tim_disableint(FAR struct esp32s2_tim_dev_s *dev);
+static void esp32s2_tim_ackint(FAR struct esp32s2_tim_dev_s *dev);
+static int  esp32s2_tim_checkint(FAR struct esp32s2_tim_dev_s *dev);
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/* ESP32S2 TIM ops */

Review comment:
       ```suggestion
   /* ESP32-S2 TIM ops */
   ```




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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to