lab126: Add idme driver

This commit is contained in:
ggow
2019-05-23 15:17:28 +01:00
parent fddef9b0e1
commit fbcaf3da81
9 changed files with 325 additions and 0 deletions
+2
View File
@@ -3312,5 +3312,7 @@ CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
# CONFIG_VIRTUALIZATION is not set
CONFIG_AMAZON=y
CONFIG_IDME=y
CONFIG_MTK_WD_KICKER=y
CONFIG_MTK_HALL_SENSOR=y
+2
View File
@@ -3303,4 +3303,6 @@ CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
# CONFIG_VIRTUALIZATION is not set
CONFIG_AMAZON=y
CONFIG_IDME=y
CONFIG_MTK_WD_KICKER=y
+11
View File
@@ -200,6 +200,14 @@ typedef struct {
mem_desc_t rank_info[4];
} dram_info_t;
#ifdef CONFIG_IDME
#define ATAG_IDME 0x54410010
#define ATAG_IDME_SIZE 8736
struct tag_idme {
u8 idme[ATAG_IDME_SIZE+1];
};
#endif
struct tag {
struct tag_header hdr;
union {
@@ -213,6 +221,9 @@ struct tag {
struct tag_revision revision;
struct tag_videolfb videolfb;
struct tag_cmdline cmdline;
#ifdef CONFIG_IDME
struct tag_idme idme;
#endif
/*
* Acorn specific
+15
View File
@@ -36,6 +36,12 @@ char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
#define MEM_SIZE (16*1024*1024)
#endif
#ifdef CONFIG_IDME
#define IDME_ATAG_SIZE 8736
unsigned char system_idme[IDME_ATAG_SIZE+1];
EXPORT_SYMBOL(system_idme);
#endif
static struct {
struct tag_header hdr1;
struct tag_core core;
@@ -139,6 +145,15 @@ static int __init parse_tag_cmdline(const struct tag *tag)
__tagtable(ATAG_CMDLINE, parse_tag_cmdline);
#ifdef CONFIG_IDME
static int __init parse_tag_idme(const struct tag *tag)
{
memset(system_idme, 0, IDME_ATAG_SIZE+1);
memcpy(system_idme, tag->u.idme.idme, IDME_ATAG_SIZE); /* idme item */
}
__tagtable(ATAG_IDME, parse_tag_idme);
#endif
/*
* Scan the tag table for this tag, and call its parse function.
* The tag table is built by the linker from all the __tagtable