imx95-evk: update configs; add imx95-evk:can
This commit is contained in:
parent
16babb08c9
commit
58e232863d
6 changed files with 156 additions and 25 deletions
|
@ -3,7 +3,9 @@ IMX95LPD5EVK-19
|
|||
===============
|
||||
|
||||
The IMX95LPD5EVK-19 board is a platform designed to show the most commonly
|
||||
used features of the i.MX 95 automotive applications processor.
|
||||
used features of the
|
||||
`i.MX 95 automotive applications processor
|
||||
<https://www.nxp.com/products/iMX95>`_ .
|
||||
|
||||
Features
|
||||
========
|
||||
|
@ -46,9 +48,39 @@ The IMX95LPD5EVK-19 board provides a 2x5-pin Samtec FTSH-105-01-L-DV-K header
|
|||
processor. The FT4234H JTAG provides the remote debug option for the i.MX95
|
||||
processor.
|
||||
|
||||
Firmware location
|
||||
=================
|
||||
|
||||
Instruction Tightly Coupled Memory (ITCM)
|
||||
-----------------------------------------
|
||||
|
||||
The purpose of the Tightly-Coupled Memory (TCM) is to provide low-latency
|
||||
memory that the processor can use without the unpredictability that is a
|
||||
feature of caches. By default the firmware will be located in this area
|
||||
(256K).
|
||||
|
||||
DDR
|
||||
---
|
||||
|
||||
DDR memory can be used in case the code memory footprint becomes bigger than
|
||||
the ITCM size. Using this configuration implies that other cores should be
|
||||
aware of this.
|
||||
For the default sd-card image from the EVK, these adaptations are needed on
|
||||
the software running on the M33 and A55 cores.
|
||||
|
||||
- `System Manager <https://github.com/nxp-imx/imx-sm>`_ (M33) should give
|
||||
the M7 access to the DDR region
|
||||
- `linux-imx <https://github.com/nxp-imx/linux-imx>`_ (A55) should reserve
|
||||
the DDR region by specifying it in the device tree so linux won't make
|
||||
use of it
|
||||
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
All the configurations can be used in combination with the default sd-card
|
||||
image that is shipped with the EVK.
|
||||
|
||||
nsh
|
||||
---
|
||||
|
||||
|
@ -57,8 +89,26 @@ configuration is focused on low level, command-line driver testing. Built-in
|
|||
applications are supported, but none are enabled. This configuration does not
|
||||
support a network.
|
||||
|
||||
This configuration can be used in combination with the default sd-card image
|
||||
that is shipped with the EVK.
|
||||
|
||||
can
|
||||
---
|
||||
|
||||
Configures the NuttShell (nsh) and also adds CAN support. CAN1 is enabled and
|
||||
can be accessed at J17 on the EVK. Make sure that SW9[3] (PDM_CAN_SEL) is set
|
||||
to ON. The configuration includes CAN utilities as candump and cansend.
|
||||
|
||||
.. note::
|
||||
`System Manager <https://github.com/nxp-imx/imx-sm>`_ (M33) should give
|
||||
the M7 access rights to the PIN_PDM_CLK (CAN1_TX) and
|
||||
PIN_PDM_BIT_STREAM0 (CAN1_RX) pins in the mx95evk.cfg.
|
||||
|
||||
Alternatively these can be set manually in the system manager's console:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
>$ mm 0x443c01e0 0x6
|
||||
>$ mm 0x443c01e4 0x6
|
||||
|
||||
|
||||
rpmsg
|
||||
-----
|
||||
|
@ -70,16 +120,7 @@ an OS running on the A55 cores can connect. There is also an option to use
|
|||
the filesystem client feature in which a remote directory can be mounted to
|
||||
a local directory (CONFIG_FS_RPMSGFS).
|
||||
|
||||
The rpmsg configuration executes the code from DDR since its code memory
|
||||
footprint is bigger than the ITCM size. In the case of using the default
|
||||
sd-card image from the EVK, adaptations are needed on the software running on
|
||||
the M33 and A55 cores.
|
||||
|
||||
- `System Manager <https://github.com/nxp-imx/imx-sm>`_ (M33) should give
|
||||
the M7 access to the DDR region
|
||||
- `linux-imx <https://github.com/nxp-imx/linux-imx>`_ (A55) should reserve
|
||||
the DDR region by specifying it in the device tree so linux won't make
|
||||
use of it
|
||||
- `linux-imx <https://github.com/nxp-imx/linux-imx>`_ (A55) needs the
|
||||
.. note::
|
||||
`linux-imx <https://github.com/nxp-imx/linux-imx>`_ (A55) needs the
|
||||
NuttX compatible rpmsg_tty and rpmsg_fs drivers. See `dev mailing list
|
||||
<https://www.mail-archive.com/dev@nuttx.apache.org/msg12112.html>`_
|
81
boards/arm/imx9/imx95-evk/configs/can/defconfig
Normal file
81
boards/arm/imx9/imx95-evk/configs/can/defconfig
Normal file
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# This file is autogenerated: PLEASE DO NOT EDIT IT.
|
||||
#
|
||||
# You can use "make menuconfig" to make any modifications to the installed .config file.
|
||||
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
|
||||
# modifications.
|
||||
#
|
||||
# CONFIG_ARCH_LEDS is not set
|
||||
# CONFIG_ARCH_RAMFUNCS is not set
|
||||
# CONFIG_IMX9_WFI_AWAKES_AT_SYSTICK is not set
|
||||
# CONFIG_NET_RECV_PACK is not set
|
||||
CONFIG_ALLOW_BSD_COMPONENTS=y
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="imx95-evk"
|
||||
CONFIG_ARCH_BOARD_IMX95_EVK=y
|
||||
CONFIG_ARCH_CHIP="imx9"
|
||||
CONFIG_ARCH_CHIP_IMX95_M7=y
|
||||
CONFIG_ARCH_CHIP_IMX9_CORTEX_M=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=4096
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
CONFIG_ARMV7M_DCACHE=y
|
||||
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
|
||||
CONFIG_ARMV7M_DTCM=y
|
||||
CONFIG_ARMV7M_ICACHE=y
|
||||
CONFIG_ARMV7M_ITCM=y
|
||||
CONFIG_BINFMT_DISABLE=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=2664
|
||||
CONFIG_BUILTIN=y
|
||||
CONFIG_CANUTILS_CANDUMP=y
|
||||
CONFIG_CANUTILS_CANSEND=y
|
||||
CONFIG_CANUTILS_LIBCANUTILS=y
|
||||
CONFIG_DEBUG_ASSERTIONS=y
|
||||
CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y
|
||||
CONFIG_DEBUG_BUSFAULT=y
|
||||
CONFIG_DEBUG_FEATURES=y
|
||||
CONFIG_DEBUG_FULLOPT=y
|
||||
CONFIG_DEBUG_HARDFAULT_ALERT=y
|
||||
CONFIG_DEBUG_HARDFAULT_INFO=y
|
||||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DEBUG_USAGEFAULT=y
|
||||
CONFIG_DEFAULT_TASK_STACKSIZE=8192
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_IDLETHREAD_STACKSIZE=8192
|
||||
CONFIG_IMX9_FLEXCAN1=y
|
||||
CONFIG_IMX9_IOMUX_OVER_SCMI=y
|
||||
CONFIG_IMX9_LPUART3=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_INTELHEX_BINARY=y
|
||||
CONFIG_IOB_ALLOC=y
|
||||
CONFIG_IOB_NOTIFIER=y
|
||||
CONFIG_IOB_THROTTLE=8
|
||||
CONFIG_LIBC_LOCALTIME=y
|
||||
CONFIG_LPUART3_SERIAL_CONSOLE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_NETDEV_CAN_BITRATE_IOCTL=y
|
||||
CONFIG_NETDEV_IFINDEX=y
|
||||
CONFIG_NETDEV_LATEINIT=y
|
||||
CONFIG_NETDEV_WORK_THREAD=y
|
||||
CONFIG_NET_CAN=y
|
||||
CONFIG_NET_CAN_EXTID=y
|
||||
CONFIG_NET_CAN_NOTIFIER=y
|
||||
CONFIG_NET_CAN_RAW_TX_DEADLINE=y
|
||||
CONFIG_NET_CAN_SOCK_OPTS=y
|
||||
CONFIG_NET_LL_GUARDSIZE=14
|
||||
CONFIG_NET_TIMESTAMP=y
|
||||
CONFIG_NSH_ARCHINIT=y
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_FILEIOSIZE=512
|
||||
CONFIG_RAM_SIZE=134217728
|
||||
CONFIG_RAM_START=0x80000000
|
||||
CONFIG_RAW_BINARY=y
|
||||
CONFIG_SCHED_BACKTRACE=y
|
||||
CONFIG_SCHED_HPWORK=y
|
||||
CONFIG_SCHED_LPWORK=y
|
||||
CONFIG_SERIAL_TERMIOS=y
|
||||
CONFIG_STACK_COLORATION=y
|
||||
CONFIG_START_DAY=14
|
||||
CONFIG_START_MONTH=3
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_TTY_SIGINT=y
|
||||
CONFIG_TTY_SIGTSTP=y
|
|
@ -7,6 +7,7 @@
|
|||
#
|
||||
# CONFIG_ARCH_LEDS is not set
|
||||
# CONFIG_ARCH_RAMFUNCS is not set
|
||||
# CONFIG_IMX9_WFI_AWAKES_AT_SYSTICK is not set
|
||||
# CONFIG_NDEBUG is not set
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="imx95-evk"
|
||||
|
@ -31,16 +32,14 @@ CONFIG_DEBUG_HARDFAULT_INFO=y
|
|||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DEBUG_USAGEFAULT=y
|
||||
CONFIG_DEFAULT_TASK_STACKSIZE=8192
|
||||
CONFIG_EXAMPLES_CALIB_UDELAY=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_IDLETHREAD_STACKSIZE=8192
|
||||
CONFIG_IMX9_IOMUX_OVER_SCMI=y
|
||||
CONFIG_IMX9_LPUART3=y
|
||||
CONFIG_IMX9_OCRAM_HEAP=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_INTELHEX_BINARY=y
|
||||
CONFIG_LIBC_LOCALTIME=y
|
||||
CONFIG_LPUART3_SERIAL_CONSOLE=y
|
||||
CONFIG_MM_REGIONS=2
|
||||
CONFIG_NSH_ARCHINIT=y
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_DISABLE_IFUPDOWN=y
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#
|
||||
# CONFIG_ARCH_LEDS is not set
|
||||
# CONFIG_ARCH_RAMFUNCS is not set
|
||||
# CONFIG_IMX9_WFI_AWAKES_AT_SYSTICK is not set
|
||||
# CONFIG_NDEBUG is not set
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="imx95-evk"
|
||||
|
@ -26,6 +27,7 @@ CONFIG_BOARD_LOOPSPERMSEC=2664
|
|||
CONFIG_BUILTIN=y
|
||||
CONFIG_DEBUG_BUSFAULT=y
|
||||
CONFIG_DEBUG_FEATURES=y
|
||||
CONFIG_DEBUG_FULLOPT=y
|
||||
CONFIG_DEBUG_HARDFAULT_ALERT=y
|
||||
CONFIG_DEBUG_HARDFAULT_INFO=y
|
||||
CONFIG_DEBUG_IPC=y
|
||||
|
@ -34,10 +36,6 @@ CONFIG_DEBUG_IPC_WARN=y
|
|||
CONFIG_DEBUG_RPMSG=y
|
||||
CONFIG_DEBUG_RPMSG_ERROR=y
|
||||
CONFIG_DEBUG_RPMSG_WARN=y
|
||||
CONFIG_DEBUG_SENSORS=y
|
||||
CONFIG_DEBUG_SENSORS_ERROR=y
|
||||
CONFIG_DEBUG_SENSORS_INFO=y
|
||||
CONFIG_DEBUG_SENSORS_WARN=y
|
||||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DEBUG_USAGEFAULT=y
|
||||
CONFIG_DEBUG_VIRTIO=y
|
||||
|
@ -51,16 +49,14 @@ CONFIG_DRIVERS_VIRTIO=y
|
|||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_FS_RPMSGFS=y
|
||||
CONFIG_IDLETHREAD_STACKSIZE=8192
|
||||
CONFIG_IMX95_RUN_FROM_DDR=y
|
||||
CONFIG_IMX9_IOMUX_OVER_SCMI=y
|
||||
CONFIG_IMX9_LPUART3=y
|
||||
CONFIG_IMX9_MU7=y
|
||||
CONFIG_IMX9_OCRAM_HEAP=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_INTELHEX_BINARY=y
|
||||
CONFIG_LIBC_LOCALTIME=y
|
||||
CONFIG_LPUART3_SERIAL_CONSOLE=y
|
||||
CONFIG_MM_HEAP_MEMPOOL_THRESHOLD=0
|
||||
CONFIG_MM_REGIONS=2
|
||||
CONFIG_NSH_ARCHINIT=y
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_DISABLE_IFUPDOWN=y
|
||||
|
@ -72,7 +68,6 @@ CONFIG_RPMSG_LOCAL_CPUNAME="cpuapp"
|
|||
CONFIG_RPMSG_UART=y
|
||||
CONFIG_RPTUN=y
|
||||
CONFIG_SCHED_BACKTRACE=y
|
||||
CONFIG_SENSORS=y
|
||||
CONFIG_SERIAL_TERMIOS=y
|
||||
CONFIG_STACK_COLORATION=y
|
||||
CONFIG_START_DAY=14
|
||||
|
|
|
@ -122,6 +122,9 @@
|
|||
#define GPIO_FLEXCAN1_TX IOMUX_CFG(IOMUXC_PAD_PDM_CLK_CAN1_TX, IOMUX_GPIO_DEFAULT, IOMUXC_MUX_SION_ON)
|
||||
#define GPIO_FLEXCAN1_RX IOMUX_CFG(IOMUXC_PAD_PDM_BIT_STREAM0_CAN1_RX, IOMUX_GPIO_DEFAULT, IOMUXC_MUX_SION_ON)
|
||||
|
||||
#define GPIO_FLEXCAN2_TX IOMUX_CFG(IOMUXC_PAD_GPIO_IO25_CAN2_TX, IOMUX_GPIO_DEFAULT, IOMUXC_MUX_SION_ON)
|
||||
#define GPIO_FLEXCAN2_RX IOMUX_CFG(IOMUXC_PAD_GPIO_IO27_CAN2_RX, IOMUX_GPIO_DEFAULT, IOMUXC_MUX_SION_ON)
|
||||
|
||||
/* Set the PLL clocks as follows:
|
||||
*
|
||||
* - OSC24M : 24 MHz
|
||||
|
|
|
@ -39,6 +39,10 @@
|
|||
# include <nuttx/serial/uart_rpmsg.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IMX9_FLEXCAN
|
||||
# include "imx9_flexcan.h"
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
@ -96,6 +100,14 @@ int imx95_bringup(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IMX9_FLEXCAN1
|
||||
imx9_caninitialize(1);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IMX9_FLEXCAN2
|
||||
imx9_caninitialize(2);
|
||||
#endif
|
||||
|
||||
UNUSED(ret);
|
||||
return OK;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue