aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@linux-m68k.org>2014-01-12 06:00:30 -0500
committerLinus Walleij <linus.walleij@linaro.org>2014-02-10 04:13:07 -0500
commit2d0c386f135e41865f15e467fa1c6c0ec93d4a60 (patch)
treee410182b3020f62a09c78f896616e4153a1d7d16 /drivers/pinctrl/sh-pfc/pfc-r8a7791.c
parent155795b9d143f4210c19ab50462e19fdeb38bc81 (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.c63
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[] = {
2135static const unsigned int msiof2_tx_mux[] = { 2135static const unsigned int msiof2_tx_mux[] = {
2136 MSIOF2_TXD_MARK, 2136 MSIOF2_TXD_MARK,
2137}; 2137};
2138/* - QSPI ------------------------------------------------------------------- */
2139static const unsigned int qspi_ctrl_pins[] = {
2140 /* SPCLK, SSL */
2141 RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 9),
2142};
2143static const unsigned int qspi_ctrl_mux[] = {
2144 SPCLK_MARK, SSL_MARK,
2145};
2146static const unsigned int qspi_data2_pins[] = {
2147 /* MOSI_IO0, MISO_IO1 */
2148 RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6),
2149};
2150static const unsigned int qspi_data2_mux[] = {
2151 MOSI_IO0_MARK, MISO_IO1_MARK,
2152};
2153static 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};
2158static const unsigned int qspi_data4_mux[] = {
2159 MOSI_IO0_MARK, MISO_IO1_MARK, IO2_MARK, IO3_MARK,
2160};
2161
2162static const unsigned int qspi_ctrl_b_pins[] = {
2163 /* SPCLK, SSL */
2164 RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 5),
2165};
2166static const unsigned int qspi_ctrl_b_mux[] = {
2167 SPCLK_B_MARK, SSL_B_MARK,
2168};
2169static const unsigned int qspi_data2_b_pins[] = {
2170 /* MOSI_IO0, MISO_IO1 */
2171 RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 2),
2172};
2173static const unsigned int qspi_data2_b_mux[] = {
2174 MOSI_IO0_B_MARK, MISO_IO1_B_MARK,
2175};
2176static 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};
2181static 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 ------------------------------------------------------------------ */
2139static const unsigned int scif0_data_pins[] = { 2186static 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
3432static 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
3379static const char * const scif0_groups[] = { 3441static 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),