From 5100e7a623d4914afebbcd525acc361b5c64b9c2 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 4 Mar 2016 18:43:16 -0600 Subject: [PATCH] i.MX6: Add some preliminary definitions to handle other family members --- arch/arm/include/imx6/chip.h | 62 +++++++++++++++++++++++++++++++++--- arch/arm/src/imx6/Kconfig | 15 +++++++++ 2 files changed, 73 insertions(+), 4 deletions(-) diff --git a/arch/arm/include/imx6/chip.h b/arch/arm/include/imx6/chip.h index c8ef78f00e..14cfd061ff 100644 --- a/arch/arm/include/imx6/chip.h +++ b/arch/arm/include/imx6/chip.h @@ -51,11 +51,65 @@ */ #if defined(CONFIG_ARCH_CHIP_IMX6_6QUAD) -# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ -# define IMX_NXCPUS 4 /* 4 CPUs */ +# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ +# define IMX_L2CACHE_SIZE (1024*1024) /* 1MB L2 Cache */ +# define IMX_NXCPUS 4 /* Four CPUs */ +# define IMX_NGPU3D 1 /* One 3D graphics engine */ +# define IMX_N32SHADERS 4 /* Four 3D shaders */ +# define IMX_NGPU2D 2 /* Two 2D graphics engines */ +# define IMX_HAVE_DDR64 1 /* 64-bit DDR3 */ +# undef IMX_HAVE_DDR32 /* 32-bit DDR3 */ +# define IMX_HAVE_DDR32x2 1 /* Two channel 32-bit DDR3 */ +# define IMX_HAVE_SATAII 1 /* Integrated SATA-II */ +# undef IMX_HAVE_EPD /* No interated EPD controller */ #elif defined(CONFIG_ARCH_CHIP_IMX6_6DUAL) -# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ -# define IMX_NXCPUS 2 /* 2 CPUs */ +# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ +# define IMX_L2CACHE_SIZE (1024*1024) /* 1MB L2 Cache */ +# define IMX_NXCPUS 2 /* Two CPUs */ +# define IMX_NGPU3D 1 /* One 3D graphics engine */ +# define IMX_N32SHADERS 4 /* Four 3D shaders */ +# define IMX_NGPU2D 2 /* Two 2D graphics engines */ +# define IMX_HAVE_DDR64 1 /* 64-bit DDR3 */ +# undef IMX_HAVE_DDR32 /* 32-bit DDR3 */ +# define IMX_HAVE_DDR32x2 1 /* Two channel 32-bit DDR3 */ +# define IMX_HAVE_SATAII 1 /* Integrated SATA-II */ +# undef IMX_HAVE_EPD /* No interated EPD controller */ +#elif defined(CONFIG_ARCH_CHIP_IMX6_6DUALLITE) +# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ +# define IMX_L2CACHE_SIZE (512*1024) /* 512KB L2 Cache */ +# define IMX_NXCPUS 2 /* Two CPUs */ +# define IMX_NGPU3D 1 /* One 3D graphics engine */ +# define IMX_N32SHADERS 1 /* One 3D shaders */ +# define IMX_NGPU2D 1 /* One 2D graphics engine */ +# define IMX_HAVE_DDR64 1 /* 64-bit DDR3 */ +# undef IMX_HAVE_DDR32 /* No 32-bit DDR3 */ +# define IMX_HAVE_DDR32x2 1 /* Two channel 32-bit DDR3 */ +# undef IMX_HAVE_SATAII /* No integrated SATA-II */ +# define IMX_HAVE_EPD 1 /* Interated EPD controller */ +#elif defined(CONFIG_ARCH_CHIP_IMX6_6SOLO) +# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ +# define IMX_L2CACHE_SIZE (512*1024) /* 512KB L2 Cache */ +# define IMX_NXCPUS 1 /* One CPU */ +# define IMX_NGPU3D 1 /* One 3D graphics engine */ +# define IMX_N32SHADERS 1 /* One 3D shaders */ +# define IMX_NGPU2D 1 /* One 2D graphics engine */ +# undef IMX_HAVE_DDR64 /* No 64-bit DDR3 */ +# define IMX_HAVE_DDR32 1 /* 32-bit DDR3 */ +# undef IMX_HAVE_DDR32x2 /* No two channel 32-bit DDR3 */ +# undef IMX_HAVE_SATAII /* No integrated SATA-II */ +# define IMX_HAVE_EPD 1 /* Interated EPD controller */ +#elif defined(CONFIG_ARCH_CHIP_IMX6_6SOLOLITE) +# define IMX_OCRAM_SIZE (256*1024) /* Size of the On-Chip RAM (OCRAM) */ +# define IMX_L2CACHE_SIZE (256*1024) /* 256KB L2 Cache */ +# define IMX_NXCPUS 1 /* One CPU */ +# define IMX_NGPU3D 1 /* One 3D graphics engine */ +# define IMX_N32SHADERS 1 /* One 3D shaders */ +# define IMX_NGPU2D 1 /* One 2D graphics engine */ +# undef IMX_HAVE_DDR64 /* No 64-bit DDR3 */ +# define IMX_HAVE_DDR32 1 /* 32-bit DDR3 */ +# undef IMX_HAVE_DDR32x2 /* No two channel 32-bit DDR3 */ +# undef IMX_HAVE_SATAII /* No integrated SATA-II */ +# define IMX_HAVE_EPD 1 /* Interated EPD controller */ #else # error Unspecified i.MX6 chip #endif diff --git a/arch/arm/src/imx6/Kconfig b/arch/arm/src/imx6/Kconfig index e94937609c..172ef502a7 100644 --- a/arch/arm/src/imx6/Kconfig +++ b/arch/arm/src/imx6/Kconfig @@ -11,11 +11,26 @@ choice prompt "iMX.6 Core Configuration" default IMX6_6QUAD +config ARCH_CHIP_IMX6_6SOLOLITE + bool "i.MX 6SoloLite" + +config ARCH_CHIP_IMX6_6SOLO + bool "i.MX 6Solo" + +config ARCH_CHIP_IMX6_6DUALLITE + bool "i.MX 6DualLite" + select ARCH_HAVE_MULTICPU + select ARMV7A_HAVE_GIC + config ARCH_CHIP_IMX6_6DUAL bool "i.MX 6Dual" + select ARCH_HAVE_MULTICPU + select ARMV7A_HAVE_GIC config ARCH_CHIP_IMX6_6QUAD bool "i.MX 6Quad" + select ARCH_HAVE_MULTICPU + select ARMV7A_HAVE_GIC endchoice # iMX.6 Chip Selection