The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/arm/allwinner/a83t/a83t_padconf.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2016 Jared McNeill <jmcneill@invisible.ca>
    3  *
    4  * Redistribution and use in source and binary forms, with or without
    5  * modification, are permitted provided that the following conditions
    6  * are met:
    7  * 1. Redistributions of source code must retain the above copyright
    8  *    notice, this list of conditions and the following disclaimer.
    9  * 2. Redistributions in binary form must reproduce the above copyright
   10  *    notice, this list of conditions and the following disclaimer in the
   11  *    documentation and/or other materials provided with the distribution.
   12  *
   13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   14  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   15  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   16  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   17  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
   18  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   19  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
   20  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   21  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   23  * SUCH DAMAGE.
   24  *
   25  * $FreeBSD$
   26  */
   27 
   28 #include <sys/cdefs.h>
   29 __FBSDID("$FreeBSD$");
   30 
   31 #include <sys/param.h>
   32 #include <sys/systm.h>
   33 #include <sys/kernel.h>
   34 #include <sys/types.h>
   35 
   36 #include <arm/allwinner/allwinner_pinctrl.h>
   37 
   38 #ifdef SOC_ALLWINNER_A83T
   39 
   40 static const struct allwinner_pins a83t_pins[] = {
   41         { "PB0",  1, 0,   { "gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, "pb_eint0" }, 6, 0, 0},
   42         { "PB1",  1, 1,   { "gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, "pb_eint1" }, 6, 1, 0},
   43         { "PB2",  1, 2,   { "gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, "pb_eint2" }, 6, 2, 0},
   44         { "PB3",  1, 3,   { "gpio_in", "gpio_out", "uart2", "jtag", NULL, NULL, "pb_eint3" }, 6, 3, 0},
   45         { "PB4",  1, 4,   { "gpio_in", "gpio_out", "i2s0", "tdm", NULL, NULL, "pb_eint4" }, 6, 4, 0},
   46         { "PB5",  1, 5,   { "gpio_in", "gpio_out", "i2s0", "tdm", NULL, NULL, "pb_eint5" }, 6, 5, 0},
   47         { "PB6",  1, 6,   { "gpio_in", "gpio_out", "i2s0", "tdm", NULL, NULL, "pb_eint6" }, 6, 6, 0},
   48         { "PB7",  1, 7,   { "gpio_in", "gpio_out", "i2s0", "tdm", NULL, NULL, "pb_eint7" }, 6, 7, 0},
   49         { "PB8",  1, 8,   { "gpio_in", "gpio_out", "i2s0", "tdm", NULL, NULL, "pb_eint8" }, 6, 8, 0},
   50         { "PB9",  1, 9,   { "gpio_in", "gpio_out", "uart0", NULL, NULL, NULL, "pb_eint9" }, 6, 9, 0},
   51         { "PB10", 1, 10,  { "gpio_in", "gpio_out", "uart0", NULL, NULL, NULL, "pb_eint10" }, 6, 10, 0},
   52 
   53         { "PC0",  2, 0,   { "gpio_in", "gpio_out", "nand", "spi0" } },
   54         { "PC1",  2, 1,   { "gpio_in", "gpio_out", "nand", "spi0" } },
   55         { "PC2",  2, 2,   { "gpio_in", "gpio_out", "nand", "spi0" } },
   56         { "PC3",  2, 3,   { "gpio_in", "gpio_out", "nand", "spi0" } },
   57         { "PC4",  2, 4,   { "gpio_in", "gpio_out", "nand" } },
   58         { "PC5",  2, 5,   { "gpio_in", "gpio_out", "nand", "mmc2" } },
   59         { "PC6",  2, 6,   { "gpio_in", "gpio_out", "nand", "mmc2" } },
   60         { "PC7",  2, 7,   { "gpio_in", "gpio_out", "nand" } },
   61         { "PC8",  2, 8,   { "gpio_in", "gpio_out", "nand", "mmc2" } },
   62         { "PC9",  2, 9,   { "gpio_in", "gpio_out", "nand", "mmc2" } },
   63         { "PC10", 2, 10,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   64         { "PC11", 2, 11,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   65         { "PC12", 2, 12,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   66         { "PC13", 2, 13,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   67         { "PC14", 2, 14,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   68         { "PC15", 2, 15,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   69         { "PC16", 2, 16,  { "gpio_in", "gpio_out", "nand", "mmc2" } },
   70         { "PC17", 2, 17,  { "gpio_in", "gpio_out", "nand" } },
   71         { "PC18", 2, 18,  { "gpio_in", "gpio_out", "nand" } },
   72 
   73         { "PD2",  3, 2,   { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   74         { "PD3",  3, 3,   { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   75         { "PD4",  3, 4,   { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   76         { "PD5",  3, 5,   { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   77         { "PD6",  3, 6,   { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   78         { "PD7",  3, 7,   { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   79         { "PD10", 3, 10,  { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   80         { "PD11", 3, 11,  { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   81         { "PD12", 3, 12,  { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   82         { "PD13", 3, 13,  { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   83         { "PD14", 3, 14,  { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   84         { "PD15", 3, 15,  { "gpio_in", "gpio_out", "lcd", NULL, "gmac" } },
   85         { "PD18", 3, 18,  { "gpio_in", "gpio_out", "lcd", "lvds", "gmac" } },
   86         { "PD19", 3, 19,  { "gpio_in", "gpio_out", "lcd", "lvds", "gmac" } },
   87         { "PD20", 3, 20,  { "gpio_in", "gpio_out", "lcd", "lvds", "gmac" } },
   88         { "PD21", 3, 21,  { "gpio_in", "gpio_out", "lcd", "lvds", "gmac" } },
   89         { "PD22", 3, 22,  { "gpio_in", "gpio_out", "lcd", "lvds", "gmac" } },
   90         { "PD23", 3, 23,  { "gpio_in", "gpio_out", "lcd", "lvds", "gmac" } },
   91         { "PD24", 3, 24,  { "gpio_in", "gpio_out", "lcd", "lvds" } },
   92         { "PD25", 3, 25,  { "gpio_in", "gpio_out", "lcd", "lvds" } },
   93         { "PD26", 3, 26,  { "gpio_in", "gpio_out", "lcd", "lvds" } },
   94         { "PD27", 3, 27,  { "gpio_in", "gpio_out", "lcd", "lvds" } },
   95         { "PD28", 3, 28,  { "gpio_in", "gpio_out", "pwm" } },
   96         { "PD29", 3, 29,  { "gpio_in", "gpio_out" } },
   97 
   98         { "PE0",  4, 0,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
   99         { "PE1",  4, 1,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  100         { "PE2",  4, 2,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  101         { "PE3",  4, 3,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  102         { "PE4",  4, 4,   { "gpio_in", "gpio_out", "csi" } },
  103         { "PE5",  4, 5,   { "gpio_in", "gpio_out", "csi" } },
  104         { "PE6",  4, 6,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  105         { "PE7",  4, 7,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  106         { "PE8",  4, 8,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  107         { "PE9",  4, 9,   { "gpio_in", "gpio_out", "csi", NULL, "ccir" } },
  108         { "PE10", 4, 10,  { "gpio_in", "gpio_out", "csi", "uart4", "ccir" } },
  109         { "PE11", 4, 11,  { "gpio_in", "gpio_out", "csi", "uart4", "ccir" } },
  110         { "PE12", 4, 12,  { "gpio_in", "gpio_out", "csi", "uart4", "ccir" } },
  111         { "PE13", 4, 13,  { "gpio_in", "gpio_out", "csi", "uart4", "ccir" } },
  112         { "PE14", 4, 14,  { "gpio_in", "gpio_out", "csi", "twi2" } },
  113         { "PE15", 4, 15,  { "gpio_in", "gpio_out", "csi", "twi2" } },
  114         { "PE16", 4, 16,  { "gpio_in", "gpio_out" } },
  115         { "PE17", 4, 17,  { "gpio_in", "gpio_out" } },
  116         { "PE18", 4, 18,  { "gpio_in", "gpio_out", NULL, "owa" } },
  117         { "PE19", 4, 19,  { "gpio_in", "gpio_out" } },
  118 
  119         { "PF0",  5, 0,   { "gpio_in", "gpio_out", "mmc0", "jtag" } },
  120         { "PF1",  5, 1,   { "gpio_in", "gpio_out", "mmc0", "jtag" } },
  121         { "PF2",  5, 2,   { "gpio_in", "gpio_out", "mmc0", "uart0" } },
  122         { "PF3",  5, 3,   { "gpio_in", "gpio_out", "mmc0", "jtag" } },
  123         { "PF4",  5, 4,   { "gpio_in", "gpio_out", "mmc0", "uart0" } },
  124         { "PF5",  5, 5,   { "gpio_in", "gpio_out", "mmc0", "jtag" } },
  125         { "PF6",  5, 6,   { "gpio_in", "gpio_out" } },
  126 
  127         { "PG0",  6, 0,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "pg_eint0" }, 6, 0, 1},
  128         { "PG1",  6, 1,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "pg_eint1" }, 6, 1, 1},
  129         { "PG2",  6, 2,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "pg_eint2" }, 6, 2, 1},
  130         { "PG3",  6, 3,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "pg_eint3" }, 6, 3, 1},
  131         { "PG4",  6, 4,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "pg_eint4" }, 6, 4, 1},
  132         { "PG5",  6, 5,   { "gpio_in", "gpio_out", "mmc1", NULL, NULL, NULL, "pg_eint5" }, 6, 5, 1},
  133         { "PG6",  6, 6,   { "gpio_in", "gpio_out", "uart1", "spi1", NULL, NULL, "pg_eint6" }, 6, 6, 1},
  134         { "PG7",  6, 7,   { "gpio_in", "gpio_out", "uart1", "spi1", NULL, NULL, "pg_eint7" }, 6, 7, 1},
  135         { "PG8",  6, 8,   { "gpio_in", "gpio_out", "uart1", "spi1", NULL, NULL, "pg_eint8" }, 6, 8, 1},
  136         { "PG9",  6, 9,   { "gpio_in", "gpio_out", "uart1", "spi1", NULL, NULL, "pg_eint9" }, 6, 9, 1},
  137         { "PG10", 6, 10,  { "gpio_in", "gpio_out", "i2s1", "uart3", NULL, NULL, "pg_eint10" }, 6, 10, 1},
  138         { "PG11", 6, 11,  { "gpio_in", "gpio_out", "i2s1", "uart3", NULL, NULL, "pg_eint11" }, 6, 11, 1},
  139         { "PG12", 6, 12,  { "gpio_in", "gpio_out", "i2s1", "uart3", NULL, NULL, "pg_eint12" }, 6, 12, 1},
  140         { "PG13", 6, 13,  { "gpio_in", "gpio_out", "i2s1", "uart3", NULL, NULL, "pg_eint13" }, 6, 13, 1},
  141 
  142         { "PH0",  7, 0,   { "gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, "ph_eint0" }, 6, 0, 2},
  143         { "PH1",  7, 1,   { "gpio_in", "gpio_out", "i2c0", NULL, NULL, NULL, "ph_eint1" }, 6, 1, 2},
  144         { "PH2",  7, 2,   { "gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, "ph_eint2" }, 6, 2, 2},
  145         { "PH3",  7, 3,   { "gpio_in", "gpio_out", "i2c1", NULL, NULL, NULL, "ph_eint3" }, 6, 3, 2},
  146         { "PH4",  7, 4,   { "gpio_in", "gpio_out", "i2c2", NULL, NULL, NULL, "ph_eint4" }, 6, 4, 2},
  147         { "PH5",  7, 5,   { "gpio_in", "gpio_out", "i2c2", NULL, NULL, NULL, "ph_eint5" }, 6, 5, 2},
  148         { "PH6",  7, 6,   { "gpio_in", "gpio_out", "hdmiddc", NULL, NULL, NULL, "ph_eint6" }, 6, 6, 2},
  149         { "PH7",  7, 7,   { "gpio_in", "gpio_out", "hdmiddc", NULL, NULL, NULL, "ph_eint7" }, 6, 7, 2},
  150         { "PH8",  7, 8,   { "gpio_in", "gpio_out", "hdmiddc", NULL, NULL, NULL, "ph_eint8" }, 6, 8, 2},
  151         { "PH9",  7, 9,   { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, "ph_eint9" }, 6, 9, 2},
  152         { "PH10", 7, 10,  { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, "ph_eint10" }, 6, 10, 2},
  153         { "PH11", 7, 11,  { "gpio_in", "gpio_out", NULL, NULL, NULL, NULL, "ph_eint11" }, 6, 11, 2},
  154 };
  155 
  156 const struct allwinner_padconf a83t_padconf = {
  157         .npins = nitems(a83t_pins),
  158         .pins = a83t_pins,
  159 };
  160 
  161 #endif /* !SOC_ALLWINNER_A83T */

Cache object: 939b56303ba310bbe5b88fd889b1a8a3


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.