[PATCH 2/2] ARM: i.MX: central SOC type definition
Alexander Kurz
akurz at blala.de
Thu Jun 30 02:10:20 PDT 2016
Move the definition of iMX CPU types to an individual file to allow
on-purpose inclusion. Eliminate magic number CPU type encoding in the
scripts/imx subdir using the new include file.
Signed-off-by: Alexander Kurz <akurz at blala.de>
---
arch/arm/mach-imx/include/mach/generic.h | 11 +----------
arch/arm/mach-imx/include/mach/imx_cpu_types.h | 14 ++++++++++++++
scripts/imx/Makefile | 3 ++-
scripts/imx/imx-image.c | 3 ++-
scripts/imx/imx.c | 13 +++++++------
5 files changed, 26 insertions(+), 18 deletions(-)
create mode 100644 arch/arm/mach-imx/include/mach/imx_cpu_types.h
diff --git a/arch/arm/mach-imx/include/mach/generic.h b/arch/arm/mach-imx/include/mach/generic.h
index 46fe388..0a4200b 100644
--- a/arch/arm/mach-imx/include/mach/generic.h
+++ b/arch/arm/mach-imx/include/mach/generic.h
@@ -4,6 +4,7 @@
#include <linux/compiler.h>
#include <linux/types.h>
#include <bootsource.h>
+#include <mach/imx_cpu_types.h>
u64 imx_uid(void);
@@ -42,16 +43,6 @@ void imx6_cpu_lowlevel_init(void);
/* range e.g. GPIO_1_5 is gpio 5 under linux */
#define IMX_GPIO_NR(bank, nr) (((bank) - 1) * 32 + (nr))
-#define IMX_CPU_IMX1 1
-#define IMX_CPU_IMX21 21
-#define IMX_CPU_IMX25 25
-#define IMX_CPU_IMX27 27
-#define IMX_CPU_IMX31 31
-#define IMX_CPU_IMX35 35
-#define IMX_CPU_IMX51 51
-#define IMX_CPU_IMX53 53
-#define IMX_CPU_IMX6 6
-
extern unsigned int __imx_cpu_type;
#ifdef CONFIG_ARCH_IMX1
diff --git a/arch/arm/mach-imx/include/mach/imx_cpu_types.h b/arch/arm/mach-imx/include/mach/imx_cpu_types.h
new file mode 100644
index 0000000..781ab9f
--- /dev/null
+++ b/arch/arm/mach-imx/include/mach/imx_cpu_types.h
@@ -0,0 +1,14 @@
+#ifndef __MACH_IMX_CPU_TYPES_H
+#define __MACH_IMX_CPU_TYPES_H
+
+#define IMX_CPU_IMX1 1
+#define IMX_CPU_IMX21 21
+#define IMX_CPU_IMX25 25
+#define IMX_CPU_IMX27 27
+#define IMX_CPU_IMX31 31
+#define IMX_CPU_IMX35 35
+#define IMX_CPU_IMX51 51
+#define IMX_CPU_IMX53 53
+#define IMX_CPU_IMX6 6
+
+#endif /* __MACH_IMX_CPU_TYPES_H */
diff --git a/scripts/imx/Makefile b/scripts/imx/Makefile
index d9f0c51..335e3e6 100644
--- a/scripts/imx/Makefile
+++ b/scripts/imx/Makefile
@@ -6,7 +6,8 @@ always := $(hostprogs-y)
HOSTCFLAGS_imx-usb-loader.o = `pkg-config --cflags libusb-1.0`
HOSTLOADLIBES_imx-usb-loader = `pkg-config --libs libusb-1.0`
-HOSTCFLAGS_imx-image.o = -I$(srctree)
+HOSTCFLAGS_imx.o = -I$(srctree)/arch/arm/mach-imx/include
+HOSTCFLAGS_imx-image.o = -I$(srctree) -I$(srctree)/arch/arm/mach-imx/include
ifdef CONFIG_ARCH_IMX_IMXIMAGE_SSL_SUPPORT
HOSTCFLAGS_imx-image.o += -DIMXIMAGE_SSL_SUPPORT
HOSTLOADLIBES_imx-image = `pkg-config --libs openssl`
diff --git a/scripts/imx/imx-image.c b/scripts/imx/imx-image.c
index 0d315a2..3f62228 100644
--- a/scripts/imx/imx-image.c
+++ b/scripts/imx/imx-image.c
@@ -29,6 +29,7 @@
#include <endian.h>
#include <linux/kernel.h>
#include <sys/file.h>
+#include <mach/imx_cpu_types.h>
#include "imx.h"
@@ -788,7 +789,7 @@ int main(int argc, char *argv[])
exit(1);
}
- if (data.cpu_type == 35) {
+ if (data.cpu_type == IMX_CPU_IMX35) {
ret = xwrite(outfd, buf, HEADER_LEN);
if (ret < 0) {
perror("write");
diff --git a/scripts/imx/imx.c b/scripts/imx/imx.c
index f1accc4..4ec8c89 100644
--- a/scripts/imx/imx.c
+++ b/scripts/imx/imx.c
@@ -23,6 +23,7 @@
#include <stdint.h>
#include <errno.h>
#include <linux/kernel.h>
+#include <mach/imx_cpu_types.h>
#include "imx.h"
@@ -216,11 +217,11 @@ struct soc_type {
};
static struct soc_type socs[] = {
- { .name = "imx25", .header_version = 1, .cpu_type = 25},
- { .name = "imx35", .header_version = 1, .cpu_type = 35 },
- { .name = "imx51", .header_version = 1, .cpu_type = 51 },
- { .name = "imx53", .header_version = 2, .cpu_type = 53 },
- { .name = "imx6", .header_version = 2, .cpu_type = 6 },
+ { .name = "imx25", .header_version = 1, .cpu_type = IMX_CPU_IMX25 },
+ { .name = "imx35", .header_version = 1, .cpu_type = IMX_CPU_IMX35 },
+ { .name = "imx51", .header_version = 1, .cpu_type = IMX_CPU_IMX51 },
+ { .name = "imx53", .header_version = 2, .cpu_type = IMX_CPU_IMX53 },
+ { .name = "imx6", .header_version = 2, .cpu_type = IMX_CPU_IMX6 },
};
static int do_soc(struct config_data *data, int argc, char *argv[])
@@ -238,7 +239,7 @@ static int do_soc(struct config_data *data, int argc, char *argv[])
data->header_version = socs[i].header_version;
data->cpu_type = socs[i].cpu_type;
- if (data->cpu_type == 35)
+ if (data->cpu_type == IMX_CPU_IMX35)
data->load_size += HEADER_LEN;
return 0;
--
2.1.4
More information about the barebox
mailing list