diff options
| author | 2016-12-24 22:42:26 +0000 | |
|---|---|---|
| committer | 2016-12-24 22:42:26 +0000 | |
| commit | 9408f5eaf089247a3d3b74a2f66ca24f60eaf73f (patch) | |
| tree | bb1e5db7cd885ecdc9a638ebc195b8eb1d82cb0e | |
| parent | Remove some unused variables that have been removed upstream as well. (diff) | |
| download | wireguard-openbsd-9408f5eaf089247a3d3b74a2f66ca24f60eaf73f.tar.xz wireguard-openbsd-9408f5eaf089247a3d3b74a2f66ca24f60eaf73f.zip | |
Add support for the 2nd sxipio(4) device on the Allwinner H3.
| -rw-r--r-- | sys/arch/armv7/sunxi/sxipio.c | 10 | ||||
| -rw-r--r-- | sys/arch/armv7/sunxi/sxipio_pins.h | 73 | ||||
| -rw-r--r-- | sys/arch/armv7/sunxi/sxipiovar.h | 3 |
3 files changed, 84 insertions, 2 deletions
diff --git a/sys/arch/armv7/sunxi/sxipio.c b/sys/arch/armv7/sunxi/sxipio.c index 61a4d31d275..7e3540ff699 100644 --- a/sys/arch/armv7/sunxi/sxipio.c +++ b/sys/arch/armv7/sunxi/sxipio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sxipio.c,v 1.15 2016/11/08 19:36:41 kettenis Exp $ */ +/* $OpenBSD: sxipio.c,v 1.16 2016/12/24 22:42:26 kettenis Exp $ */ /* * Copyright (c) 2010 Miodrag Vallat. * Copyright (c) 2013 Artturi Alm @@ -29,6 +29,7 @@ #include <dev/gpio/gpiovar.h> #include <dev/ofw/openfirm.h> +#include <dev/ofw/ofw_clock.h> #include <dev/ofw/ofw_gpio.h> #include <dev/ofw/ofw_pinctrl.h> #include <dev/ofw/fdt.h> @@ -140,6 +141,10 @@ struct sxipio_pins sxipio_pins[] = { sun8i_h3_pins, nitems(sun8i_h3_pins) }, { + "allwinner,sun8i-h3-r-pinctrl", + sun8i_h3_r_pins, nitems(sun8i_h3_r_pins) + }, + { "allwinner,sun9i-a80-pinctrl", sun9i_a80_pins, nitems(sun9i_a80_pins) } @@ -173,6 +178,9 @@ sxipio_attach(struct device *parent, struct device *self, void *aux) sxipio_sc = sc; + clock_enable_all(faa->fa_node); + reset_deassert_all(faa->fa_node); + for (i = 0; i < nitems(sxipio_pins); i++) { if (OF_is_compatible(faa->fa_node, sxipio_pins[i].compat)) { sc->sc_pins = sxipio_pins[i].pins; diff --git a/sys/arch/armv7/sunxi/sxipio_pins.h b/sys/arch/armv7/sunxi/sxipio_pins.h index fa2bfc1bf2b..9bbf4187dd9 100644 --- a/sys/arch/armv7/sunxi/sxipio_pins.h +++ b/sys/arch/armv7/sunxi/sxipio_pins.h @@ -4070,6 +4070,79 @@ struct sxipio_pin sun8i_h3_pins[] = { } }, }; +struct sxipio_pin sun8i_h3_r_pins[] = { + { SXIPIO_PIN(L, 0), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_twi", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 1), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_twi", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 2), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_uart", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 3), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_uart", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 4), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_jtag", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 5), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_jtag", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 6), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_jtag", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 7), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_jtag", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 8), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 9), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 10), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_pwm", 2 }, + { "irq", 6 }, + } }, + { SXIPIO_PIN(L, 11), { + { "gpio_in", 0 }, + { "gpio_out", 1 }, + { "s_cir_rx", 2 }, + { "irq", 6 }, + } }, +}; + struct sxipio_pin sun9i_a80_pins[] = { { SXIPIO_PIN(A, 0), { { "gpio_in", 0 }, diff --git a/sys/arch/armv7/sunxi/sxipiovar.h b/sys/arch/armv7/sunxi/sxipiovar.h index 85f79378069..a0261d8906c 100644 --- a/sys/arch/armv7/sunxi/sxipiovar.h +++ b/sys/arch/armv7/sunxi/sxipiovar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sxipiovar.h,v 1.4 2016/08/12 16:02:31 kettenis Exp $ */ +/* $OpenBSD: sxipiovar.h,v 1.5 2016/12/24 22:42:26 kettenis Exp $ */ /* * Copyright (c) 2013 Artturi Alm * @@ -37,6 +37,7 @@ struct sxipio_pin { #define SXIPIO_PORT_G 6 #define SXIPIO_PORT_H 7 #define SXIPIO_PORT_I 8 +#define SXIPIO_PORT_L 0 #define SXIPIO_PIN(port, pin) \ "P" #port #pin, SXIPIO_PORT_ ## port, pin |
