You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/01/05 06:00:51 UTC

[GitHub] [incubator-nuttx] GUIDINGLI opened a new pull request #5165: CEVA: add ceva platform xc5 xm6 support

GUIDINGLI opened a new pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165


   ## Summary
   
   CEVA: add ceva platform xc5 xm6 support
   
   which code base from: https://github.com/FishsemiCode/nuttx
   
   ## Impact
   
   New arch platform
   
   ## Testing
   
   


-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] gustavonihei commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
gustavonihei commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779071327



##########
File path: arch/ceva/include/arch.h
##########
@@ -0,0 +1,107 @@
+/****************************************************************************
+ * arch/ceva/include/arch.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather,
+ * only indirectly through nuttx/arch.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_ARCH_H
+#define __ARCH_CEVA_INCLUDE_ARCH_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <arch/chip/chip.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#if CONFIG_ARCH_INTERRUPTSTACK == 0
+/* The interrupt stack is required for CEVA porting */
+
+#  undef CONFIG_ARCH_INTERRUPTSTACK
+#  define CONFIG_ARCH_INTERRUPTSTACK CONFIG_IDLETHREAD_STACKSIZE
+#endif
+
+#if defined(CONFIG_ARCH_ADDRENV) && defined(CONFIG_BUILD_KERNEL)
+/* In the kernel build, there a multiple user heaps; one for each task
+ * group.  In this build configuration, the user heap structure lies
+ * in a reserved region at the beginning of the .bss/.data address
+ * space (CONFIG_ARCH_DATA_VBASE).  The size of that region is given by
+ * ARCH_DATA_RESERVE_SIZE
+ */

Review comment:
       ```suggestion
   /* In the kernel build, there are multiple user heaps; one for each task
    * group.  In this build configuration, the user heap structure lies
    * in a reserved region at the beginning of the .bss/.data address
    * space (CONFIG_ARCH_DATA_VBASE).  The size of that region is given by
    * ARCH_DATA_RESERVE_SIZE
    */
   ```




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] gustavonihei commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
gustavonihei commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779071100



