/*- * Copyright 2015 John Wehle * 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. * * $FreeBSD$ */ /* * In addition to supplying entries for pins which need to be configured * by the operating system it's also necessary to supply entries for pins * which may have been configured by the firmware for a different purpose. */ #ifndef _ARM_AMLOGIC_AML8726_PINCTRL_H #define _ARM_AMLOGIC_AML8726_PINCTRL_H enum aml8726_pinctrl_pull_mode { aml8726_unknown_pm, aml8726_disable_pm, aml8726_enable_pm, aml8726_enable_down_pm, aml8726_enable_up_pm }; struct aml8726_pinctrl_pkg_pin { const char *pkg_name; boolean_t aobus; uint32_t pull_addr; uint32_t pull_bits; }; struct aml8726_pinctrl_pin { const char *name; const char *pkg_name; uint32_t mux_addr; uint32_t mux_bits; }; struct aml8726_pinctrl_function { const char *name; struct aml8726_pinctrl_pin *pins; }; /* * aml8726-m3 * * start size * cbus mux 0x202c 36 * cbus pu_pd 0x203a 24 * cbus pull_en 0x203a 24 * aobus mux 0x0005 4 * aobus pu_pd 0x000b 4 * aobus pull_en 0x000b 4 */ static struct aml8726_pinctrl_pkg_pin aml8726_m3_pkg_pin[] = { { "card_0", false, 0, 0x00000000 }, { "card_1", false, 0, 0x00000000 }, { "card_2", false, 0, 0x00000000 }, { "card_3", false, 0, 0x00000000 }, { "card_4", false, 0, 0x00000000 }, { "card_5", false, 0, 0x00000000 }, { "card_6", false, 0, 0x00000000 }, { "gpioc_10", false, 0, 0x00000000 }, { "gpioc_11", false, 0, 0x00000000 }, { "gpioc_12", false, 0, 0x00000000 }, { "gpioc_13", false, 0, 0x00000000 }, { "gpiox_13", false, 0, 0x00000000 }, { "gpiox_14", false, 0, 0x00000000 }, { "gpiox_15", false, 0, 0x00000000 }, { "gpiox_16", false, 0, 0x00000000 }, { "gpiox_17", false, 0, 0x00000000 }, { "gpiox_18", false, 0, 0x00000000 }, { "gpiox_19", false, 0, 0x00000000 }, { "gpiox_20", false, 0, 0x00000000 }, { "gpiox_21", false, 0, 0x00000000 }, { "gpiox_22", false, 0, 0x00000000 }, { "gpiox_23", false, 0, 0x00000000 }, { "gpiox_24", false, 0, 0x00000000 }, { "gpiox_25", false, 0, 0x00000000 }, { "gpiox_26", false, 0, 0x00000000 }, { "gpiox_27", false, 0, 0x00000000 }, { "gpiox_28", false, 0, 0x00000000 }, { "gpioy_0", false, 0, 0x00000000 }, { "gpioy_1", false, 0, 0x00000000 }, { "gpioy_2", false, 0, 0x00000000 }, { "gpioy_3", false, 0, 0x00000000 }, { "gpioy_4", false, 0, 0x00000000 }, { "gpioy_5", false, 0, 0x00000000 }, { "gpioy_6", false, 0, 0x00000000 }, { "gpioy_7", false, 0, 0x00000000 }, { "gpioy_8", false, 0, 0x00000000 }, { "gpioy_9", false, 0, 0x00000000 }, { "gpioao_0", true, 0, 0x00000000 }, { "gpioao_1", true, 0, 0x00000000 }, { "gpioao_2", true, 0, 0x00000000 }, { "gpioao_3", true, 0, 0x00000000 }, { "gpioao_4", true, 0, 0x00000000 }, { "gpioao_5", true, 0, 0x00000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_gpio[] = { { "card_0", "card_0", 0, 0x00000000 }, { "card_1", "card_1", 0, 0x00000000 }, { "card_2", "card_2", 0, 0x00000000 }, { "card_3", "card_3", 0, 0x00000000 }, { "card_4", "card_4", 0, 0x00000000 }, { "card_5", "card_5", 0, 0x00000000 }, { "card_6", "card_6", 0, 0x00000000 }, { "gpioc_10", "gpioc_10", 0, 0x00000000 }, { "gpioc_11", "gpioc_11", 0, 0x00000000 }, { "gpioc_12", "gpioc_12", 0, 0x00000000 }, { "gpioc_13", "gpioc_13", 0, 0x00000000 }, { "gpiox_13", "gpiox_13", 0, 0x00000000 }, { "gpiox_14", "gpiox_14", 0, 0x00000000 }, { "gpiox_15", "gpiox_15", 0, 0x00000000 }, { "gpiox_16", "gpiox_16", 0, 0x00000000 }, { "gpiox_17", "gpiox_17", 0, 0x00000000 }, { "gpiox_18", "gpiox_18", 0, 0x00000000 }, { "gpiox_19", "gpiox_19", 0, 0x00000000 }, { "gpiox_20", "gpiox_20", 0, 0x00000000 }, { "gpiox_21", "gpiox_21", 0, 0x00000000 }, { "gpiox_22", "gpiox_22", 0, 0x00000000 }, { "gpiox_23", "gpiox_23", 0, 0x00000000 }, { "gpiox_24", "gpiox_24", 0, 0x00000000 }, { "gpiox_25", "gpiox_25", 0, 0x00000000 }, { "gpiox_26", "gpiox_26", 0, 0x00000000 }, { "gpiox_27", "gpiox_27", 0, 0x00000000 }, { "gpiox_28", "gpiox_28", 0, 0x00000000 }, { "gpioy_0", "gpioy_0", 0, 0x00000000 }, { "gpioy_1", "gpioy_1", 0, 0x00000000 }, { "gpioy_2", "gpioy_2", 0, 0x00000000 }, { "gpioy_3", "gpioy_3", 0, 0x00000000 }, { "gpioy_4", "gpioy_4", 0, 0x00000000 }, { "gpioy_5", "gpioy_5", 0, 0x00000000 }, { "gpioy_6", "gpioy_6", 0, 0x00000000 }, { "gpioy_7", "gpioy_7", 0, 0x00000000 }, { "gpioy_8", "gpioy_8", 0, 0x00000000 }, { "gpioy_9", "gpioy_9", 0, 0x00000000 }, { "gpioao_0", "gpioao_0", 0, 0x00000000 }, { "gpioao_1", "gpioao_1", 0, 0x00000000 }, { "gpioao_2", "gpioao_2", 0, 0x00000000 }, { "gpioao_3", "gpioao_3", 0, 0x00000000 }, { "gpioao_4", "gpioao_4", 0, 0x00000000 }, { "gpioao_5", "gpioao_5", 0, 0x00000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_ethernet[] = { { "clk50_in", "gpioy_0", 24, 0x00040000 }, { "clk_out", "gpioy_0", 24, 0x00020000 }, { "tx_en", "gpioy_5", 24, 0x00001000 }, { "tx_d0", "gpioy_7", 24, 0x00000400 }, { "tx_d1", "gpioy_6", 24, 0x00000800 }, { "crs_dv", "gpioy_2", 24, 0x00008000 }, { "rx_err", "gpioy_1", 24, 0x00010000 }, { "rx_d0", "gpioy_4", 24, 0x00002000 }, { "rx_d1", "gpioy_3", 24, 0x00004000 }, { "mdc", "gpioy_8", 24, 0x00000200 }, { "mdio", "gpioy_9", 24, 0x00000100 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_hdmi[] = { { "cec", "gpioc_13", 4, 0x02000000 }, { "hpd", "gpioc_10", 4, 0x00400000 }, { "scl", "gpioc_12", 4, 0x01000000 }, { "sda", "gpioc_11", 4, 0x00800000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_i2c_a[] = { { "scl", "gpiox_26", 20, 0x04000000 }, { "sda", "gpiox_25", 20, 0x08000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_i2c_b[] = { { "scl", "gpiox_28", 20, 0x40000000 }, { "sda", "gpiox_27", 20, 0x80000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_sdio_b[] = { { "clk", "card_4", 8, 0x00000800 }, { "cmd", "card_5", 8, 0x00000400 }, { "d0", "card_0", 8, 0x00008000 }, { "d1", "card_1", 8, 0x00004000 }, { "d2", "card_2", 8, 0x00002000 }, { "d3", "card_3", 8, 0x00001000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_sdxc_b[] = { { "clk", "card_4", 8, 0x00000020 }, { "cmd", "card_5", 8, 0x00000010 }, { "d0", "card_0", 8, 0x00000080 }, { "d1", "card_1", 8, 0x00000040 }, { "d2", "card_2", 8, 0x00000040 }, { "d3", "card_3", 8, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_uart_a[] = { { "tx", "gpiox_13", 16, 0x00002000 }, { "rx", "gpiox_14", 16, 0x00001000 }, { "cts", "gpiox_15", 16, 0x00000800 }, { "rts", "gpiox_16", 16, 0x00000400 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_uart_b[] = { { "tx", "gpiox_17", 16, 0x00000200 }, { "rx", "gpiox_18", 16, 0x00000100 }, { "cts", "gpiox_19", 16, 0x00000080 }, { "rts", "gpiox_20", 16, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_uart_c[] = { { "tx", "gpiox_21", 16, 0x00000008 }, { "rx", "gpiox_22", 16, 0x00000004 }, { "cts", "gpiox_23", 16, 0x00000002 }, { "rts", "gpiox_24", 16, 0x00000001 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_i2c_ao[] = { { "scl", "gpioao_4", 0, 0x00000400 }, { "sda", "gpioao_5", 0, 0x00000200 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m3_uart_ao[] = { { "tx", "gpioao_0", 0, 0x00001000 }, { "rx", "gpioao_1", 0, 0x00000800 }, { "cts", "gpioao_2", 0, 0x00000400 }, { "rts", "gpioao_3", 0, 0x00000200 }, { NULL } }; struct aml8726_pinctrl_function aml8726_m3_pinctrl[] = { { "gpio", aml8726_m3_gpio }, { "ethernet", aml8726_m3_ethernet }, { "hdmi", aml8726_m3_hdmi }, { "i2c-a", aml8726_m3_i2c_a }, { "i2c-b", aml8726_m3_i2c_b }, { "sdio-b", aml8726_m3_sdio_b }, { "sdxc-b", aml8726_m3_sdxc_b }, { "uart-a", aml8726_m3_uart_a }, { "uart-b", aml8726_m3_uart_b }, { "uart-c", aml8726_m3_uart_c }, { "i2c-ao", aml8726_m3_i2c_ao }, { "uart-ao", aml8726_m3_uart_ao }, { NULL } }; /* * aml8726-m6 * * start size * cbus mux 0x202c 40 * cbus pu_pd 0x203a 24 * cbus pull_en 0x203a 24 * aobus mux 0x0005 4 * aobus pu_pd 0x000b 4 * aobus pull_en 0x000b 4 * * For simplicity we don't support setting pull for gpioe and gpioz. */ static struct aml8726_pinctrl_pkg_pin aml8726_m6_pkg_pin[] = { { "card_0", false, 12, 0x00100000 }, { "card_1", false, 12, 0x00200000 }, { "card_2", false, 12, 0x00400000 }, { "card_3", false, 12, 0x00800000 }, { "card_4", false, 12, 0x01000000 }, { "card_5", false, 12, 0x02000000 }, { "card_6", false, 12, 0x04000000 }, { "gpioc_10", false, 8, 0x00000400 }, { "gpioc_11", false, 8, 0x00000800 }, { "gpioc_12", false, 8, 0x00001000 }, { "gpioc_13", false, 8, 0x00002000 }, { "gpiox_13", false, 16, 0x00002000 }, { "gpiox_14", false, 16, 0x00004000 }, { "gpiox_15", false, 16, 0x00008000 }, { "gpiox_16", false, 16, 0x00010000 }, { "gpiox_17", false, 16, 0x00020000 }, { "gpiox_18", false, 16, 0x00040000 }, { "gpiox_19", false, 16, 0x00080000 }, { "gpiox_20", false, 16, 0x00100000 }, { "gpiox_21", false, 16, 0x00200000 }, { "gpiox_22", false, 16, 0x00400000 }, { "gpiox_23", false, 16, 0x00800000 }, { "gpiox_24", false, 16, 0x01000000 }, { "gpiox_25", false, 16, 0x02000000 }, { "gpiox_26", false, 16, 0x04000000 }, { "gpiox_27", false, 16, 0x08000000 }, { "gpiox_28", false, 16, 0x10000000 }, { "gpioy_0", false, 20, 0x00000010 }, { "gpioy_1", false, 20, 0x00000020 }, { "gpioy_2", false, 20, 0x00000040 }, { "gpioy_3", false, 20, 0x00000080 }, { "gpioy_4", false, 20, 0x00000100 }, { "gpioy_5", false, 20, 0x00000200 }, { "gpioy_6", false, 20, 0x00000400 }, { "gpioy_7", false, 20, 0x00000800 }, { "gpioy_8", false, 20, 0x00001000 }, { "gpioy_9", false, 20, 0x00002000 }, { "gpioy_10", false, 20, 0x00004000 }, { "gpioy_11", false, 20, 0x00008000 }, { "gpioy_12", false, 20, 0x00010000 }, { "gpioy_13", false, 20, 0x00020000 }, { "gpioy_14", false, 20, 0x00040000 }, { "gpioao_0", true, 0, 0x00000001 }, { "gpioao_1", true, 0, 0x00000002 }, { "gpioao_2", true, 0, 0x00000004 }, { "gpioao_3", true, 0, 0x00000008 }, { "gpioao_4", true, 0, 0x00000010 }, { "gpioao_5", true, 0, 0x00000020 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_gpio[] = { { "card_0", "card_0", 0, 0x00000000 }, { "card_1", "card_1", 0, 0x00000000 }, { "card_2", "card_2", 0, 0x00000000 }, { "card_3", "card_3", 0, 0x00000000 }, { "card_4", "card_4", 0, 0x00000000 }, { "card_5", "card_5", 0, 0x00000000 }, { "card_6", "card_6", 0, 0x00000000 }, { "gpioc_10", "gpioc_10", 0, 0x00000000 }, { "gpioc_11", "gpioc_11", 0, 0x00000000 }, { "gpioc_12", "gpioc_12", 0, 0x00000000 }, { "gpioc_13", "gpioc_13", 0, 0x00000000 }, { "gpiox_13", "gpiox_13", 0, 0x00000000 }, { "gpiox_14", "gpiox_14", 0, 0x00000000 }, { "gpiox_15", "gpiox_15", 0, 0x00000000 }, { "gpiox_16", "gpiox_16", 0, 0x00000000 }, { "gpiox_17", "gpiox_17", 0, 0x00000000 }, { "gpiox_18", "gpiox_18", 0, 0x00000000 }, { "gpiox_19", "gpiox_19", 0, 0x00000000 }, { "gpiox_20", "gpiox_20", 0, 0x00000000 }, { "gpiox_21", "gpiox_21", 0, 0x00000000 }, { "gpiox_22", "gpiox_22", 0, 0x00000000 }, { "gpiox_23", "gpiox_23", 0, 0x00000000 }, { "gpiox_24", "gpiox_24", 0, 0x00000000 }, { "gpiox_25", "gpiox_25", 0, 0x00000000 }, { "gpiox_26", "gpiox_26", 0, 0x00000000 }, { "gpiox_27", "gpiox_27", 0, 0x00000000 }, { "gpiox_28", "gpiox_28", 0, 0x00000000 }, { "gpioy_0", "gpioy_0", 0, 0x00000000 }, { "gpioy_1", "gpioy_1", 0, 0x00000000 }, { "gpioy_2", "gpioy_2", 0, 0x00000000 }, { "gpioy_3", "gpioy_3", 0, 0x00000000 }, { "gpioy_4", "gpioy_4", 0, 0x00000000 }, { "gpioy_5", "gpioy_5", 0, 0x00000000 }, { "gpioy_6", "gpioy_6", 0, 0x00000000 }, { "gpioy_7", "gpioy_7", 0, 0x00000000 }, { "gpioy_8", "gpioy_8", 0, 0x00000000 }, { "gpioy_9", "gpioy_9", 0, 0x00000000 }, { "gpioy_10", "gpioy_10", 0, 0x00000000 }, { "gpioy_11", "gpioy_11", 0, 0x00000000 }, { "gpioy_12", "gpioy_12", 0, 0x00000000 }, { "gpioy_13", "gpioy_13", 0, 0x00000000 }, { "gpioy_14", "gpioy_14", 0, 0x00000000 }, { "gpioao_0", "gpioao_0", 0, 0x00000000 }, { "gpioao_1", "gpioao_1", 0, 0x00000000 }, { "gpioao_2", "gpioao_2", 0, 0x00000000 }, { "gpioao_3", "gpioao_3", 0, 0x00000000 }, { "gpioao_4", "gpioao_4", 0, 0x00000000 }, { "gpioao_5", "gpioao_5", 0, 0x00000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_ethernet[] = { { "ref_clk_in", "gpioy_0", 24, 0x80000000 }, { "ref_clk_out", "gpioy_0", 24, 0x40000000 }, { "tx_clk", "gpioy_1", 24, 0x00040000 }, { "tx_en", "gpioy_2", 24, 0x00020000 }, { "tx_d0", "gpioy_6", 24, 0x00002000 }, { "tx_d1", "gpioy_5", 24, 0x00004000 }, { "tx_d2", "gpioy_4", 24, 0x00008000 }, { "tx_d3", "gpioy_3", 24, 0x00010000 }, { "rx_clk", "gpioy_7", 24, 0x00001000 }, { "rx_dv", "gpioy_8", 24, 0x00000800 }, { "rx_d0", "gpioy_12", 24, 0x00000080 }, { "rx_d1", "gpioy_11", 24, 0x00000100 }, { "rx_d2", "gpioy_10", 24, 0x00000200 }, { "rx_d3", "gpioy_9", 24, 0x00000400 }, { "mdc", "gpioy_14", 24, 0x00000020 }, { "mdio", "gpioy_13", 24, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_hdmi[] = { { "cec", "gpioc_13", 4, 0x02000000 }, { "hpd", "gpioc_10", 4, 0x00400000 }, { "scl", "gpioc_12", 4, 0x01000000 }, { "sda", "gpioc_11", 4, 0x00800000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_i2c_a[] = { { "scl", "gpiox_26", 20, 0x04000000 }, { "sda", "gpiox_25", 20, 0x08000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_i2c_b[] = { { "scl", "gpiox_28", 20, 0x40000000 }, { "sda", "gpiox_27", 20, 0x80000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_sdio_b[] = { { "clk", "card_4", 8, 0x00000800 }, { "cmd", "card_5", 8, 0x00000400 }, { "d0", "card_0", 8, 0x00008000 }, { "d1", "card_1", 8, 0x00004000 }, { "d2", "card_2", 8, 0x00002000 }, { "d3", "card_3", 8, 0x00001000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_sdxc_b[] = { { "clk", "card_4", 8, 0x00000020 }, { "cmd", "card_5", 8, 0x00000010 }, { "d0", "card_0", 8, 0x00000080 }, { "d1", "card_1", 8, 0x00000040 }, { "d2", "card_2", 8, 0x00000040 }, { "d3", "card_3", 8, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_uart_a[] = { { "tx", "gpiox_13", 16, 0x00002000 }, { "rx", "gpiox_14", 16, 0x00001000 }, { "cts", "gpiox_15", 16, 0x00000800 }, { "rts", "gpiox_16", 16, 0x00000400 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_uart_b[] = { { "tx", "gpiox_17", 16, 0x00000200 }, { "rx", "gpiox_18", 16, 0x00000100 }, { "cts", "gpiox_19", 16, 0x00000080 }, { "rts", "gpiox_20", 16, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_uart_c[] = { { "tx", "gpiox_21", 16, 0x00000008 }, { "rx", "gpiox_22", 16, 0x00000004 }, { "cts", "gpiox_23", 16, 0x00000002 }, { "rts", "gpiox_24", 16, 0x00000001 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_i2c_ao[] = { { "scl", "gpioao_4", 0, 0x00000400 }, { "sda", "gpioao_5", 0, 0x00000200 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m6_uart_ao[] = { { "tx", "gpioao_0", 0, 0x00001000 }, { "rx", "gpioao_1", 0, 0x00000800 }, { "cts", "gpioao_2", 0, 0x00000400 }, { "rts", "gpioao_3", 0, 0x00000200 }, { NULL } }; struct aml8726_pinctrl_function aml8726_m6_pinctrl[] = { { "gpio", aml8726_m6_gpio }, { "ethernet", aml8726_m6_ethernet }, { "hdmi", aml8726_m6_hdmi }, { "i2c-a", aml8726_m6_i2c_a }, { "i2c-b", aml8726_m6_i2c_b }, { "sdio-b", aml8726_m6_sdio_b }, { "sdxc-b", aml8726_m6_sdxc_b }, { "uart-a", aml8726_m6_uart_a }, { "uart-b", aml8726_m6_uart_b }, { "uart-c", aml8726_m6_uart_c }, { "i2c-ao", aml8726_m6_i2c_ao }, { "uart-ao", aml8726_m6_uart_ao }, { NULL } }; /* * aml8726-m8 * * start size * cbus mux 0x202c 40 * cbus pu_pd 0x203a 20 * cbus pull_en 0x2048 20 * aobus mux 0x0005 4 * aobus pu_pd 0x000b 4 * aobus pull_en 0x000b 4 */ static struct aml8726_pinctrl_pkg_pin aml8726_m8_pkg_pin[] = { { "boot_0", false, 8, 0x00000001 }, { "boot_1", false, 8, 0x00000002 }, { "boot_2", false, 8, 0x00000004 }, { "boot_3", false, 8, 0x00000008 }, { "boot_4", false, 8, 0x00000010 }, { "boot_5", false, 8, 0x00000020 }, { "boot_6", false, 8, 0x00000040 }, { "boot_7", false, 8, 0x00000080 }, { "boot_16", false, 8, 0x00010000 }, { "boot_17", false, 8, 0x00020000 }, { "card_0", false, 8, 0x00100000 }, { "card_1", false, 8, 0x00200000 }, { "card_2", false, 8, 0x00400000 }, { "card_3", false, 8, 0x00800000 }, { "card_4", false, 8, 0x01000000 }, { "card_5", false, 8, 0x02000000 }, { "card_6", false, 8, 0x04000000 }, { "gpioh_0", false, 4, 0x00001000 }, { "gpioh_1", false, 4, 0x00002000 }, { "gpioh_2", false, 4, 0x00004000 }, { "gpioh_3", false, 4, 0x00008000 }, { "gpiox_12", false, 16, 0x00001000 }, { "gpiox_13", false, 16, 0x00002000 }, { "gpiox_14", false, 16, 0x00004000 }, { "gpiox_15", false, 16, 0x00008000 }, { "gpiox_16", false, 16, 0x00010000 }, { "gpiox_17", false, 16, 0x00020000 }, { "gpiox_18", false, 16, 0x00040000 }, { "gpiox_19", false, 16, 0x00080000 }, { "gpioy_0", false, 12, 0x00000001 }, { "gpioy_1", false, 12, 0x00000002 }, { "gpioy_2", false, 12, 0x00000004 }, { "gpioy_3", false, 12, 0x00000008 }, { "gpioz_2", false, 4, 0x00000004 }, { "gpioz_3", false, 4, 0x00000008 }, { "gpioz_4", false, 4, 0x00000010 }, { "gpioz_5", false, 4, 0x00000020 }, { "gpioz_6", false, 4, 0x00000040 }, { "gpioz_7", false, 4, 0x00000080 }, { "gpioz_8", false, 4, 0x00000100 }, { "gpioz_9", false, 4, 0x00000200 }, { "gpioz_10", false, 4, 0x00000400 }, { "gpioz_11", false, 4, 0x00000800 }, { "gpioz_12", false, 4, 0x00001000 }, { "gpioz_13", false, 4, 0x00002000 }, { "gpioao_0", true, 0, 0x00000001 }, { "gpioao_1", true, 0, 0x00000002 }, { "gpioao_2", true, 0, 0x00000004 }, { "gpioao_3", true, 0, 0x00000008 }, { "gpioao_4", true, 0, 0x00000010 }, { "gpioao_5", true, 0, 0x00000020 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_gpio[] = { { "boot_0", "boot_0", 0, 0x00000000 }, { "boot_1", "boot_1", 0, 0x00000000 }, { "boot_2", "boot_2", 0, 0x00000000 }, { "boot_3", "boot_3", 0, 0x00000000 }, { "boot_4", "boot_4", 0, 0x00000000 }, { "boot_5", "boot_5", 0, 0x00000000 }, { "boot_6", "boot_6", 0, 0x00000000 }, { "boot_7", "boot_7", 0, 0x00000000 }, { "boot_16", "boot_16", 0, 0x00000000 }, { "boot_17", "boot_17", 0, 0x00000000 }, { "card_0", "card_0", 0, 0x00000000 }, { "card_1", "card_1", 0, 0x00000000 }, { "card_2", "card_2", 0, 0x00000000 }, { "card_3", "card_3", 0, 0x00000000 }, { "card_4", "card_4", 0, 0x00000000 }, { "card_5", "card_5", 0, 0x00000000 }, { "card_6", "card_6", 0, 0x00000000 }, { "gpioh_0", "gpioh_0", 0, 0x00000000 }, { "gpioh_1", "gpioh_1", 0, 0x00000000 }, { "gpioh_2", "gpioh_2", 0, 0x00000000 }, { "gpioh_3", "gpioh_3", 0, 0x00000000 }, { "gpiox_12", "gpiox_12", 0, 0x00000000 }, { "gpiox_13", "gpiox_13", 0, 0x00000000 }, { "gpiox_14", "gpiox_14", 0, 0x00000000 }, { "gpiox_15", "gpiox_15", 0, 0x00000000 }, { "gpiox_16", "gpiox_16", 0, 0x00000000 }, { "gpiox_17", "gpiox_17", 0, 0x00000000 }, { "gpiox_18", "gpiox_18", 0, 0x00000000 }, { "gpiox_19", "gpiox_19", 0, 0x00000000 }, { "gpioy_0", "gpioy_0", 0, 0x00000000 }, { "gpioy_1", "gpioy_1", 0, 0x00000000 }, { "gpioy_2", "gpioy_2", 0, 0x00000000 }, { "gpioy_3", "gpioy_3", 0, 0x00000000 }, { "gpioz_2", "gpioz_2", 0, 0x00000000 }, { "gpioz_3", "gpioz_3", 0, 0x00000000 }, { "gpioz_4", "gpioz_4", 0, 0x00000000 }, { "gpioz_5", "gpioz_5", 0, 0x00000000 }, { "gpioz_6", "gpioz_6", 0, 0x00000000 }, { "gpioz_7", "gpioz_7", 0, 0x00000000 }, { "gpioz_8", "gpioz_8", 0, 0x00000000 }, { "gpioz_9", "gpioz_9", 0, 0x00000000 }, { "gpioz_10", "gpioz_10", 0, 0x00000000 }, { "gpioz_11", "gpioz_11", 0, 0x00000000 }, { "gpioz_12", "gpioz_12", 0, 0x00000000 }, { "gpioz_13", "gpioz_13", 0, 0x00000000 }, { "gpioao_0", "gpioao_0", 0, 0x00000000 }, { "gpioao_1", "gpioao_1", 0, 0x00000000 }, { "gpioao_2", "gpioao_2", 0, 0x00000000 }, { "gpioao_3", "gpioao_3", 0, 0x00000000 }, { "gpioao_4", "gpioao_4", 0, 0x00000000 }, { "gpioao_5", "gpioao_5", 0, 0x00000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_ethernet[] = { { "tx_clk", "gpioz_4", 24, 0x00008000 }, { "tx_en", "gpioz_5", 24, 0x00004000 }, { "tx_d0", "gpioz_7", 24, 0x00001000 }, { "tx_d1", "gpioz_6", 24, 0x00002000 }, { "rx_clk_in", "gpioz_8", 24, 0x00000400 }, { "rx_clk_out", "gpioz_8", 24, 0x00000200 }, { "rx_dv", "gpioz_9", 24, 0x00000800 }, { "rx_d0", "gpioz_11", 24, 0x00000080 }, { "rx_d1", "gpioz_10", 24, 0x00000100 }, { "mdc", "gpioz_13", 24, 0x00000020 }, { "mdio", "gpioz_12", 24, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_hdmi[] = { { "cec", "gpioh_3", 4, 0x00800000 }, { "hpd", "gpioh_0", 4, 0x04000000 }, { "scl", "gpioh_2", 4, 0x01000000 }, { "sda", "gpioh_1", 4, 0x02000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_i2c_a[] = { { "scl", "gpioz_12", 20, 0x00000040 }, { "sda", "gpioz_11", 20, 0x00000080 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_i2c_b[] = { { "scl", "gpioz_3", 20, 0x04000000 }, { "sda", "gpioz_2", 20, 0x08000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_sdio_b[] = { { "clk", "card_2", 8, 0x00000800 }, { "cmd", "card_3", 8, 0x00000400 }, { "d0", "card_1", 8, 0x00008000 }, { "d1", "card_0", 8, 0x00004000 }, { "d2", "card_5", 8, 0x00002000 }, { "d3", "card_4", 8, 0x00001000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_sdxc_b[] = { { "clk", "card_2", 8, 0x00000020 }, { "cmd", "card_3", 8, 0x00000010 }, { "d0", "card_1", 8, 0x00000080 }, { "d1", "card_0", 8, 0x00000040 }, { "d2", "card_5", 8, 0x00000040 }, { "d3", "card_4", 8, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_sdio_c[] = { { "clk", "boot_17", 24, 0x01000000 }, { "cmd", "boot_16", 24, 0x02000000 }, { "d0", "boot_0", 24, 0x20000000 }, { "d1", "boot_1", 24, 0x10000000 }, { "d2", "boot_2", 24, 0x08000000 }, { "d3", "boot_3", 24, 0x04000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_sdxc_c[] = { { "clk", "boot_17", 16, 0x04000000 }, { "cmd", "boot_16", 16, 0x08000000 }, { "d0", "boot_0", 16, 0x40000000 }, { "d1", "boot_1", 16, 0x20000000 }, { "d2", "boot_2", 16, 0x20000000 }, { "d3", "boot_3", 16, 0x20000000 }, { "d4", "boot_4", 16, 0x10000000 }, { "d5", "boot_5", 16, 0x10000000 }, { "d6", "boot_6", 16, 0x10000000 }, { "d7", "boot_7", 16, 0x10000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_uart_a[] = { { "tx", "gpiox_4", 16, 0x00020000 }, { "rx", "gpiox_5", 16, 0x00010000 }, { "cts", "gpiox_6", 16, 0x00008000 }, { "rts", "gpiox_7", 16, 0x00004000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_uart_b[] = { { "tx", "gpiox_16", 16, 0x00000200 }, { "rx", "gpiox_17", 16, 0x00000100 }, { "cts", "gpiox_18", 16, 0x00000080 }, { "rts", "gpiox_19", 16, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_uart_c[] = { { "tx", "gpioy_0", 4, 0x00080000 }, { "rx", "gpioy_1", 4, 0x00040000 }, { "cts", "gpioy_2", 4, 0x00020000 }, { "rts", "gpioy_3", 4, 0x00010000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_i2c_ao[] = { { "scl", "gpioao_4", 0, 0x00000400 }, { "sda", "gpioao_5", 0, 0x00000200 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8_uart_ao[] = { { "tx", "gpioao_0", 0, 0x00001000 }, { "rx", "gpioao_1", 0, 0x00000800 }, { "cts", "gpioao_2", 0, 0x00000400 }, { "rts", "gpioao_3", 0, 0x00000200 }, { NULL } }; struct aml8726_pinctrl_function aml8726_m8_pinctrl[] = { { "gpio", aml8726_m8_gpio }, { "ethernet", aml8726_m8_ethernet }, { "hdmi", aml8726_m8_hdmi }, { "i2c-a", aml8726_m8_i2c_a }, { "i2c-b", aml8726_m8_i2c_b }, { "sdio-b", aml8726_m8_sdio_b }, { "sdxc-b", aml8726_m8_sdxc_b }, { "sdio-c", aml8726_m8_sdio_c }, { "sdxc-c", aml8726_m8_sdxc_c }, { "uart-a", aml8726_m8_uart_a }, { "uart-b", aml8726_m8_uart_b }, { "uart-c", aml8726_m8_uart_c }, { "i2c-ao", aml8726_m8_i2c_ao }, { "uart-ao", aml8726_m8_uart_ao }, { NULL } }; /* * aml8726-m8b * * start size * cbus mux 0x202c 40 * cbus pu_pd 0x203a 24 * cbus pull_en 0x2048 24 * aobus mux 0x0005 4 * aobus pu_pd 0x000b 4 * aobus pull_en 0x000b 4 */ static struct aml8726_pinctrl_pkg_pin aml8726_m8b_pkg_pin[] = { { "boot_0", false, 8, 0x00000001 }, { "boot_1", false, 8, 0x00000002 }, { "boot_2", false, 8, 0x00000004 }, { "boot_3", false, 8, 0x00000008 }, { "boot_4", false, 8, 0x00000010 }, { "boot_5", false, 8, 0x00000020 }, { "boot_6", false, 8, 0x00000040 }, { "boot_7", false, 8, 0x00000080 }, { "boot_8", false, 8, 0x00000100 }, { "boot_9", false, 8, 0x00000200 }, { "boot_10", false, 8, 0x00000400 }, { "card_0", false, 8, 0x00100000 }, { "card_1", false, 8, 0x00200000 }, { "card_2", false, 8, 0x00400000 }, { "card_3", false, 8, 0x00800000 }, { "card_4", false, 8, 0x01000000 }, { "card_5", false, 8, 0x02000000 }, { "card_6", false, 8, 0x04000000 }, { "dif_0p", false, 20, 0x00000100 }, { "dif_0n", false, 20, 0x00000200 }, { "dif_1p", false, 20, 0x00000400 }, { "dif_1n", false, 20, 0x00000800 }, { "dif_2p", false, 20, 0x00001000 }, { "dif_2n", false, 20, 0x00002000 }, { "dif_3p", false, 20, 0x00004000 }, { "dif_3n", false, 20, 0x00008000 }, { "dif_4p", false, 20, 0x00010000 }, { "dif_4n", false, 20, 0x00020000 }, { "gpiodv_24", false, 0, 0x01000000 }, { "gpiodv_25", false, 0, 0x02000000 }, { "gpiodv_26", false, 0, 0x04000000 }, { "gpiodv_27", false, 0, 0x08000000 }, { "gpioh_0", false, 4, 0x00010000 }, { "gpioh_1", false, 4, 0x00020000 }, { "gpioh_2", false, 4, 0x00040000 }, { "gpioh_3", false, 4, 0x00080000 }, { "gpioh_4", false, 4, 0x00100000 }, { "gpioh_5", false, 4, 0x00200000 }, { "gpioh_6", false, 4, 0x00400000 }, { "gpioh_7", false, 4, 0x00800000 }, { "gpioh_8", false, 4, 0x01000000 }, { "gpioh_9", false, 4, 0x02000000 }, { "gpiox_4", false, 16, 0x00000010 }, { "gpiox_5", false, 16, 0x00000020 }, { "gpiox_6", false, 16, 0x00000040 }, { "gpiox_7", false, 16, 0x00000080 }, { "gpiox_16", false, 16, 0x00010000 }, { "gpiox_17", false, 16, 0x00020000 }, { "gpiox_18", false, 16, 0x00040000 }, { "gpiox_19", false, 16, 0x00080000 }, { "gpioao_0", true, 0, 0x00000001 }, { "gpioao_1", true, 0, 0x00000002 }, { "gpioao_2", true, 0, 0x00000004 }, { "gpioao_3", true, 0, 0x00000008 }, { "gpioao_4", true, 0, 0x00000010 }, { "gpioao_5", true, 0, 0x00000020 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_gpio[] = { { "boot_0", "boot_0", 0, 0x00000000 }, { "boot_1", "boot_1", 0, 0x00000000 }, { "boot_2", "boot_2", 0, 0x00000000 }, { "boot_3", "boot_3", 0, 0x00000000 }, { "boot_4", "boot_4", 0, 0x00000000 }, { "boot_5", "boot_5", 0, 0x00000000 }, { "boot_6", "boot_6", 0, 0x00000000 }, { "boot_7", "boot_7", 0, 0x00000000 }, { "boot_8", "boot_8", 0, 0x00000000 }, { "boot_9", "boot_9", 0, 0x00000000 }, { "boot_10", "boot_10", 0, 0x00000000 }, { "card_0", "card_0", 0, 0x00000000 }, { "card_1", "card_1", 0, 0x00000000 }, { "card_2", "card_2", 0, 0x00000000 }, { "card_3", "card_3", 0, 0x00000000 }, { "card_4", "card_4", 0, 0x00000000 }, { "card_5", "card_5", 0, 0x00000000 }, { "card_6", "card_6", 0, 0x00000000 }, { "dif_0p", "dif_0p", 0, 0x00000000 }, { "dif_0n", "dif_0n", 0, 0x00000000 }, { "dif_1p", "dif_1p", 0, 0x00000000 }, { "dif_1n", "dif_1n", 0, 0x00000000 }, { "dif_2p", "dif_2p", 0, 0x00000000 }, { "dif_2n", "dif_2n", 0, 0x00000000 }, { "dif_3p", "dif_3p", 0, 0x00000000 }, { "dif_3n", "dif_3n", 0, 0x00000000 }, { "dif_4p", "dif_4p", 0, 0x00000000 }, { "dif_4n", "dif_4n", 0, 0x00000000 }, { "gpiodv_24", "gpiodv_24", 0, 0x00000000 }, { "gpiodv_25", "gpiodv_25", 0, 0x00000000 }, { "gpiodv_26", "gpiodv_26", 0, 0x00000000 }, { "gpiodv_27", "gpiodv_27", 0, 0x00000000 }, { "gpioh_0", "gpioh_0", 0, 0x00000000 }, { "gpioh_1", "gpioh_1", 0, 0x00000000 }, { "gpioh_2", "gpioh_2", 0, 0x00000000 }, { "gpioh_3", "gpioh_3", 0, 0x00000000 }, { "gpioh_4", "gpioh_4", 0, 0x00000000 }, { "gpioh_5", "gpioh_5", 0, 0x00000000 }, { "gpioh_6", "gpioh_6", 0, 0x00000000 }, { "gpioh_7", "gpioh_7", 0, 0x00000000 }, { "gpioh_8", "gpioh_8", 0, 0x00000000 }, { "gpioh_9", "gpioh_9", 0, 0x00000000 }, { "gpiox_4", "gpiox_4", 0, 0x00000000 }, { "gpiox_5", "gpiox_5", 0, 0x00000000 }, { "gpiox_6", "gpiox_6", 0, 0x00000000 }, { "gpiox_7", "gpiox_7", 0, 0x00000000 }, { "gpiox_16", "gpiox_16", 0, 0x00000000 }, { "gpiox_17", "gpiox_17", 0, 0x00000000 }, { "gpiox_18", "gpiox_18", 0, 0x00000000 }, { "gpiox_19", "gpiox_19", 0, 0x00000000 }, { "gpioao_0", "gpioao_0", 0, 0x00000000 }, { "gpioao_1", "gpioao_1", 0, 0x00000000 }, { "gpioao_2", "gpioao_2", 0, 0x00000000 }, { "gpioao_3", "gpioao_3", 0, 0x00000000 }, { "gpioao_4", "gpioao_4", 0, 0x00000000 }, { "gpioao_5", "gpioao_5", 0, 0x00000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_ethernet[] = { { "ref_clk", "dif_3n", 24, 0x00000100 }, { "tx_clk", "gpioh_9", 24, 0x00000800 }, { "tx_en", "dif_3p", 24, 0x00000040 }, { "tx_d0", "gpioh_6", 28, 0x00100000 }, { "tx_d1", "gpioh_5", 28, 0x00200000 }, { "tx_d2", "gpioh_8", 24, 0x00001000 }, { "tx_d3", "gpioh_7", 24, 0x00002000 }, { "rx_clk", "dif_1n", 24, 0x00000008 }, { "rx_dv", "dif_1p", 24, 0x00000004 }, { "rx_d0", "dif_0n", 24, 0x00000002 }, { "rx_d1", "dif_0p", 24, 0x00000001 }, { "rx_d2", "dif_2n", 28, 0x00800000 }, { "rx_d3", "dif_2p", 28, 0x00400000 }, { "mdc", "dif_4p", 24, 0x00000200 }, { "mdio", "dif_4n", 24, 0x00000400 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_hdmi[] = { { "cec", "gpioh_3", 4, 0x00800000 }, { "hpd", "gpioh_0", 4, 0x04000000 }, { "scl", "gpioh_2", 4, 0x01000000 }, { "sda", "gpioh_1", 4, 0x02000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_i2c_a[] = { { "scl", "gpiodv_25", 36, 0x40000000 }, { "sda", "gpiodv_24", 36, 0x80000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_i2c_b[] = { { "scl", "gpiodv_27", 36, 0x10000000 }, { "sda", "gpiodv_26", 36, 0x20000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_sdio_b[] = { { "clk", "card_2", 8, 0x00000800 }, { "cmd", "card_3", 8, 0x00000400 }, { "d0", "card_1", 8, 0x00008000 }, { "d1", "card_0", 8, 0x00004000 }, { "d2", "card_5", 8, 0x00002000 }, { "d3", "card_4", 8, 0x00001000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_sdxc_b[] = { { "clk", "card_2", 8, 0x00000020 }, { "cmd", "card_3", 8, 0x00000010 }, { "d0", "card_1", 8, 0x00000080 }, { "d1", "card_0", 8, 0x00000040 }, { "d2", "card_5", 8, 0x00000040 }, { "d3", "card_4", 8, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_sdio_c[] = { { "clk", "boot_8", 24, 0x80000000 }, { "cmd", "boot_10", 24, 0x40000000 }, { "d0", "boot_0", 24, 0x20000000 }, { "d1", "boot_1", 24, 0x10000000 }, { "d2", "boot_2", 24, 0x08000000 }, { "d3", "boot_3", 24, 0x04000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_sdxc_c[] = { { "clk", "boot_8", 28, 0x00080000 }, { "cmd", "boot_10", 28, 0x00040000 }, { "d0", "boot_0", 16, 0x40000000 }, { "d1", "boot_1", 16, 0x20000000 }, { "d2", "boot_2", 16, 0x20000000 }, { "d3", "boot_3", 16, 0x20000000 }, { "d4", "boot_4", 16, 0x10000000 }, { "d5", "boot_5", 16, 0x10000000 }, { "d6", "boot_6", 16, 0x10000000 }, { "d7", "boot_7", 16, 0x10000000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_uart_a[] = { { "tx", "gpiox_4", 16, 0x00020000 }, { "rx", "gpiox_5", 16, 0x00010000 }, { "cts", "gpiox_6", 16, 0x00008000 }, { "rts", "gpiox_7", 16, 0x00004000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_uart_b[] = { { "tx", "gpiox_16", 16, 0x00000200 }, { "rx", "gpiox_17", 16, 0x00000100 }, { "cts", "gpiox_18", 16, 0x00000080 }, { "rts", "gpiox_19", 16, 0x00000040 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_uart_c[] = { { "tx", "gpiodv_24", 24, 0x00800000 }, { "rx", "gpiodv_25", 24, 0x00400000 }, { "cts", "gpiodv_26", 24, 0x00200000 }, { "rts", "gpiodv_27", 24, 0x00100000 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_i2c_ao[] = { { "scl", "gpioao_4", 0, 0x00000400 }, { "sda", "gpioao_5", 0, 0x00000200 }, { NULL } }; static struct aml8726_pinctrl_pin aml8726_m8b_uart_ao[] = { { "tx", "gpioao_0", 0, 0x00001000 }, { "rx", "gpioao_1", 0, 0x00000800 }, { "cts", "gpioao_2", 0, 0x00000400 }, { "rts", "gpioao_3", 0, 0x00000200 }, { NULL } }; struct aml8726_pinctrl_function aml8726_m8b_pinctrl[] = { { "gpio", aml8726_m8b_gpio }, { "ethernet", aml8726_m8b_ethernet }, { "hdmi", aml8726_m8b_hdmi }, { "i2c-a", aml8726_m8b_i2c_a }, { "i2c-b", aml8726_m8b_i2c_b }, { "sdio-b", aml8726_m8b_sdio_b }, { "sdxc-b", aml8726_m8b_sdxc_b }, { "sdio-c", aml8726_m8b_sdio_c }, { "sdxc-c", aml8726_m8b_sdxc_c }, { "uart-a", aml8726_m8b_uart_a }, { "uart-b", aml8726_m8b_uart_b }, { "uart-c", aml8726_m8b_uart_c }, { "i2c-ao", aml8726_m8b_i2c_ao }, { "uart-ao", aml8726_m8b_uart_ao }, { NULL } }; #endif /* _ARM_AMLOGIC_AML8726_PINCTRL_H */