Separate out Allwinner H3 and H5 pin definitions.
authorkettenis <kettenis@openbsd.org>
Thu, 28 Dec 2017 18:05:09 +0000 (18:05 +0000)
committerkettenis <kettenis@openbsd.org>
Thu, 28 Dec 2017 18:05:09 +0000 (18:05 +0000)
sys/dev/fdt/sxipio.c
sys/dev/fdt/sxipio_pins.h

index 9eb257a..fe231d6 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: sxipio.c,v 1.8 2017/12/28 11:39:11 kettenis Exp $     */
+/*     $OpenBSD: sxipio.c,v 1.9 2017/12/28 18:05:09 kettenis Exp $     */
 /*
  * Copyright (c) 2010 Miodrag Vallat.
  * Copyright (c) 2013 Artturi Alm
@@ -171,7 +171,7 @@ struct sxipio_pins sxipio_pins[] = {
        },
        {
                "allwinner,sun50i-h5-pinctrl",
-               sun8i_h3_pins, nitems(sun8i_h3_pins)
+               sun50i_h5_pins, nitems(sun50i_h5_pins)
        },
 };
 
index b756ea6..4bff4f0 100644 (file)
@@ -8178,3 +8178,599 @@ struct sxipio_pin sun50i_a64_r_pins[] = {
                { "irq", 6 },
        } },
 };
+
+struct sxipio_pin sun50i_h5_pins[] = {
+       { SXIPIO_PIN(A, 0), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart2", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 1), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart2", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 2), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart2", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 3), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart2", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 4), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart0", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 5), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart0", 2 },
+               { "pwm0", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 6), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 7), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 8), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 9), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 10), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 11), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2c0", 2 },
+               { "di", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 12), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2c0", 2 },
+               { "di", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 13), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "spi1", 2 },
+               { "uart3", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 14), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "spi1", 2 },
+               { "uart3", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 15), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "spi1", 2 },
+               { "uart3", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 16), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "spi1", 2 },
+               { "uart3", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 17), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "spdif", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 18), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s0", 2 },
+               { "i2c1", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 19), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s0", 2 },
+               { "i2c1", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 20), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s0", 2 },
+               { "sim", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(A, 21), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s0", 2 },
+               { "sim", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(C, 0), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "spi0", 3 },
+       } },
+       { SXIPIO_PIN(C, 1), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "spi0", 3 },
+               { "mmc2", 4 },
+       } },
+       { SXIPIO_PIN(C, 2), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "spi0", 3 },
+       } },
+       { SXIPIO_PIN(C, 3), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "spi0", 3 },
+       } },
+       { SXIPIO_PIN(C, 4), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "spi0", 4 },
+       } },
+       { SXIPIO_PIN(C, 5), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 6), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 7), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+       } },
+       { SXIPIO_PIN(C, 8), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 9), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 10), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 11), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 12), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 13), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 14), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 15), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(C, 16), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "nand0", 2 },
+               { "mmc2", 3 },
+       } },
+       { SXIPIO_PIN(D, 0), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "di", 3 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 1), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "di", 3 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 2), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 3), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 4), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 5), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 6), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+       } },
+       { SXIPIO_PIN(D, 7), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+               { "ts3", 5 },
+       } },
+       { SXIPIO_PIN(D, 8), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+               { "ts3", 5 },
+       } },
+       { SXIPIO_PIN(D, 9), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+               { "ts3", 5 },
+       } },
+       { SXIPIO_PIN(D, 10), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+               { "ts3", 5 },
+       } },
+       { SXIPIO_PIN(D, 11), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "ts2", 4 },
+               { "ts3", 5 },
+       } },
+       { SXIPIO_PIN(D, 12), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "sim", 4 },
+       } },
+       { SXIPIO_PIN(D, 13), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "sim", 4 },
+       } },
+       { SXIPIO_PIN(D, 14), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "sim", 4 },
+       } },
+       { SXIPIO_PIN(D, 15), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "sim", 4 },
+       } },
+       { SXIPIO_PIN(D, 16), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+               { "sim", 4 },
+       } },
+       { SXIPIO_PIN(D, 17), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "emac", 2 },
+       } },
+       { SXIPIO_PIN(E, 0), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 1), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 2), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 3), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 4), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 5), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 6), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+       } },
+       { SXIPIO_PIN(E, 7), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+               { "ts1", 4 },
+       } },
+       { SXIPIO_PIN(E, 8), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+               { "ts1", 4 },
+       } },
+       { SXIPIO_PIN(E, 9), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+               { "ts1", 4 },
+       } },
+       { SXIPIO_PIN(E, 10), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts0", 3 },
+               { "ts1", 4 },
+       } },
+       { SXIPIO_PIN(E, 11), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "ts", 3 },
+               { "ts1", 4 },
+       } },
+       { SXIPIO_PIN(E, 12), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "i2c2", 3 },
+       } },
+       { SXIPIO_PIN(E, 13), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "csi", 2 },
+               { "i2c2", 3 },
+       } },
+       { SXIPIO_PIN(E, 14), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 3 },
+       } },
+       { SXIPIO_PIN(E, 15), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "sim", 3 },
+       } },
+       { SXIPIO_PIN(F, 0), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc0", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(F, 1), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc0", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(F, 2), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc0", 2 },
+               { "uart0", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(F, 3), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc0", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(F, 4), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc0", 2 },
+               { "uart0", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(F, 5), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc0", 2 },
+               { "jtag", 3 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(F, 6), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 0), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 1), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 2), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 3), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 4), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 5), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "mmc1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 6), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 7), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 8), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 9), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "uart1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 10), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 11), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 12), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s1", 2 },
+               { "irq", 6 },
+       } },
+       { SXIPIO_PIN(G, 13), {
+               { "gpio_in", 0 },
+               { "gpio_out", 1 },
+               { "i2s1", 2 },
+               { "irq", 6 },
+       } },
+};