Author: manu
Date: Thu Dec 15 15:52:13 2016
New Revision: 310117
URL: https://svnweb.freebsd.org/changeset/base/310117

Log:
  Add information about interrupts in the Allwinner padconf files and
  correct some pin numbering.
  
  While here switch to my freebsd mail address in the copyright.
  
  MFC after:    3 days

Modified:
  head/sys/arm/allwinner/a10/a10_padconf.c
  head/sys/arm/allwinner/a13/a13_padconf.c
  head/sys/arm/allwinner/a20/a20_padconf.c
  head/sys/arm/allwinner/a31/a31_padconf.c
  head/sys/arm/allwinner/a31/a31_r_padconf.c
  head/sys/arm/allwinner/a31/a31s_padconf.c
  head/sys/arm/allwinner/a64/a64_padconf.c
  head/sys/arm/allwinner/a64/a64_r_padconf.c
  head/sys/arm/allwinner/allwinner_pinctrl.h
  head/sys/arm/allwinner/h3/h3_padconf.c
  head/sys/arm/allwinner/h3/h3_r_padconf.c

Modified: head/sys/arm/allwinner/a10/a10_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a10/a10_padconf.c    Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a10/a10_padconf.c    Thu Dec 15 15:52:13 2016        
(r310117)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2016 Emmanuel Vadot <m...@bidouilliste.com>
+ * Copyright (c) 2016 Emmanuel Vadot <m...@freebsd.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -170,28 +170,28 @@ const static struct allwinner_pins a10_p
        {"PG10", 6, 10, {"gpio_in", "gpio_out", "ts1", "csi1", "uart4", "csi0", 
NULL, NULL}},
        {"PG11", 6, 11, {"gpio_in", "gpio_out", "ts1", "csi1", "uart4", "csi0", 
NULL, NULL}},
 
