xref: /freebsd/sys/riscv/allwinner/d1_padconf.c (revision 7192454558532101229629a8575d161013f3a7cb)
1*71924545SJulien Cassette /*-
2*71924545SJulien Cassette  * Copyright (c) 2022 Julien Cassette <julien.cassette@gmail.com>
3*71924545SJulien Cassette  *
4*71924545SJulien Cassette  * Redistribution and use in source and binary forms, with or without
5*71924545SJulien Cassette  * modification, are permitted provided that the following conditions
6*71924545SJulien Cassette  * are met:
7*71924545SJulien Cassette  * 1. Redistributions of source code must retain the above copyright
8*71924545SJulien Cassette  *    notice, this list of conditions and the following disclaimer.
9*71924545SJulien Cassette  * 2. Redistributions in binary form must reproduce the above copyright
10*71924545SJulien Cassette  *    notice, this list of conditions and the following disclaimer in the
11*71924545SJulien Cassette  *    documentation and/or other materials provided with the distribution.
12*71924545SJulien Cassette  *
13*71924545SJulien Cassette  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14*71924545SJulien Cassette  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15*71924545SJulien Cassette  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16*71924545SJulien Cassette  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17*71924545SJulien Cassette  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18*71924545SJulien Cassette  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19*71924545SJulien Cassette  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20*71924545SJulien Cassette  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21*71924545SJulien Cassette  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22*71924545SJulien Cassette  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23*71924545SJulien Cassette  * SUCH DAMAGE.
24*71924545SJulien Cassette  *
25*71924545SJulien Cassette  */
26*71924545SJulien Cassette #include <sys/param.h>
27*71924545SJulien Cassette #include <sys/systm.h>
28*71924545SJulien Cassette #include <sys/kernel.h>
29*71924545SJulien Cassette #include <sys/types.h>
30*71924545SJulien Cassette 
31*71924545SJulien Cassette #include <arm/allwinner/allwinner_pinctrl.h>
32*71924545SJulien Cassette 
33*71924545SJulien Cassette #include "opt_soc.h"
34*71924545SJulien Cassette 
35*71924545SJulien Cassette static const struct allwinner_pins d1_pins[] = {
36*71924545SJulien Cassette 	{ "PB0",  1,  0, { "gpio_in", "gpio_out", "pwm3",  "ir",    "i2c2",  "spi1",  "uart0", "uart2", "spdif", [14] = "pb_eint0"  }, 14,  0, 1 },
37*71924545SJulien Cassette 	{ "PB1",  1,  1, { "gpio_in", "gpio_out", "pwm4",  "i2s2",  "i2c2",  "i2s2",  "uart0", "uart2", "ir",    [14] = "pb_eint1"  }, 14,  1, 1 },
38*71924545SJulien Cassette 	{ "PB2",  1,  2, { "gpio_in", "gpio_out", "lcd0",  "i2s2",  "i2c0",  "i2s2",  "lcd0",  "uart4", NULL,    [14] = "pb_eint2"  }, 14,  2, 1 },
39*71924545SJulien Cassette 	{ "PB3",  1,  3, { "gpio_in", "gpio_out", "lcd0",  "i2s2",  "i2c0",  "i2s2",  "lcd0",  "uart4", NULL,    [14] = "pb_eint3"  }, 14,  3, 1 },
40*71924545SJulien Cassette 	{ "PB4",  1,  4, { "gpio_in", "gpio_out", "lcd0",  "i2s2",  "i2c1",  "i2s2",  "lcd0",  "uart5", NULL,    [14] = "pb_eint4"  }, 14,  4, 1 },
41*71924545SJulien Cassette 	{ "PB5",  1,  5, { "gpio_in", "gpio_out", "lcd0",  "i2s2",  "i2c1",  "pwm0",  "lcd0",  "uart5", NULL,    [14] = "pb_eint5"  }, 14,  5, 1 },
42*71924545SJulien Cassette 	{ "PB6",  1,  6, { "gpio_in", "gpio_out", "lcd0",  "i2s2",  "i2c3",  "pwm1",  "lcd0",  "uart3", "cpu",   [14] = "pb_eint6"  }, 14,  6, 1 },
43*71924545SJulien Cassette 	{ "PB7",  1,  7, { "gpio_in", "gpio_out", "lcd0",  "i2s2",  "i2c3",  "ir",    "lcd0",  "uart3", "cpu",   [14] = "pb_eint7"  }, 14,  7, 1 },
44*71924545SJulien Cassette 	{ "PB8",  1,  8, { "gpio_in", "gpio_out", "dmic",  "pwm5",  "i2c2",  "spi1",  "uart0", "uart1", NULL,    [14] = "pb_eint8"  }, 14,  8, 1 },
45*71924545SJulien Cassette 	{ "PB9",  1,  9, { "gpio_in", "gpio_out", "dmic",  "pwm6",  "i2c2",  "spi1",  "uart0", "uart1", NULL,    [14] = "pb_eint9"  }, 14,  9, 1 },
46*71924545SJulien Cassette 	{ "PB10", 1, 10, { "gpio_in", "gpio_out", "dmic",  "pwm7",  "i2c0",  "spi1",  "clk",   "uart1", NULL,    [14] = "pb_eint10" }, 14, 10, 1 },
47*71924545SJulien Cassette 	{ "PB11", 1, 11, { "gpio_in", "gpio_out", "dmic",  "pwm2",  "i2c0",  "spi1",  "clk",   "uart1", NULL,    [14] = "pb_eint11" }, 14, 11, 1 },
48*71924545SJulien Cassette 	{ "PB12", 1, 12, { "gpio_in", "gpio_out", "dmic",  "pwm0",  "spdif", "spi1",  "clk",   "ir",    NULL,    [14] = "pb_eint12" }, 14, 12, 1 },
49*71924545SJulien Cassette 	{ "PC0",  2,  0, { "gpio_in", "gpio_out", "uart2", "i2c2",  "ledc",  NULL,    NULL,    NULL,    NULL,    [14] = "pc_eint0"  }, 14,  0, 2 },
50*71924545SJulien Cassette 	{ "PC1",  2,  1, { "gpio_in", "gpio_out", "uart2", "i2c2",  NULL,    NULL,    NULL,    NULL,    NULL,    [14] = "pc_eint1"  }, 14,  1, 2 },
51*71924545SJulien Cassette 	{ "PC2",  2,  2, { "gpio_in", "gpio_out", "spi0",  "mmc2",  NULL,    NULL,    NULL,    NULL,    NULL,    [14] = "pc_eint2"  }, 14,  2, 2 },
52*71924545SJulien Cassette 	{ "PC3",  2,  3, { "gpio_in", "gpio_out", "spi0",  "mmc2",  NULL,    NULL,    NULL,    NULL,    NULL,    [14] = "pc_eint3"  }, 14,  3, 2 },
53*71924545SJulien Cassette 	{ "PC4",  2,  4, { "gpio_in", "gpio_out", "spi0",  "mmc2",  "boot",  NULL,    NULL,    NULL,    NULL,    [14] = "pc_eint4"  }, 14,  4, 2 },
54*71924545SJulien Cassette 	{ "PC5",  2,  5, { "gpio_in", "gpio_out", "spi0",  "mmc2",  "boot",  NULL,    NULL,    NULL,    NULL,    [14] = "pc_eint5"  }, 14,  5, 2 },
55*71924545SJulien Cassette 	{ "PC6",  2,  6, { "gpio_in", "gpio_out", "spi0",  "mmc2",  "uart3", "i2c3",  "dbg",   NULL,    NULL,    [14] = "pc_eint6"  }, 14,  6, 2 },
56*71924545SJulien Cassette 	{ "PC7",  2,  7, { "gpio_in", "gpio_out", "spi0",  "mmc2",  "uart3", "i2c3",  "tcon",  NULL,    NULL,    [14] = "pc_eint7"  }, 14,  7, 2 },
57*71924545SJulien Cassette 	{ "PD0",  3,  0, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "i2c0",  NULL,    NULL,    NULL,    [14] = "pd_eint0"  }, 14,  0, 3 },
58*71924545SJulien Cassette 	{ "PD1",  3,  1, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart2", NULL,    NULL,    NULL,    [14] = "pd_eint1"  }, 14,  1, 3 },
59*71924545SJulien Cassette 	{ "PD2",  3,  2, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart2", NULL,    NULL,    NULL,    [14] = "pd_eint2"  }, 14,  2, 3 },
60*71924545SJulien Cassette 	{ "PD3",  3,  3, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart2", NULL,    NULL,    NULL,    [14] = "pd_eint3"  }, 14,  3, 3 },
61*71924545SJulien Cassette 	{ "PD4",  3,  4, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart2", NULL,    NULL,    NULL,    [14] = "pd_eint4"  }, 14,  4, 3 },
62*71924545SJulien Cassette 	{ "PD5",  3,  5, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart5", NULL,    NULL,    NULL,    [14] = "pd_eint5"  }, 14,  5, 3 },
63*71924545SJulien Cassette 	{ "PD6",  3,  6, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart5", NULL,    NULL,    NULL,    [14] = "pd_eint6"  }, 14,  6, 3 },
64*71924545SJulien Cassette 	{ "PD7",  3,  7, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart4", NULL,    NULL,    NULL,    [14] = "pd_eint7"  }, 14,  7, 3 },
65*71924545SJulien Cassette 	{ "PD8",  3,  8, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "uart4", NULL,    NULL,    NULL,    [14] = "pd_eint8"  }, 14,  8, 3 },
66*71924545SJulien Cassette 	{ "PD9",  3,  9, { "gpio_in", "gpio_out", "lcd0",  "lvds0", "dsi",   "pwm6",  NULL,    NULL,    NULL,    [14] = "pd_eint9"  }, 14,  9, 3 },
67*71924545SJulien Cassette 	{ "PD10", 3, 10, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "spi1",  "uart3", NULL,    NULL,    NULL,    [14] = "pd_eint10" }, 14, 10, 3 },
68*71924545SJulien Cassette 	{ "PD11", 3, 11, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "spi1",  "uart3", NULL,    NULL,    NULL,    [14] = "pd_eint11" }, 14, 11, 3 },
69*71924545SJulien Cassette 	{ "PD12", 3, 12, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "spi1",  "i2c0",  NULL,    NULL,    NULL,    [14] = "pd_eint12" }, 14, 12, 3 },
70*71924545SJulien Cassette 	{ "PD13", 3, 13, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "spi1",  "uart3", NULL,    NULL,    NULL,    [14] = "pd_eint13" }, 14, 13, 3 },
71*71924545SJulien Cassette 	{ "PD14", 3, 14, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "spi1",  "uart3", NULL,    NULL,    NULL,    [14] = "pd_eint14" }, 14, 14, 3 },
72*71924545SJulien Cassette 	{ "PD15", 3, 15, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "spi1",  "ir",    NULL,    NULL,    NULL,    [14] = "pd_eint15" }, 14, 15, 3 },
73*71924545SJulien Cassette 	{ "PD16", 3, 16, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "dmic",  "pwm0",  NULL,    NULL,    NULL,    [14] = "pd_eint16" }, 14, 16, 3 },
74*71924545SJulien Cassette 	{ "PD17", 3, 17, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "dmic",  "pwm1",  NULL,    NULL,    NULL,    [14] = "pd_eint17" }, 14, 17, 3 },
75*71924545SJulien Cassette 	{ "PD18", 3, 18, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "dmic",  "pwm2",  NULL,    NULL,    NULL,    [14] = "pd_eint18" }, 14, 18, 3 },
76*71924545SJulien Cassette 	{ "PD19", 3, 19, { "gpio_in", "gpio_out", "lcd0",  "lvds1", "dmic",  "pwm3",  NULL,    NULL,    NULL,    [14] = "pd_eint19" }, 14, 19, 3 },
77*71924545SJulien Cassette 	{ "PD20", 3, 20, { "gpio_in", "gpio_out", "lcd0",  "i2c2",  "dmic",  "pwm4",  NULL,    NULL,    NULL,    [14] = "pd_eint20" }, 14, 20, 3 },
78*71924545SJulien Cassette 	{ "PD21", 3, 21, { "gpio_in", "gpio_out", "lcd0",  "i2c2",  "uart1", "pwm5",  NULL,    NULL,    NULL,    [14] = "pd_eint21" }, 14, 21, 3 },
79*71924545SJulien Cassette 	{ "PD22", 3, 22, { "gpio_in", "gpio_out", "spdif", "ir",    "uart1", "pwm7",  NULL,    NULL,    NULL,    [14] = "pd_eint22" }, 14, 22, 3 },
80*71924545SJulien Cassette 	{ "PE0",  4,  0, { "gpio_in", "gpio_out", "ncsi0", "uart2", "i2c1",  "lcd0",  NULL,    NULL,    "emac",  [14] = "pe_eint0"  }, 14,  0, 4 },
81*71924545SJulien Cassette 	{ "PE1",  4,  1, { "gpio_in", "gpio_out", "ncsi0", "uart2", "i2c1",  "lcd0",  NULL,    NULL,    "emac",  [14] = "pe_eint1"  }, 14,  1, 4 },
82*71924545SJulien Cassette 	{ "PE2",  4,  2, { "gpio_in", "gpio_out", "ncsi0", "uart2", "i2c0",  "clk",   "uart0", NULL,    "emac",  [14] = "pe_eint2"  }, 14,  2, 4 },
83*71924545SJulien Cassette 	{ "PE3",  4,  3, { "gpio_in", "gpio_out", "ncsi0", "uart2", "i2c0",  "clk",   "uart0", NULL,    "emac",  [14] = "pe_eint3"  }, 14,  3, 4 },
84*71924545SJulien Cassette 	{ "PE4",  4,  4, { "gpio_in", "gpio_out", "ncsi0", "uart4", "i2c2",  "clk",   "jtag",  "jtag",  "emac",  [14] = "pe_eint4"  }, 14,  4, 4 },
85*71924545SJulien Cassette 	{ "PE5",  4,  5, { "gpio_in", "gpio_out", "ncsi0", "uart4", "i2c2",  "ledc",  "jtag",  "jtag",  "emac",  [14] = "pe_eint5"  }, 14,  5, 4 },
86*71924545SJulien Cassette 	{ "PE6",  4,  6, { "gpio_in", "gpio_out", "ncsi0", "uart5", "i2c3",  "spdif", "jtag",  "jtag",  "emac",  [14] = "pe_eint6"  }, 14,  6, 4 },
87*71924545SJulien Cassette 	{ "PE7",  4,  7, { "gpio_in", "gpio_out", "ncsi0", "uart5", "i2c3",  "spdif", "jtag",  "jtag",  "emac",  [14] = "pe_eint7"  }, 14,  7, 4 },
88*71924545SJulien Cassette 	{ "PE8",  4,  8, { "gpio_in", "gpio_out", "ncsi0", "uart1", "pwm2",  "uart3", "jtag",  NULL,    "emac",  [14] = "pe_eint8"  }, 14,  8, 4 },
89*71924545SJulien Cassette 	{ "PE9",  4,  9, { "gpio_in", "gpio_out", "ncsi0", "uart1", "pwm3",  "uart3", "jtag",  NULL,    "emac",  [14] = "pe_eint9"  }, 14,  9, 4 },
90*71924545SJulien Cassette 	{ "PE10", 4, 10, { "gpio_in", "gpio_out", "ncsi0", "uart1", "pwm4",  "ir",    "jtag",  NULL,    "emac",  [14] = "pe_eint10" }, 14, 10, 4 },
91*71924545SJulien Cassette 	{ "PE11", 4, 11, { "gpio_in", "gpio_out", "ncsi0", "uart1", "i2s0",  "i2s0",  "jtag",  NULL,    "emac",  [14] = "pe_eint11" }, 14, 11, 4 },
92*71924545SJulien Cassette 	{ "PE12", 4, 12, { "gpio_in", "gpio_out", "i2c2",  "ncsi0", "i2s0",  "i2s0",  NULL,    NULL,    "emac",  [14] = "pe_eint12" }, 14, 12, 4 },
93*71924545SJulien Cassette 	{ "PE13", 4, 13, { "gpio_in", "gpio_out", "i2c2",  "pwm5",  "i2s0",  "i2s0",  "dmic",  NULL,    "emac",  [14] = "pe_eint13" }, 14, 13, 4 },
94*71924545SJulien Cassette 	{ "PE14", 4, 14, { "gpio_in", "gpio_out", "i2c1",  "jtag",  "i2s0",  "i2s0",  "dmic",  NULL,    "emac",  [14] = "pe_eint14" }, 14, 14, 4 },
95*71924545SJulien Cassette 	{ "PE15", 4, 15, { "gpio_in", "gpio_out", "i2c1",  "jtag",  "pwm6",  "i2s0",  "dmic",  NULL,    "emac",  [14] = "pe_eint15" }, 14, 15, 4 },
96*71924545SJulien Cassette 	{ "PE16", 4, 16, { "gpio_in", "gpio_out", "i2c3",  "jtag",  "pwm7",  "i2s0",  "dmic",  NULL,    NULL,    [14] = "pe_eint16" }, 14, 16, 4 },
97*71924545SJulien Cassette 	{ "PE17", 4, 17, { "gpio_in", "gpio_out", "i2c3",  "jtag",  "ir",    "i2s0",  "dmic",  NULL,    NULL,    [14] = "pe_eint17" }, 14, 17, 4 },
98*71924545SJulien Cassette 	{ "PF0",  5,  0, { "gpio_in", "gpio_out", "mmc0",  NULL,    "jtag",  "i2s2",  "i2s2",  NULL,    NULL,    [14] = "pf_eint0"  }, 14,  0, 5 },
99*71924545SJulien Cassette 	{ "PF1",  5,  1, { "gpio_in", "gpio_out", "mmc0",  NULL,    "jtag",  "i2s2",  "i2s2",  NULL,    NULL,    [14] = "pf_eint1"  }, 14,  1, 5 },
100*71924545SJulien Cassette 	{ "PF2",  5,  2, { "gpio_in", "gpio_out", "mmc0",  "uart0", "i2c0",  "ledc",  "spdif", NULL,    NULL,    [14] = "pf_eint2"  }, 14,  2, 5 },
101*71924545SJulien Cassette 	{ "PF3",  5,  3, { "gpio_in", "gpio_out", "mmc0",  NULL,    "jtag",  "i2s2",  NULL,    NULL,    NULL,    [14] = "pf_eint3"  }, 14,  3, 5 },
102*71924545SJulien Cassette 	{ "PF4",  5,  4, { "gpio_in", "gpio_out", "mmc0",  "uart0", "i2c0",  "pwm6",  "ir",    NULL,    NULL,    [14] = "pf_eint4"  }, 14,  4, 5 },
103*71924545SJulien Cassette 	{ "PF5",  5,  5, { "gpio_in", "gpio_out", "mmc0",  NULL,    "jtag",  "i2s2",  NULL,    NULL,    NULL,    [14] = "pf_eint5"  }, 14,  5, 5 },
104*71924545SJulien Cassette 	{ "PF6",  5,  6, { "gpio_in", "gpio_out", NULL,    "spdif", "ir",    "i2s2",  "pwm5",  NULL,    NULL,    [14] = "pf_eint6"  }, 14,  6, 5 },
105*71924545SJulien Cassette 	{ "PG0",  6,  0, { "gpio_in", "gpio_out", "mmc1",  "uart3", "emac",  "pwm7",  NULL,    NULL,    NULL,    [14] = "pg_eint0"  }, 14,  0, 6 },
106*71924545SJulien Cassette 	{ "PG1",  6,  1, { "gpio_in", "gpio_out", "mmc1",  "uart3", "emac",  "pwm6",  NULL,    NULL,    NULL,    [14] = "pg_eint1"  }, 14,  1, 6 },
107*71924545SJulien Cassette 	{ "PG2",  6,  2, { "gpio_in", "gpio_out", "mmc1",  "uart3", "emac",  "uart4", NULL,    NULL,    NULL,    [14] = "pg_eint2"  }, 14,  2, 6 },
108*71924545SJulien Cassette 	{ "PG3",  6,  3, { "gpio_in", "gpio_out", "mmc1",  "uart3", "emac",  "uart4", NULL,    NULL,    NULL,    [14] = "pg_eint3"  }, 14,  3, 6 },
109*71924545SJulien Cassette 	{ "PG4",  6,  4, { "gpio_in", "gpio_out", "mmc1",  "uart5", "emac",  "pwm5",  NULL,    NULL,    NULL,    [14] = "pg_eint4"  }, 14,  4, 6 },
110*71924545SJulien Cassette 	{ "PG5",  6,  5, { "gpio_in", "gpio_out", "mmc1",  "uart5", "emac",  "pwm4",  NULL,    NULL,    NULL,    [14] = "pg_eint5"  }, 14,  5, 6 },
111*71924545SJulien Cassette 	{ "PG6",  6,  6, { "gpio_in", "gpio_out", "uart1", "i2c2",  "emac",  "pwm1",  NULL,    NULL,    NULL,    [14] = "pg_eint6"  }, 14,  6, 6 },
112*71924545SJulien Cassette 	{ "PG7",  6,  7, { "gpio_in", "gpio_out", "uart1", "i2c2",  "emac",  "spdif", NULL,    NULL,    NULL,    [14] = "pg_eint7"  }, 14,  7, 6 },
113*71924545SJulien Cassette 	{ "PG8",  6,  8, { "gpio_in", "gpio_out", "uart1", "i2c1",  "emac",  "uart3", NULL,    NULL,    NULL,    [14] = "pg_eint8"  }, 14,  8, 6 },
114*71924545SJulien Cassette 	{ "PG9",  6,  9, { "gpio_in", "gpio_out", "uart1", "i2c1",  "emac",  "uart3", NULL,    NULL,    NULL,    [14] = "pg_eint9"  }, 14,  9, 6 },
115*71924545SJulien Cassette 	{ "PG10", 6, 10, { "gpio_in", "gpio_out", "pwm3",  "i2c3",  "emac",  "clk",   "ir",    NULL,    NULL,    [14] = "pg_eint10" }, 14, 10, 6 },
116*71924545SJulien Cassette 	{ "PG11", 6, 11, { "gpio_in", "gpio_out", "i2s1",  "i2c3",  "emac",  "clk",   "tcon",  NULL,    NULL,    [14] = "pg_eint11" }, 14, 11, 6 },
117*71924545SJulien Cassette 	{ "PG12", 6, 12, { "gpio_in", "gpio_out", "i2s1",  "i2c0",  "emac",  "clk",   "pwm0",  "uart1", NULL,    [14] = "pg_eint12" }, 14, 12, 6 },
118*71924545SJulien Cassette 	{ "PG13", 6, 13, { "gpio_in", "gpio_out", "i2s1",  "i2c0",  "emac",  "pwm2",  "ledc",  "uart1", NULL,    [14] = "pg_eint13" }, 14, 13, 6 },
119*71924545SJulien Cassette 	{ "PG14", 6, 14, { "gpio_in", "gpio_out", "i2s1",  "i2c2",  "emac",  "i2s1",  "spi0",  "uart1", NULL,    [14] = "pg_eint14" }, 14, 14, 6 },
120*71924545SJulien Cassette 	{ "PG15", 6, 15, { "gpio_in", "gpio_out", "i2s1",  "i2c2",  "emac",  "i2s1",  "spi0",  "uart1", NULL,    [14] = "pg_eint15" }, 14, 15, 6 },
121*71924545SJulien Cassette 	{ "PG16", 6, 16, { "gpio_in", "gpio_out", "ir",    "tcon",  "pwm5",  "clk",   "spdif", "ledc",  NULL,    [14] = "pg_eint16" }, 14, 16, 6 },
122*71924545SJulien Cassette 	{ "PG17", 6, 17, { "gpio_in", "gpio_out", "uart2", "i2c3",  "pwm7",  "clk",   "ir",    "uart0", NULL,    [14] = "pg_eint17" }, 14, 17, 6 },
123*71924545SJulien Cassette 	{ "PG18", 6, 18, { "gpio_in", "gpio_out", "uart2", "i2c3",  "pwm6",  "clk",   "spdif", "uart0", NULL,    [14] = "pg_eint18" }, 14, 18, 6 },
124*71924545SJulien Cassette };
125*71924545SJulien Cassette 
126*71924545SJulien Cassette const struct allwinner_padconf d1_padconf = {
127*71924545SJulien Cassette 	.npins = nitems(d1_pins),
128*71924545SJulien Cassette 	.pins = d1_pins,
129*71924545SJulien Cassette };
130