diff options
author | Geert Uytterhoeven <geert+renesas@linux-m68k.org> | 2014-01-12 06:00:30 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-02-10 04:13:07 -0500 |
commit | 2d0c386f135e41865f15e467fa1c6c0ec93d4a60 (patch) | |
tree | e410182b3020f62a09c78f896616e4153a1d7d16 /drivers/pinctrl/sh-pfc/pfc-r8a7791.c | |
parent | 155795b9d143f4210c19ab50462e19fdeb38bc81 (diff) |
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>
Diffstat (limited to 'drivers/pinctrl/sh-pfc/pfc-r8a7791.c')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7791.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c index 77d103fe39d9..2a64589b5dc4 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c | |||
@@ -2135,6 +2135,53 @@ static const unsigned int msiof2_tx_pins[] = { | |||
2135 | static const unsigned int msiof2_tx_mux[] = { | 2135 | static const unsigned int msiof2_tx_mux[] = { |
2136 | MSIOF2_TXD_MARK, | 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 | /* - SCIF0 ------------------------------------------------------------------ */ | 2185 | /* - SCIF0 ------------------------------------------------------------------ */ |
2139 | static const unsigned int scif0_data_pins[] = { | 2186 | static const unsigned int scif0_data_pins[] = { |
2140 | /* RX, TX */ | 2187 | /* RX, TX */ |
@@ -3149,6 +3196,12 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
3149 | SH_PFC_PIN_GROUP(msiof2_ss2), | 3196 | SH_PFC_PIN_GROUP(msiof2_ss2), |
3150 | SH_PFC_PIN_GROUP(msiof2_rx), | 3197 | SH_PFC_PIN_GROUP(msiof2_rx), |
3151 | SH_PFC_PIN_GROUP(msiof2_tx), | 3198 | SH_PFC_PIN_GROUP(msiof2_tx), |
3199 | SH_PFC_PIN_GROUP(qspi_ctrl), | ||
3200 | SH_PFC_PIN_GROUP(qspi_data2), | ||
3201 | SH_PFC_PIN_GROUP(qspi_data4), | ||
3202 | SH_PFC_PIN_GROUP(qspi_ctrl_b), | ||
3203 | SH_PFC_PIN_GROUP(qspi_data2_b), | ||
3204 | SH_PFC_PIN_GROUP(qspi_data4_b), | ||
3152 | SH_PFC_PIN_GROUP(scif0_data), | 3205 | SH_PFC_PIN_GROUP(scif0_data), |
3153 | SH_PFC_PIN_GROUP(scif0_data_b), | 3206 | SH_PFC_PIN_GROUP(scif0_data_b), |
3154 | SH_PFC_PIN_GROUP(scif0_data_c), | 3207 | SH_PFC_PIN_GROUP(scif0_data_c), |
@@ -3376,6 +3429,15 @@ static const char * const msiof2_groups[] = { | |||
3376 | "msiof2_tx", | 3429 | "msiof2_tx", |
3377 | }; | 3430 | }; |
3378 | 3431 | ||
3432 | static const char * const qspi_groups[] = { | ||
3433 | "qspi_ctrl", | ||
3434 | "qspi_data2", | ||
3435 | "qspi_data4", | ||
3436 | "qspi_ctrl_b", | ||
3437 | "qspi_data2_b", | ||
3438 | "qspi_data4_b", | ||
3439 | }; | ||
3440 | |||
3379 | static const char * const scif0_groups[] = { | 3441 | static const char * const scif0_groups[] = { |
3380 | "scif0_data", | 3442 | "scif0_data", |
3381 | "scif0_data_b", | 3443 | "scif0_data_b", |
@@ -3571,6 +3633,7 @@ static const struct sh_pfc_function pinmux_functions[] = { | |||
3571 | SH_PFC_FUNCTION(msiof0), | 3633 | SH_PFC_FUNCTION(msiof0), |
3572 | SH_PFC_FUNCTION(msiof1), | 3634 | SH_PFC_FUNCTION(msiof1), |
3573 | SH_PFC_FUNCTION(msiof2), | 3635 | SH_PFC_FUNCTION(msiof2), |
3636 | SH_PFC_FUNCTION(qspi), | ||
3574 | SH_PFC_FUNCTION(scif0), | 3637 | SH_PFC_FUNCTION(scif0), |
3575 | SH_PFC_FUNCTION(scif1), | 3638 | SH_PFC_FUNCTION(scif1), |
3576 | SH_PFC_FUNCTION(scif2), | 3639 | SH_PFC_FUNCTION(scif2), |