fexc: add support for pio banks up to N

needed for A31 support. closes issue #9

Signed-off-by: Alejandro Mery <amery@geeks.cl>
This commit is contained in:
Alejandro Mery 2013-01-19 14:05:02 +01:00
parent d95c932b7d
commit 92f1d0dec1
3 changed files with 7 additions and 4 deletions

View File

@ -17,6 +17,8 @@
#ifndef _SUNXI_TOOLS_SCRIPT_H
#define _SUNXI_TOOLS_SCRIPT_H
#define GPIO_BANK_MAX 13 /* N */
/** head of the data tree */
struct script {
struct list_entry sections;

View File

@ -255,9 +255,10 @@ static int decompile_section(void *bin, size_t UNUSED(bin_size),
filename, section->name, entry->name, words, 6);
} else if (gpio->port == 0xffff) {
; /* port:power */
} else if (gpio->port < 1 || gpio->port > 10) {
pr_err("%s: %s.%s: unknown GPIO port type %u\n",
filename, section->name, entry->name, gpio->port);
} else if (gpio->port < 1 || gpio->port > GPIO_BANK_MAX) {
pr_err("%s: %s.%s: unknown GPIO port bank %c (%u)\n",
filename, section->name, entry->name,
'A'+gpio->port, gpio->port);
goto failure;
}
v[0] = gpio->mul_sel;

View File

@ -261,7 +261,7 @@ int script_parse_fex(FILE *in, const char *filename, struct script *script)
/* GPIO */
p += 5;
if (p[0] == 'P' &&
(p[1] < 'A' || p[1] > 'I'))
(p[1] < 'A' || p[1] > ('A' + GPIO_BANK_MAX)))
;
else if (*p != 'P' &&
memcmp(p, "power", 5) != 0)