##########
File path: arch/ceva/include/arch.h
##########
@@ -0,0 +1,107 @@
+/****************************************************************************
+ * arch/ceva/include/arch.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather,

Review comment:
       ```suggestion
   /* This file should never be included directly but, rather,
   ```




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis merged pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis merged pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165


   


-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] gustavonihei commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
gustavonihei commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779070567



##########
File path: arch/ceva/Kconfig
##########
@@ -0,0 +1,133 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+if ARCH_CEVA
+comment "CEVA Options"
+
+config ARCH_XC5
+	bool
+	default n
+	---help---
+		CEVA-XC5 is a licensable DSP and memory subsystem (MSS) platform
+		designed for advanced wireless communication, with low power and
+		flexible architecture support for both legacy and next-generation
+		wireless standards.
+
+config ARCH_XM6
+	bool
+	default n
+	select ARCH_HAVE_HARDFAULT_DEBUG
+	select ARCH_HAVE_MPU
+	select ARCH_HAVE_MULTICPU
+	---help---
+		CEVA-XM6 is a licensable DSP and memory subsystem (MSS) platform
+		targeted for high-performance computer vision and image-processing
+		applications that provide very high processing power while
+		maintaining a small footprint and low power consumption.
+
+config ARCH_FAMILY
+	string
+	default "xc5"		if ARCH_XC5
+	default "xm6"		if ARCH_XM6
+
+config ARCH_ITCM_SIZE
+	int "ITCM Size"
+
+config ARCH_DTCM_SIZE
+	int "DTCM Size"
+
+config CEVA_ICACHE
+	bool "Use I-Cache"
+	default n
+	select ARCH_ICACHE
+
+config CEVA_DCACHE
+	bool "Use D-Cache"
+	default n
+	select ARCH_DCACHE
+
+config ARCH_NR_FPUS
+	int "FPU Number"
+	default 1
+	depends on ARCH_HAVE_FPU
+	---help---
+		Build in support for the number of Floating Point Unit.
+		Check your chip specifications first; not all CEVA chips
+		support the FPU.
+
+config ARCH_MPU
+	bool "MPU support"
+	default n
+	depends on ARCH_HAVE_MPU
+	select ARCH_USE_MPU
+	---help---
+		Build in support for the CEVA Memory Protection Unit (MPU).

Review comment:
       ```suggestion
   		Built-in support for the CEVA Memory Protection Unit (MPU).
   ```




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] Ouss4 commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
Ouss4 commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779885929



##########
File path: arch/ceva/include/spinlock.h
##########
@@ -0,0 +1,106 @@
+/****************************************************************************
+ * arch/ceva/include/spinlock.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_CEVA_INCLUDE_SPINLOCK_H
+#define __ARCH_CEVA_INCLUDE_SPINLOCK_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif /* __ASSEMBLY__ */
+
+#if defined(CONFIG_ARCH_XC5)
+#  include <arch/xc5/spinlock.h>
+#elif defined(CONFIG_ARCH_XM6)
+#  include <arch/xm6/spinlock.h>
+#endif
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Spinlock states */
+
+#define SP_UNLOCKED 0  /* The Un-locked state */
+#define SP_LOCKED   1  /* The Locked state */
+
+/* Memory barriers for use with NuttX spinlock logic
+ *
+ * Data Memory Barrier (DMB) acts as a memory barrier. It ensures that all
+ * explicit memory accesses that appear in program order before the DMB
+ * instruction are observed before any explicit memory accesses that appear
+ * in program order after the DMB instruction. It does not affect the
+ * ordering of any other instructions executing on the processor
+ *
+ * Data Synchronization Barrier (DSB) acts as a special kind of memory
+ * barrier. No instruction in program order after this instruction executes
+ * until this instruction completes. This instruction completes when: (1) All
+ * explicit memory accesses before this instruction complete, and (2) all
+ * Cache, Branch predictor and TLB maintenance operations before this
+ * instruction complete.
+ *
+ */
+
+#define SP_DSB(n) up_dsb()
+#define SP_DMB(n) up_dmb()
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* The Type of a spinlock. */
+
+typedef uint32_t spinlock_t;

