|
@@ -27,6 +27,554 @@
|
|
|
#include "core.h"
|
|
|
#include "pinctrl-sunxi.h"
|
|
|
|
|
|
+static const struct sunxi_desc_pin sun4i_a10_pins[] = {
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* TX */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* RX */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA12,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* RTS */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA13,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* CTS */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA14,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* DTR */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA15,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* DSR */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA16,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* DCD */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PA17,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart1")), /* RING */
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB12,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB13,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB14,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB15,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB16,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB17,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB18,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB19,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB20,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB21,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB22,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x2, "uart0")), /* TX */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PB23,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x2, "uart0")), /* RX */
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC12,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC13,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC14,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC15,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC16,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC17,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC18,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC19,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC20,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC21,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC22,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC23,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PC24,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD12,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD13,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD14,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD15,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD16,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD17,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD18,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD19,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD20,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD21,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD22,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD23,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD24,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD25,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD26,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PD27,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PE11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PF1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PF2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart0")), /* TX */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PF3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PF4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
|
|
+ SUNXI_FUNCTION(0x4, "uart0")), /* RX */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PF5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PG11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH12,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH13,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH14,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH15,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH16,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH17,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH18,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH19,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH20,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH21,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH22,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH23,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH24,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH25,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH26,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PH27,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ /* Hole */
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI0,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI1,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI2,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI3,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI4,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI5,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI6,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI7,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI8,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI9,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI10,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI11,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI12,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI13,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI14,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI15,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI16,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI17,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI18,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI19,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI20,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+ SUNXI_PIN(SUNXI_PINCTRL_PIN_PI21,
|
|
|
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
|
|
+ SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
+};
|
|
|
+
|
|
|
static const struct sunxi_desc_pin sun5i_a13_pins[] = {
|
|
|
/* Hole */
|
|
|
SUNXI_PIN(SUNXI_PINCTRL_PIN_PB0,
|
|
@@ -274,6 +822,11 @@ static const struct sunxi_desc_pin sun5i_a13_pins[] = {
|
|
|
SUNXI_FUNCTION(0x1, "gpio_out")),
|
|
|
};
|
|
|
|
|
|
+static const struct sunxi_pinctrl_desc sun4i_a10_pinctrl_data = {
|
|
|
+ .pins = sun4i_a10_pins,
|
|
|
+ .npins = ARRAY_SIZE(sun4i_a10_pins),
|
|
|
+};
|
|
|
+
|
|
|
static const struct sunxi_pinctrl_desc sun5i_a13_pinctrl_data = {
|
|
|
.pins = sun5i_a13_pins,
|
|
|
.npins = ARRAY_SIZE(sun5i_a13_pins),
|
|
@@ -720,6 +1273,7 @@ static struct gpio_chip sunxi_pinctrl_gpio_chip = {
|
|
|
};
|
|
|
|
|
|
static struct of_device_id sunxi_pinctrl_match[] = {
|
|
|
+ { .compatible = "allwinner,sun4i-a10-pinctrl", .data = (void *)&sun4i_a10_pinctrl_data },
|
|
|
{ .compatible = "allwinner,sun5i-a13-pinctrl", .data = (void *)&sun5i_a13_pinctrl_data },
|
|
|
{}
|
|
|
};
|