From: Ram Chandra Jangir <rjangir@xxxxxxxxxxxxxx> Populate default values for various GPIO functions. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Cc: John Crispin <john@xxxxxxxxxxx> Signed-off-by: Ram Chandra Jangir <rjangir@xxxxxxxxxxxxxx> --- Ram Chandra Jangir has posted this patch as part of a bigger "add platform support" patch on LEDE-DEV mailing list: <http://lists.infradead.org/pipermail/lede-dev/2017-April/007106.html> --- drivers/pinctrl/qcom/pinctrl-ipq4019.c | 1250 ++++++++++++++++++++++++++++++-- 1 file changed, 1172 insertions(+), 78 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq4019.c b/drivers/pinctrl/qcom/pinctrl-ipq4019.c index 743d1f458205..7219d1e33c71 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq4019.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq4019.c @@ -276,16 +276,531 @@ DECLARE_QCA_GPIO_PINS(99); enum ipq4019_functions { + qca_mux_rmii0_refclk, + qca_mux_wifi0_rfsilient0, + qca_mux_wifi1_rfsilient0, + qca_mux_smart2, + qca_mux_led4, + qca_mux_wifi0_cal, + qca_mux_wifi1_cal, + qca_mux_wifi_wci0, + qca_mux_rmii0_dv, + qca_mux_wifi_wci1, + qca_mux_rmii1_refclk, + qca_mux_blsp_spi1, + qca_mux_led5, + qca_mux_rmii10, + qca_mux_led6, + qca_mux_rmii11, + qca_mux_led7, + qca_mux_rmii1_dv, + qca_mux_led8, + qca_mux_rmii1_tx, + qca_mux_aud_pin, + qca_mux_led9, + qca_mux_rmii1_rx, + qca_mux_led10, + qca_mux_wifi0_rfsilient1, + qca_mux_wifi1_rfsilient1, + qca_mux_led11, + qca_mux_boot7, + qca_mux_qpic_pad, + qca_mux_pcie_clk, + qca_mux_tm_clk0, + qca_mux_wifi00, + qca_mux_wifi10, + qca_mux_mdio1, + qca_mux_prng_rosc, + qca_mux_dbg_out, + qca_mux_tm0, + qca_mux_wifi01, + qca_mux_wifi11, + qca_mux_atest_char3, + qca_mux_pmu0, + qca_mux_boot8, + qca_mux_tm1, + qca_mux_atest_char2, + qca_mux_pmu1, + qca_mux_boot9, + qca_mux_tm2, + qca_mux_atest_char1, + qca_mux_tm_ack, + qca_mux_wifi03, + qca_mux_wifi13, + qca_mux_qpic_pad4, + qca_mux_atest_char0, + qca_mux_tm3, + qca_mux_wifi02, + qca_mux_wifi12, + qca_mux_qpic_pad5, + qca_mux_smart3, + qca_mux_wcss0_dbg14, + qca_mux_tm4, + qca_mux_wifi04, + qca_mux_wifi14, + qca_mux_qpic_pad6, + qca_mux_wcss0_dbg15, + qca_mux_qdss_tracectl_a, + qca_mux_boot18, + qca_mux_tm5, + qca_mux_qpic_pad7, + qca_mux_atest_char, + qca_mux_wcss0_dbg4, + qca_mux_qdss_traceclk_a, + qca_mux_boot19, + qca_mux_tm6, + qca_mux_wcss0_dbg5, + qca_mux_qdss_cti_trig_out_a0, + qca_mux_boot14, + qca_mux_tm7, + qca_mux_chip_rst, + qca_mux_wcss0_dbg6, + qca_mux_qdss_cti_trig_out_b0, + qca_mux_boot11, + qca_mux_tm8, + qca_mux_wcss0_dbg7, + qca_mux_wcss1_dbg7, + qca_mux_boot20, + qca_mux_tm9, + qca_mux_qpic_pad1, + qca_mux_wcss0_dbg8, + qca_mux_wcss1_dbg8, + qca_mux_qpic_pad2, + qca_mux_wcss0_dbg9, + qca_mux_wcss1_dbg9, + qca_mux_qpic_pad3, + qca_mux_wcss0_dbg10, + qca_mux_wcss1_dbg10, + qca_mux_qpic_pad0, + qca_mux_wcss0_dbg11, + qca_mux_wcss1_dbg11, + qca_mux_qpic_pad8, + qca_mux_wcss0_dbg12, + qca_mux_wcss1_dbg12, + qca_mux_wifi034, + qca_mux_wifi134, + qca_mux_jtag_tdi, qca_mux_gpio, + qca_mux_i2s_rx_bclk, + qca_mux_jtag_tck, + qca_mux_i2s_rx_fsync, + qca_mux_jtag_tms, + qca_mux_i2s_rxd, + qca_mux_smart0, + qca_mux_jtag_tdo, + qca_mux_jtag_rst, + qca_mux_jtag_trst, + qca_mux_mdio0, + qca_mux_wcss0_dbg18, + qca_mux_wcss1_dbg18, + qca_mux_qdss_tracedata_a, + qca_mux_mdc, + qca_mux_wcss0_dbg19, + qca_mux_wcss1_dbg19, qca_mux_blsp_uart1, + qca_mux_wifi0_uart, + qca_mux_wifi1_uart, + qca_mux_smart1, + qca_mux_wcss0_dbg20, + qca_mux_wcss1_dbg20, + qca_mux_wifi0_uart0, + qca_mux_wifi1_uart0, + qca_mux_wcss0_dbg21, + qca_mux_wcss1_dbg21, qca_mux_blsp_i2c0, + qca_mux_wcss0_dbg22, + qca_mux_wcss1_dbg22, + qca_mux_wcss0_dbg23, + qca_mux_wcss1_dbg23, + qca_mux_blsp_spi0, qca_mux_blsp_i2c1, + qca_mux_wcss0_dbg24, + qca_mux_wcss1_dbg24, + qca_mux_wcss0_dbg25, + qca_mux_wcss1_dbg25, + qca_mux_wcss0_dbg26, + qca_mux_wcss1_dbg26, + qca_mux_wcss0_dbg, + qca_mux_wcss1_dbg, qca_mux_blsp_uart0, - qca_mux_blsp_spi1, - qca_mux_blsp_spi0, + qca_mux_led0, + qca_mux_wcss0_dbg28, + qca_mux_wcss1_dbg28, + qca_mux_led1, + qca_mux_wcss0_dbg29, + qca_mux_wcss1_dbg29, + qca_mux_wifi0_uart1, + qca_mux_wifi1_uart1, + qca_mux_wcss0_dbg30, + qca_mux_wcss1_dbg30, + qca_mux_wcss0_dbg31, + qca_mux_wcss1_dbg31, + qca_mux_i2s_rx_mclk, + qca_mux_wcss0_dbg16, + qca_mux_wcss1_dbg16, + qca_mux_wcss0_dbg17, + qca_mux_wcss1_dbg17, + qca_mux_rgmii0, + qca_mux_sdio0, + qca_mux_rgmii1, + qca_mux_sdio1, + qca_mux_rgmii2, + qca_mux_i2s_tx_mclk, + qca_mux_sdio2, + qca_mux_rgmii3, + qca_mux_i2s_tx_bclk, + qca_mux_sdio3, + qca_mux_rgmii_rx, + qca_mux_i2s_tx_fsync, + qca_mux_sdio_clk, + qca_mux_rgmii_txc, + qca_mux_i2s_td1, + qca_mux_sdio_cmd, + qca_mux_i2s_td2, + qca_mux_sdio4, + qca_mux_i2s_td3, + qca_mux_sdio5, + qca_mux_audio_pwm0, + qca_mux_sdio6, + qca_mux_audio_pwm1, + qca_mux_wcss0_dbg27, + qca_mux_wcss1_dbg27, + qca_mux_sdio7, + qca_mux_rgmii_rxc, + qca_mux_audio_pwm2, + qca_mux_rgmii_tx, + qca_mux_audio_pwm3, + qca_mux_boot2, + qca_mux_i2s_spdif_in, + qca_mux_i2s_spdif_out, + qca_mux_rmii00, + qca_mux_led2, + qca_mux_rmii01, + qca_mux_wifi0_wci, + qca_mux_wifi1_wci, + qca_mux_boot4, + qca_mux_rmii0_tx, + qca_mux_boot5, + qca_mux_rmii0_rx, + qca_mux_pcie_clk1, + qca_mux_led3, + qca_mux_sdio_cd, qca_mux_NA, }; +static const char * const rmii0_refclk_groups[] = { + "gpio40", +}; +static const char * const wifi0_rfsilient0_groups[] = { + "gpio40", +}; +static const char * const wifi1_rfsilient0_groups[] = { + "gpio40", +}; +static const char * const smart2_groups[] = { + "gpio40", "gpio41", "gpio48", "gpio49", +}; +static const char * const led4_groups[] = { + "gpio40", +}; +static const char * const wifi0_cal_groups[] = { + "gpio41", "gpio51", +}; +static const char * const wifi1_cal_groups[] = { + "gpio41", "gpio51", +}; +static const char * const wifi_wci0_groups[] = { + "gpio42", +}; +static const char * const rmii0_dv_groups[] = { + "gpio43", +}; +static const char * const wifi_wci1_groups[] = { + "gpio43", +}; +static const char * const rmii1_refclk_groups[] = { + "gpio44", +}; +static const char * const blsp_spi1_groups[] = { + "gpio44", "gpio45", "gpio46", "gpio47", +}; +static const char * const led5_groups[] = { + "gpio44", +}; +static const char * const rmii10_groups[] = { + "gpio45", "gpio50", +}; +static const char * const led6_groups[] = { + "gpio45", +}; +static const char * const rmii11_groups[] = { + "gpio46", "gpio51", +}; +static const char * const led7_groups[] = { + "gpio46", +}; +static const char * const rmii1_dv_groups[] = { + "gpio47", +}; +static const char * const led8_groups[] = { + "gpio47", +}; +static const char * const rmii1_tx_groups[] = { + "gpio48", +}; +static const char * const aud_pin_groups[] = { + "gpio48", "gpio49", "gpio50", "gpio51", +}; +static const char * const led9_groups[] = { + "gpio48", +}; +static const char * const rmii1_rx_groups[] = { + "gpio49", +}; +static const char * const led10_groups[] = { + "gpio49", +}; +static const char * const wifi0_rfsilient1_groups[] = { + "gpio50", +}; +static const char * const wifi1_rfsilient1_groups[] = { + "gpio50", +}; +static const char * const led11_groups[] = { + "gpio50", +}; +static const char * const boot7_groups[] = { + "gpio51", +}; +static const char * const qpic_pad_groups[] = { + "gpio52", "gpio53", "gpio54", "gpio55", "gpio56", "gpio61", "gpio62", + "gpio63", "gpio69", +}; +static const char * const pcie_clk_groups[] = { + "gpio52", +}; +static const char * const tm_clk0_groups[] = { + "gpio52", +}; +static const char * const wifi00_groups[] = { + "gpio52", +}; +static const char * const wifi10_groups[] = { + "gpio52", +}; +static const char * const mdio1_groups[] = { + "gpio53", +}; +static const char * const prng_rosc_groups[] = { + "gpio53", +}; +static const char * const dbg_out_groups[] = { + "gpio53", +}; +static const char * const tm0_groups[] = { + "gpio53", +}; +static const char * const wifi01_groups[] = { + "gpio53", +}; +static const char * const wifi11_groups[] = { + "gpio53", +}; +static const char * const atest_char3_groups[] = { + "gpio54", +}; +static const char * const pmu0_groups[] = { + "gpio54", +}; +static const char * const boot8_groups[] = { + "gpio54", +}; +static const char * const tm1_groups[] = { + "gpio54", +}; +static const char * const atest_char2_groups[] = { + "gpio55", +}; +static const char * const pmu1_groups[] = { + "gpio55", +}; +static const char * const boot9_groups[] = { + "gpio55", +}; +static const char * const tm2_groups[] = { + "gpio55", +}; +static const char * const atest_char1_groups[] = { + "gpio56", +}; +static const char * const tm_ack_groups[] = { + "gpio56", +}; +static const char * const wifi03_groups[] = { + "gpio56", +}; +static const char * const wifi13_groups[] = { + "gpio56", +}; +static const char * const qpic_pad4_groups[] = { + "gpio57", +}; +static const char * const atest_char0_groups[] = { + "gpio57", +}; +static const char * const tm3_groups[] = { + "gpio57", +}; +static const char * const wifi02_groups[] = { + "gpio57", +}; +static const char * const wifi12_groups[] = { + "gpio57", +}; +static const char * const qpic_pad5_groups[] = { + "gpio58", +}; +static const char * const smart3_groups[] = { + "gpio58", "gpio59", "gpio60", "gpio61", +}; +static const char * const wcss0_dbg14_groups[] = { + "gpio58", +}; +static const char * const tm4_groups[] = { + "gpio58", +}; +static const char * const wifi04_groups[] = { + "gpio58", +}; +static const char * const wifi14_groups[] = { + "gpio58", +}; +static const char * const qpic_pad6_groups[] = { + "gpio59", +}; +static const char * const wcss0_dbg15_groups[] = { + "gpio59", +}; +static const char * const qdss_tracectl_a_groups[] = { + "gpio59", +}; +static const char * const boot18_groups[] = { + "gpio59", +}; +static const char * const tm5_groups[] = { + "gpio59", +}; +static const char * const qpic_pad7_groups[] = { + "gpio60", +}; +static const char * const atest_char_groups[] = { + "gpio60", +}; +static const char * const wcss0_dbg4_groups[] = { + "gpio60", +}; +static const char * const qdss_traceclk_a_groups[] = { + "gpio60", +}; +static const char * const boot19_groups[] = { + "gpio60", +}; +static const char * const tm6_groups[] = { + "gpio60", +}; +static const char * const wcss0_dbg5_groups[] = { + "gpio61", +}; +static const char * const qdss_cti_trig_out_a0_groups[] = { + "gpio61", +}; +static const char * const boot14_groups[] = { + "gpio61", +}; +static const char * const tm7_groups[] = { + "gpio61", +}; +static const char * const chip_rst_groups[] = { + "gpio62", +}; +static const char * const wcss0_dbg6_groups[] = { + "gpio62", +}; +static const char * const qdss_cti_trig_out_b0_groups[] = { + "gpio62", +}; +static const char * const boot11_groups[] = { + "gpio62", +}; +static const char * const tm8_groups[] = { + "gpio62", +}; +static const char * const wcss0_dbg7_groups[] = { + "gpio63", +}; +static const char * const wcss1_dbg7_groups[] = { + "gpio63", +}; +static const char * const boot20_groups[] = { + "gpio63", +}; +static const char * const tm9_groups[] = { + "gpio63", +}; +static const char * const qpic_pad1_groups[] = { + "gpio64", +}; +static const char * const wcss0_dbg8_groups[] = { + "gpio64", +}; +static const char * const wcss1_dbg8_groups[] = { + "gpio64", +}; +static const char * const qpic_pad2_groups[] = { + "gpio65", +}; +static const char * const wcss0_dbg9_groups[] = { + "gpio65", +}; +static const char * const wcss1_dbg9_groups[] = { + "gpio65", +}; +static const char * const qpic_pad3_groups[] = { + "gpio66", +}; +static const char * const wcss0_dbg10_groups[] = { + "gpio66", +}; +static const char * const wcss1_dbg10_groups[] = { + "gpio66", +}; +static const char * const qpic_pad0_groups[] = { + "gpio67", +}; +static const char * const wcss0_dbg11_groups[] = { + "gpio67", +}; +static const char * const wcss1_dbg11_groups[] = { + "gpio67", +}; +static const char * const qpic_pad8_groups[] = { + "gpio68", +}; +static const char * const wcss0_dbg12_groups[] = { + "gpio68", +}; +static const char * const wcss1_dbg12_groups[] = { + "gpio68", +}; +static const char * const wifi034_groups[] = { + "gpio98", +}; +static const char * const wifi134_groups[] = { + "gpio98", +}; +static const char * const jtag_tdi_groups[] = { + "gpio0", +}; static const char * const gpio_groups[] = { "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7", "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14", @@ -303,13 +818,103 @@ static const char * const gpio_groups[] = { "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", "gpio99", }; - +static const char * const i2s_rx_bclk_groups[] = { + "gpio0", "gpio21", "gpio60", +}; +static const char * const jtag_tck_groups[] = { + "gpio1", +}; +static const char * const i2s_rx_fsync_groups[] = { + "gpio1", "gpio22", "gpio61", +}; +static const char * const jtag_tms_groups[] = { + "gpio2", +}; +static const char * const i2s_rxd_groups[] = { + "gpio2", "gpio23", "gpio63", +}; +static const char * const smart0_groups[] = { + "gpio0", "gpio1", "gpio2", "gpio5", "gpio44", "gpio45", "gpio46", + "gpio47", +}; +static const char * const jtag_tdo_groups[] = { + "gpio3", +}; +static const char * const jtag_rst_groups[] = { + "gpio4", +}; +static const char * const jtag_trst_groups[] = { + "gpio5", +}; +static const char * const mdio0_groups[] = { + "gpio6", +}; +static const char * const wcss0_dbg18_groups[] = { + "gpio6", "gpio22", "gpio39", +}; +static const char * const wcss1_dbg18_groups[] = { + "gpio6", "gpio22", "gpio39", +}; +static const char * const qdss_tracedata_a_groups[] = { + "gpio6", "gpio7", "gpio8", "gpio9", "gpio10", "gpio11", "gpio16", + "gpio17", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42", + "gpio43", +}; +static const char * const mdc_groups[] = { + "gpio7", "gpio52", +}; +static const char * const wcss0_dbg19_groups[] = { + "gpio7", "gpio23", "gpio40", +}; +static const char * const wcss1_dbg19_groups[] = { + "gpio7", "gpio23", "gpio40", +}; static const char * const blsp_uart1_groups[] = { "gpio8", "gpio9", "gpio10", "gpio11", }; +static const char * const wifi0_uart_groups[] = { + "gpio8", "gpio9", "gpio11", "gpio19", "gpio62", +}; +static const char * const wifi1_uart_groups[] = { + "gpio8", "gpio11", "gpio19", "gpio62", "gpio63", +}; +static const char * const smart1_groups[] = { + "gpio8", "gpio9", "gpio16", "gpio17", "gpio58", "gpio59", "gpio60", + "gpio61", +}; +static const char * const wcss0_dbg20_groups[] = { + "gpio8", "gpio24", "gpio41", +}; +static const char * const wcss1_dbg20_groups[] = { + "gpio8", "gpio24", "gpio41", +}; +static const char * const wifi0_uart0_groups[] = { + "gpio9", "gpio10", +}; +static const char * const wifi1_uart0_groups[] = { + "gpio9", "gpio10", +}; +static const char * const wcss0_dbg21_groups[] = { + "gpio9", "gpio25", "gpio42", +}; +static const char * const wcss1_dbg21_groups[] = { + "gpio9", "gpio25", "gpio42", +}; static const char * const blsp_i2c0_groups[] = { "gpio10", "gpio11", "gpio20", "gpio21", "gpio58", "gpio59", }; +static const char * const wcss0_dbg22_groups[] = { + "gpio10", "gpio26", "gpio43", +}; +static const char * const wcss1_dbg22_groups[] = { + "gpio10", "gpio26", "gpio43", +}; +static const char * const wcss0_dbg23_groups[] = { + "gpio11", "gpio27", "gpio44", +}; +static const char * const wcss1_dbg23_groups[] = { + "gpio11", "gpio27", "gpio44", +}; static const char * const blsp_spi0_groups[] = { "gpio12", "gpio13", "gpio14", "gpio15", "gpio45", "gpio54", "gpio55", "gpio56", "gpio57", @@ -317,94 +922,582 @@ static const char * const blsp_spi0_groups[] = { static const char * const blsp_i2c1_groups[] = { "gpio12", "gpio13", "gpio34", "gpio35", }; +static const char * const wcss0_dbg24_groups[] = { + "gpio12", "gpio28", "gpio45", +}; +static const char * const wcss1_dbg24_groups[] = { + "gpio12", "gpio28", "gpio45", +}; +static const char * const wcss0_dbg25_groups[] = { + "gpio13", "gpio29", "gpio46", +}; +static const char * const wcss1_dbg25_groups[] = { + "gpio13", "gpio29", "gpio46", +}; +static const char * const wcss0_dbg26_groups[] = { + "gpio14", "gpio30", "gpio47", +}; +static const char * const wcss1_dbg26_groups[] = { + "gpio14", "gpio30", "gpio47", +}; +static const char * const wcss0_dbg_groups[] = { + "gpio15", "gpio69", +}; +static const char * const wcss1_dbg_groups[] = { + "gpio15", +}; static const char * const blsp_uart0_groups[] = { "gpio16", "gpio17", "gpio60", "gpio61", }; -static const char * const blsp_spi1_groups[] = { - "gpio44", "gpio45", "gpio46", "gpio47", +static const char * const led0_groups[] = { + "gpio16", "gpio36", "gpio60", +}; +static const char * const wcss0_dbg28_groups[] = { + "gpio16", "gpio32", "gpio49", +}; +static const char * const wcss1_dbg28_groups[] = { + "gpio16", "gpio32", "gpio49", +}; +static const char * const led1_groups[] = { + "gpio17", "gpio37", "gpio61", +}; +static const char * const wcss0_dbg29_groups[] = { + "gpio17", "gpio33", "gpio50", +}; +static const char * const wcss1_dbg29_groups[] = { + "gpio17", "gpio33", "gpio50", +}; +static const char * const wifi0_uart1_groups[] = { + "gpio18", "gpio63", +}; +static const char * const wifi1_uart1_groups[] = { + "gpio18", "gpio63", +}; +static const char * const wcss0_dbg30_groups[] = { + "gpio18", "gpio34", "gpio51", +}; +static const char * const wcss1_dbg30_groups[] = { + "gpio18", "gpio34", "gpio51", +}; +static const char * const wcss0_dbg31_groups[] = { + "gpio19", "gpio35", "gpio52", +}; +static const char * const wcss1_dbg31_groups[] = { + "gpio19", "gpio35", +}; +static const char * const i2s_rx_mclk_groups[] = { + "gpio20", "gpio58", +}; +static const char * const wcss0_dbg16_groups[] = { + "gpio20", "gpio37", +}; +static const char * const wcss1_dbg16_groups[] = { + "gpio20", "gpio37", +}; +static const char * const wcss0_dbg17_groups[] = { + "gpio21", "gpio38", +}; +static const char * const wcss1_dbg17_groups[] = { + "gpio21", "gpio38", +}; +static const char * const rgmii0_groups[] = { + "gpio22", "gpio28", +}; +static const char * const sdio0_groups[] = { + "gpio23", +}; +static const char * const rgmii1_groups[] = { + "gpio23", "gpio29", +}; +static const char * const sdio1_groups[] = { + "gpio24", +}; +static const char * const rgmii2_groups[] = { + "gpio24", "gpio30", +}; +static const char * const i2s_tx_mclk_groups[] = { + "gpio24", "gpio52", +}; +static const char * const sdio2_groups[] = { + "gpio25", +}; +static const char * const rgmii3_groups[] = { + "gpio25", "gpio31", +}; +static const char * const i2s_tx_bclk_groups[] = { + "gpio25", "gpio53", "gpio60", +}; +static const char * const sdio3_groups[] = { + "gpio26", +}; +static const char * const rgmii_rx_groups[] = { + "gpio26", +}; +static const char * const i2s_tx_fsync_groups[] = { + "gpio26", "gpio57", "gpio61", +}; +static const char * const sdio_clk_groups[] = { + "gpio27", +}; +static const char * const rgmii_txc_groups[] = { + "gpio27", +}; +static const char * const i2s_td1_groups[] = { + "gpio27", "gpio54", "gpio63", +}; +static const char * const sdio_cmd_groups[] = { + "gpio28", +}; +static const char * const i2s_td2_groups[] = { + "gpio28", "gpio55", +}; +static const char * const sdio4_groups[] = { + "gpio29", +}; +static const char * const i2s_td3_groups[] = { + "gpio29", "gpio56", +}; +static const char * const sdio5_groups[] = { + "gpio30", +}; +static const char * const audio_pwm0_groups[] = { + "gpio30", "gpio64", +}; +static const char * const sdio6_groups[] = { + "gpio31", +}; +static const char * const audio_pwm1_groups[] = { + "gpio31", "gpio65", +}; +static const char * const wcss0_dbg27_groups[] = { + "gpio31", "gpio48", +}; +static const char * const wcss1_dbg27_groups[] = { + "gpio31", "gpio48", +}; +static const char * const sdio7_groups[] = { + "gpio32", +}; +static const char * const rgmii_rxc_groups[] = { + "gpio32", +}; +static const char * const audio_pwm2_groups[] = { + "gpio32", "gpio66", +}; +static const char * const rgmii_tx_groups[] = { + "gpio33", +}; +static const char * const audio_pwm3_groups[] = { + "gpio33", "gpio67", +}; +static const char * const boot2_groups[] = { + "gpio33", +}; +static const char * const i2s_spdif_in_groups[] = { + "gpio34", "gpio59", "gpio63", +}; +static const char * const i2s_spdif_out_groups[] = { + "gpio35", "gpio62", "gpio63", +}; +static const char * const rmii00_groups[] = { + "gpio36", "gpio41", +}; +static const char * const led2_groups[] = { + "gpio36", "gpio38", "gpio58", +}; +static const char * const rmii01_groups[] = { + "gpio37", "gpio42", +}; +static const char * const wifi0_wci_groups[] = { + "gpio37", +}; +static const char * const wifi1_wci_groups[] = { + "gpio37", +}; +static const char * const boot4_groups[] = { + "gpio37", +}; +static const char * const rmii0_tx_groups[] = { + "gpio38", +}; +static const char * const boot5_groups[] = { + "gpio38", +}; +static const char * const rmii0_rx_groups[] = { + "gpio39", +}; +static const char * const pcie_clk1_groups[] = { + "gpio39", +}; +static const char * const led3_groups[] = { + "gpio39", +}; +static const char * const sdio_cd_groups[] = { + "gpio22", }; static const struct msm_function ipq4019_functions[] = { + FUNCTION(rmii0_refclk), + FUNCTION(wifi0_rfsilient0), + FUNCTION(wifi1_rfsilient0), + FUNCTION(smart2), + FUNCTION(led4), + FUNCTION(wifi0_cal), + FUNCTION(wifi1_cal), + FUNCTION(wifi_wci0), + FUNCTION(rmii0_dv), + FUNCTION(wifi_wci1), + FUNCTION(rmii1_refclk), + FUNCTION(blsp_spi1), + FUNCTION(led5), + FUNCTION(rmii10), + FUNCTION(led6), + FUNCTION(rmii11), + FUNCTION(led7), + FUNCTION(rmii1_dv), + FUNCTION(led8), + FUNCTION(rmii1_tx), + FUNCTION(aud_pin), + FUNCTION(led9), + FUNCTION(rmii1_rx), + FUNCTION(led10), + FUNCTION(wifi0_rfsilient1), + FUNCTION(wifi1_rfsilient1), + FUNCTION(led11), + FUNCTION(boot7), + FUNCTION(qpic_pad), + FUNCTION(pcie_clk), + FUNCTION(tm_clk0), + FUNCTION(wifi00), + FUNCTION(wifi10), + FUNCTION(mdio1), + FUNCTION(prng_rosc), + FUNCTION(dbg_out), + FUNCTION(tm0), + FUNCTION(wifi01), + FUNCTION(wifi11), + FUNCTION(atest_char3), + FUNCTION(pmu0), + FUNCTION(boot8), + FUNCTION(tm1), + FUNCTION(atest_char2), + FUNCTION(pmu1), + FUNCTION(boot9), + FUNCTION(tm2), + FUNCTION(atest_char1), + FUNCTION(tm_ack), + FUNCTION(wifi03), + FUNCTION(wifi13), + FUNCTION(qpic_pad4), + FUNCTION(atest_char0), + FUNCTION(tm3), + FUNCTION(wifi02), + FUNCTION(wifi12), + FUNCTION(qpic_pad5), + FUNCTION(smart3), + FUNCTION(wcss0_dbg14), + FUNCTION(tm4), + FUNCTION(wifi04), + FUNCTION(wifi14), + FUNCTION(qpic_pad6), + FUNCTION(wcss0_dbg15), + FUNCTION(qdss_tracectl_a), + FUNCTION(boot18), + FUNCTION(tm5), + FUNCTION(qpic_pad7), + FUNCTION(atest_char), + FUNCTION(wcss0_dbg4), + FUNCTION(qdss_traceclk_a), + FUNCTION(boot19), + FUNCTION(tm6), + FUNCTION(wcss0_dbg5), + FUNCTION(qdss_cti_trig_out_a0), + FUNCTION(boot14), + FUNCTION(tm7), + FUNCTION(chip_rst), + FUNCTION(wcss0_dbg6), + FUNCTION(qdss_cti_trig_out_b0), + FUNCTION(boot11), + FUNCTION(tm8), + FUNCTION(wcss0_dbg7), + FUNCTION(wcss1_dbg7), + FUNCTION(boot20), + FUNCTION(tm9), + FUNCTION(qpic_pad1), + FUNCTION(wcss0_dbg8), + FUNCTION(wcss1_dbg8), + FUNCTION(qpic_pad2), + FUNCTION(wcss0_dbg9), + FUNCTION(wcss1_dbg9), + FUNCTION(qpic_pad3), + FUNCTION(wcss0_dbg10), + FUNCTION(wcss1_dbg10), + FUNCTION(qpic_pad0), + FUNCTION(wcss0_dbg11), + FUNCTION(wcss1_dbg11), + FUNCTION(qpic_pad8), + FUNCTION(wcss0_dbg12), + FUNCTION(wcss1_dbg12), + FUNCTION(wifi034), + FUNCTION(wifi134), + FUNCTION(jtag_tdi), FUNCTION(gpio), + FUNCTION(i2s_rx_bclk), + FUNCTION(jtag_tck), + FUNCTION(i2s_rx_fsync), + FUNCTION(jtag_tms), + FUNCTION(i2s_rxd), + FUNCTION(smart0), + FUNCTION(jtag_tdo), + FUNCTION(jtag_rst), + FUNCTION(jtag_trst), + FUNCTION(mdio0), + FUNCTION(wcss0_dbg18), + FUNCTION(wcss1_dbg18), + FUNCTION(qdss_tracedata_a), + FUNCTION(mdc), + FUNCTION(wcss0_dbg19), + FUNCTION(wcss1_dbg19), FUNCTION(blsp_uart1), + FUNCTION(wifi0_uart), + FUNCTION(wifi1_uart), + FUNCTION(smart1), + FUNCTION(wcss0_dbg20), + FUNCTION(wcss1_dbg20), + FUNCTION(wifi0_uart0), + FUNCTION(wifi1_uart0), + FUNCTION(wcss0_dbg21), + FUNCTION(wcss1_dbg21), FUNCTION(blsp_i2c0), + FUNCTION(wcss0_dbg22), + FUNCTION(wcss1_dbg22), + FUNCTION(wcss0_dbg23), + FUNCTION(wcss1_dbg23), + FUNCTION(blsp_spi0), FUNCTION(blsp_i2c1), + FUNCTION(wcss0_dbg24), + FUNCTION(wcss1_dbg24), + FUNCTION(wcss0_dbg25), + FUNCTION(wcss1_dbg25), + FUNCTION(wcss0_dbg26), + FUNCTION(wcss1_dbg26), + FUNCTION(wcss0_dbg), + FUNCTION(wcss1_dbg), FUNCTION(blsp_uart0), - FUNCTION(blsp_spi1), - FUNCTION(blsp_spi0), + FUNCTION(led0), + FUNCTION(wcss0_dbg28), + FUNCTION(wcss1_dbg28), + FUNCTION(led1), + FUNCTION(wcss0_dbg29), + FUNCTION(wcss1_dbg29), + FUNCTION(wifi0_uart1), + FUNCTION(wifi1_uart1), + FUNCTION(wcss0_dbg30), + FUNCTION(wcss1_dbg30), + FUNCTION(wcss0_dbg31), + FUNCTION(wcss1_dbg31), + FUNCTION(i2s_rx_mclk), + FUNCTION(wcss0_dbg16), + FUNCTION(wcss1_dbg16), + FUNCTION(wcss0_dbg17), + FUNCTION(wcss1_dbg17), + FUNCTION(rgmii0), + FUNCTION(sdio0), + FUNCTION(rgmii1), + FUNCTION(sdio1), + FUNCTION(rgmii2), + FUNCTION(i2s_tx_mclk), + FUNCTION(sdio2), + FUNCTION(rgmii3), + FUNCTION(i2s_tx_bclk), + FUNCTION(sdio3), + FUNCTION(rgmii_rx), + FUNCTION(i2s_tx_fsync), + FUNCTION(sdio_clk), + FUNCTION(rgmii_txc), + FUNCTION(i2s_td1), + FUNCTION(sdio_cmd), + FUNCTION(i2s_td2), + FUNCTION(sdio4), + FUNCTION(i2s_td3), + FUNCTION(sdio5), + FUNCTION(audio_pwm0), + FUNCTION(sdio6), + FUNCTION(audio_pwm1), + FUNCTION(wcss0_dbg27), + FUNCTION(wcss1_dbg27), + FUNCTION(sdio7), + FUNCTION(rgmii_rxc), + FUNCTION(audio_pwm2), + FUNCTION(rgmii_tx), + FUNCTION(audio_pwm3), + FUNCTION(boot2), + FUNCTION(i2s_spdif_in), + FUNCTION(i2s_spdif_out), + FUNCTION(rmii00), + FUNCTION(led2), + FUNCTION(rmii01), + FUNCTION(wifi0_wci), + FUNCTION(wifi1_wci), + FUNCTION(boot4), + FUNCTION(rmii0_tx), + FUNCTION(boot5), + FUNCTION(rmii0_rx), + FUNCTION(pcie_clk1), + FUNCTION(led3), + FUNCTION(sdio_cd), }; static const struct msm_pingroup ipq4019_groups[] = { - PINGROUP(0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(2, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(4, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(5, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(6, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(7, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(8, blsp_uart1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(9, blsp_uart1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(10, blsp_uart1, NA, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(11, blsp_uart1, NA, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(12, blsp_spi0, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(13, blsp_spi0, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(14, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(15, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(16, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(17, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(18, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(19, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(20, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(21, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(22, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(23, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(24, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(25, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(26, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(27, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(28, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(29, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(30, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(31, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(32, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(33, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(34, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(35, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(36, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(37, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(38, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(39, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(40, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(41, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(42, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(43, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(44, NA, blsp_spi1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(45, NA, blsp_spi1, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(46, NA, blsp_spi1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(47, NA, blsp_spi1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(48, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(49, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(50, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(51, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(52, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(53, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(54, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(55, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(56, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(57, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(58, NA, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(59, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(60, NA, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(61, NA, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(62, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(63, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(65, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(66, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(67, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(68, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(69, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(0, jtag_tdi, smart0, i2s_rx_bclk, NA, NA, NA, NA, NA, NA, NA, + NA, NA, NA, NA), + PINGROUP(1, jtag_tck, smart0, i2s_rx_fsync, NA, NA, NA, NA, NA, NA, NA, + NA, NA, NA, NA), + PINGROUP(2, jtag_tms, smart0, i2s_rxd, NA, NA, NA, NA, NA, NA, NA, NA, + NA, NA, NA), + PINGROUP(3, jtag_tdo, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, + NA), + PINGROUP(4, jtag_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, + NA), + PINGROUP(5, jtag_trst, smart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, + NA, NA), + PINGROUP(6, mdio0, NA, wcss0_dbg18, wcss1_dbg18, NA, qdss_tracedata_a, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(7, mdc, NA, wcss0_dbg19, wcss1_dbg19, NA, qdss_tracedata_a, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(8, blsp_uart1, wifi0_uart, wifi1_uart, smart1, NA, + wcss0_dbg20, wcss1_dbg20, NA, qdss_tracedata_a, NA, NA, NA, + NA, NA), + PINGROUP(9, blsp_uart1, wifi0_uart0, wifi1_uart0, smart1, wifi0_uart, + NA, wcss0_dbg21, wcss1_dbg21, NA, qdss_tracedata_a, NA, NA, + NA, NA), + PINGROUP(10, blsp_uart1, wifi0_uart0, wifi1_uart0, blsp_i2c0, NA, + wcss0_dbg22, wcss1_dbg22, NA, qdss_tracedata_a, NA, NA, NA, + NA, NA), + PINGROUP(11, blsp_uart1, wifi0_uart, wifi1_uart, blsp_i2c0, NA, + wcss0_dbg23, wcss1_dbg23, NA, qdss_tracedata_a, NA, NA, NA, + NA, NA), + PINGROUP(12, blsp_spi0, blsp_i2c1, NA, wcss0_dbg24, wcss1_dbg24, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(13, blsp_spi0, blsp_i2c1, NA, wcss0_dbg25, wcss1_dbg25, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(14, blsp_spi0, NA, wcss0_dbg26, wcss1_dbg26, NA, NA, NA, NA, + NA, NA, NA, NA, NA, NA), + PINGROUP(15, blsp_spi0, NA, wcss0_dbg, wcss1_dbg, NA, NA, NA, NA, NA, + NA, NA, NA, NA, NA), + PINGROUP(16, blsp_uart0, led0, smart1, NA, wcss0_dbg28, wcss1_dbg28, + NA, qdss_tracedata_a, NA, NA, NA, NA, NA, NA), + PINGROUP(17, blsp_uart0, led1, smart1, NA, wcss0_dbg29, wcss1_dbg29, + NA, qdss_tracedata_a, NA, NA, NA, NA, NA, NA), + PINGROUP(18, wifi0_uart1, wifi1_uart1, NA, wcss0_dbg30, wcss1_dbg30, + NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(19, wifi0_uart, wifi1_uart, NA, wcss0_dbg31, wcss1_dbg31, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(20, blsp_i2c0, i2s_rx_mclk, NA, wcss0_dbg16, wcss1_dbg16, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(21, blsp_i2c0, i2s_rx_bclk, NA, wcss0_dbg17, wcss1_dbg17, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(22, rgmii0, i2s_rx_fsync, NA, wcss0_dbg18, wcss1_dbg18, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(23, sdio0, rgmii1, i2s_rxd, NA, wcss0_dbg19, wcss1_dbg19, NA, + NA, NA, NA, NA, NA, NA, NA), + PINGROUP(24, sdio1, rgmii2, i2s_tx_mclk, NA, wcss0_dbg20, wcss1_dbg20, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(25, sdio2, rgmii3, i2s_tx_bclk, NA, wcss0_dbg21, wcss1_dbg21, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(26, sdio3, rgmii_rx, i2s_tx_fsync, NA, wcss0_dbg22, + wcss1_dbg22, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(27, sdio_clk, rgmii_txc, i2s_td1, NA, wcss0_dbg23, + wcss1_dbg23, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(28, sdio_cmd, rgmii0, i2s_td2, NA, wcss0_dbg24, wcss1_dbg24, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(29, sdio4, rgmii1, i2s_td3, NA, wcss0_dbg25, wcss1_dbg25, NA, + NA, NA, NA, NA, NA, NA, NA), + PINGROUP(30, sdio5, rgmii2, audio_pwm0, NA, wcss0_dbg26, wcss1_dbg26, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(31, sdio6, rgmii3, audio_pwm1, NA, wcss0_dbg27, wcss1_dbg27, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(32, sdio7, rgmii_rxc, audio_pwm2, NA, wcss0_dbg28, + wcss1_dbg28, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(33, rgmii_tx, audio_pwm3, NA, wcss0_dbg29, wcss1_dbg29, NA, + boot2, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(34, blsp_i2c1, i2s_spdif_in, NA, wcss0_dbg30, wcss1_dbg30, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(35, blsp_i2c1, i2s_spdif_out, NA, wcss0_dbg31, wcss1_dbg31, + NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(36, rmii00, led2, led0, NA, NA, NA, NA, NA, NA, NA, NA, NA, + NA, NA), + PINGROUP(37, rmii01, wifi0_wci, wifi1_wci, led1, NA, NA, wcss0_dbg16, + wcss1_dbg16, NA, qdss_tracedata_a, boot4, NA, NA, NA), + PINGROUP(38, rmii0_tx, led2, NA, NA, wcss0_dbg17, wcss1_dbg17, NA, + qdss_tracedata_a, boot5, NA, NA, NA, NA, NA), + PINGROUP(39, rmii0_rx, pcie_clk1, led3, NA, NA, wcss0_dbg18, + wcss1_dbg18, NA, NA, qdss_tracedata_a, NA, NA, NA, NA), + PINGROUP(40, rmii0_refclk, wifi0_rfsilient0, wifi1_rfsilient0, smart2, + led4, NA, NA, wcss0_dbg19, wcss1_dbg19, NA, NA, + qdss_tracedata_a, NA, NA), + PINGROUP(41, rmii00, wifi0_cal, wifi1_cal, smart2, NA, NA, wcss0_dbg20, + wcss1_dbg20, NA, NA, qdss_tracedata_a, NA, NA, NA), + PINGROUP(42, rmii01, wifi_wci0, NA, NA, wcss0_dbg21, wcss1_dbg21, NA, + NA, qdss_tracedata_a, NA, NA, NA, NA, NA), + PINGROUP(43, rmii0_dv, wifi_wci1, NA, NA, wcss0_dbg22, wcss1_dbg22, NA, + NA, qdss_tracedata_a, NA, NA, NA, NA, NA), + PINGROUP(44, rmii1_refclk, blsp_spi1, smart0, led5, NA, NA, + wcss0_dbg23, wcss1_dbg23, NA, NA, NA, NA, NA, NA), + PINGROUP(45, rmii10, blsp_spi1, blsp_spi0, smart0, led6, NA, NA, + wcss0_dbg24, wcss1_dbg24, NA, NA, NA, NA, NA), + PINGROUP(46, rmii11, blsp_spi1, smart0, led7, NA, NA, wcss0_dbg25, + wcss1_dbg25, NA, NA, NA, NA, NA, NA), + PINGROUP(47, rmii1_dv, blsp_spi1, smart0, led8, NA, NA, wcss0_dbg26, + wcss1_dbg26, NA, NA, NA, NA, NA, NA), + PINGROUP(48, rmii1_tx, aud_pin, smart2, led9, NA, NA, wcss0_dbg27, + wcss1_dbg27, NA, NA, NA, NA, NA, NA), + PINGROUP(49, rmii1_rx, aud_pin, smart2, led10, NA, NA, wcss0_dbg28, + wcss1_dbg28, NA, NA, NA, NA, NA, NA), + PINGROUP(50, rmii10, aud_pin, wifi0_rfsilient1, wifi1_rfsilient1, + led11, NA, NA, wcss0_dbg29, wcss1_dbg29, NA, NA, NA, NA, NA), + PINGROUP(51, rmii11, aud_pin, wifi0_cal, wifi1_cal, NA, NA, + wcss0_dbg30, wcss1_dbg30, NA, boot7, NA, NA, NA, NA), + PINGROUP(52, qpic_pad, mdc, pcie_clk, i2s_tx_mclk, NA, NA, wcss0_dbg31, + tm_clk0, wifi00, wifi10, NA, NA, NA, NA), + PINGROUP(53, qpic_pad, mdio1, i2s_tx_bclk, prng_rosc, dbg_out, tm0, + wifi01, wifi11, NA, NA, NA, NA, NA, NA), + PINGROUP(54, qpic_pad, blsp_spi0, i2s_td1, atest_char3, pmu0, NA, NA, + boot8, tm1, NA, NA, NA, NA, NA), + PINGROUP(55, qpic_pad, blsp_spi0, i2s_td2, atest_char2, pmu1, NA, NA, + boot9, tm2, NA, NA, NA, NA, NA), + PINGROUP(56, qpic_pad, blsp_spi0, i2s_td3, atest_char1, NA, tm_ack, + wifi03, wifi13, NA, NA, NA, NA, NA, NA), + PINGROUP(57, qpic_pad4, blsp_spi0, i2s_tx_fsync, atest_char0, NA, tm3, + wifi02, wifi12, NA, NA, NA, NA, NA, NA), + PINGROUP(58, qpic_pad5, led2, blsp_i2c0, smart3, smart1, i2s_rx_mclk, + NA, wcss0_dbg14, tm4, wifi04, wifi14, NA, NA, NA), + PINGROUP(59, qpic_pad6, blsp_i2c0, smart3, smart1, i2s_spdif_in, NA, + NA, wcss0_dbg15, qdss_tracectl_a, boot18, tm5, NA, NA, NA), + PINGROUP(60, qpic_pad7, blsp_uart0, smart1, smart3, led0, i2s_tx_bclk, + i2s_rx_bclk, atest_char, NA, wcss0_dbg4, qdss_traceclk_a, + boot19, tm6, NA), + PINGROUP(61, qpic_pad, blsp_uart0, smart1, smart3, led1, i2s_tx_fsync, + i2s_rx_fsync, NA, NA, wcss0_dbg5, qdss_cti_trig_out_a0, + boot14, tm7, NA), + PINGROUP(62, qpic_pad, chip_rst, wifi0_uart, wifi1_uart, i2s_spdif_out, + NA, NA, wcss0_dbg6, qdss_cti_trig_out_b0, boot11, tm8, NA, NA, + NA), + PINGROUP(63, qpic_pad, wifi0_uart1, wifi1_uart1, wifi1_uart, i2s_td1, + i2s_rxd, i2s_spdif_out, i2s_spdif_in, NA, wcss0_dbg7, + wcss1_dbg7, boot20, tm9, NA), + PINGROUP(64, qpic_pad1, audio_pwm0, NA, wcss0_dbg8, wcss1_dbg8, NA, NA, + NA, NA, NA, NA, NA, NA, NA), + PINGROUP(65, qpic_pad2, audio_pwm1, NA, wcss0_dbg9, wcss1_dbg9, NA, NA, + NA, NA, NA, NA, NA, NA, NA), + PINGROUP(66, qpic_pad3, audio_pwm2, NA, wcss0_dbg10, wcss1_dbg10, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(67, qpic_pad0, audio_pwm3, NA, wcss0_dbg11, wcss1_dbg11, NA, + NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(68, qpic_pad8, NA, wcss0_dbg12, wcss1_dbg12, NA, NA, NA, NA, + NA, NA, NA, NA, NA, NA), + PINGROUP(69, qpic_pad, NA, wcss0_dbg, NA, NA, NA, NA, NA, NA, NA, NA, + NA, NA, NA), PINGROUP(70, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), PINGROUP(71, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), PINGROUP(72, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), @@ -433,7 +1526,8 @@ static const struct msm_pingroup ipq4019_groups[] = { PINGROUP(95, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), PINGROUP(96, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), PINGROUP(97, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(98, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(98, wifi034, wifi134, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, + NA, NA), PINGROUP(99, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), }; -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html