Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: sh-pfc: r8a7791: Add QSPI pin groups

A QSPI function set consists of 3 groups:
- qspi_ctrl (2 control wires)
- qspi_data2 (2 data wires, for Single/Dual SPI)
- qspi_data4 (4 data wires, for Quad SPI)

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

authored by

Geert Uytterhoeven and committed by
Linus Walleij
2d0c386f 155795b9

+63
+63
drivers/pinctrl/sh-pfc/pfc-r8a7791.c
··· 2135 2135 static const unsigned int msiof2_tx_mux[] = { 2136 2136 MSIOF2_TXD_MARK, 2137 2137 }; 2138 + /* - QSPI ------------------------------------------------------------------- */ 2139 + static const unsigned int qspi_ctrl_pins[] = { 2140 + /* SPCLK, SSL */ 2141 + RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 9), 2142 + }; 2143 + static const unsigned int qspi_ctrl_mux[] = { 2144 + SPCLK_MARK, SSL_MARK, 2145 + }; 2146 + static const unsigned int qspi_data2_pins[] = { 2147 + /* MOSI_IO0, MISO_IO1 */ 2148 + RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6), 2149 + }; 2150 + static const unsigned int qspi_data2_mux[] = { 2151 + MOSI_IO0_MARK, MISO_IO1_MARK, 2152 + }; 2153 + static const unsigned int qspi_data4_pins[] = { 2154 + /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 2155 + RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7), 2156 + RCAR_GP_PIN(1, 8), 2157 + }; 2158 + static const unsigned int qspi_data4_mux[] = { 2159 + MOSI_IO0_MARK, MISO_IO1_MARK, IO2_MARK, IO3_MARK, 2160 + }; 2161 + 2162 + static const unsigned int qspi_ctrl_b_pins[] = { 2163 + /* SPCLK, SSL */ 2164 + RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 5), 2165 + }; 2166 + static const unsigned int qspi_ctrl_b_mux[] = { 2167 + SPCLK_B_MARK, SSL_B_MARK, 2168 + }; 2169 + static const unsigned int qspi_data2_b_pins[] = { 2170 + /* MOSI_IO0, MISO_IO1 */ 2171 + RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 2), 2172 + }; 2173 + static const unsigned int qspi_data2_b_mux[] = { 2174 + MOSI_IO0_B_MARK, MISO_IO1_B_MARK, 2175 + }; 2176 + static const unsigned int qspi_data4_b_pins[] = { 2177 + /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 2178 + RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3), 2179 + RCAR_GP_PIN(6, 4), 2180 + }; 2181 + static const unsigned int qspi_data4_b_mux[] = { 2182 + SPCLK_B_MARK, MOSI_IO0_B_MARK, MISO_IO1_B_MARK, 2183 + IO2_B_MARK, IO3_B_MARK, SSL_B_MARK, 2184 + }; 2138 2185 /* - SCIF0 ------------------------------------------------------------------ */ 2139 2186 static const unsigned int scif0_data_pins[] = { 2140 2187 /* RX, TX */ ··· 3196 3149 SH_PFC_PIN_GROUP(msiof2_ss2), 3197 3150 SH_PFC_PIN_GROUP(msiof2_rx), 3198 3151 SH_PFC_PIN_GROUP(msiof2_tx), 3152 + SH_PFC_PIN_GROUP(qspi_ctrl), 3153 + SH_PFC_PIN_GROUP(qspi_data2), 3154 + SH_PFC_PIN_GROUP(qspi_data4), 3155 + SH_PFC_PIN_GROUP(qspi_ctrl_b), 3156 + SH_PFC_PIN_GROUP(qspi_data2_b), 3157 + SH_PFC_PIN_GROUP(qspi_data4_b), 3199 3158 SH_PFC_PIN_GROUP(scif0_data), 3200 3159 SH_PFC_PIN_GROUP(scif0_data_b), 3201 3160 SH_PFC_PIN_GROUP(scif0_data_c), ··· 3429 3376 "msiof2_tx", 3430 3377 }; 3431 3378 3379 + static const char * const qspi_groups[] = { 3380 + "qspi_ctrl", 3381 + "qspi_data2", 3382 + "qspi_data4", 3383 + "qspi_ctrl_b", 3384 + "qspi_data2_b", 3385 + "qspi_data4_b", 3386 + }; 3387 + 3432 3388 static const char * const scif0_groups[] = { 3433 3389 "scif0_data", 3434 3390 "scif0_data_b", ··· 3633 3571 SH_PFC_FUNCTION(msiof0), 3634 3572 SH_PFC_FUNCTION(msiof1), 3635 3573 SH_PFC_FUNCTION(msiof2), 3574 + SH_PFC_FUNCTION(qspi), 3636 3575 SH_PFC_FUNCTION(scif0), 3637 3576 SH_PFC_FUNCTION(scif1), 3638 3577 SH_PFC_FUNCTION(scif2),