-       {"PH0",  7,  0, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint", "csi1"}},
-       {"PH1",  7,  1, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint", "csi1"}},
-       {"PH2",  7,  2, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint", "csi1"}},
-       {"PH3",  7,  3, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint", "csi1"}},
-       {"PH4",  7,  4, {"gpio_in", "gpio_out", "lcd1", "pata", "uart4", NULL, 
"eint", "csi1"}},
-       {"PH5",  7,  5, {"gpio_in", "gpio_out", "lcd1", "pata", "uart4", NULL, 
"eint", "csi1"}},
-       {"PH6",  7,  6, {"gpio_in", "gpio_out", "lcd1", "pata", "uart5", "ms", 
"eint", "csi1"}},
-       {"PH7",  7,  7, {"gpio_in", "gpio_out", "lcd1", "pata", "uart5", "ms", 
"eint", "csi1"}},
-       {"PH8",  7,  8, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint", "csi1"}},
-       {"PH9",  7,  9, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint", "csi1"}},
-       {"PH10", 7, 10, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint", "csi1"}},
-       {"PH11", 7, 11, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint", "csi1"}},
-       {"PH12", 7, 12, {"gpio_in", "gpio_out", "lcd1", "pata", "ps2", NULL, 
"eint", "csi1"}},
-       {"PH13", 7, 13, {"gpio_in", "gpio_out", "lcd1", "pata", "ps2", "sim", 
"eint", "csi1"}},
-       {"PH14", 7, 14, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint", "csi1"}},
-       {"PH15", 7, 15, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint", "csi1"}},
-       {"PH16", 7, 16, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", NULL, 
"eint", "csi1"}},
-       {"PH17", 7, 17, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint", "csi1"}},
-       {"PH18", 7, 18, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint", "csi1"}},
-       {"PH19", 7, 19, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint", "csi1"}},
-       {"PH20", 7, 20, {"gpio_in", "gpio_out", "lcd1", "pata", "can", NULL, 
"eint", "csi1"}},
-       {"PH21", 7, 21, {"gpio_in", "gpio_out", "lcd1", "pata", "can", NULL, 
"eint", "csi1"}},
+       {"PH0",  7,  0, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint0", "csi1"}, 6, 0},
+       {"PH1",  7,  1, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint1", "csi1"}, 6, 1},
+       {"PH2",  7,  2, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint2", "csi1"}, 6, 2},
+       {"PH3",  7,  3, {"gpio_in", "gpio_out", "lcd1", "pata", "uart3", NULL, 
"eint3", "csi1"}, 6, 3},
+       {"PH4",  7,  4, {"gpio_in", "gpio_out", "lcd1", "pata", "uart4", NULL, 
"eint4", "csi1"}, 6, 4},
+       {"PH5",  7,  5, {"gpio_in", "gpio_out", "lcd1", "pata", "uart4", NULL, 
"eint5", "csi1"}, 6, 5},
+       {"PH6",  7,  6, {"gpio_in", "gpio_out", "lcd1", "pata", "uart5", "ms", 
"eint6", "csi1"}, 6, 6},
+       {"PH7",  7,  7, {"gpio_in", "gpio_out", "lcd1", "pata", "uart5", "ms", 
"eint7", "csi1"}, 6, 7},
+       {"PH8",  7,  8, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint8", "csi1"}, 6, 8},
+       {"PH9",  7,  9, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint9", "csi1"}, 6, 9},
+       {"PH10", 7, 10, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint10", "csi1"}, 6, 10},
+       {"PH11", 7, 11, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", "ms", 
"eint11", "csi1"}, 6, 11},
+       {"PH12", 7, 12, {"gpio_in", "gpio_out", "lcd1", "pata", "ps2", NULL, 
"eint12", "csi1"}, 6, 12},
+       {"PH13", 7, 13, {"gpio_in", "gpio_out", "lcd1", "pata", "ps2", "sim", 
"eint13", "csi1"}, 6, 13},
+       {"PH14", 7, 14, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint14", "csi1"}, 6, 14},
+       {"PH15", 7, 15, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint15", "csi1"}, 6, 15},
+       {"PH16", 7, 16, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", NULL, 
"eint16", "csi1"}, 6, 16},
+       {"PH17", 7, 17, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint17", "csi1"}, 6, 17},
+       {"PH18", 7, 18, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint18", "csi1"}, 6, 18},
+       {"PH19", 7, 19, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"sim", "eint19", "csi1"}, 6, 19},
+       {"PH20", 7, 20, {"gpio_in", "gpio_out", "lcd1", "pata", "can", NULL, 
"eint20", "csi1"}, 6, 20},
+       {"PH21", 7, 21, {"gpio_in", "gpio_out", "lcd1", "pata", "can", NULL, 
"eint21", "csi1"}, 6, 21},
        {"PH22", 7, 22, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"mmc1", NULL, "csi1"}},
        {"PH23", 7, 23, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"mmc1", NULL, "csi1"}},
        {"PH24", 7, 24, {"gpio_in", "gpio_out", "lcd1", "pata", "keypad", 
"mmc1", NULL, "csi1"}},
@@ -209,16 +209,16 @@ const static struct allwinner_pins a10_p
        {"PI7",  8,  7, {"gpio_in", "gpio_out", "mmc3", NULL, NULL, NULL, NULL, 
NULL}},
        {"PI8",  8,  8, {"gpio_in", "gpio_out", "mmc3", NULL, NULL, NULL, NULL, 
NULL}},
        {"PI9",  8,  9, {"gpio_in", "gpio_out", "mmc3", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PI10", 8, 10, {"gpio_in", "gpio_out", "spi0", "uart5", NULL, NULL, 
"eint", NULL}},
-       {"PI11", 8, 11, {"gpio_in", "gpio_out", "spi0", "uart5", NULL, NULL, 
"eint", NULL}},
-       {"PI12", 8, 12, {"gpio_in", "gpio_out", "spi0", "uart6", NULL, NULL, 
"eint", NULL}},
-       {"PI13", 8, 13, {"gpio_in", "gpio_out", "spi0", "uart6", NULL, NULL, 
"eint", NULL}},
-       {"PI14", 8, 14, {"gpio_in", "gpio_out", "spi0", "ps2", "timer4", NULL, 
"eint", NULL}},
-       {"PI15", 8, 15, {"gpio_in", "gpio_out", "spi1", "ps2", "timer5", NULL, 
"eint", NULL}},
-       {"PI16", 8, 16, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint", NULL}},
-       {"PI17", 8, 17, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint", NULL}},
-       {"PI18", 8, 18, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint", NULL}},
-       {"PI19", 8, 19, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint", NULL}},
+       {"PI10", 8, 10, {"gpio_in", "gpio_out", "spi0", "uart5", NULL, NULL, 
"eint22", NULL}, 6, 22},
+       {"PI11", 8, 11, {"gpio_in", "gpio_out", "spi0", "uart5", NULL, NULL, 
"eint23", NULL}, 6, 23},
+       {"PI12", 8, 12, {"gpio_in", "gpio_out", "spi0", "uart6", NULL, NULL, 
"eint24", NULL}, 6, 24},
+       {"PI13", 8, 13, {"gpio_in", "gpio_out", "spi0", "uart6", NULL, NULL, 
"eint25", NULL}, 6, 25},
+       {"PI14", 8, 14, {"gpio_in", "gpio_out", "spi0", "ps2", "timer4", NULL, 
"eint26", NULL}, 6, 26},
+       {"PI15", 8, 15, {"gpio_in", "gpio_out", "spi1", "ps2", "timer5", NULL, 
"eint27", NULL}, 6, 27},
+       {"PI16", 8, 16, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint28", NULL}, 6, 28},
+       {"PI17", 8, 17, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint29", NULL}, 6, 29},
+       {"PI18", 8, 18, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint30", NULL}, 6, 30},
+       {"PI19", 8, 19, {"gpio_in", "gpio_out", "spi1", "uart2", NULL, NULL, 
"eint31", NULL}, 6, 31},
        {"PI20", 8, 20, {"gpio_in", "gpio_out", "ps2", "uart7", "hdmi", NULL, 
NULL, NULL}},
        {"PI21", 8, 21, {"gpio_in", "gpio_out", "ps2", "uart7", "hdmi", NULL, 
NULL, NULL}},
 };

Modified: head/sys/arm/allwinner/a13/a13_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a13/a13_padconf.c    Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a13/a13_padconf.c    Thu Dec 15 15:52:13 2016        
(r310117)
@@ -40,10 +40,10 @@ __FBSDID("$FreeBSD$");
 const static struct allwinner_pins a13_pins[] = {
        {"PB0",  1, 0,  {"gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, NULL, 
NULL}},
        {"PB1",  1, 1,  {"gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB2",  1, 2,  {"gpio_in", "gpio_out", "pwm", NULL, NULL, "eint", 
NULL, NULL}},
-       {"PB3",  1, 3,  {"gpio_in", "gpio_out", "ir0", NULL, NULL, "eint", 
NULL, NULL}},
-       {"PB4",  1, 4,  {"gpio_in", "gpio_out", "ir0", NULL, NULL, "eint", 
NULL, NULL}},
-       {"PB10", 1, 10, {"gpio_in", "gpio_out", "spi2", NULL, NULL, "eint", 
NULL, NULL}},
+       {"PB2",  1, 2,  {"gpio_in", "gpio_out", "pwm", NULL, NULL, NULL, 
"eint16", NULL}, 6, 16},
+       {"PB3",  1, 3,  {"gpio_in", "gpio_out", "ir0", NULL, NULL, NULL, 
"eint17", NULL}, 6, 17},
+       {"PB4",  1, 4,  {"gpio_in", "gpio_out", "ir0", NULL, NULL, NULL, 
"eint18", NULL}, 6, 18},
+       {"PB10", 1, 10, {"gpio_in", "gpio_out", "spi2", NULL, NULL, NULL, 
"eint24", NULL}, 6, 24},
        {"PB15", 1, 15, {"gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, NULL, 
NULL}},
        {"PB16", 1, 16, {"gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, NULL, 
NULL}},
        {"PB17", 1, 17, {"gpio_in", "gpio_out", "i2c2", NULL, NULL, NULL, NULL, 
NULL}},
@@ -90,8 +90,8 @@ const static struct allwinner_pins a13_p
        {"PD26", 3, 26, {"gpio_in", "gpio_out", "lcd0", NULL, NULL, NULL, NULL, 
NULL}},
        {"PD27", 3, 27, {"gpio_in", "gpio_out", "lcd0", NULL, NULL, NULL, NULL, 
NULL}},
 
-       {"PE0",  4,  0, {"gpio_in", NULL, NULL, "csi0", "spi2", NULL, "eint", 
NULL}},
-       {"PE1",  4,  1, {"gpio_in", NULL, NULL, "csi0", "spi2", NULL, NULL, 
NULL}},
+       {"PE0",  4,  0, {"gpio_in", NULL, NULL, "csi0", "spi2", NULL, "eint14", 
NULL}, 6, 14},
+       {"PE1",  4,  1, {"gpio_in", NULL, NULL, "csi0", "spi2", NULL, "eint15", 
NULL}, 6, 15},
        {"PE2",  4,  2, {"gpio_in", NULL, NULL, "csi0", "spi2", NULL, NULL, 
NULL}},
        {"PE3",  4,  3, {"gpio_in", "gpio_out", NULL, "csi0", "spi2", NULL, 
NULL, NULL}},
        {"PE4",  4,  4, {"gpio_in", "gpio_out", NULL, "csi0", "mmc2", NULL, 
NULL, NULL}},
@@ -110,15 +110,15 @@ const static struct allwinner_pins a13_p
        {"PF4",  5,  4, {"gpio_in", "gpio_out", "mmc0", NULL, NULL, NULL, NULL, 
NULL}},
        {"PF5",  5,  5, {"gpio_in", "gpio_out", "mmc0", NULL, NULL, NULL, NULL, 
NULL}},
 
-       {"PG0",  6,  0, {"gpio_in", NULL, NULL, NULL, NULL, NULL, "eint", 
NULL}},
-       {"PG1",  6,  1, {"gpio_in", NULL, NULL, NULL, NULL, NULL, "eint", 
NULL}},
-       {"PG2",  6,  2, {"gpio_in", NULL, NULL, NULL, NULL, NULL, "eint", 
NULL}},
-       {"PG3",  6,  3, {"gpio_in", "gpio_out", "mmc1", NULL, "uart1", NULL, 
"eint", NULL}},
-       {"PG4",  6,  4, {"gpio_in", "gpio_out", "mmc1", NULL, "uart1", NULL, 
"eint", NULL}},
-       {"PG9",  6,  9, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PG10", 6, 10, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PG11", 6, 11, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PG12", 6, 12, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
+       {"PG0",  6,  0, {"gpio_in", NULL, NULL, NULL, NULL, NULL, "eint0", 
NULL}, 6, 0},
+       {"PG1",  6,  1, {"gpio_in", NULL, NULL, NULL, NULL, NULL, "eint1", 
NULL}, 6, 1},
+       {"PG2",  6,  2, {"gpio_in", NULL, NULL, NULL, NULL, NULL, "eint2", 
NULL}, 6, 2},
+       {"PG3",  6,  3, {"gpio_in", "gpio_out", "mmc1", NULL, "uart1", NULL, 
"eint3", NULL}, 6, 3},
+       {"PG4",  6,  4, {"gpio_in", "gpio_out", "mmc1", NULL, "uart1", NULL, 
"eint4", NULL}, 6, 4},
+       {"PG9",  6,  9, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint9", NULL}, 6, 9},
+       {"PG10", 6, 10, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint10", NULL}, 6, 10},
+       {"PG11", 6, 11, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint11", NULL}, 6, 11},
+       {"PG12", 6, 12, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint12", NULL}, 6, 12},
 };
 
 const struct allwinner_padconf a13_padconf = {

Modified: head/sys/arm/allwinner/a20/a20_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a20/a20_padconf.c    Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a20/a20_padconf.c    Thu Dec 15 15:52:13 2016        
(r310117)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2016 Emmanuel Vadot <m...@bidouilliste.com>
+ * Copyright (c) 2016 Emmanuel Vadot <m...@freebsd.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -101,10 +101,10 @@ const static struct allwinner_pins a20_p
        {"PC16", 2, 16, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
        {"PC17", 2, 17, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
        {"PC18", 2, 18, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PC19", 2, 19, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint", NULL}},
-       {"PC20", 2, 20, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint", NULL}},
-       {"PC21", 2, 21, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint", NULL}},
-       {"PC22", 2, 22, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint", NULL}},
+       {"PC19", 2, 19, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint12", NULL}, 6, 12},
+       {"PC20", 2, 20, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint13", NULL}, 6, 13},
+       {"PC21", 2, 21, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint14", NULL}, 6, 14},
+       {"PC22", 2, 22, {"gpio_in", "gpio_out", "nand0", "spi2", NULL, NULL, 
"eint15", NULL}, 6, 15},
        {"PC23", 2, 23, {"gpio_in", "gpio_out", NULL, "spi0", NULL, NULL, NULL, 
NULL}},
        {"PC24", 2, 24, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
 
@@ -170,28 +170,28 @@ const static struct allwinner_pins a20_p
        {"PG10", 6, 10, {"gpio_in", "gpio_out", "ts1", "csi1", "uart4", "csi0", 
NULL, NULL}},
        {"PG11", 6, 11, {"gpio_in", "gpio_out", "ts1", "csi1", "uart4", "csi0", 
NULL, NULL}},
 
-       {"PH0",  7, 0,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint", "csi1"}},
-       {"PH1",  7, 1,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint", "csi1"}},
-       {"PH2",  7, 2,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint", "csi1"}},
-       {"PH3",  7, 3,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint", "csi1"}},
-       {"PH4",  7, 4,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart4", NULL, 
"eint", "csi1"}},
-       {"PH5",  7, 5,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart4", NULL, 
"eint", "csi1"}},
-       {"PH6",  7, 6,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart5", "ms", 
"eint", "csi1"}},
-       {"PH7",  7, 7,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart5", "ms", 
"eint", "csi1"}},
-       {"PH8",  7, 8,  {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint", "csi1"}},
-       {"PH9",  7, 9,  {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint", "csi1"}},
-       {"PH10", 7, 10, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint", "csi1"}},
-       {"PH11", 7, 11, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint", "csi1"}},
-       {"PH12", 7, 12, {"gpio_in", "gpio_out", "lcd1", NULL, "ps2", NULL, 
"eint", "csi1"}},
-       {"PH13", 7, 13, {"gpio_in", "gpio_out", "lcd1", NULL, "ps2", "sim", 
"eint", "csi1"}},
-       {"PH14", 7, 14, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint", "csi1"}},
-       {"PH15", 7, 15, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint", "csi1"}},
-       {"PH16", 7, 16, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint", "csi1"}},
-       {"PH17", 7, 17, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint", "csi1"}},
-       {"PH18", 7, 18, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint", "csi1"}},
-       {"PH19", 7, 19, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint", "csi1"}},
-       {"PH20", 7, 20, {"gpio_in", "gpio_out", "lcd1", NULL, "can", NULL, 
"eint", "csi1"}},
-       {"PH21", 7, 21, {"gpio_in", "gpio_out", "lcd1", NULL, "can", NULL, 
"eint", "csi1"}},
+       {"PH0",  7, 0,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint0", "csi1"}, 6, 0},
+       {"PH1",  7, 1,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint1", "csi1"}, 6, 1},
+       {"PH2",  7, 2,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint2", "csi1"}, 6, 2},
+       {"PH3",  7, 3,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart3", NULL, 
"eint3", "csi1"}, 6, 3},
+       {"PH4",  7, 4,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart4", NULL, 
"eint4", "csi1"}, 6, 4},
+       {"PH5",  7, 5,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart4", NULL, 
"eint5", "csi1"}, 6, 5},
+       {"PH6",  7, 6,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart5", "ms", 
"eint6", "csi1"}, 6, 6},
+       {"PH7",  7, 7,  {"gpio_in", "gpio_out", "lcd1", NULL, "uart5", "ms", 
"eint7", "csi1"}, 6, 7},
+       {"PH8",  7, 8,  {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint8", "csi1"}, 6, 8},
+       {"PH9",  7, 9,  {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint9", "csi1"}, 6, 9},
+       {"PH10", 7, 10, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint10", "csi1"}, 6, 10},
+       {"PH11", 7, 11, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "ms", 
"eint11", "csi1"}, 6, 11},
+       {"PH12", 7, 12, {"gpio_in", "gpio_out", "lcd1", NULL, "ps2", NULL, 
"eint12", "csi1"}, 6, 12},
+       {"PH13", 7, 13, {"gpio_in", "gpio_out", "lcd1", NULL, "ps2", "sim", 
"eint13", "csi1"}, 6, 13},
+       {"PH14", 7, 14, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint14", "csi1"}, 6, 14},
+       {"PH15", 7, 15, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint15", "csi1"}, 6, 15},
+       {"PH16", 7, 16, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint16", "csi1"}, 6, 16},
+       {"PH17", 7, 17, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint17", "csi1"}, 6, 17},
+       {"PH18", 7, 18, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint18", "csi1"}, 6, 18},
+       {"PH19", 7, 19, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "sim", 
"eint19", "csi1"}, 6, 19},
+       {"PH20", 7, 20, {"gpio_in", "gpio_out", "lcd1", NULL, "can", NULL, 
"eint20", "csi1"}, 6, 20},
+       {"PH21", 7, 21, {"gpio_in", "gpio_out", "lcd1", NULL, "can", NULL, 
"eint21", "csi1"}, 6, 21},
        {"PH22", 7, 22, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "mmc1", 
NULL, "csi1"}},
        {"PH23", 7, 23, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "mmc1", 
NULL, "csi1"}},
        {"PH24", 7, 24, {"gpio_in", "gpio_out", "lcd1", NULL, "keypad", "mmc1", 
NULL, "csi1"}},

Modified: head/sys/arm/allwinner/a31/a31_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a31/a31_padconf.c    Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a31/a31_padconf.c    Thu Dec 15 15:52:13 2016        
(r310117)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2016 Emmanuel Vadot <m...@bidouilliste.com>
+ * Copyright (c) 2016 Emmanuel Vadot <m...@freebsd.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,43 +38,43 @@ __FBSDID("$FreeBSD$");
 #ifdef SOC_ALLWINNER_A31
 
 const static struct allwinner_pins a31_pins[] = {
-       {"PA0",  0, 0,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA1",  0, 1,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA2",  0, 2,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA3",  0, 3,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA4",  0, 4,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA5",  0, 5,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA6",  0, 6,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA7",  0, 7,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
NULL, NULL}},
-       {"PA8",  0, 8,  {"gpio_in", "gpio_out", "gmac", "lcd1", NULL, NULL, 
NULL, NULL}},
-       {"PA9",  0, 9,  {"gpio_in", "gpio_out", "gmac", "lcd1", NULL, NULL, 
NULL, NULL}},
-       {"PA10", 0, 10, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA11", 0, 11, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA12", 0, 12, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA13", 0, 13, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA14", 0, 14, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA15", 0, 15, {"gpio_in", "gpio_out", "gmac", "lcd1", "clk_out_a", 
NULL, NULL, NULL}},
-       {"PA16", 0, 16, {"gpio_in", "gpio_out", "gmac", "lcd1", "dmic", NULL, 
NULL, NULL}},
-       {"PA17", 0, 17, {"gpio_in", "gpio_out", "gmac", "lcd1", "dmic", NULL, 
NULL, NULL}},
-       {"PA18", 0, 18, {"gpio_in", "gpio_out", "gmac", "lcd1", "clk_out_b", 
NULL, NULL, NULL}},
-       {"PA19", 0, 19, {"gpio_in", "gpio_out", "gmac", "lcd1", "pwm3", NULL, 
NULL, NULL}},
-       {"PA20", 0, 20, {"gpio_in", "gpio_out", "gmac", "lcd1", "pwm3", NULL, 
NULL, NULL}},
-       {"PA21", 0, 21, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
NULL, NULL}},
-       {"PA22", 0, 22, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
NULL, NULL}},
-       {"PA23", 0, 23, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
NULL, NULL}},
-       {"PA24", 0, 24, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
NULL, NULL}},
-       {"PA25", 0, 25, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
NULL, NULL}},
-       {"PA26", 0, 26, {"gpio_in", "gpio_out", "gmac", "lcd1", "clk_out_c", 
NULL, NULL, NULL}},
-       {"PA27", 0, 27, {"gpio_in", "gpio_out", "gmac", "lcd1", NULL, NULL, 
NULL, NULL}},
-
-       {"PB0",  1, 0,  {"gpio_in", "gpio_out", "i2s0", "uart3", "csi", NULL, 
NULL, NULL}},
-       {"PB1",  1, 1,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB2",  1, 2,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB3",  1, 3,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB4",  1, 4,  {"gpio_in", "gpio_out", "i2s0", "uart3", NULL, NULL, 
NULL, NULL}},
-       {"PB5",  1, 5,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
NULL, NULL}},
-       {"PB6",  1, 6,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
NULL, NULL}},
-       {"PB7",  1, 7,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
+       {"PA0",  0, 0,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint0", NULL}, 6, 0},
+       {"PA1",  0, 1,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint1", NULL}, 6, 1},
+       {"PA2",  0, 2,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint2", NULL}, 6, 2},
+       {"PA3",  0, 3,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint3", NULL}, 6, 3},
+       {"PA4",  0, 4,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint4", NULL}, 6, 4},
+       {"PA5",  0, 5,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint5", NULL}, 6, 5},
+       {"PA6",  0, 6,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint6", NULL}, 6, 6},
+       {"PA7",  0, 7,  {"gpio_in", "gpio_out", "gmac", "lcd1", "uart1", NULL, 
"pa_eint7", NULL}, 6, 7},
+       {"PA8",  0, 8,  {"gpio_in", "gpio_out", "gmac", "lcd1", NULL, NULL, 
"pa_eint8", NULL}, 6, 8},
+       {"PA9",  0, 9,  {"gpio_in", "gpio_out", "gmac", "lcd1", NULL, "mmc2", 
"pa_eint9", NULL}, 6, 9},
+       {"PA10", 0, 10, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
"pa_eint10", NULL}, 6, 10},
+       {"PA11", 0, 11, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
"pa_eint11", NULL}, 6, 11},
+       {"PA12", 0, 12, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
"pa_eint12", NULL}, 6, 12},
+       {"PA13", 0, 13, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
"pa_eint13", NULL}, 6, 13},
+       {"PA14", 0, 14, {"gpio_in", "gpio_out", "gmac", "lcd1", "mmc3", "mmc2", 
"pa_eint14", NULL}, 6, 14},
+       {"PA15", 0, 15, {"gpio_in", "gpio_out", "gmac", "lcd1", "clk_out_a", 
NULL, "pa_eint15", NULL}, 6, 15},
+       {"PA16", 0, 16, {"gpio_in", "gpio_out", "gmac", "lcd1", "dmic", NULL, 
"pa_eint16", NULL}, 6, 16},
+       {"PA17", 0, 17, {"gpio_in", "gpio_out", "gmac", "lcd1", "dmic", NULL, 
"pa_eint17", NULL}, 6, 17},
+       {"PA18", 0, 18, {"gpio_in", "gpio_out", "gmac", "lcd1", "clk_out_b", 
NULL, "pa_eint18", NULL}, 6, 18},
+       {"PA19", 0, 19, {"gpio_in", "gpio_out", "gmac", "lcd1", "pwm3", NULL, 
"pa_eint19", NULL}, 6, 19},
+       {"PA20", 0, 20, {"gpio_in", "gpio_out", "gmac", "lcd1", "pwm3", NULL, 
"pa_eint20", NULL}, 6, 20},
+       {"PA21", 0, 21, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
"pa_eint21", NULL}, 6, 21},
+       {"PA22", 0, 22, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
"pa_eint22", NULL}, 6, 22},
+       {"PA23", 0, 23, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
"pa_eint23", NULL}, 6, 23},
+       {"PA24", 0, 24, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
"pa_eint24", NULL}, 6, 24},
+       {"PA25", 0, 25, {"gpio_in", "gpio_out", "gmac", "lcd1", "spi3", NULL, 
"pa_eint25", NULL}, 6, 25},
+       {"PA26", 0, 26, {"gpio_in", "gpio_out", "gmac", "lcd1", "clk_out_c", 
NULL, "pa_eint26", NULL}, 6, 26},
+       {"PA27", 0, 27, {"gpio_in", "gpio_out", "gmac", "lcd1", NULL, NULL, 
"pa_eint27", NULL}, 6, 27},
+
+       {"PB0",  1, 0,  {"gpio_in", "gpio_out", "i2s0", "uart3", "csi", NULL, 
"pb_eint0", NULL}, 6, 0},
+       {"PB1",  1, 1,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint1", NULL}, 6, 1},
+       {"PB2",  1, 2,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint2", NULL}, 6, 2},
+       {"PB3",  1, 3,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint3", NULL}, 6, 3},
+       {"PB4",  1, 4,  {"gpio_in", "gpio_out", "i2s0", "uart3", NULL, NULL, 
"pb_eint4", NULL}, 6, 4},
+       {"PB5",  1, 5,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
"pb_eint5", NULL}, 6, 5},
+       {"PB6",  1, 6,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
"pb_eint6", NULL}, 6, 6},
+       {"PB7",  1, 7,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint7", NULL}, 6, 7},
 
        {"PC0",  2, 0,  {"gpio_in", "gpio_out", "nand0", "spi0", NULL, NULL, 
NULL, NULL}},
        {"PC1",  2, 1,  {"gpio_in", "gpio_out", "nand0", "spi0", NULL, NULL, 
NULL, NULL}},
@@ -101,9 +101,9 @@ const static struct allwinner_pins a31_p
        {"PC22", 2, 22, {"gpio_in", "gpio_out", "nand0", "nand1", NULL, NULL, 
NULL, NULL}},
        {"PC23", 2, 23, {"gpio_in", "gpio_out", "nand0", "nand1", NULL, NULL, 
NULL, NULL}},
        {"PC24", 2, 24, {"gpio_in", "gpio_out", "nand0", "mmc2", "mmc3", NULL, 
NULL, NULL}},
-       {"PC25", 2, 24, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PC26", 2, 24, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PC27", 2, 24, {"gpio_in", "gpio_out", NULL, "spi0",NULL, NULL, NULL, 
NULL}},
+       {"PC25", 2, 25, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
+       {"PC26", 2, 26, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
+       {"PC27", 2, 27, {"gpio_in", "gpio_out", NULL, "spi0",NULL, NULL, NULL, 
NULL}},
 
        {"PD0",  3, 0,  {"gpio_in", "gpio_out", "lcd0", "lvds0", NULL, NULL, 
NULL, NULL}},
        {"PD1",  3, 1,  {"gpio_in", "gpio_out", "lcd0", "lvds0", NULL, NULL, 
NULL, NULL}},
@@ -134,23 +134,23 @@ const static struct allwinner_pins a31_p
        {"PD26", 3, 26, {"gpio_in", "gpio_out", "lcd0", NULL, NULL, NULL, NULL, 
NULL}},
        {"PD27", 3, 27, {"gpio_in", "gpio_out", "lcd0", NULL, NULL, NULL, NULL, 
NULL}},
 
-       {"PE0",  4, 0,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE1",  4, 1,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE2",  4, 2,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE3",  4, 3,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE4",  4, 4,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE5",  4, 5,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE6",  4, 6,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE7",  4, 7,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE8",  4, 8,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE9",  4, 9,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE10", 4, 10, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE11", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE12", 4, 12, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE13", 4, 13, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE14", 4, 14, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE15", 4, 15, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE16", 4, 16, {"gpio_in", "gpio_out", "csi", NULL, NULL, NULL, NULL, 
NULL}},
+       {"PE0",  4, 0,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint0", NULL}, 6, 0},
+       {"PE1",  4, 1,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint1", NULL}, 6, 1},
+       {"PE2",  4, 2,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint2", NULL}, 6, 2},
+       {"PE3",  4, 3,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint3", NULL}, 6, 3},
+       {"PE4",  4, 4,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint4", NULL}, 6, 4},
+       {"PE5",  4, 5,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint5", NULL}, 6, 5},
+       {"PE6",  4, 6,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint6", NULL}, 6, 6},
+       {"PE7",  4, 7,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint7", NULL}, 6, 7},
+       {"PE8",  4, 8,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint8", NULL}, 6, 8},
+       {"PE9",  4, 9,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint9", NULL}, 6, 9},
+       {"PE10", 4, 10, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint10", NULL}, 6, 10},
+       {"PE11", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint11", NULL}, 6, 11},
+       {"PE12", 4, 12, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint12", NULL}, 6, 12},
+       {"PE13", 4, 13, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint13", NULL}, 6, 13},
+       {"PE14", 4, 14, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint14", NULL}, 6, 14},
+       {"PE15", 4, 15, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint15", NULL}, 6, 15},
+       {"PE16", 4, 16, {"gpio_in", "gpio_out", "csi", NULL, NULL, NULL, 
"pe_eint16", NULL}, 6, 16},
 
        {"PF0",  5, 0,  {"gpio_in", "gpio_out", "mmc0", NULL, "jtag", NULL, 
NULL, NULL}},
        {"PF1",  5, 1,  {"gpio_in", "gpio_out", "mmc0", NULL, "jtag", NULL, 
NULL, NULL}},
@@ -159,25 +159,25 @@ const static struct allwinner_pins a31_p
        {"PF4",  5, 4,  {"gpio_in", "gpio_out", "mmc0", NULL, "uart0", NULL, 
NULL, NULL}},
        {"PF5",  5, 5,  {"gpio_in", "gpio_out", "mmc0", NULL, "jtag", NULL, 
NULL, NULL}},
 
-       {"PG0",  6, 0,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG1",  6, 1,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG2",  6, 2,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG3",  6, 3,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG4",  6, 4,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG5",  6, 5,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG6",  6, 6,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG7",  6, 7,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG8",  6, 8,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG9",  6, 9,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG10", 6, 10, {"gpio_in", "gpio_out", "i2c3", "usb", NULL, NULL, 
NULL, NULL}},
-       {"PG11", 6, 11, {"gpio_in", "gpio_out", "i2c3", "usb", NULL, NULL, 
NULL, NULL}},
-       {"PG12", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG13", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG14", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG15", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG16", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG17", 6, 11, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG18", 6, 11, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
NULL, NULL}},
+       {"PG0",  6, 0,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint0", NULL}, 6, 0},
+       {"PG1",  6, 1,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint1", NULL}, 6, 1},
+       {"PG2",  6, 2,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint2", NULL}, 6, 2},
+       {"PG3",  6, 3,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint3", NULL}, 6, 3},
+       {"PG4",  6, 4,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint4", NULL}, 6, 4},
+       {"PG5",  6, 5,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint5", NULL}, 6, 5},
+       {"PG6",  6, 6,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint6", NULL}, 6, 6},
+       {"PG7",  6, 7,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint7", NULL}, 6, 7},
+       {"PG8",  6, 8,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint8", NULL}, 6, 8},
+       {"PG9",  6, 9,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint9", NULL}, 6, 9},
+       {"PG10", 6, 10, {"gpio_in", "gpio_out", "i2c3", "usb", NULL, NULL, 
"pg_eint10", NULL}, 6, 10},
+       {"PG11", 6, 11, {"gpio_in", "gpio_out", "i2c3", "usb", NULL, NULL, 
"pg_eint11", NULL}, 6, 11},
+       {"PG12", 6, 12, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint12", NULL}, 6, 12},
+       {"PG13", 6, 13, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint13", NULL}, 6, 13},
+       {"PG14", 6, 14, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint14", NULL}, 6, 14},
+       {"PG15", 6, 15, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint15", NULL}, 6, 15},
+       {"PG16", 6, 16, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint16", NULL}, 6, 16},
+       {"PG17", 6, 17, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
"pg_eint17", NULL}, 6, 17},
+       {"PG18", 6, 18, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
"pg_eint18", NULL}, 6, 18},
 
        {"PH0",  7, 0,  {"gpio_in", "gpio_out", "nand1", NULL, NULL, NULL, 
NULL, NULL}},
        {"PH1",  7, 1,  {"gpio_in", "gpio_out", "nand1", NULL, NULL, NULL, 
NULL, NULL}},

Modified: head/sys/arm/allwinner/a31/a31_r_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a31/a31_r_padconf.c  Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a31/a31_r_padconf.c  Thu Dec 15 15:52:13 2016        
(r310117)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2016 Emmanuel Vadot <m...@bidouilliste.com>
+ * Copyright (c) 2016 Emmanuel Vadot <m...@freebsd.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,19 +43,19 @@ const static struct allwinner_pins a31_r
        {"PL2",  0, 2,  {"gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
NULL, NULL}},
        {"PL3",  0, 3,  {"gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
NULL, NULL}},
        {"PL4",  0, 4,  {"gpio_in", "gpio_out", "s_ir", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PL5",  0, 5,  {"gpio_in", "gpio_out", "pl_eint0", "s_jtag", NULL, 
NULL, NULL, NULL}},
-       {"PL6",  0, 6,  {"gpio_in", "gpio_out", "pl_eint1", "s_jtag", NULL, 
NULL, NULL, NULL}},
-       {"PL7",  0, 7,  {"gpio_in", "gpio_out", "pl_eint2", "s_jtag", NULL, 
NULL, NULL, NULL}},
-       {"PL8",  0, 8,  {"gpio_in", "gpio_out", "pl_eint3", "s_jtag", NULL, 
NULL, NULL, NULL}},
-
-       {"PM0",  1, 0,  {"gpio_in", "gpio_out", "pm_eint0", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PM1",  1, 1,  {"gpio_in", "gpio_out", "pm_eint1", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PM2",  1, 2,  {"gpio_in", "gpio_out", "pm_eint2", "1wire", NULL, 
NULL, NULL, NULL}},
-       {"PM3",  1, 3,  {"gpio_in", "gpio_out", "pm_eint3", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PM4",  1, 4,  {"gpio_in", "gpio_out", "pm_eint4", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PM5",  1, 5,  {"gpio_in", "gpio_out", "pm_eint5", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PM6",  1, 6,  {"gpio_in", "gpio_out", "pm_eint6", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PM7",  1, 7,  {"gpio_in", "gpio_out", "pm_eint7", "rtc", NULL, NULL, 
NULL, NULL}},
+       {"PL5",  0, 5,  {"gpio_in", "gpio_out", "pl_eint0", "s_jtag", NULL, 
NULL, NULL, NULL}, 2, 0},
+       {"PL6",  0, 6,  {"gpio_in", "gpio_out", "pl_eint1", "s_jtag", NULL, 
NULL, NULL, NULL}, 2, 1},
+       {"PL7",  0, 7,  {"gpio_in", "gpio_out", "pl_eint2", "s_jtag", NULL, 
NULL, NULL, NULL}, 2, 2},
+       {"PL8",  0, 8,  {"gpio_in", "gpio_out", "pl_eint3", "s_jtag", NULL, 
NULL, NULL, NULL}, 2, 3},
+
+       {"PM0",  1, 0,  {"gpio_in", "gpio_out", "pm_eint0", NULL, NULL, NULL, 
NULL, NULL}, 2, 0},
+       {"PM1",  1, 1,  {"gpio_in", "gpio_out", "pm_eint1", NULL, NULL, NULL, 
NULL, NULL}, 2, 1},
+       {"PM2",  1, 2,  {"gpio_in", "gpio_out", "pm_eint2", "1wire", NULL, 
NULL, NULL, NULL}, 2, 2},
+       {"PM3",  1, 3,  {"gpio_in", "gpio_out", "pm_eint3", NULL, NULL, NULL, 
NULL, NULL}, 2, 3},
+       {"PM4",  1, 4,  {"gpio_in", "gpio_out", "pm_eint4", NULL, NULL, NULL, 
NULL, NULL}, 2, 4},
+       {"PM5",  1, 5,  {"gpio_in", "gpio_out", "pm_eint5", NULL, NULL, NULL, 
NULL, NULL}, 2, 5},
+       {"PM6",  1, 6,  {"gpio_in", "gpio_out", "pm_eint6", NULL, NULL, NULL, 
NULL, NULL}, 2, 6},
+       {"PM7",  1, 7,  {"gpio_in", "gpio_out", "pm_eint7", "rtc", NULL, NULL, 
NULL, NULL}, 2, 7},
 };
 
 const struct allwinner_padconf a31_r_padconf = {

Modified: head/sys/arm/allwinner/a31/a31s_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a31/a31s_padconf.c   Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a31/a31s_padconf.c   Thu Dec 15 15:52:13 2016        
(r310117)
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2016 Emmanuel Vadot <m...@bidouilliste.com>
+ * Copyright (c) 2016 Emmanuel Vadot <m...@freebsd.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,43 +38,43 @@ __FBSDID("$FreeBSD$");
 #ifdef SOC_ALLWINNER_A31S
 
 const static struct allwinner_pins a31s_pins[] = {
-       {"PA0",  0, 0,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA1",  0, 1,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA2",  0, 2,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA3",  0, 3,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA4",  0, 4,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA5",  0, 5,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA6",  0, 6,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA7",  0, 7,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
NULL, NULL}},
-       {"PA8",  0, 8,  {"gpio_in", "gpio_out", "gmac", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PA9",  0, 9,  {"gpio_in", "gpio_out", "gmac", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PA10", 0, 10, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA11", 0, 11, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA12", 0, 12, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA13", 0, 13, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA14", 0, 14, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
NULL, NULL}},
-       {"PA15", 0, 15, {"gpio_in", "gpio_out", "gmac", NULL, "dmic", NULL, 
NULL, NULL}},
-       {"PA16", 0, 16, {"gpio_in", "gpio_out", "gmac", NULL, "dmic", NULL, 
NULL, NULL}},
-       {"PA17", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "clk_out_b", 
NULL, NULL, NULL}},
-       {"PA18", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "pwm3", NULL, 
NULL, NULL}},
-       {"PA19", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "pwm3", NULL, 
NULL, NULL}},
-       {"PA20", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
NULL, NULL}},
-       {"PA21", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
NULL, NULL}},
-       {"PA22", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
NULL, NULL}},
-       {"PA23", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
NULL, NULL}},
-       {"PA24", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
NULL, NULL}},
-       {"PA25", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
NULL, NULL}},
-       {"PA26", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "clk_out_c", 
NULL, NULL, NULL}},
-       {"PA27", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, NULL, NULL, NULL, 
NULL}},
-
-       {"PB0",  1, 0,  {"gpio_in", "gpio_out", "i2s0", "uart3", NULL , NULL, 
NULL, NULL}},
-       {"PB1",  1, 1,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB2",  1, 2,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB3",  1, 3,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PB4",  1, 4,  {"gpio_in", "gpio_out", "i2s0", "uart3", NULL, NULL, 
NULL, NULL}},
-       {"PB5",  1, 5,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
NULL, NULL}},
-       {"PB6",  1, 6,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
NULL, NULL}},
-       {"PB7",  1, 7,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, NULL, 
NULL}},
+       {"PA0",  0, 0,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint0", NULL}, 6, 0},
+       {"PA1",  0, 1,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint1", NULL}, 6, 1},
+       {"PA2",  0, 2,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint2", NULL}, 6, 2},
+       {"PA3",  0, 3,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint3", NULL}, 6, 3},
+       {"PA4",  0, 4,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint4", NULL}, 6, 4},
+       {"PA5",  0, 5,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint5", NULL}, 6, 5},
+       {"PA6",  0, 6,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint6", NULL}, 6, 6},
+       {"PA7",  0, 7,  {"gpio_in", "gpio_out", "gmac", NULL, "uart1", NULL, 
"pa_eint7", NULL}, 6, 7},
+       {"PA8",  0, 8,  {"gpio_in", "gpio_out", "gmac", NULL, NULL, NULL, 
"pa_eint8", NULL}, 6, 8},
+       {"PA9",  0, 9,  {"gpio_in", "gpio_out", "gmac", NULL, NULL, NULL, 
"pa_eint9", NULL}, 6, 9},
+       {"PA10", 0, 10, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
"pa_eint10", NULL}, 6, 10},
+       {"PA11", 0, 11, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
"pa_eint11", NULL}, 6, 11},
+       {"PA12", 0, 12, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
"pa_eint12", NULL}, 6, 12},
+       {"PA13", 0, 13, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
"pa_eint13", NULL}, 6, 13},
+       {"PA14", 0, 14, {"gpio_in", "gpio_out", "gmac", NULL, "mmc3", "mmc2", 
"pa_eint14", NULL}, 6, 14},
+       {"PA15", 0, 15, {"gpio_in", "gpio_out", "gmac", NULL, "dmic", NULL, 
"pa_eint15", NULL}, 6, 15},
+       {"PA16", 0, 16, {"gpio_in", "gpio_out", "gmac", NULL, "dmic", NULL, 
"pa_eint16", NULL}, 6, 16},
+       {"PA17", 0, 17, {"gpio_in", "gpio_out", "gmac", NULL, "clk_out_b", 
NULL, "pa_eint17", NULL}, 6, 17},
+       {"PA18", 0, 18, {"gpio_in", "gpio_out", "gmac", NULL, "pwm3", NULL, 
"pa_eint18", NULL}, 6, 18},
+       {"PA19", 0, 19, {"gpio_in", "gpio_out", "gmac", NULL, "pwm3", NULL, 
"pa_eint19", NULL}, 6, 19},
+       {"PA20", 0, 20, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
"pa_eint20", NULL}, 6, 20},
+       {"PA21", 0, 21, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
"pa_eint21", NULL}, 6, 21},
+       {"PA22", 0, 22, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
"pa_eint22", NULL}, 6, 22},
+       {"PA23", 0, 23, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
"pa_eint23", NULL}, 6, 23},
+       {"PA24", 0, 24, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
"pa_eint24", NULL}, 6, 24},
+       {"PA25", 0, 25, {"gpio_in", "gpio_out", "gmac", NULL, "spi3", NULL, 
"pa_eint25", NULL}, 6, 25},
+       {"PA26", 0, 26, {"gpio_in", "gpio_out", "gmac", NULL, "clk_out_c", 
NULL, "pa_eint26", NULL}, 6, 26},
+       {"PA27", 0, 27, {"gpio_in", "gpio_out", "gmac", NULL, NULL, NULL, 
"pa_eint27", NULL}, 6, 27},
+
+       {"PB0",  1, 0,  {"gpio_in", "gpio_out", "i2s0", "uart3", NULL , NULL, 
"pb_eint0", NULL}, 6, 0},
+       {"PB1",  1, 1,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint1", NULL}, 6, 1},
+       {"PB2",  1, 2,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint2", NULL}, 6, 2},
+       {"PB3",  1, 3,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint3", NULL}, 6, 3},
+       {"PB4",  1, 4,  {"gpio_in", "gpio_out", "i2s0", "uart3", NULL, NULL, 
"pb_eint4", NULL}, 6, 4},
+       {"PB5",  1, 5,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
"pb_eint5", NULL}, 6, 5},
+       {"PB6",  1, 6,  {"gpio_in", "gpio_out", "i2s0", "uart3", "i2c3", NULL, 
"pb_eint6", NULL}, 6, 6},
+       {"PB7",  1, 7,  {"gpio_in", "gpio_out", "i2s0", NULL, NULL, NULL, 
"pb_eint7", NULL}, 6, 7},
 
        {"PC0",  2, 0,  {"gpio_in", "gpio_out", "nand0", "spi0", NULL, NULL, 
NULL, NULL}},
        {"PC1",  2, 1,  {"gpio_in", "gpio_out", "nand0", "spi0", NULL, NULL, 
NULL, NULL}},
@@ -93,9 +93,9 @@ const static struct allwinner_pins a31s_
        {"PC14", 2, 14, {"gpio_in", "gpio_out", "nand0", "mmc2", "mmc3", NULL, 
NULL, NULL}},
        {"PC15", 2, 15, {"gpio_in", "gpio_out", "nand0", "mmc2", "mmc3", NULL, 
NULL, NULL}},
        {"PC24", 2, 24, {"gpio_in", "gpio_out", "nand0", "mmc2", "mmc3", NULL, 
NULL, NULL}},
-       {"PC25", 2, 24, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PC26", 2, 24, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PC27", 2, 24, {"gpio_in", "gpio_out", NULL, "spi0",NULL, NULL, NULL, 
NULL}},
+       {"PC25", 2, 25, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
+       {"PC26", 2, 26, {"gpio_in", "gpio_out", "nand0", NULL, NULL, NULL, 
NULL, NULL}},
+       {"PC27", 2, 27, {"gpio_in", "gpio_out", NULL, "spi0",NULL, NULL, NULL, 
NULL}},
 
        {"PD0",  3, 0,  {"gpio_in", "gpio_out", "lcd0", "lvds0", NULL, NULL, 
NULL, NULL}},
        {"PD1",  3, 1,  {"gpio_in", "gpio_out", "lcd0", "lvds0", NULL, NULL, 
NULL, NULL}},
@@ -126,22 +126,22 @@ const static struct allwinner_pins a31s_
        {"PD26", 3, 26, {"gpio_in", "gpio_out", "lcd0", NULL, NULL, NULL, NULL, 
NULL}},
        {"PD27", 3, 27, {"gpio_in", "gpio_out", "lcd0", NULL, NULL, NULL, NULL, 
NULL}},
 
-       {"PE0",  4, 0,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE1",  4, 1,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE2",  4, 2,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE3",  4, 3,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE4",  4, 4,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE5",  4, 5,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE6",  4, 6,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE7",  4, 7,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
NULL, NULL}},
-       {"PE8",  4, 8,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE9",  4, 9,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE10", 4, 10, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE11", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE12", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE13", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE14", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
-       {"PE15", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, NULL, 
NULL}},
+       {"PE0",  4, 0,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint0", NULL}, 6, 0},
+       {"PE1",  4, 1,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint1", NULL}, 6, 1},
+       {"PE2",  4, 2,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint2", NULL}, 6, 2},
+       {"PE3",  4, 3,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint3", NULL}, 6, 3},
+       {"PE4",  4, 4,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint4", NULL}, 6, 4},
+       {"PE5",  4, 5,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint5", NULL}, 6, 5},
+       {"PE6",  4, 6,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint6", NULL}, 6, 6},
+       {"PE7",  4, 7,  {"gpio_in", "gpio_out", "csi", "uart5", NULL, NULL, 
"pe_eint7", NULL}, 6, 7},
+       {"PE8",  4, 8,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint8", NULL}, 6, 8},
+       {"PE9",  4, 9,  {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint9", NULL}, 6, 9},
+       {"PE10", 4, 10, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint10", NULL}, 6, 10},
+       {"PE11", 4, 11, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint11", NULL}, 6, 11},
+       {"PE12", 4, 12, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint12", NULL}, 6, 12},
+       {"PE13", 4, 13, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint13", NULL}, 6, 13},
+       {"PE14", 4, 14, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint14", NULL}, 6, 14},
+       {"PE15", 4, 15, {"gpio_in", "gpio_out", "csi", "ts", NULL, NULL, 
"pe_eint15", NULL}, 6, 15},
 
        {"PF0",  5, 0,  {"gpio_in", "gpio_out", "mmc0", NULL, "jtag", NULL, 
NULL, NULL}},
        {"PF1",  5, 1,  {"gpio_in", "gpio_out", "mmc0", NULL, "jtag", NULL, 
NULL, NULL}},
@@ -150,25 +150,25 @@ const static struct allwinner_pins a31s_
        {"PF4",  5, 4,  {"gpio_in", "gpio_out", "mmc0", NULL, "uart0", NULL, 
NULL, NULL}},
        {"PF5",  5, 5,  {"gpio_in", "gpio_out", "mmc0", NULL, "jtag", NULL, 
NULL, NULL}},
 
-       {"PG0",  6, 0,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG1",  6, 1,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG2",  6, 2,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG3",  6, 3,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG4",  6, 4,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG5",  6, 5,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG6",  6, 6,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG7",  6, 7,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG8",  6, 8,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG9",  6, 9,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG10", 6, 10, {"gpio_in", "gpio_out", "i2c3", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG11", 6, 11, {"gpio_in", "gpio_out", "i2c3", NULL, NULL, NULL, NULL, 
NULL}},
-       {"PG12", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG13", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG14", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG15", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG16", 6, 11, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
NULL, NULL}},
-       {"PG17", 6, 11, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
NULL, NULL}},
-       {"PG18", 6, 11, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
NULL, NULL}},
+       {"PG0",  6, 0,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint0", NULL}, 6, 0},
+       {"PG1",  6, 1,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint1", NULL}, 6, 1},
+       {"PG2",  6, 2,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint2", NULL}, 6, 2},
+       {"PG3",  6, 3,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint3", NULL}, 6, 3},
+       {"PG4",  6, 4,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint4", NULL}, 6, 4},
+       {"PG5",  6, 5,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint5", NULL}, 6, 5},
+       {"PG6",  6, 6,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint6", NULL}, 6, 6},
+       {"PG7",  6, 7,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint7", NULL}, 6, 7},
+       {"PG8",  6, 8,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint8", NULL}, 6, 8},
+       {"PG9",  6, 9,  {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, 
"pg_eint9", NULL}, 6, 9},
+       {"PG10", 6, 10, {"gpio_in", "gpio_out", "i2c3", NULL, NULL, NULL, 
"pg_eint10", NULL}, 6, 10},
+       {"PG11", 6, 11, {"gpio_in", "gpio_out", "i2c3", NULL, NULL, NULL, 
"pg_eint11", NULL}, 6, 11},
+       {"PG12", 6, 12, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint12", NULL}, 6, 12},
+       {"PG13", 6, 13, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint13", NULL}, 6, 13},
+       {"PG14", 6, 14, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint14", NULL}, 6, 14},
+       {"PG15", 6, 15, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint15", NULL}, 6, 15},
+       {"PG16", 6, 16, {"gpio_in", "gpio_out", "spi1", "i2s1", NULL, NULL, 
"pg_eint16", NULL}, 6, 16},
+       {"PG17", 6, 17, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
"pg_eint17", NULL}, 6, 17},
+       {"PG18", 6, 18, {"gpio_in", "gpio_out", "uart4", NULL, NULL, NULL, 
"pg_eint18", NULL}, 6, 18},
 
        {"PH9",  7, 9,  {"gpio_in", "gpio_out", "spi2", "jtag", "pwm1", NULL, 
NULL, NULL}},
        {"PH10", 7, 10, {"gpio_in", "gpio_out", "spi2", "jtag", "pwm1", NULL, 
NULL, NULL}},

Modified: head/sys/arm/allwinner/a64/a64_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a64/a64_padconf.c    Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a64/a64_padconf.c    Thu Dec 15 15:52:13 2016        
(r310117)
@@ -41,16 +41,16 @@ __FBSDID("$FreeBSD$");
 #ifdef SOC_ALLWINNER_A64
 
 static const struct allwinner_pins a64_pins[] = {
-       { "PB0",  1, 0,   { "gpio_in", "gpio_out", "uart2", NULL, "jtag", NULL, 
"eint" } },
-       { "PB1",  1, 1,   { "gpio_in", "gpio_out", "uart2", NULL, "jtag", 
"sim", "eint" } },
-       { "PB2",  1, 2,   { "gpio_in", "gpio_out", "uart2", NULL, "jtag", 
"sim", "eint" } },
-       { "PB3",  1, 3,   { "gpio_in", "gpio_out", "uart2", "i2s0", "jtag", 
"sim", "eint" } },
-       { "PB4",  1, 4,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"eint" } },
-       { "PB5",  1, 5,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"eint" } },
-       { "PB6",  1, 6,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"eint" } },
-       { "PB7",  1, 7,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"eint" } },
-       { "PB8",  1, 8,   { "gpio_in", "gpio_out", NULL, NULL, "uart0", NULL, 
"eint" } },
-       { "PB9",  1, 9,   { "gpio_in", "gpio_out", NULL, NULL, "uart0", NULL, 
"eint" } },
+       { "PB0",  1, 0,   { "gpio_in", "gpio_out", "uart2", NULL, "jtag", NULL, 
"pb_eint0" } 6, 0},
+       { "PB1",  1, 1,   { "gpio_in", "gpio_out", "uart2", NULL, "jtag", 
"sim", "pb_eint1" } 6, 1},
+       { "PB2",  1, 2,   { "gpio_in", "gpio_out", "uart2", NULL, "jtag", 
"sim", "pb_eint2" } 6, 2},
+       { "PB3",  1, 3,   { "gpio_in", "gpio_out", "uart2", "i2s0", "jtag", 
"sim", "pb_eint3" } 6, 3},
+       { "PB4",  1, 4,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"pb_eint4" } 6, 4},
+       { "PB5",  1, 5,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"pb_eint5" } 6, 5},
+       { "PB6",  1, 6,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"pb_eint6" } 6, 6},
+       { "PB7",  1, 7,   { "gpio_in", "gpio_out", "aif2", "pcm0", NULL, "sim", 
"pb_eint7" } 6, 7},
+       { "PB8",  1, 8,   { "gpio_in", "gpio_out", NULL, NULL, "uart0", NULL, 
"pb_eint8" } 6, 8},
+       { "PB9",  1, 9,   { "gpio_in", "gpio_out", NULL, NULL, "uart0", NULL, 
"pb_eint9" } 6, 9},
 
        { "PC0",  2, 0,   { "gpio_in", "gpio_out", "nand", NULL, "spi0" } },
        { "PC1",  2, 1,   { "gpio_in", "gpio_out", "nand", "mmc2", "spi0" } },
@@ -123,33 +123,33 @@ static const struct allwinner_pins a64_p
        { "PF5",  5, 5,   { "gpio_in", "gpio_out", "mmc0", "jtag" } },
        { "PF6",  5, 6,   { "gpio_in", "gpio_out" } },
 
-       { "PG0",  6, 0,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"eint" } },
-       { "PG1",  6, 1,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"eint" } },
-       { "PG2",  6, 2,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"eint" } },
-       { "PG3",  6, 3,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"eint" } },
-       { "PG4",  6, 4,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"eint" } },
-       { "PG5",  6, 5,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"eint" } },
-       { "PG6",  6, 6,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"eint" } },
-       { "PG7",  6, 7,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"eint" } },
-       { "PG8",  6, 8,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"eint" } },
-       { "PG9",  6, 9,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"eint" } },
-       { "PG10", 6, 10,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"eint" } },
-       { "PG11", 6, 11,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"eint" } },
-       { "PG12", 6, 12,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"eint" } },
-       { "PG13", 6, 13,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"eint" } },
-
-       { "PH0",  7, 0,   { "gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, 
"eint" } },
-       { "PH1",  7, 1,   { "gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, 
"eint" } },
-       { "PH2",  7, 2,   { "gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, 
"eint" } },
-       { "PH3",  7, 3,   { "gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, 
"eint" } },
-       { "PH4",  7, 4,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"eint" } },
-       { "PH5",  7, 5,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"eint" } },
-       { "PH6",  7, 6,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"eint" } },
-       { "PH7",  7, 7,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"eint" } },
-       { "PH8",  7, 8,   { "gpio_in", "gpio_out", "owa", NULL, NULL, NULL, 
"eint" } },
-       { "PH9",  7, 9,   { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, 
"eint" } },
-       { "PH10", 7, 10,  { "gpio_in", "gpio_out", "mic", NULL, NULL, NULL, 
"eint" } },
-       { "PH11", 7, 11,  { "gpio_in", "gpio_out", "mic", NULL, NULL, NULL, 
"eint" } },
+       { "PG0",  6, 0,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint0" } 6, 0},
+       { "PG1",  6, 1,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint1" } 6, 1},
+       { "PG2",  6, 2,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint2" } 6, 2},
+       { "PG3",  6, 3,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint3" } 6, 3},
+       { "PG4",  6, 4,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint4" } 6, 4},
+       { "PG5",  6, 5,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint5" } 6, 5},
+       { "PG6",  6, 6,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint6" } 6, 6},
+       { "PG7",  6, 7,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint7" } 6, 7},
+       { "PG8",  6, 8,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint8" } 6, 8},
+       { "PG9",  6, 9,   { "gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint9" } 6, 9},
+       { "PG10", 6, 10,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"pg_eint10" } 6, 10},
+       { "PG11", 6, 11,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"pg_eint11" } 6, 11},
+       { "PG12", 6, 12,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"pg_eint12" } 6, 12},
+       { "PG13", 6, 13,  { "gpio_in", "gpio_out", "aif3", "pcm1", NULL, NULL, 
"pg_eint13" } 6, 13},
+
+       { "PH0",  7, 0,   { "gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, 
"ph_eint0" } 6, 0},
+       { "PH1",  7, 1,   { "gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, 
"ph_eint1" } 6, 1},
+       { "PH2",  7, 2,   { "gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, 
"ph_eint2" } 6, 2},
+       { "PH3",  7, 3,   { "gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, 
"ph_eint3" } 6, 3},
+       { "PH4",  7, 4,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"ph_eint4" } 6, 4},
+       { "PH5",  7, 5,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"ph_eint5" } 6, 5},
+       { "PH6",  7, 6,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"ph_eint6" } 6, 6},
+       { "PH7",  7, 7,   { "gpio_in", "gpio_out", "uart3", NULL, NULL, NULL, 
"ph_eint7" } 6, 7},
+       { "PH8",  7, 8,   { "gpio_in", "gpio_out", "owa", NULL, NULL, NULL, 
"ph_eint8" } 6, 8},
+       { "PH9",  7, 9,   { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, 
"ph_eint9" } 6, 9},
+       { "PH10", 7, 10,  { "gpio_in", "gpio_out", "mic", NULL, NULL, NULL, 
"ph_eint10" } 6, 10},
+       { "PH11", 7, 11,  { "gpio_in", "gpio_out", "mic", NULL, NULL, NULL, 
"ph_eint11" } 6, 11},
 };
 
 const struct allwinner_padconf a64_padconf = {

Modified: head/sys/arm/allwinner/a64/a64_r_padconf.c
==============================================================================
--- head/sys/arm/allwinner/a64/a64_r_padconf.c  Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/a64/a64_r_padconf.c  Thu Dec 15 15:52:13 2016        
(r310117)
@@ -41,19 +41,19 @@ __FBSDID("$FreeBSD$");
 #ifdef SOC_ALLWINNER_A64
 
 static const struct allwinner_pins a64_r_pins[] = {
-       { "PL0",   0, 0,  { "gpio_in", "gpio_out", "s_rsb", "s_i2c", NULL, 
NULL, "eint" } },
-       { "PL1",   0, 1,  { "gpio_in", "gpio_out", "s_rsb", "s_i2c", NULL, 
NULL, "eint" } },
-       { "PL2",   0, 2,  { "gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
"eint" } },
-       { "PL3",   0, 3,  { "gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
"eint" } },
-       { "PL4",   0, 4,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"eint" } },
-       { "PL5",   0, 5,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"eint" } },
-       { "PL6",   0, 6,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"eint" } },
-       { "PL7",   0, 7,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"eint" } },
-       { "PL8",   0, 8,  { "gpio_in", "gpio_out", "s_i2c", NULL, NULL, NULL, 
"eint" } },
-       { "PL9",   0, 9,  { "gpio_in", "gpio_out", "s_i2c", NULL, NULL, NULL, 
"eint" } },
-       { "PL10",  0, 10, { "gpio_in", "gpio_out", "s_pwm", NULL, NULL, NULL, 
"eint" } },
-       { "PL11",  0, 11, { "gpio_in", "gpio_out", "s_cir", NULL, NULL, NULL, 
"eint" } },
-       { "PL12",  0, 12, { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, 
"eint" } },
+       { "PL0",   0, 0,  { "gpio_in", "gpio_out", "s_rsb", "s_i2c", NULL, 
NULL, "pl_eint0" } 6, 0},
+       { "PL1",   0, 1,  { "gpio_in", "gpio_out", "s_rsb", "s_i2c", NULL, 
NULL, "pl_eint1" } 6, 1},
+       { "PL2",   0, 2,  { "gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
"pl_eint2" } 6, 2},
+       { "PL3",   0, 3,  { "gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
"pl_eint3" } 6, 3},
+       { "PL4",   0, 4,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint4" } 6, 4},
+       { "PL5",   0, 5,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint5" } 6, 5},
+       { "PL6",   0, 6,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint6" } 6, 6},
+       { "PL7",   0, 7,  { "gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint7" } 6, 7},
+       { "PL8",   0, 8,  { "gpio_in", "gpio_out", "s_i2c", NULL, NULL, NULL, 
"pl_eint8" } 6, 8},
+       { "PL9",   0, 9,  { "gpio_in", "gpio_out", "s_i2c", NULL, NULL, NULL, 
"pl_eint9" } 6, 9},
+       { "PL10",  0, 10, { "gpio_in", "gpio_out", "s_pwm", NULL, NULL, NULL, 
"pl_eint10" } 6, 10},
+       { "PL11",  0, 11, { "gpio_in", "gpio_out", "s_cir", NULL, NULL, NULL, 
"pl_eint11" } 6, 11},
+       { "PL12",  0, 12, { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, 
"pl_eint12" } 6, 12},
 };
 
 const struct allwinner_padconf a64_r_padconf = {

Modified: head/sys/arm/allwinner/allwinner_pinctrl.h
==============================================================================
--- head/sys/arm/allwinner/allwinner_pinctrl.h  Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/allwinner_pinctrl.h  Thu Dec 15 15:52:13 2016        
(r310117)
@@ -36,6 +36,8 @@ struct allwinner_pins {
        uint8_t port;
        uint8_t pin;
        const char *functions[8];
+       uint8_t eint_func;
+       uint8_t eint_num;
 };
 
 struct allwinner_padconf {

Modified: head/sys/arm/allwinner/h3/h3_padconf.c
==============================================================================
--- head/sys/arm/allwinner/h3/h3_padconf.c      Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/h3/h3_padconf.c      Thu Dec 15 15:52:13 2016        
(r310117)
@@ -38,28 +38,28 @@ __FBSDID("$FreeBSD$");
 #ifdef SOC_ALLWINNER_H3
 
 const static struct allwinner_pins h3_pins[] = {
-       {"PA0",  0, 0,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"eint", NULL}},
-       {"PA1",  0, 1,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"eint", NULL}},
-       {"PA2",  0, 2,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"eint", NULL}},
-       {"PA3",  0, 3,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"eint", NULL}},
-       {"PA4",  0, 4,  {"gpio_in", "gpio_out", "uart0", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA5",  0, 5,  {"gpio_in", "gpio_out", "uart0", "pwm0", NULL, NULL, 
"eint", NULL}},
-       {"PA6",  0, 6,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA7",  0, 7,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA8",  0, 8,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA9",  0, 9,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA10", 0, 10, {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA11", 0, 11, {"gpio_in", "gpio_out", "i2c0", "di", NULL, NULL, 
"eint", NULL}},
-       {"PA12", 0, 12, {"gpio_in", "gpio_out", "i2c0", "di", NULL, NULL, 
"eint", NULL}},
-       {"PA13", 0, 13, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PA14", 0, 14, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PA15", 0, 15, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PA16", 0, 16, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"eint", NULL}},
-       {"PA17", 0, 17, {"gpio_in", "gpio_out", "spdif", NULL, NULL, NULL, 
"eint", NULL}},
-       {"PA18", 0, 18, {"gpio_in", "gpio_out", "i2s0", "i2c1", NULL, NULL, 
"eint", NULL}},
-       {"PA19", 0, 19, {"gpio_in", "gpio_out", "i2s0", "i2c1", NULL, NULL, 
"eint", NULL}},
-       {"PA20", 0, 20, {"gpio_in", "gpio_out", "i2s0", "sim", NULL, NULL, 
"eint", NULL}},
-       {"PA21", 0, 21, {"gpio_in", "gpio_out", "i2s0", "sim", NULL, NULL, 
"eint", NULL}},
+       {"PA0",  0, 0,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"pa_eint0", NULL}, 6, 0},
+       {"PA1",  0, 1,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"pa_eint1", NULL}, 6, 1},
+       {"PA2",  0, 2,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"pa_eint2", NULL}, 6, 2},
+       {"PA3",  0, 3,  {"gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, 
"pa_eint3", NULL}, 6, 3},
+       {"PA4",  0, 4,  {"gpio_in", "gpio_out", "uart0", NULL, NULL, NULL, 
"pa_eint4", NULL}, 6, 4},
+       {"PA5",  0, 5,  {"gpio_in", "gpio_out", "uart0", "pwm0", NULL, NULL, 
"pa_eint5", NULL}, 6, 5},
+       {"PA6",  0, 6,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"pa_eint6", NULL}, 6, 6},
+       {"PA7",  0, 7,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"pa_eint7", NULL}, 6, 7},
+       {"PA8",  0, 8,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"pa_eint8", NULL}, 6, 8},
+       {"PA9",  0, 9,  {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"pa_eint9", NULL}, 6, 9},
+       {"PA10", 0, 10, {"gpio_in", "gpio_out", "sim", NULL, NULL, NULL, 
"pa_eint10", NULL}, 6, 10},
+       {"PA11", 0, 11, {"gpio_in", "gpio_out", "i2c0", "di", NULL, NULL, 
"pa_eint11", NULL}, 6, 11},
+       {"PA12", 0, 12, {"gpio_in", "gpio_out", "i2c0", "di", NULL, NULL, 
"pa_eint12", NULL}, 6, 12},
+       {"PA13", 0, 13, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"pa_eint13", NULL}, 6, 13},
+       {"PA14", 0, 14, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"pa_eint14", NULL}, 6, 14},
+       {"PA15", 0, 15, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"pa_eint15", NULL}, 6, 15},
+       {"PA16", 0, 16, {"gpio_in", "gpio_out", "spi1", "uart3", NULL, NULL, 
"pa_eint16", NULL}, 6, 16},
+       {"PA17", 0, 17, {"gpio_in", "gpio_out", "spdif", NULL, NULL, NULL, 
"pa_eint17", NULL}, 6, 17},
+       {"PA18", 0, 18, {"gpio_in", "gpio_out", "i2s0", "i2c1", NULL, NULL, 
"pa_eint18", NULL}, 6, 18},
+       {"PA19", 0, 19, {"gpio_in", "gpio_out", "i2s0", "i2c1", NULL, NULL, 
"pa_eint19", NULL}, 6, 19},
+       {"PA20", 0, 20, {"gpio_in", "gpio_out", "i2s0", "sim", NULL, NULL, 
"pa_eint20", NULL}, 6, 20},
+       {"PA21", 0, 21, {"gpio_in", "gpio_out", "i2s0", "sim", NULL, NULL, 
"pa_eint21", NULL}, 6, 21},
 
        {"PC0",  2, 0,  {"gpio_in", "gpio_out", "nand", "spi0", NULL, NULL, 
NULL, NULL}},
        {"PC1",  2, 1,  {"gpio_in", "gpio_out", "nand", "spi0", NULL, NULL, 
NULL, NULL}},
@@ -123,20 +123,20 @@ const static struct allwinner_pins h3_pi
        {"PF5",  5, 5,  {"gpio_in", "gpio_out", "mmc0", "jtag", NULL, NULL, 
NULL, NULL}},
        {"PF6",  5, 6,  {"gpio_in", "gpio_out", NULL, NULL, NULL, NULL, NULL, 
NULL}},
 
-       {"PG0",  6, 0,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG1",  6, 1,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG2",  6, 2,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG3",  6, 3,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG4",  6, 4,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG5",  6, 5,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG6",  6, 6,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PG7",  6, 7,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PG8",  6, 8,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PG9",  6, 9,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PG10", 6, 10, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG11", 6, 11, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG12", 6, 11, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PG13", 6, 11, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, NULL, 
"eint"}},
+       {"PG0",  6, 0,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint0", NULL}, 6, 0},
+       {"PG1",  6, 1,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint1", NULL}, 6, 1},
+       {"PG2",  6, 2,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint2", NULL}, 6, 2},
+       {"PG3",  6, 3,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint3", NULL}, 6, 3},
+       {"PG4",  6, 4,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint4", NULL}, 6, 4},
+       {"PG5",  6, 5,  {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, 
"pg_eint5", NULL}, 6, 5},
+       {"PG6",  6, 6,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint6", NULL}, 6, 6},
+       {"PG7",  6, 7,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint7", NULL}, 6, 7},
+       {"PG8",  6, 8,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint8", NULL}, 6, 8},
+       {"PG9",  6, 9,  {"gpio_in", "gpio_out", "uart1", NULL, NULL, NULL, 
"pg_eint9", NULL}, 6, 9},
+       {"PG10", 6, 10, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, 
"pg_eint10", NULL}, 6, 10},
+       {"PG11", 6, 11, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, 
"pg_eint11", NULL}, 6, 11},
+       {"PG12", 6, 12, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, 
"pg_eint12", NULL}, 6, 12},
+       {"PG13", 6, 13, {"gpio_in", "gpio_out", "i2s1", NULL, NULL, NULL, 
"pg_eint13", NULL}, 6, 13},
 };
 
 const struct allwinner_padconf h3_padconf = {

Modified: head/sys/arm/allwinner/h3/h3_r_padconf.c
==============================================================================
--- head/sys/arm/allwinner/h3/h3_r_padconf.c    Thu Dec 15 15:45:11 2016        
(r310116)
+++ head/sys/arm/allwinner/h3/h3_r_padconf.c    Thu Dec 15 15:52:13 2016        
(r310117)
@@ -38,18 +38,18 @@ __FBSDID("$FreeBSD$");
 #ifdef SOC_ALLWINNER_H3
 
 const static struct allwinner_pins h3_r_pins[] = {
-       {"PL0",  0, 0,  {"gpio_in", "gpio_out", "s_twi", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL1",  0, 1,  {"gpio_in", "gpio_out", "s_twi", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL2",  0, 2,  {"gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL3",  0, 3,  {"gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL4",  0, 4,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL5",  0, 5,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL6",  0, 6,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL7",  0, 7,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL8",  0, 8,  {"gpio_in", "gpio_out", NULL, NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PL9",  0, 9,  {"gpio_in", "gpio_out", NULL, NULL, NULL, NULL, NULL, 
"eint"}},
-       {"PL10", 0, 10, {"gpio_in", "gpio_out", "s_pwm", NULL, NULL, NULL, 
NULL, "eint"}},
-       {"PL11", 0, 11, {"gpio_in", "gpio_out", "s_cir_rx", NULL, NULL, NULL, 
NULL, "eint"}},
+       {"PL0",  0, 0,  {"gpio_in", "gpio_out", "s_twi", NULL, NULL, NULL, 
"pl_eint0", NULL}, 6, 0},
+       {"PL1",  0, 1,  {"gpio_in", "gpio_out", "s_twi", NULL, NULL, NULL, 
"pl_eint1", NULL}, 6, 1},
+       {"PL2",  0, 2,  {"gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
"pl_eint2", NULL}, 6, 2},
+       {"PL3",  0, 3,  {"gpio_in", "gpio_out", "s_uart", NULL, NULL, NULL, 
"pl_eint3", NULL}, 6, 3},
+       {"PL4",  0, 4,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint4", NULL}, 6, 4},
+       {"PL5",  0, 5,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint5", NULL}, 6, 5},
+       {"PL6",  0, 6,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint6", NULL}, 6, 6},
+       {"PL7",  0, 7,  {"gpio_in", "gpio_out", "s_jtag", NULL, NULL, NULL, 
"pl_eint7", NULL}, 6, 7},
+       {"PL8",  0, 8,  {"gpio_in", "gpio_out", NULL, NULL, NULL, NULL, 
"pl_eint8", NULL}, 6, 8},
+       {"PL9",  0, 9,  {"gpio_in", "gpio_out", NULL, NULL, NULL, NULL, 
"pl_eint9", NULL}, 6, 9},
+       {"PL10", 0, 10, {"gpio_in", "gpio_out", "s_pwm", NULL, NULL, NULL, 
"pl_eint10", NULL}, 6, 10},
+       {"PL11", 0, 11, {"gpio_in", "gpio_out", "s_cir_rx", NULL, NULL, NULL, 
"pl_eint11", NULL}, 6, 11},
 };
 
 const struct allwinner_padconf h3_r_padconf = {
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to