Review comment:
       This actually is the first definition of `spinlock_t`.  The one in the in `nuttx/spinlock.h` is just a stub to reduce the amount of `ifdef`s.




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] xiaoxiang781216 edited a comment on pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 edited a comment on pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#issuecomment-1006663170


   Here is some introduction info:
   https://www.ceva-dsp.com/product/ceva-xm6/
   https://www.ceva-dsp.com/product/ceva-xc16/
   Basically, these DSPs are designed for Vision and Modem.
   
   > Would a README with links to information (mfg, datasheets) add value here?
   
   The user has to sign NDA to get the datasheet:(.


-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779104609



##########
File path: arch/ceva/include/xm6/irq.h
##########
@@ -0,0 +1,256 @@
+/****************************************************************************
+ * arch/ceva/include/xm6/irq.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through nuttx/irq.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_XM6_IRQ_H
+#define __ARCH_CEVA_INCLUDE_XM6_IRQ_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif
+
+/* Included implementation-dependent register save structure layouts */
+
+#include <arch/xm6/reg.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Configuration ************************************************************/
+
+/* If this is kernel build, how many nested system calls should we support? */
+
+#ifndef CONFIG_SYS_NNEST
+#  define CONFIG_SYS_NNEST 2
+#endif
+
+/* Alternate register names *************************************************/
+
+#define REG_A0              REG_R0
+#define REG_A1              REG_R1
+#define REG_A2              REG_R2
+#define REG_A3              REG_R3
+#define REG_A4              REG_R4
+#define REG_A5              REG_R5
+#define REG_A6              REG_R6
+#define REG_FP              REG_R8
+#define REG_LR              REG_RETREG
+#define REG_PC              REG_RETREGI
+#define REG_OM              REG_MODC  /* Operation Mode */
+
+/* MODA: IRQ enable/disable */

Review comment:
       Please include a blank line after a comment line

##########
File path: arch/ceva/include/xm6/irq.h
##########
@@ -0,0 +1,256 @@
+/****************************************************************************
+ * arch/ceva/include/xm6/irq.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through nuttx/irq.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_XM6_IRQ_H
+#define __ARCH_CEVA_INCLUDE_XM6_IRQ_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif
+
+/* Included implementation-dependent register save structure layouts */
+
+#include <arch/xm6/reg.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Configuration ************************************************************/
+
+/* If this is kernel build, how many nested system calls should we support? */
+
+#ifndef CONFIG_SYS_NNEST
+#  define CONFIG_SYS_NNEST 2
+#endif
+
+/* Alternate register names *************************************************/
+
+#define REG_A0              REG_R0
+#define REG_A1              REG_R1
+#define REG_A2              REG_R2
+#define REG_A3              REG_R3
+#define REG_A4              REG_R4
+#define REG_A5              REG_R5
+#define REG_A6              REG_R6
+#define REG_FP              REG_R8
+#define REG_LR              REG_RETREG
+#define REG_PC              REG_RETREGI
+#define REG_OM              REG_MODC  /* Operation Mode */
+
+/* MODA: IRQ enable/disable */
+#define REG_MODA_DEFAULT    0x07f0
+
+#define REG_MODA_ENABLE     0x07f0
+#define REG_MODA_DISABLE    0x0010
+
+/* MODC: Operation mode */

Review comment:
       Ditto

##########
File path: arch/ceva/src/common/up_assert.c
##########
@@ -0,0 +1,372 @@
+/****************************************************************************
+ * arch/ceva/src/common/up_assert.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 <assert.h>
+#include <debug.h>
+
+#include <nuttx/arch.h>
+#include <nuttx/syslog/syslog.h>
+#include <nuttx/usb/usbdev_trace.h>
+
+#include "sched/sched.h"
+#include "irq/irq.h"
+#include "up_internal.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* USB trace dumping */
+
+#ifndef CONFIG_USBDEV_TRACE
+#  undef CONFIG_ARCH_USBDUMP
+#endif
+
+#ifndef CONFIG_BOARD_RESET_ON_ASSERT
+#  define CONFIG_BOARD_RESET_ON_ASSERT 0
+#endif
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+#ifdef CONFIG_ARCH_STACKDUMP
+static uint32_t s_last_regs[XCPTCONTEXT_REGS];
+#endif
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: up_stackdump
+ ****************************************************************************/
+
+#ifdef CONFIG_ARCH_STACKDUMP
+static void up_stackdump(uint32_t sp, uint32_t stack_base)
+{
+  uint32_t stack;
+
+  for (stack = sp; stack < stack_base; stack += 8 * sizeof(uint32_t))
+    {
+      uint32_t *ptr = (uint32_t *)stack;
+      _alert("%08x: %08x %08x %08x %08x %08x %08x %08x %08x\n",
+             stack, ptr[0], ptr[1], ptr[2], ptr[3],
+             ptr[4], ptr[5], ptr[6], ptr[7]);
+    }
+}
+#else
+#  define up_stackdump(sp, stack_base)
+#endif
+
+/****************************************************************************
+ * Name: up_taskdump
+ ****************************************************************************/
+
+#ifdef CONFIG_STACK_COLORATION
+static void up_taskdump(FAR struct tcb_s *tcb, FAR void *arg)
+{
+  /* Dump interesting properties of this task */
+
+#if CONFIG_TASK_NAME_SIZE > 0
+  _alert("%s: PID=%d Stack Used=%lu of %lu\n",
+        tcb->name, tcb->pid, up_check_tcbstack(tcb),
+        tcb->adj_stack_size);
+#else
+  _alert("PID: %d Stack Used=%lu of %lu\n",
+        tcb->pid, up_check_tcbstack(tcb),
+        tcb->adj_stack_size);
+#endif
+}
+#endif
+
+/****************************************************************************
+ * Name: up_showtasks
+ ****************************************************************************/
+
+#ifdef CONFIG_STACK_COLORATION
+static inline void up_showtasks(void)
+{
+  /* Dump interesting properties of each task in the crash environment */
+
+  sched_foreach(up_taskdump, NULL);
+}
+#else
+#  define up_showtasks()
+#endif
+
+/****************************************************************************
+ * Name: up_registerdump
+ ****************************************************************************/
+
+#ifdef CONFIG_ARCH_STACKDUMP
+static inline void up_registerdump(void)
+{
+  volatile uint32_t *regs = CURRENT_REGS;
+  int rx;
+
+  /* Are user registers available from interrupt processing? */
+
+  if (regs == NULL)
+    {
+      /* No.. capture user registers by hand */
+
+      up_saveusercontext(s_last_regs);
+      regs = s_last_regs;
+    }
+
+  /* Dump the interrupt registers */
+
+  for (rx = 0; rx < XCPTCONTEXT_REGS; rx += 8)
+    {
+      _alert("R%03d: %08x %08x %08x %08x %08x %08x %08x %08x\n",
+            rx, regs[rx], regs[rx + 1], regs[rx + 2], regs[rx + 3],

Review comment:
       The variables line need to move a single character to the right to be aligned after the "("

##########
File path: arch/ceva/include/xm6/irq.h
##########
@@ -0,0 +1,256 @@
+/****************************************************************************
+ * arch/ceva/include/xm6/irq.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through nuttx/irq.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_XM6_IRQ_H
+#define __ARCH_CEVA_INCLUDE_XM6_IRQ_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif
+
+/* Included implementation-dependent register save structure layouts */
+
+#include <arch/xm6/reg.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Configuration ************************************************************/
+
+/* If this is kernel build, how many nested system calls should we support? */
+
+#ifndef CONFIG_SYS_NNEST
+#  define CONFIG_SYS_NNEST 2
+#endif
+
+/* Alternate register names *************************************************/
+
+#define REG_A0              REG_R0
+#define REG_A1              REG_R1
+#define REG_A2              REG_R2
+#define REG_A3              REG_R3
+#define REG_A4              REG_R4
+#define REG_A5              REG_R5
+#define REG_A6              REG_R6
+#define REG_FP              REG_R8
+#define REG_LR              REG_RETREG
+#define REG_PC              REG_RETREGI
+#define REG_OM              REG_MODC  /* Operation Mode */
+
+/* MODA: IRQ enable/disable */
+#define REG_MODA_DEFAULT    0x07f0
+
+#define REG_MODA_ENABLE     0x07f0
+#define REG_MODA_DISABLE    0x0010
+
+/* MODC: Operation mode */
+#define REG_OM_DEFAULT      0x20      /* PI and Supervisor */
+
+/* Note: this is POM field not OM field */

Review comment:
       Ditto




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] davids5 commented on pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
davids5 commented on pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#issuecomment-1006653867


   Would a README with links to information (mfg, datasheets) add value here?


-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis merged pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis merged pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165


   


-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779800516



##########
File path: arch/ceva/include/spinlock.h
##########
@@ -0,0 +1,106 @@
+/****************************************************************************
+ * arch/ceva/include/spinlock.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_CEVA_INCLUDE_SPINLOCK_H
+#define __ARCH_CEVA_INCLUDE_SPINLOCK_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif /* __ASSEMBLY__ */
+
+#if defined(CONFIG_ARCH_XC5)
+#  include <arch/xc5/spinlock.h>
+#elif defined(CONFIG_ARCH_XM6)
+#  include <arch/xm6/spinlock.h>
+#endif
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Spinlock states */
+
+#define SP_UNLOCKED 0  /* The Un-locked state */
+#define SP_LOCKED   1  /* The Locked state */
+
+/* Memory barriers for use with NuttX spinlock logic
+ *
+ * Data Memory Barrier (DMB) acts as a memory barrier. It ensures that all
+ * explicit memory accesses that appear in program order before the DMB
+ * instruction are observed before any explicit memory accesses that appear
+ * in program order after the DMB instruction. It does not affect the
+ * ordering of any other instructions executing on the processor
+ *
+ * Data Synchronization Barrier (DSB) acts as a special kind of memory
+ * barrier. No instruction in program order after this instruction executes
+ * until this instruction completes. This instruction completes when: (1) All
+ * explicit memory accesses before this instruction complete, and (2) all
+ * Cache, Branch predictor and TLB maintenance operations before this
+ * instruction complete.
+ *
+ */
+
+#define SP_DSB(n) up_dsb()
+#define SP_DMB(n) up_dmb()
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* The Type of a spinlock. */
+
+typedef uint32_t spinlock_t;

Review comment:
       Why to redefine spinlock_t ?

##########
File path: arch/ceva/include/spinlock.h
##########
@@ -0,0 +1,106 @@
+/****************************************************************************
+ * arch/ceva/include/spinlock.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_CEVA_INCLUDE_SPINLOCK_H
+#define __ARCH_CEVA_INCLUDE_SPINLOCK_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif /* __ASSEMBLY__ */
+
+#if defined(CONFIG_ARCH_XC5)
+#  include <arch/xc5/spinlock.h>
+#elif defined(CONFIG_ARCH_XM6)
+#  include <arch/xm6/spinlock.h>
+#endif
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Spinlock states */
+
+#define SP_UNLOCKED 0  /* The Un-locked state */

Review comment:
       ```suggestion
   #define SP_UNLOCKED 0  /* The Unlocked state */
   ```

##########
File path: arch/ceva/include/types.h
##########
@@ -0,0 +1,96 @@
+/****************************************************************************
+ * arch/ceva/include/types.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through sys/types.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_TYPES_H
+#define __ARCH_CEVA_INCLUDE_TYPES_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Type Declarations
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* These are the sizes of the standard integer types.  NOTE that these type
+ * names have a leading underscore character.  This file will be included
+ * (indirectly) by include/stdint.h and typedef'ed to the final name without
+ * the underscore character.  This roundabout way of doings things allows
+ * the stdint.h to be removed from the include/ directory in the event that
+ * the user prefers to use the definitions provided by their toolchain header
+ * files
+ */
+
+typedef signed char        _int8_t;
+typedef unsigned char      _uint8_t;
+
+typedef signed short       _int16_t;
+typedef unsigned short     _uint16_t;
+
+typedef signed int         _int32_t;
+typedef unsigned int       _uint32_t;
+
+typedef signed long long   _int64_t;
+typedef unsigned long long _uint64_t;
+#define __INT64_DEFINED

Review comment:
       Why not to use these type from stdint.h ?




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r778597883



##########
File path: arch/ceva/include/arch.h
##########
@@ -0,0 +1,122 @@
+/****************************************************************************
+ * arch/ceva/include/arch.h
+ *
+ *   Copyright (C) 2018 Pinecone Inc. All rights reserved.
+ *   Author: Xiang Xiao <xi...@pinecone.net>

Review comment:
       copyright need update to apache.




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r780235186



##########
File path: arch/ceva/include/types.h
##########
@@ -0,0 +1,96 @@
+/****************************************************************************
+ * arch/ceva/include/types.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through sys/types.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_TYPES_H
+#define __ARCH_CEVA_INCLUDE_TYPES_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Type Declarations
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* These are the sizes of the standard integer types.  NOTE that these type
+ * names have a leading underscore character.  This file will be included
+ * (indirectly) by include/stdint.h and typedef'ed to the final name without
+ * the underscore character.  This roundabout way of doings things allows
+ * the stdint.h to be removed from the include/ directory in the event that
+ * the user prefers to use the definitions provided by their toolchain header
+ * files
+ */
+
+typedef signed char        _int8_t;
+typedef unsigned char      _uint8_t;
+
+typedef signed short       _int16_t;
+typedef unsigned short     _uint16_t;
+
+typedef signed int         _int32_t;
+typedef unsigned int       _uint32_t;
+
+typedef signed long long   _int64_t;
+typedef unsigned long long _uint64_t;
+#define __INT64_DEFINED

Review comment:
       Ok, I missed that, thank you!




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779108976



##########
File path: arch/ceva/include/stdarg.h
##########
@@ -0,0 +1,41 @@
+/****************************************************************************
+ * arch/ceva/include/stdarg.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_CEVA_INCLUDE_STDARG_H
+#define __ARCH_CEVA_INCLUDE_STDARG_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include_next <stdarg.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Redefine va_copy since:
+ * 1.TL4 doesn't define it at all
+ * 2.XM6/X2 generate the wrong code
+ */

Review comment:
       Add empty line after comment lines




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r780000760



##########
File path: arch/ceva/include/types.h
##########
@@ -0,0 +1,96 @@
+/****************************************************************************
+ * arch/ceva/include/types.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through sys/types.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_TYPES_H
+#define __ARCH_CEVA_INCLUDE_TYPES_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Type Declarations
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* These are the sizes of the standard integer types.  NOTE that these type
+ * names have a leading underscore character.  This file will be included
+ * (indirectly) by include/stdint.h and typedef'ed to the final name without
+ * the underscore character.  This roundabout way of doings things allows
+ * the stdint.h to be removed from the include/ directory in the event that
+ * the user prefers to use the definitions provided by their toolchain header
+ * files
+ */
+
+typedef signed char        _int8_t;
+typedef unsigned char      _uint8_t;
+
+typedef signed short       _int16_t;
+typedef unsigned short     _uint16_t;
+
+typedef signed int         _int32_t;
+typedef unsigned int       _uint32_t;
+
+typedef signed long long   _int64_t;
+typedef unsigned long long _uint64_t;
+#define __INT64_DEFINED

Review comment:
       stdint.h typedef come from here to handle the arch difference.




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#issuecomment-1006663170


   Here is some introduction info:
   https://www.ceva-dsp.com/product/ceva-xm6/
   https://www.ceva-dsp.com/product/ceva-xc16/
   Basically, these DSPs are designed for Vision and Modem.


-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779886637



##########
File path: arch/ceva/include/spinlock.h
##########
@@ -0,0 +1,106 @@
+/****************************************************************************
+ * arch/ceva/include/spinlock.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_CEVA_INCLUDE_SPINLOCK_H
+#define __ARCH_CEVA_INCLUDE_SPINLOCK_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+#  include <stdint.h>
+#endif /* __ASSEMBLY__ */
+
+#if defined(CONFIG_ARCH_XC5)
+#  include <arch/xc5/spinlock.h>
+#elif defined(CONFIG_ARCH_XM6)
+#  include <arch/xm6/spinlock.h>
+#endif
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Spinlock states */
+
+#define SP_UNLOCKED 0  /* The Un-locked state */
+#define SP_LOCKED   1  /* The Locked state */
+
+/* Memory barriers for use with NuttX spinlock logic
+ *
+ * Data Memory Barrier (DMB) acts as a memory barrier. It ensures that all
+ * explicit memory accesses that appear in program order before the DMB
+ * instruction are observed before any explicit memory accesses that appear
+ * in program order after the DMB instruction. It does not affect the
+ * ordering of any other instructions executing on the processor
+ *
+ * Data Synchronization Barrier (DSB) acts as a special kind of memory
+ * barrier. No instruction in program order after this instruction executes
+ * until this instruction completes. This instruction completes when: (1) All
+ * explicit memory accesses before this instruction complete, and (2) all
+ * Cache, Branch predictor and TLB maintenance operations before this
+ * instruction complete.
+ *
+ */
+
+#define SP_DSB(n) up_dsb()
+#define SP_DMB(n) up_dmb()
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* The Type of a spinlock. */
+
+typedef uint32_t spinlock_t;

Review comment:
       Got it! Thank you!




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] acassis commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
acassis commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r780235186



##########
File path: arch/ceva/include/types.h
##########
@@ -0,0 +1,96 @@
+/****************************************************************************
+ * arch/ceva/include/types.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.
+ *
+ ****************************************************************************/
+
+/* This file should never be included directed but, rather, only indirectly
+ * through sys/types.h
+ */
+
+#ifndef __ARCH_CEVA_INCLUDE_TYPES_H
+#define __ARCH_CEVA_INCLUDE_TYPES_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Type Declarations
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/* These are the sizes of the standard integer types.  NOTE that these type
+ * names have a leading underscore character.  This file will be included
+ * (indirectly) by include/stdint.h and typedef'ed to the final name without
+ * the underscore character.  This roundabout way of doings things allows
+ * the stdint.h to be removed from the include/ directory in the event that
+ * the user prefers to use the definitions provided by their toolchain header
+ * files
+ */
+
+typedef signed char        _int8_t;
+typedef unsigned char      _uint8_t;
+
+typedef signed short       _int16_t;
+typedef unsigned short     _uint16_t;
+
+typedef signed int         _int32_t;
+typedef unsigned int       _uint32_t;
+
+typedef signed long long   _int64_t;
+typedef unsigned long long _uint64_t;
+#define __INT64_DEFINED

Review comment:
       Ok, I missed that, thank you!




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] gustavonihei commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
gustavonihei commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779070913



##########
File path: arch/ceva/Kconfig
##########
@@ -0,0 +1,133 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+if ARCH_CEVA
+comment "CEVA Options"
+
+config ARCH_XC5
+	bool
+	default n
+	---help---
+		CEVA-XC5 is a licensable DSP and memory subsystem (MSS) platform
+		designed for advanced wireless communication, with low power and
+		flexible architecture support for both legacy and next-generation
+		wireless standards.
+
+config ARCH_XM6
+	bool
+	default n
+	select ARCH_HAVE_HARDFAULT_DEBUG
+	select ARCH_HAVE_MPU
+	select ARCH_HAVE_MULTICPU
+	---help---
+		CEVA-XM6 is a licensable DSP and memory subsystem (MSS) platform
+		targeted for high-performance computer vision and image-processing
+		applications that provide very high processing power while
+		maintaining a small footprint and low power consumption.
+
+config ARCH_FAMILY
+	string
+	default "xc5"		if ARCH_XC5
+	default "xm6"		if ARCH_XM6
+
+config ARCH_ITCM_SIZE
+	int "ITCM Size"
+
+config ARCH_DTCM_SIZE
+	int "DTCM Size"
+
+config CEVA_ICACHE
+	bool "Use I-Cache"
+	default n
+	select ARCH_ICACHE
+
+config CEVA_DCACHE
+	bool "Use D-Cache"
+	default n
+	select ARCH_DCACHE
+
+config ARCH_NR_FPUS
+	int "FPU Number"
+	default 1
+	depends on ARCH_HAVE_FPU
+	---help---
+		Build in support for the number of Floating Point Unit.
+		Check your chip specifications first; not all CEVA chips
+		support the FPU.
+
+config ARCH_MPU
+	bool "MPU support"
+	default n
+	depends on ARCH_HAVE_MPU
+	select ARCH_USE_MPU
+	---help---
+		Build in support for the CEVA Memory Protection Unit (MPU).
+		Also used to configure the cache and memory attribute.
+
+config ARCH_HAVE_VINTC
+	bool
+	default n
+
+config ARCH_HARDFAULT_IRQ
+	int "Hard Fault IRQ Number"
+	default -1
+
+config ARCH_NR_MEMORY
+	int "Memory Block Number"
+	default 1
+
+config ARCH_NR_USER_MEMORY
+	int "User Memory Block Number"
+	depends on BUILD_PROTECTED
+	default 1
+
+config ARCH_DEFAULT_HEAP
+	int "Default Heap Index"
+	default 0
+
+config ARCH_USER_DEFAULT_HEAP
+	int "User Default Heap Index"
+	depends on BUILD_PROTECTED
+	default 0
+
+config ARCH_STACK_HEAP
+	int "Stack Heap Index"
+	default 0
+
+config ARCH_KERNEL_STACK_HEAP
+	int "Kernel Stack Heap Index"
+	depends on MM_KERNEL_HEAP
+	default 0
+
+config ARCH_RTL_MAJOR
+	int "RTL Version Major Number"
+
+config ARCH_RTL_MINOR
+	int "RTL Version Minor Number"
+
+config ARCH_RTL_REVISION
+	int "RTL Version Revision Number"
+
+config ARCH_HAVE_HARDFAULT_DEBUG
+	bool
+	default n
+
+config DEBUG_HARDFAULT
+	bool "Verbose Hard-Fault Debug"
+	default n
+	depends on ARCH_HAVE_HARDFAULT_DEBUG && DEBUG_ALERT
+	---help---
+		Enables verbose debug output when a hard fault is occurs.  This verbose

Review comment:
       ```suggestion
   		Enables verbose debug output when a hard fault occurs.  This verbose
   ```




-- 
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: commits-unsubscribe@nuttx.apache.org

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



[GitHub] [incubator-nuttx] gustavonihei commented on a change in pull request #5165: CEVA: add ceva platform xc5 xm6 support

Posted by GitBox <gi...@apache.org>.
gustavonihei commented on a change in pull request #5165:
URL: https://github.com/apache/incubator-nuttx/pull/5165#discussion_r779070441



##########
File path: arch/ceva/Kconfig
##########
@@ -0,0 +1,133 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+if ARCH_CEVA
+comment "CEVA Options"
+
+config ARCH_XC5
+	bool
+	default n
+	---help---
+		CEVA-XC5 is a licensable DSP and memory subsystem (MSS) platform
+		designed for advanced wireless communication, with low power and
+		flexible architecture support for both legacy and next-generation
+		wireless standards.
+
+config ARCH_XM6
+	bool
+	default n
+	select ARCH_HAVE_HARDFAULT_DEBUG
+	select ARCH_HAVE_MPU
+	select ARCH_HAVE_MULTICPU
+	---help---
+		CEVA-XM6 is a licensable DSP and memory subsystem (MSS) platform
+		targeted for high-performance computer vision and image-processing
+		applications that provide very high processing power while
+		maintaining a small footprint and low power consumption.
+
+config ARCH_FAMILY
+	string
+	default "xc5"		if ARCH_XC5
+	default "xm6"		if ARCH_XM6
+
+config ARCH_ITCM_SIZE
+	int "ITCM Size"
+
+config ARCH_DTCM_SIZE
+	int "DTCM Size"
+
+config CEVA_ICACHE
+	bool "Use I-Cache"
+	default n
+	select ARCH_ICACHE
+
+config CEVA_DCACHE
+	bool "Use D-Cache"
+	default n
+	select ARCH_DCACHE
+
+config ARCH_NR_FPUS
+	int "FPU Number"
+	default 1
+	depends on ARCH_HAVE_FPU
+	---help---
+		Build in support for the number of Floating Point Unit.

Review comment:
       ```suggestion
   		Built-in support for the number of Floating Point Unit.
   ```




-- 
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: commits-unsubscribe@nuttx.apache.org

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