Module Name: src
Committed By: skrll
Date: Tue Jun 28 05:19:03 UTC 2022
Modified Files:
src/sys/arch/arm/sunxi: files.sunxi sunxi_de2_ccu.c sunxi_drm.c
sunxi_emac.c sunxi_gpio.c sunxi_gpio.h sunxi_lcdc.c sunxi_mixer.c
sunxi_platform.c sunxi_usbphy.c
src/sys/arch/evbarm/conf: GENERIC
Added Files:
src/sys/arch/arm/sunxi: sun8i_v3s_gpio.c
Log Message:
Add support for Lichee Pi Zero from Rui-Xiang Guo on port-arm
To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/arm/sunxi/files.sunxi
cvs rdiff -u -r0 -r1.1 src/sys/arch/arm/sunxi/sun8i_v3s_gpio.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/sunxi/sunxi_de2_ccu.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/sunxi/sunxi_drm.c
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/arm/sunxi/sunxi_emac.c
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/arm/sunxi/sunxi_gpio.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/sunxi/sunxi_gpio.h
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/sunxi/sunxi_lcdc.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/sunxi/sunxi_mixer.c
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/arm/sunxi/sunxi_platform.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/sunxi/sunxi_usbphy.c
cvs rdiff -u -r1.107 -r1.108 src/sys/arch/evbarm/conf/GENERIC
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/sunxi/files.sunxi
diff -u src/sys/arch/arm/sunxi/files.sunxi:1.70 src/sys/arch/arm/sunxi/files.sunxi:1.71
--- src/sys/arch/arm/sunxi/files.sunxi:1.70 Sun Nov 7 17:13:12 2021
+++ src/sys/arch/arm/sunxi/files.sunxi Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-# $NetBSD: files.sunxi,v 1.70 2021/11/07 17:13:12 jmcneill Exp $
+# $NetBSD: files.sunxi,v 1.71 2022/06/28 05:19:03 skrll Exp $
#
# Configuration info for Allwinner sunxi family SoCs
#
@@ -137,6 +137,7 @@ file arch/arm/sunxi/sun6i_a31_gpio.c su
file arch/arm/sunxi/sun7i_a20_gpio.c sunxi_gpio & soc_sun7i_a20
file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t
file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3
+file arch/arm/sunxi/sun8i_v3s_gpio.c sunxi_gpio & soc_sun8i_v3s
file arch/arm/sunxi/sun9i_a80_gpio.c sunxi_gpio & soc_sun9i_a80
file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64
file arch/arm/sunxi/sun50i_h6_gpio.c sunxi_gpio & soc_sun50i_h6
Index: src/sys/arch/arm/sunxi/sunxi_de2_ccu.c
diff -u src/sys/arch/arm/sunxi/sunxi_de2_ccu.c:1.7 src/sys/arch/arm/sunxi/sunxi_de2_ccu.c:1.8
--- src/sys/arch/arm/sunxi/sunxi_de2_ccu.c:1.7 Wed Jan 27 03:10:20 2021
+++ src/sys/arch/arm/sunxi/sunxi_de2_ccu.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_de2_ccu.c,v 1.7 2021/01/27 03:10:20 thorpej Exp $ */
+/* $NetBSD: sunxi_de2_ccu.c,v 1.8 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2019 Jared McNeill <[email protected]>
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: sunxi_de2_ccu.c,v 1.7 2021/01/27 03:10:20 thorpej Exp $");
+__KERNEL_RCSID(1, "$NetBSD: sunxi_de2_ccu.c,v 1.8 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -100,6 +100,8 @@ static const struct sunxi_de2_ccu_config
static const struct device_compatible_entry compat_data[] = {
{ .compat = "allwinner,sun8i-h3-de2-clk",
.data = &sun8i_h3_de2_config },
+ { .compat = "allwinner,sun8i-v3s-de2-clk",
+ .data = &sun8i_h3_de2_config },
{ .compat = "allwinner,sun50i-a64-de2-clk",
.data = &sun50i_a64_de2_config },
{ .compat = "allwinner,sun50i-h5-de2-clk",
Index: src/sys/arch/arm/sunxi/sunxi_drm.c
diff -u src/sys/arch/arm/sunxi/sunxi_drm.c:1.24 src/sys/arch/arm/sunxi/sunxi_drm.c:1.25
--- src/sys/arch/arm/sunxi/sunxi_drm.c:1.24 Thu Apr 21 21:22:25 2022
+++ src/sys/arch/arm/sunxi/sunxi_drm.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_drm.c,v 1.24 2022/04/21 21:22:25 andvar Exp $ */
+/* $NetBSD: sunxi_drm.c,v 1.25 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2019 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_drm.c,v 1.24 2022/04/21 21:22:25 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_drm.c,v 1.25 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -69,6 +69,7 @@ static TAILQ_HEAD(, sunxi_drm_endpoint)
static const struct device_compatible_entry compat_data[] = {
{ .compat = "allwinner,sun8i-h3-display-engine" },
+ { .compat = "allwinner,sun8i-v3s-display-engine" },
{ .compat = "allwinner,sun50i-a64-display-engine" },
DEVICE_COMPAT_EOL
};
Index: src/sys/arch/arm/sunxi/sunxi_emac.c
diff -u src/sys/arch/arm/sunxi/sunxi_emac.c:1.35 src/sys/arch/arm/sunxi/sunxi_emac.c:1.36
--- src/sys/arch/arm/sunxi/sunxi_emac.c:1.35 Fri Dec 31 14:25:22 2021
+++ src/sys/arch/arm/sunxi/sunxi_emac.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_emac.c,v 1.35 2021/12/31 14:25:22 riastradh Exp $ */
+/* $NetBSD: sunxi_emac.c,v 1.36 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2016-2017 Jared McNeill <[email protected]>
@@ -33,7 +33,7 @@
#include "opt_net_mpsafe.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_emac.c,v 1.35 2021/12/31 14:25:22 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_emac.c,v 1.36 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -134,6 +134,7 @@ enum sunxi_emac_type {
static const struct device_compatible_entry compat_data[] = {
{ .compat = "allwinner,sun8i-a83t-emac", .value = EMAC_A83T },
{ .compat = "allwinner,sun8i-h3-emac", .value = EMAC_H3 },
+ { .compat = "allwinner,sun8i-v3s-emac", .value = EMAC_H3 },
{ .compat = "allwinner,sun50i-a64-emac", .value = EMAC_A64 },
{ .compat = "allwinner,sun50i-h6-emac", .value = EMAC_H6 },
DEVICE_COMPAT_EOL
Index: src/sys/arch/arm/sunxi/sunxi_gpio.c
diff -u src/sys/arch/arm/sunxi/sunxi_gpio.c:1.37 src/sys/arch/arm/sunxi/sunxi_gpio.c:1.38
--- src/sys/arch/arm/sunxi/sunxi_gpio.c:1.37 Sat Aug 7 16:18:45 2021
+++ src/sys/arch/arm/sunxi/sunxi_gpio.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_gpio.c,v 1.37 2021/08/07 16:18:45 thorpej Exp $ */
+/* $NetBSD: sunxi_gpio.c,v 1.38 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -29,7 +29,7 @@
#include "opt_soc.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_gpio.c,v 1.37 2021/08/07 16:18:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_gpio.c,v 1.38 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -111,6 +111,10 @@ static const struct device_compatible_en
{ .compat = "allwinner,sun8i-h3-r-pinctrl",
.data = &sun8i_h3_r_padconf },
#endif
+#ifdef SOC_SUN8I_V3S
+ { .compat = "allwinner,sun8i-v3s-pinctrl",
+ .data = &sun8i_v3s_padconf },
+#endif
#ifdef SOC_SUN9I_A80
{ .compat = "allwinner,sun9i-a80-pinctrl",
.data = &sun9i_a80_padconf },
Index: src/sys/arch/arm/sunxi/sunxi_gpio.h
diff -u src/sys/arch/arm/sunxi/sunxi_gpio.h:1.9 src/sys/arch/arm/sunxi/sunxi_gpio.h:1.10
--- src/sys/arch/arm/sunxi/sunxi_gpio.h:1.9 Mon May 27 23:27:14 2019
+++ src/sys/arch/arm/sunxi/sunxi_gpio.h Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_gpio.h,v 1.9 2019/05/27 23:27:14 jmcneill Exp $ */
+/* $NetBSD: sunxi_gpio.h,v 1.10 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -79,6 +79,10 @@ extern const struct sunxi_gpio_padconf s
extern const struct sunxi_gpio_padconf sun8i_h3_r_padconf;
#endif
+#ifdef SOC_SUN8I_V3S
+extern const struct sunxi_gpio_padconf sun8i_v3s_padconf;
+#endif
+
#ifdef SOC_SUN9I_A80
extern const struct sunxi_gpio_padconf sun9i_a80_padconf;
extern const struct sunxi_gpio_padconf sun9i_a80_r_padconf;
Index: src/sys/arch/arm/sunxi/sunxi_lcdc.c
diff -u src/sys/arch/arm/sunxi/sunxi_lcdc.c:1.14 src/sys/arch/arm/sunxi/sunxi_lcdc.c:1.15
--- src/sys/arch/arm/sunxi/sunxi_lcdc.c:1.14 Sun Dec 19 11:01:10 2021
+++ src/sys/arch/arm/sunxi/sunxi_lcdc.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_lcdc.c,v 1.14 2021/12/19 11:01:10 riastradh Exp $ */
+/* $NetBSD: sunxi_lcdc.c,v 1.15 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2019 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_lcdc.c,v 1.14 2021/12/19 11:01:10 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_lcdc.c,v 1.15 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -109,6 +109,7 @@ enum tcon_type {
static const struct device_compatible_entry compat_data[] = {
{ .compat = "allwinner,sun8i-h3-tcon-tv", .value = TYPE_TCON1 },
+ { .compat = "allwinner,sun8i-v3s-tcon", .value = TYPE_TCON0 },
{ .compat = "allwinner,sun50i-a64-tcon-lcd", .value = TYPE_TCON0 },
{ .compat = "allwinner,sun50i-a64-tcon-tv", .value = TYPE_TCON1 },
DEVICE_COMPAT_EOL
Index: src/sys/arch/arm/sunxi/sunxi_mixer.c
diff -u src/sys/arch/arm/sunxi/sunxi_mixer.c:1.18 src/sys/arch/arm/sunxi/sunxi_mixer.c:1.19
--- src/sys/arch/arm/sunxi/sunxi_mixer.c:1.18 Sun Dec 19 11:01:10 2021
+++ src/sys/arch/arm/sunxi/sunxi_mixer.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_mixer.c,v 1.18 2021/12/19 11:01:10 riastradh Exp $ */
+/* $NetBSD: sunxi_mixer.c,v 1.19 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2019 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_mixer.c,v 1.18 2021/12/19 11:01:10 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_mixer.c,v 1.19 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -203,6 +203,8 @@ struct sunxi_mixer_compat_data mixer1_da
static const struct device_compatible_entry compat_data[] = {
{ .compat = "allwinner,sun8i-h3-de2-mixer-0",
.data = &mixer0_data },
+ { .compat = "allwinner,sun8i-v3s-de2-mixer",
+ .data = &mixer0_data },
{ .compat = "allwinner,sun50i-a64-de2-mixer-0",
.data = &mixer0_data },
{ .compat = "allwinner,sun50i-a64-de2-mixer-1",
Index: src/sys/arch/arm/sunxi/sunxi_platform.c
diff -u src/sys/arch/arm/sunxi/sunxi_platform.c:1.45 src/sys/arch/arm/sunxi/sunxi_platform.c:1.46
--- src/sys/arch/arm/sunxi/sunxi_platform.c:1.45 Sat Jul 31 11:34:40 2021
+++ src/sys/arch/arm/sunxi/sunxi_platform.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_platform.c,v 1.45 2021/07/31 11:34:40 tnn Exp $ */
+/* $NetBSD: sunxi_platform.c,v 1.46 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -31,7 +31,7 @@
#include "opt_console.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_platform.c,v 1.45 2021/07/31 11:34:40 tnn Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_platform.c,v 1.46 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -490,6 +490,7 @@ static const struct arm_platform sun8i_p
ARM_PLATFORM(sun8i_h2plus, "allwinner,sun8i-h2-plus", &sun8i_platform);
ARM_PLATFORM(sun8i_h3, "allwinner,sun8i-h3", &sun8i_platform);
+ARM_PLATFORM(sun8i_v3s, "allwinner,sun8i-v3s", &sun8i_platform);
static const struct arm_platform sun8i_a83t_platform = {
.ap_devmap = sun8i_a83t_platform_devmap,
Index: src/sys/arch/arm/sunxi/sunxi_usbphy.c
diff -u src/sys/arch/arm/sunxi/sunxi_usbphy.c:1.16 src/sys/arch/arm/sunxi/sunxi_usbphy.c:1.17
--- src/sys/arch/arm/sunxi/sunxi_usbphy.c:1.16 Wed Jan 27 03:10:20 2021
+++ src/sys/arch/arm/sunxi/sunxi_usbphy.c Tue Jun 28 05:19:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_usbphy.c,v 1.16 2021/01/27 03:10:20 thorpej Exp $ */
+/* $NetBSD: sunxi_usbphy.c,v 1.17 2022/06/28 05:19:03 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_usbphy.c,v 1.16 2021/01/27 03:10:20 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_usbphy.c,v 1.17 2022/06/28 05:19:03 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -91,6 +91,7 @@ static const struct device_compatible_en
{ .compat = "allwinner,sun7i-a20-usb-phy", .value = USBPHY_A20 },
{ .compat = "allwinner,sun8i-a83t-usb-phy", .value = USBPHY_A83T },
{ .compat = "allwinner,sun8i-h3-usb-phy", .value = USBPHY_H3 },
+ { .compat = "allwinner,sun8i-v3s-usb-phy", .value = USBPHY_H3 },
{ .compat = "allwinner,sun50i-a64-usb-phy", .value = USBPHY_A64 },
{ .compat = "allwinner,sun50i-h6-usb-phy", .value = USBPHY_H6 },
DEVICE_COMPAT_EOL
Index: src/sys/arch/evbarm/conf/GENERIC
diff -u src/sys/arch/evbarm/conf/GENERIC:1.107 src/sys/arch/evbarm/conf/GENERIC:1.108
--- src/sys/arch/evbarm/conf/GENERIC:1.107 Sat Apr 2 11:16:07 2022
+++ src/sys/arch/evbarm/conf/GENERIC Tue Jun 28 05:19:03 2022
@@ -1,5 +1,5 @@
#
-# $NetBSD: GENERIC,v 1.107 2022/04/02 11:16:07 skrll Exp $
+# $NetBSD: GENERIC,v 1.108 2022/06/28 05:19:03 skrll Exp $
#
# GENERIC ARM (aarch32) kernel
#
@@ -26,6 +26,7 @@ options SOC_SUN6I_A31
options SOC_SUN7I_A20
options SOC_SUN8I_A83T
options SOC_SUN8I_H3
+options SOC_SUN8I_V3S
options SOC_SUN9I_A80
options SOC_TEGRA124
options SOC_VIRT
Added files:
Index: src/sys/arch/arm/sunxi/sun8i_v3s_gpio.c
diff -u /dev/null src/sys/arch/arm/sunxi/sun8i_v3s_gpio.c:1.1
--- /dev/null Tue Jun 28 05:19:03 2022
+++ src/sys/arch/arm/sunxi/sun8i_v3s_gpio.c Tue Jun 28 05:19:03 2022
@@ -0,0 +1,102 @@
+/* $NetBSD: sun8i_v3s_gpio.c,v 1.1 2022/06/28 05:19:03 skrll Exp $ */
+
+/*-
+ * Copyright (c) 2021 Rui-Xiang Guo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: sun8i_v3s_gpio.c,v 1.1 2022/06/28 05:19:03 skrll Exp $");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/types.h>
+
+#include <arm/sunxi/sunxi_gpio.h>
+
+static const struct sunxi_gpio_pins v3s_pins[] = {
+ {"PB0", 1, 0, {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, "irq", NULL}, 6, 0},
+ {"PB1", 1, 1, {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, "irq", NULL}, 6, 1},
+ {"PB2", 1, 2, {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, "irq", NULL}, 6, 2},
+ {"PB3", 1, 3, {"gpio_in", "gpio_out", "uart2", NULL, NULL, NULL, "irq", NULL}, 6, 3},
+ {"PB4", 1, 4, {"gpio_in", "gpio_out", "pwm0", NULL, NULL, NULL, "irq", NULL}, 6, 4},
+ {"PB5", 1, 5, {"gpio_in", "gpio_out", "pwm1", NULL, NULL, NULL, "irq", NULL}, 6, 5},
+ {"PB6", 1, 6, {"gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, "irq", NULL}, 6, 6},
+ {"PB7", 1, 7, {"gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, "irq", NULL}, 6, 7},
+ {"PB8", 1, 8, {"gpio_in", "gpio_out", "i2c1", "uart0", NULL, NULL, "irq", NULL}, 6, 8},
+ {"PB9", 1, 9, {"gpio_in", "gpio_out", "i2c1", "uart0", NULL, NULL, "irq", NULL}, 6, 9},
+
+ {"PC0", 2, 0, {"gpio_in", "gpio_out", "mmc2", "spi0", NULL, NULL, NULL, NULL}},
+ {"PC1", 2, 1, {"gpio_in", "gpio_out", "mmc2", "spi0", NULL, NULL, NULL, NULL}},
+ {"PC2", 2, 2, {"gpio_in", "gpio_out", "mmc2", "spi0", NULL, NULL, NULL, NULL}},
+ {"PC3", 2, 3, {"gpio_in", "gpio_out", "mmc2", "spi0", NULL, NULL, NULL, NULL}},
+
+ {"PE0", 4, 0, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE1", 4, 1, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE2", 4, 2, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE3", 4, 3, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE4", 4, 4, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE5", 4, 5, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE6", 4, 6, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE7", 4, 7, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE8", 4, 8, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE9", 4, 9, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE10", 4, 10, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE11", 4, 11, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE12", 4, 12, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE13", 4, 13, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE14", 4, 14, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE15", 4, 15, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE16", 4, 16, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE17", 4, 17, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE18", 4, 18, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE19", 4, 19, {"gpio_in", "gpio_out", "csi", "lcd", NULL, NULL, NULL, NULL}},
+ {"PE20", 4, 20, {"gpio_in", "gpio_out", "csi", "csi_mipi", NULL, NULL, NULL, NULL}},
+ {"PE21", 4, 21, {"gpio_in", "gpio_out", "csi", "i2c1", "uart1", NULL, NULL, NULL}},
+ {"PE22", 4, 22, {"gpio_in", "gpio_out", "csi", "i2c1", "uart1", NULL, NULL, NULL}},
+ {"PE23", 4, 23, {"gpio_in", "gpio_out", "lcd", "uart1", NULL, NULL, NULL, NULL}},
+ {"PE24", 4, 24, {"gpio_in", "gpio_out", "lcd", "uart1", NULL, NULL, NULL, NULL}},
+
+ {"PF0", 5, 0, {"gpio_in", "gpio_out", "mmc0", "jtag", NULL, NULL, NULL, NULL}},
+ {"PF1", 5, 1, {"gpio_in", "gpio_out", "mmc0", "jtag", NULL, NULL, NULL, NULL}},
+ {"PF2", 5, 2, {"gpio_in", "gpio_out", "mmc0", "uart0", NULL, NULL, NULL, NULL}},
+ {"PF3", 5, 3, {"gpio_in", "gpio_out", "mmc0", "jtag", NULL, NULL, NULL, NULL}},
+ {"PF4", 5, 4, {"gpio_in", "gpio_out", "mmc0", "uart0", NULL, NULL, NULL, NULL}},
+ {"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, "irq", NULL}, 6, 0},
+ {"PG1", 6, 1, {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "irq", NULL}, 6, 1},
+ {"PG2", 6, 2, {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "irq", NULL}, 6, 2},
+ {"PG3", 6, 3, {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "irq", NULL}, 6, 3},
+ {"PG4", 6, 4, {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "irq", NULL}, 6, 4},
+ {"PG5", 6, 5, {"gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "irq", NULL}, 6, 5},
+};
+
+const struct sunxi_gpio_padconf sun8i_v3s_padconf = {
+ .npins = __arraycount(v3s_pins),
+ .pins = v3s_pins,
+};