aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-01-08 02:17:10 -0500
committerLinus Walleij <linus.walleij@linaro.org>2018-01-08 02:17:10 -0500
commit55b6986ca1571b3f47706f84d89126fd35d5de08 (patch)
treeb238703a74c0bcf4e9c653fac761a3ce922bffc4
parent924f5494da610664cc5a9fccc12d32fbbc6214d3 (diff)
parent297e5b2b7a8398b4b850d6bdb63f3a3544670b9e (diff)
Merge tag 'sh-pfc-for-v4.16-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel
pinctrl: sh-pfc: Updates for v4.16 (take two) - Add PWM pin groups on various R-Car Gen2 and RZ/G1 SoCs, - Add missing I2C5 pin groups on R-Car E2 and RZ/G1E, - Add SATA pin groups on R-Car H3 ES2.0.
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7791.c42
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7794.c307
-rw-r--r--drivers/pinctrl/sh-pfc/pfc-r8a7795.c24
3 files changed, 371 insertions, 2 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
index c01ef02d326b..5811784d88cb 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
@@ -4145,6 +4145,32 @@ static const unsigned int ssi9_ctrl_b_mux[] = {
4145 SSI_SCK9_B_MARK, SSI_WS9_B_MARK, 4145 SSI_SCK9_B_MARK, SSI_WS9_B_MARK,
4146}; 4146};
4147 4147
4148/* - TPU -------------------------------------------------------------------- */
4149static const unsigned int tpu_to0_pins[] = {
4150 RCAR_GP_PIN(6, 14),
4151};
4152static const unsigned int tpu_to0_mux[] = {
4153 TPU_TO0_MARK,
4154};
4155static const unsigned int tpu_to1_pins[] = {
4156 RCAR_GP_PIN(1, 17),
4157};
4158static const unsigned int tpu_to1_mux[] = {
4159 TPU_TO1_MARK,
4160};
4161static const unsigned int tpu_to2_pins[] = {
4162 RCAR_GP_PIN(1, 18),
4163};
4164static const unsigned int tpu_to2_mux[] = {
4165 TPU_TO2_MARK,
4166};
4167static const unsigned int tpu_to3_pins[] = {
4168 RCAR_GP_PIN(1, 24),
4169};
4170static const unsigned int tpu_to3_mux[] = {
4171 TPU_TO3_MARK,
4172};
4173
4148/* - USB0 ------------------------------------------------------------------- */ 4174/* - USB0 ------------------------------------------------------------------- */
4149static const unsigned int usb0_pins[] = { 4175static const unsigned int usb0_pins[] = {
4150 RCAR_GP_PIN(7, 23), /* PWEN */ 4176 RCAR_GP_PIN(7, 23), /* PWEN */
@@ -4431,7 +4457,7 @@ static const unsigned int vin2_clk_mux[] = {
4431}; 4457};
4432 4458
4433static const struct { 4459static const struct {
4434 struct sh_pfc_pin_group common[342]; 4460 struct sh_pfc_pin_group common[346];
4435 struct sh_pfc_pin_group r8a779x[9]; 4461 struct sh_pfc_pin_group r8a779x[9];
4436} pinmux_groups = { 4462} pinmux_groups = {
4437 .common = { 4463 .common = {
@@ -4743,6 +4769,10 @@ static const struct {
4743 SH_PFC_PIN_GROUP(ssi9_data_b), 4769 SH_PFC_PIN_GROUP(ssi9_data_b),
4744 SH_PFC_PIN_GROUP(ssi9_ctrl), 4770 SH_PFC_PIN_GROUP(ssi9_ctrl),
4745 SH_PFC_PIN_GROUP(ssi9_ctrl_b), 4771 SH_PFC_PIN_GROUP(ssi9_ctrl_b),
4772 SH_PFC_PIN_GROUP(tpu_to0),
4773 SH_PFC_PIN_GROUP(tpu_to1),
4774 SH_PFC_PIN_GROUP(tpu_to2),
4775 SH_PFC_PIN_GROUP(tpu_to3),
4746 SH_PFC_PIN_GROUP(usb0), 4776 SH_PFC_PIN_GROUP(usb0),
4747 SH_PFC_PIN_GROUP(usb1), 4777 SH_PFC_PIN_GROUP(usb1),
4748 VIN_DATA_PIN_GROUP(vin0_data, 24), 4778 VIN_DATA_PIN_GROUP(vin0_data, 24),
@@ -5278,6 +5308,13 @@ static const char * const ssi_groups[] = {
5278 "ssi9_ctrl_b", 5308 "ssi9_ctrl_b",
5279}; 5309};
5280 5310
5311static const char * const tpu_groups[] = {
5312 "tpu_to0",
5313 "tpu_to1",
5314 "tpu_to2",
5315 "tpu_to3",
5316};
5317
5281static const char * const usb0_groups[] = { 5318static const char * const usb0_groups[] = {
5282 "usb0", 5319 "usb0",
5283}; 5320};
@@ -5327,7 +5364,7 @@ static const char * const vin2_groups[] = {
5327}; 5364};
5328 5365
5329static const struct { 5366static const struct {
5330 struct sh_pfc_function common[57]; 5367 struct sh_pfc_function common[58];
5331 struct sh_pfc_function r8a779x[2]; 5368 struct sh_pfc_function r8a779x[2];
5332} pinmux_functions = { 5369} pinmux_functions = {
5333 .common = { 5370 .common = {
@@ -5383,6 +5420,7 @@ static const struct {
5383 SH_PFC_FUNCTION(sdhi1), 5420 SH_PFC_FUNCTION(sdhi1),
5384 SH_PFC_FUNCTION(sdhi2), 5421 SH_PFC_FUNCTION(sdhi2),
5385 SH_PFC_FUNCTION(ssi), 5422 SH_PFC_FUNCTION(ssi),
5423 SH_PFC_FUNCTION(tpu),
5386 SH_PFC_FUNCTION(usb0), 5424 SH_PFC_FUNCTION(usb0),
5387 SH_PFC_FUNCTION(usb1), 5425 SH_PFC_FUNCTION(usb1),
5388 SH_PFC_FUNCTION(vin0), 5426 SH_PFC_FUNCTION(vin0),
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
index c557bc8da10d..164002437594 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
@@ -2228,6 +2228,35 @@ static const unsigned int i2c4_e_pins[] = {
2228static const unsigned int i2c4_e_mux[] = { 2228static const unsigned int i2c4_e_mux[] = {
2229 I2C4_SCL_E_MARK, I2C4_SDA_E_MARK, 2229 I2C4_SCL_E_MARK, I2C4_SDA_E_MARK,
2230}; 2230};
2231/* - I2C5 ------------------------------------------------------------------- */
2232static const unsigned int i2c5_pins[] = {
2233 /* SCL, SDA */
2234 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15),
2235};
2236static const unsigned int i2c5_mux[] = {
2237 I2C5_SCL_MARK, I2C5_SDA_MARK,
2238};
2239static const unsigned int i2c5_b_pins[] = {
2240 /* SCL, SDA */
2241 RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15),
2242};
2243static const unsigned int i2c5_b_mux[] = {
2244 I2C5_SCL_B_MARK, I2C5_SDA_B_MARK,
2245};
2246static const unsigned int i2c5_c_pins[] = {
2247 /* SCL, SDA */
2248 RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 30),
2249};
2250static const unsigned int i2c5_c_mux[] = {
2251 I2C5_SCL_C_MARK, I2C5_SDA_C_MARK,
2252};
2253static const unsigned int i2c5_d_pins[] = {
2254 /* SCL, SDA */
2255 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
2256};
2257static const unsigned int i2c5_d_mux[] = {
2258 I2C5_SCL_D_MARK, I2C5_SDA_D_MARK,
2259};
2231/* - INTC ------------------------------------------------------------------- */ 2260/* - INTC ------------------------------------------------------------------- */
2232static const unsigned int intc_irq0_pins[] = { 2261static const unsigned int intc_irq0_pins[] = {
2233 /* IRQ0 */ 2262 /* IRQ0 */
@@ -2546,6 +2575,109 @@ static const unsigned int msiof2_tx_b_pins[] = {
2546static const unsigned int msiof2_tx_b_mux[] = { 2575static const unsigned int msiof2_tx_b_mux[] = {
2547 MSIOF2_TXD_B_MARK, 2576 MSIOF2_TXD_B_MARK,
2548}; 2577};
2578/* - PWM -------------------------------------------------------------------- */
2579static const unsigned int pwm0_pins[] = {
2580 RCAR_GP_PIN(1, 14),
2581};
2582static const unsigned int pwm0_mux[] = {
2583 PWM0_MARK,
2584};
2585static const unsigned int pwm0_b_pins[] = {
2586 RCAR_GP_PIN(5, 3),
2587};
2588static const unsigned int pwm0_b_mux[] = {
2589 PWM0_B_MARK,
2590};
2591static const unsigned int pwm1_pins[] = {
2592 RCAR_GP_PIN(4, 5),
2593};
2594static const unsigned int pwm1_mux[] = {
2595 PWM1_MARK,
2596};
2597static const unsigned int pwm1_b_pins[] = {
2598 RCAR_GP_PIN(5, 10),
2599};
2600static const unsigned int pwm1_b_mux[] = {
2601 PWM1_B_MARK,
2602};
2603static const unsigned int pwm1_c_pins[] = {
2604 RCAR_GP_PIN(1, 18),
2605};
2606static const unsigned int pwm1_c_mux[] = {
2607 PWM1_C_MARK,
2608};
2609static const unsigned int pwm2_pins[] = {
2610 RCAR_GP_PIN(4, 10),
2611};
2612static const unsigned int pwm2_mux[] = {
2613 PWM2_MARK,
2614};
2615static const unsigned int pwm2_b_pins[] = {
2616 RCAR_GP_PIN(5, 17),
2617};
2618static const unsigned int pwm2_b_mux[] = {
2619 PWM2_B_MARK,
2620};
2621static const unsigned int pwm2_c_pins[] = {
2622 RCAR_GP_PIN(0, 13),
2623};
2624static const unsigned int pwm2_c_mux[] = {
2625 PWM2_C_MARK,
2626};
2627static const unsigned int pwm3_pins[] = {
2628 RCAR_GP_PIN(4, 13),
2629};
2630static const unsigned int pwm3_mux[] = {
2631 PWM3_MARK,
2632};
2633static const unsigned int pwm3_b_pins[] = {
2634 RCAR_GP_PIN(0, 16),
2635};
2636static const unsigned int pwm3_b_mux[] = {
2637 PWM3_B_MARK,
2638};
2639static const unsigned int pwm4_pins[] = {
2640 RCAR_GP_PIN(1, 3),
2641};
2642static const unsigned int pwm4_mux[] = {
2643 PWM4_MARK,
2644};
2645static const unsigned int pwm4_b_pins[] = {
2646 RCAR_GP_PIN(0, 21),
2647};
2648static const unsigned int pwm4_b_mux[] = {
2649 PWM4_B_MARK,
2650};
2651static const unsigned int pwm5_pins[] = {
2652 RCAR_GP_PIN(3, 30),
2653};
2654static const unsigned int pwm5_mux[] = {
2655 PWM5_MARK,
2656};
2657static const unsigned int pwm5_b_pins[] = {
2658 RCAR_GP_PIN(4, 0),
2659};
2660static const unsigned int pwm5_b_mux[] = {
2661 PWM5_B_MARK,
2662};
2663static const unsigned int pwm5_c_pins[] = {
2664 RCAR_GP_PIN(0, 10),
2665};
2666static const unsigned int pwm5_c_mux[] = {
2667 PWM5_C_MARK,
2668};
2669static const unsigned int pwm6_pins[] = {
2670 RCAR_GP_PIN(4, 8),
2671};
2672static const unsigned int pwm6_mux[] = {
2673 PWM6_MARK,
2674};
2675static const unsigned int pwm6_b_pins[] = {
2676 RCAR_GP_PIN(0, 7),
2677};
2678static const unsigned int pwm6_b_mux[] = {
2679 PWM6_B_MARK,
2680};
2549/* - QSPI ------------------------------------------------------------------- */ 2681/* - QSPI ------------------------------------------------------------------- */
2550static const unsigned int qspi_ctrl_pins[] = { 2682static const unsigned int qspi_ctrl_pins[] = {
2551 /* SPCLK, SSL */ 2683 /* SPCLK, SSL */
@@ -3390,6 +3522,79 @@ static const unsigned int ssi9_ctrl_b_pins[] = {
3390static const unsigned int ssi9_ctrl_b_mux[] = { 3522static const unsigned int ssi9_ctrl_b_mux[] = {
3391 SSI_SCK9_B_MARK, SSI_WS9_B_MARK, 3523 SSI_SCK9_B_MARK, SSI_WS9_B_MARK,
3392}; 3524};
3525/* - TPU -------------------------------------------------------------------- */
3526static const unsigned int tpu_to0_pins[] = {
3527 RCAR_GP_PIN(3, 31),
3528};
3529static const unsigned int tpu_to0_mux[] = {
3530 TPUTO0_MARK,
3531};
3532static const unsigned int tpu_to0_b_pins[] = {
3533 RCAR_GP_PIN(3, 30),
3534};
3535static const unsigned int tpu_to0_b_mux[] = {
3536 TPUTO0_B_MARK,
3537};
3538static const unsigned int tpu_to0_c_pins[] = {
3539 RCAR_GP_PIN(1, 18),
3540};
3541static const unsigned int tpu_to0_c_mux[] = {
3542 TPUTO0_C_MARK,
3543};
3544static const unsigned int tpu_to1_pins[] = {
3545 RCAR_GP_PIN(4, 9),
3546};
3547static const unsigned int tpu_to1_mux[] = {
3548 TPUTO1_MARK,
3549};
3550static const unsigned int tpu_to1_b_pins[] = {
3551 RCAR_GP_PIN(4, 0),
3552};
3553static const unsigned int tpu_to1_b_mux[] = {
3554 TPUTO1_B_MARK,
3555};
3556static const unsigned int tpu_to1_c_pins[] = {
3557 RCAR_GP_PIN(4, 4),
3558};
3559static const unsigned int tpu_to1_c_mux[] = {
3560 TPUTO1_C_MARK,
3561};
3562static const unsigned int tpu_to2_pins[] = {
3563 RCAR_GP_PIN(1, 3),
3564};
3565static const unsigned int tpu_to2_mux[] = {
3566 TPUTO2_MARK,
3567};
3568static const unsigned int tpu_to2_b_pins[] = {
3569 RCAR_GP_PIN(1, 0),
3570};
3571static const unsigned int tpu_to2_b_mux[] = {
3572 TPUTO2_B_MARK,
3573};
3574static const unsigned int tpu_to2_c_pins[] = {
3575 RCAR_GP_PIN(0, 22),
3576};
3577static const unsigned int tpu_to2_c_mux[] = {
3578 TPUTO2_C_MARK,
3579};
3580static const unsigned int tpu_to3_pins[] = {
3581 RCAR_GP_PIN(1, 14),
3582};
3583static const unsigned int tpu_to3_mux[] = {
3584 TPUTO3_MARK,
3585};
3586static const unsigned int tpu_to3_b_pins[] = {
3587 RCAR_GP_PIN(1, 13),
3588};
3589static const unsigned int tpu_to3_b_mux[] = {
3590 TPUTO3_B_MARK,
3591};
3592static const unsigned int tpu_to3_c_pins[] = {
3593 RCAR_GP_PIN(0, 21),
3594};
3595static const unsigned int tpu_to3_c_mux[] = {
3596 TPUTO3_C_MARK,
3597};
3393/* - USB0 ------------------------------------------------------------------- */ 3598/* - USB0 ------------------------------------------------------------------- */
3394static const unsigned int usb0_pins[] = { 3599static const unsigned int usb0_pins[] = {
3395 RCAR_GP_PIN(5, 24), /* PWEN */ 3600 RCAR_GP_PIN(5, 24), /* PWEN */
@@ -3645,6 +3850,10 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
3645 SH_PFC_PIN_GROUP(i2c4_c), 3850 SH_PFC_PIN_GROUP(i2c4_c),
3646 SH_PFC_PIN_GROUP(i2c4_d), 3851 SH_PFC_PIN_GROUP(i2c4_d),
3647 SH_PFC_PIN_GROUP(i2c4_e), 3852 SH_PFC_PIN_GROUP(i2c4_e),
3853 SH_PFC_PIN_GROUP(i2c5),
3854 SH_PFC_PIN_GROUP(i2c5_b),
3855 SH_PFC_PIN_GROUP(i2c5_c),
3856 SH_PFC_PIN_GROUP(i2c5_d),
3648 SH_PFC_PIN_GROUP(intc_irq0), 3857 SH_PFC_PIN_GROUP(intc_irq0),
3649 SH_PFC_PIN_GROUP(intc_irq1), 3858 SH_PFC_PIN_GROUP(intc_irq1),
3650 SH_PFC_PIN_GROUP(intc_irq2), 3859 SH_PFC_PIN_GROUP(intc_irq2),
@@ -3689,6 +3898,23 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
3689 SH_PFC_PIN_GROUP(msiof2_ss2_b), 3898 SH_PFC_PIN_GROUP(msiof2_ss2_b),
3690 SH_PFC_PIN_GROUP(msiof2_rx_b), 3899 SH_PFC_PIN_GROUP(msiof2_rx_b),
3691 SH_PFC_PIN_GROUP(msiof2_tx_b), 3900 SH_PFC_PIN_GROUP(msiof2_tx_b),
3901 SH_PFC_PIN_GROUP(pwm0),
3902 SH_PFC_PIN_GROUP(pwm0_b),
3903 SH_PFC_PIN_GROUP(pwm1),
3904 SH_PFC_PIN_GROUP(pwm1_b),
3905 SH_PFC_PIN_GROUP(pwm1_c),
3906 SH_PFC_PIN_GROUP(pwm2),
3907 SH_PFC_PIN_GROUP(pwm2_b),
3908 SH_PFC_PIN_GROUP(pwm2_c),
3909 SH_PFC_PIN_GROUP(pwm3),
3910 SH_PFC_PIN_GROUP(pwm3_b),
3911 SH_PFC_PIN_GROUP(pwm4),
3912 SH_PFC_PIN_GROUP(pwm4_b),
3913 SH_PFC_PIN_GROUP(pwm5),
3914 SH_PFC_PIN_GROUP(pwm5_b),
3915 SH_PFC_PIN_GROUP(pwm5_c),
3916 SH_PFC_PIN_GROUP(pwm6),
3917 SH_PFC_PIN_GROUP(pwm6_b),
3692 SH_PFC_PIN_GROUP(qspi_ctrl), 3918 SH_PFC_PIN_GROUP(qspi_ctrl),
3693 SH_PFC_PIN_GROUP(qspi_data2), 3919 SH_PFC_PIN_GROUP(qspi_data2),
3694 SH_PFC_PIN_GROUP(qspi_data4), 3920 SH_PFC_PIN_GROUP(qspi_data4),
@@ -3806,6 +4032,18 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
3806 SH_PFC_PIN_GROUP(ssi9_ctrl), 4032 SH_PFC_PIN_GROUP(ssi9_ctrl),
3807 SH_PFC_PIN_GROUP(ssi9_data_b), 4033 SH_PFC_PIN_GROUP(ssi9_data_b),
3808 SH_PFC_PIN_GROUP(ssi9_ctrl_b), 4034 SH_PFC_PIN_GROUP(ssi9_ctrl_b),
4035 SH_PFC_PIN_GROUP(tpu_to0),
4036 SH_PFC_PIN_GROUP(tpu_to0_b),
4037 SH_PFC_PIN_GROUP(tpu_to0_c),
4038 SH_PFC_PIN_GROUP(tpu_to1),
4039 SH_PFC_PIN_GROUP(tpu_to1_b),
4040 SH_PFC_PIN_GROUP(tpu_to1_c),
4041 SH_PFC_PIN_GROUP(tpu_to2),
4042 SH_PFC_PIN_GROUP(tpu_to2_b),
4043 SH_PFC_PIN_GROUP(tpu_to2_c),
4044 SH_PFC_PIN_GROUP(tpu_to3),
4045 SH_PFC_PIN_GROUP(tpu_to3_b),
4046 SH_PFC_PIN_GROUP(tpu_to3_c),
3809 SH_PFC_PIN_GROUP(usb0), 4047 SH_PFC_PIN_GROUP(usb0),
3810 SH_PFC_PIN_GROUP(usb1), 4048 SH_PFC_PIN_GROUP(usb1),
3811 VIN_DATA_PIN_GROUP(vin0_data, 24), 4049 VIN_DATA_PIN_GROUP(vin0_data, 24),
@@ -3991,6 +4229,13 @@ static const char * const i2c4_groups[] = {
3991 "i2c4_e", 4229 "i2c4_e",
3992}; 4230};
3993 4231
4232static const char * const i2c5_groups[] = {
4233 "i2c5",
4234 "i2c5_b",
4235 "i2c5_c",
4236 "i2c5_d",
4237};
4238
3994static const char * const intc_groups[] = { 4239static const char * const intc_groups[] = {
3995 "intc_irq0", 4240 "intc_irq0",
3996 "intc_irq1", 4241 "intc_irq1",
@@ -4050,6 +4295,44 @@ static const char * const msiof2_groups[] = {
4050 "msiof2_tx_b", 4295 "msiof2_tx_b",
4051}; 4296};
4052 4297
4298static const char * const pwm0_groups[] = {
4299 "pwm0",
4300 "pwm0_b",
4301};
4302
4303static const char * const pwm1_groups[] = {
4304 "pwm1",
4305 "pwm1_b",
4306 "pwm1_c",
4307};
4308
4309static const char * const pwm2_groups[] = {
4310 "pwm2",
4311 "pwm2_b",
4312 "pwm2_c",
4313};
4314
4315static const char * const pwm3_groups[] = {
4316 "pwm3",
4317 "pwm3_b",
4318};
4319
4320static const char * const pwm4_groups[] = {
4321 "pwm4",
4322 "pwm4_b",
4323};
4324
4325static const char * const pwm5_groups[] = {
4326 "pwm5",
4327 "pwm5_b",
4328 "pwm5_c",
4329};
4330
4331static const char * const pwm6_groups[] = {
4332 "pwm6",
4333 "pwm6_b",
4334};
4335
4053static const char * const qspi_groups[] = { 4336static const char * const qspi_groups[] = {
4054 "qspi_ctrl", 4337 "qspi_ctrl",
4055 "qspi_data2", 4338 "qspi_data2",
@@ -4230,6 +4513,21 @@ static const char * const ssi_groups[] = {
4230 "ssi9_ctrl_b", 4513 "ssi9_ctrl_b",
4231}; 4514};
4232 4515
4516static const char * const tpu_groups[] = {
4517 "tpu_to0",
4518 "tpu_to0_b",
4519 "tpu_to0_c",
4520 "tpu_to1",
4521 "tpu_to1_b",
4522 "tpu_to1_c",
4523 "tpu_to2",
4524 "tpu_to2_b",
4525 "tpu_to2_c",
4526 "tpu_to3",
4527 "tpu_to3_b",
4528 "tpu_to3_c",
4529};
4530
4233static const char * const usb0_groups[] = { 4531static const char * const usb0_groups[] = {
4234 "usb0", 4532 "usb0",
4235}; 4533};
@@ -4279,11 +4577,19 @@ static const struct sh_pfc_function pinmux_functions[] = {
4279 SH_PFC_FUNCTION(i2c2), 4577 SH_PFC_FUNCTION(i2c2),
4280 SH_PFC_FUNCTION(i2c3), 4578 SH_PFC_FUNCTION(i2c3),
4281 SH_PFC_FUNCTION(i2c4), 4579 SH_PFC_FUNCTION(i2c4),
4580 SH_PFC_FUNCTION(i2c5),
4282 SH_PFC_FUNCTION(intc), 4581 SH_PFC_FUNCTION(intc),
4283 SH_PFC_FUNCTION(mmc), 4582 SH_PFC_FUNCTION(mmc),
4284 SH_PFC_FUNCTION(msiof0), 4583 SH_PFC_FUNCTION(msiof0),
4285 SH_PFC_FUNCTION(msiof1), 4584 SH_PFC_FUNCTION(msiof1),
4286 SH_PFC_FUNCTION(msiof2), 4585 SH_PFC_FUNCTION(msiof2),
4586 SH_PFC_FUNCTION(pwm0),
4587 SH_PFC_FUNCTION(pwm1),
4588 SH_PFC_FUNCTION(pwm2),
4589 SH_PFC_FUNCTION(pwm3),
4590 SH_PFC_FUNCTION(pwm4),
4591 SH_PFC_FUNCTION(pwm5),
4592 SH_PFC_FUNCTION(pwm6),
4287 SH_PFC_FUNCTION(qspi), 4593 SH_PFC_FUNCTION(qspi),
4288 SH_PFC_FUNCTION(scif0), 4594 SH_PFC_FUNCTION(scif0),
4289 SH_PFC_FUNCTION(scif1), 4595 SH_PFC_FUNCTION(scif1),
@@ -4305,6 +4611,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
4305 SH_PFC_FUNCTION(sdhi1), 4611 SH_PFC_FUNCTION(sdhi1),
4306 SH_PFC_FUNCTION(sdhi2), 4612 SH_PFC_FUNCTION(sdhi2),
4307 SH_PFC_FUNCTION(ssi), 4613 SH_PFC_FUNCTION(ssi),
4614 SH_PFC_FUNCTION(tpu),
4308 SH_PFC_FUNCTION(usb0), 4615 SH_PFC_FUNCTION(usb0),
4309 SH_PFC_FUNCTION(usb1), 4616 SH_PFC_FUNCTION(usb1),
4310 SH_PFC_FUNCTION(vin0), 4617 SH_PFC_FUNCTION(vin0),
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
index 7eddd0f2f847..18aeee592fdc 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
@@ -3227,6 +3227,22 @@ static const unsigned int pwm6_b_mux[] = {
3227 PWM6_B_MARK, 3227 PWM6_B_MARK,
3228}; 3228};
3229 3229
3230/* - SATA --------------------------------------------------------------------*/
3231static const unsigned int sata0_devslp_a_pins[] = {
3232 /* DEVSLP */
3233 RCAR_GP_PIN(6, 16),
3234};
3235static const unsigned int sata0_devslp_a_mux[] = {
3236 SATA_DEVSLP_A_MARK,
3237};
3238static const unsigned int sata0_devslp_b_pins[] = {
3239 /* DEVSLP */
3240 RCAR_GP_PIN(4, 6),
3241};
3242static const unsigned int sata0_devslp_b_mux[] = {
3243 SATA_DEVSLP_B_MARK,
3244};
3245
3230/* - SCIF0 ------------------------------------------------------------------ */ 3246/* - SCIF0 ------------------------------------------------------------------ */
3231static const unsigned int scif0_data_pins[] = { 3247static const unsigned int scif0_data_pins[] = {
3232 /* RX, TX */ 3248 /* RX, TX */
@@ -4092,6 +4108,8 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
4092 SH_PFC_PIN_GROUP(pwm5_b), 4108 SH_PFC_PIN_GROUP(pwm5_b),
4093 SH_PFC_PIN_GROUP(pwm6_a), 4109 SH_PFC_PIN_GROUP(pwm6_a),
4094 SH_PFC_PIN_GROUP(pwm6_b), 4110 SH_PFC_PIN_GROUP(pwm6_b),
4111 SH_PFC_PIN_GROUP(sata0_devslp_a),
4112 SH_PFC_PIN_GROUP(sata0_devslp_b),
4095 SH_PFC_PIN_GROUP(scif0_data), 4113 SH_PFC_PIN_GROUP(scif0_data),
4096 SH_PFC_PIN_GROUP(scif0_clk), 4114 SH_PFC_PIN_GROUP(scif0_clk),
4097 SH_PFC_PIN_GROUP(scif0_ctrl), 4115 SH_PFC_PIN_GROUP(scif0_ctrl),
@@ -4500,6 +4518,11 @@ static const char * const pwm6_groups[] = {
4500 "pwm6_b", 4518 "pwm6_b",
4501}; 4519};
4502 4520
4521static const char * const sata0_groups[] = {
4522 "sata0_devslp_a",
4523 "sata0_devslp_b",
4524};
4525
4503static const char * const scif0_groups[] = { 4526static const char * const scif0_groups[] = {
4504 "scif0_data", 4527 "scif0_data",
4505 "scif0_clk", 4528 "scif0_clk",
@@ -4669,6 +4692,7 @@ static const struct sh_pfc_function pinmux_functions[] = {
4669 SH_PFC_FUNCTION(pwm4), 4692 SH_PFC_FUNCTION(pwm4),
4670 SH_PFC_FUNCTION(pwm5), 4693 SH_PFC_FUNCTION(pwm5),
4671 SH_PFC_FUNCTION(pwm6), 4694 SH_PFC_FUNCTION(pwm6),
4695 SH_PFC_FUNCTION(sata0),
4672 SH_PFC_FUNCTION(scif0), 4696 SH_PFC_FUNCTION(scif0),
4673 SH_PFC_FUNCTION(scif1), 4697 SH_PFC_FUNCTION(scif1),
4674 SH_PFC_FUNCTION(scif2), 4698 SH_PFC_FUNCTION(scif2),