diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-11-28 22:01:27 -0500 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-12-10 10:22:54 -0500 |
commit | 1d7b59a07740712b46dd0271abf7dd4013badf49 (patch) | |
tree | 6b07e6dd7ef649ec6bb9472f3048c8aa6ef82779 /drivers/pinctrl | |
parent | 3f9c1268159917932fcefe9b3abd5eabb4ed5a29 (diff) |
sh-pfc: r8a7790: Add SSI pin support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c index 72786fc93958..a6903de2eb12 100644 --- a/drivers/pinctrl/sh-pfc/pfc-r8a7790.c +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7790.c | |||
@@ -2961,6 +2961,189 @@ static const unsigned int sdhi3_wp_pins[] = { | |||
2961 | static const unsigned int sdhi3_wp_mux[] = { | 2961 | static const unsigned int sdhi3_wp_mux[] = { |
2962 | SD3_WP_MARK, | 2962 | SD3_WP_MARK, |
2963 | }; | 2963 | }; |
2964 | /* - SSI -------------------------------------------------------------------- */ | ||
2965 | static const unsigned int ssi0_data_pins[] = { | ||
2966 | /* SDATA0 */ | ||
2967 | RCAR_GP_PIN(4, 5), | ||
2968 | }; | ||
2969 | static const unsigned int ssi0_data_mux[] = { | ||
2970 | SSI_SDATA0_MARK, | ||
2971 | }; | ||
2972 | static const unsigned int ssi0129_ctrl_pins[] = { | ||
2973 | /* SCK, WS */ | ||
2974 | RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 4), | ||
2975 | }; | ||
2976 | static const unsigned int ssi0129_ctrl_mux[] = { | ||
2977 | SSI_SCK0129_MARK, SSI_WS0129_MARK, | ||
2978 | }; | ||
2979 | static const unsigned int ssi1_data_pins[] = { | ||
2980 | /* SDATA1 */ | ||
2981 | RCAR_GP_PIN(4, 6), | ||
2982 | }; | ||
2983 | static const unsigned int ssi1_data_mux[] = { | ||
2984 | SSI_SDATA1_MARK, | ||
2985 | }; | ||
2986 | static const unsigned int ssi1_ctrl_pins[] = { | ||
2987 | /* SCK, WS */ | ||
2988 | RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 24), | ||
2989 | }; | ||
2990 | static const unsigned int ssi1_ctrl_mux[] = { | ||
2991 | SSI_SCK1_MARK, SSI_WS1_MARK, | ||
2992 | }; | ||
2993 | static const unsigned int ssi2_data_pins[] = { | ||
2994 | /* SDATA2 */ | ||
2995 | RCAR_GP_PIN(4, 7), | ||
2996 | }; | ||
2997 | static const unsigned int ssi2_data_mux[] = { | ||
2998 | SSI_SDATA2_MARK, | ||
2999 | }; | ||
3000 | static const unsigned int ssi2_ctrl_pins[] = { | ||
3001 | /* SCK, WS */ | ||
3002 | RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 17), | ||
3003 | }; | ||
3004 | static const unsigned int ssi2_ctrl_mux[] = { | ||
3005 | SSI_SCK2_MARK, SSI_WS2_MARK, | ||
3006 | }; | ||
3007 | static const unsigned int ssi3_data_pins[] = { | ||
3008 | /* SDATA3 */ | ||
3009 | RCAR_GP_PIN(4, 10), | ||
3010 | }; | ||
3011 | static const unsigned int ssi3_data_mux[] = { | ||
3012 | SSI_SDATA3_MARK | ||
3013 | }; | ||
3014 | static const unsigned int ssi34_ctrl_pins[] = { | ||
3015 | /* SCK, WS */ | ||
3016 | RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9), | ||
3017 | }; | ||
3018 | static const unsigned int ssi34_ctrl_mux[] = { | ||
3019 | SSI_SCK34_MARK, SSI_WS34_MARK, | ||
3020 | }; | ||
3021 | static const unsigned int ssi4_data_pins[] = { | ||
3022 | /* SDATA4 */ | ||
3023 | RCAR_GP_PIN(4, 13), | ||
3024 | }; | ||
3025 | static const unsigned int ssi4_data_mux[] = { | ||
3026 | SSI_SDATA4_MARK, | ||
3027 | }; | ||
3028 | static const unsigned int ssi4_ctrl_pins[] = { | ||
3029 | /* SCK, WS */ | ||
3030 | RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 12), | ||
3031 | }; | ||
3032 | static const unsigned int ssi4_ctrl_mux[] = { | ||
3033 | SSI_SCK4_MARK, SSI_WS4_MARK, | ||
3034 | }; | ||
3035 | static const unsigned int ssi5_pins[] = { | ||
3036 | /* SDATA5, SCK, WS */ | ||
3037 | RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15), | ||
3038 | }; | ||
3039 | static const unsigned int ssi5_mux[] = { | ||
3040 | SSI_SDATA5_MARK, SSI_SCK5_MARK, SSI_WS5_MARK, | ||
3041 | }; | ||
3042 | static const unsigned int ssi5_b_pins[] = { | ||
3043 | /* SDATA5, SCK, WS */ | ||
3044 | RCAR_GP_PIN(0, 26), RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25), | ||
3045 | }; | ||
3046 | static const unsigned int ssi5_b_mux[] = { | ||
3047 | SSI_SDATA5_B_MARK, SSI_SCK5_B_MARK, SSI_WS5_B_MARK | ||
3048 | }; | ||
3049 | static const unsigned int ssi5_c_pins[] = { | ||
3050 | /* SDATA5, SCK, WS */ | ||
3051 | RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 12), | ||
3052 | }; | ||
3053 | static const unsigned int ssi5_c_mux[] = { | ||
3054 | SSI_SDATA5_C_MARK, SSI_SCK5_C_MARK, SSI_WS5_C_MARK, | ||
3055 | }; | ||
3056 | static const unsigned int ssi6_pins[] = { | ||
3057 | /* SDATA6, SCK, WS */ | ||
3058 | RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 18), | ||
3059 | }; | ||
3060 | static const unsigned int ssi6_mux[] = { | ||
3061 | SSI_SDATA6_MARK, SSI_SCK6_MARK, SSI_WS6_MARK, | ||
3062 | }; | ||
3063 | static const unsigned int ssi6_b_pins[] = { | ||
3064 | /* SDATA6, SCK, WS */ | ||
3065 | RCAR_GP_PIN(1, 29), RCAR_GP_PIN(1, 25), RCAR_GP_PIN(1, 27), | ||
3066 | }; | ||
3067 | static const unsigned int ssi6_b_mux[] = { | ||
3068 | SSI_SDATA6_B_MARK, SSI_SCK6_B_MARK, SSI_WS6_B_MARK, | ||
3069 | }; | ||
3070 | static const unsigned int ssi7_data_pins[] = { | ||
3071 | /* SDATA7 */ | ||
3072 | RCAR_GP_PIN(4, 22), | ||
3073 | }; | ||
3074 | static const unsigned int ssi7_data_mux[] = { | ||
3075 | SSI_SDATA7_MARK, | ||
3076 | }; | ||
3077 | static const unsigned int ssi7_b_data_pins[] = { | ||
3078 | /* SDATA7 */ | ||
3079 | RCAR_GP_PIN(4, 22), | ||
3080 | }; | ||
3081 | static const unsigned int ssi7_b_data_mux[] = { | ||
3082 | SSI_SDATA7_B_MARK, | ||
3083 | }; | ||
3084 | static const unsigned int ssi7_c_data_pins[] = { | ||
3085 | /* SDATA7 */ | ||
3086 | RCAR_GP_PIN(1, 26), | ||
3087 | }; | ||
3088 | static const unsigned int ssi7_c_data_mux[] = { | ||
3089 | SSI_SDATA7_C_MARK, | ||
3090 | }; | ||
3091 | static const unsigned int ssi78_ctrl_pins[] = { | ||
3092 | /* SCK, WS */ | ||
3093 | RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 21), | ||
3094 | }; | ||
3095 | static const unsigned int ssi78_ctrl_mux[] = { | ||
3096 | SSI_SCK78_MARK, SSI_WS78_MARK, | ||
3097 | }; | ||
3098 | static const unsigned int ssi78_b_ctrl_pins[] = { | ||
3099 | /* SCK, WS */ | ||
3100 | RCAR_GP_PIN(1, 26), RCAR_GP_PIN(1, 24), | ||
3101 | }; | ||
3102 | static const unsigned int ssi78_b_ctrl_mux[] = { | ||
3103 | SSI_SCK78_B_MARK, SSI_WS78_B_MARK, | ||
3104 | }; | ||
3105 | static const unsigned int ssi78_c_ctrl_pins[] = { | ||
3106 | /* SCK, WS */ | ||
3107 | RCAR_GP_PIN(1, 24), RCAR_GP_PIN(1, 25), | ||
3108 | }; | ||
3109 | static const unsigned int ssi78_c_ctrl_mux[] = { | ||
3110 | SSI_SCK78_C_MARK, SSI_WS78_C_MARK, | ||
3111 | }; | ||
3112 | static const unsigned int ssi8_data_pins[] = { | ||
3113 | /* SDATA8 */ | ||
3114 | RCAR_GP_PIN(4, 23), | ||
3115 | }; | ||
3116 | static const unsigned int ssi8_data_mux[] = { | ||
3117 | SSI_SDATA8_MARK, | ||
3118 | }; | ||
3119 | static const unsigned int ssi8_b_data_pins[] = { | ||
3120 | /* SDATA8 */ | ||
3121 | RCAR_GP_PIN(4, 23), | ||
3122 | }; | ||
3123 | static const unsigned int ssi8_b_data_mux[] = { | ||
3124 | SSI_SDATA8_B_MARK, | ||
3125 | }; | ||
3126 | static const unsigned int ssi8_c_data_pins[] = { | ||
3127 | /* SDATA8 */ | ||
3128 | RCAR_GP_PIN(1, 27), | ||
3129 | }; | ||
3130 | static const unsigned int ssi8_c_data_mux[] = { | ||
3131 | SSI_SDATA8_C_MARK, | ||
3132 | }; | ||
3133 | static const unsigned int ssi9_data_pins[] = { | ||
3134 | /* SDATA9 */ | ||
3135 | RCAR_GP_PIN(4, 24), | ||
3136 | }; | ||
3137 | static const unsigned int ssi9_data_mux[] = { | ||
3138 | SSI_SDATA9_MARK, | ||
3139 | }; | ||
3140 | static const unsigned int ssi9_ctrl_pins[] = { | ||
3141 | /* SCK, WS */ | ||
3142 | RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), | ||
3143 | }; | ||
3144 | static const unsigned int ssi9_ctrl_mux[] = { | ||
3145 | SSI_SCK9_MARK, SSI_WS9_MARK, | ||
3146 | }; | ||
2964 | /* - TPU0 ------------------------------------------------------------------- */ | 3147 | /* - TPU0 ------------------------------------------------------------------- */ |
2965 | static const unsigned int tpu0_to0_pins[] = { | 3148 | static const unsigned int tpu0_to0_pins[] = { |
2966 | /* TO */ | 3149 | /* TO */ |
@@ -3259,6 +3442,32 @@ static const struct sh_pfc_pin_group pinmux_groups[] = { | |||
3259 | SH_PFC_PIN_GROUP(sdhi3_ctrl), | 3442 | SH_PFC_PIN_GROUP(sdhi3_ctrl), |
3260 | SH_PFC_PIN_GROUP(sdhi3_cd), | 3443 | SH_PFC_PIN_GROUP(sdhi3_cd), |
3261 | SH_PFC_PIN_GROUP(sdhi3_wp), | 3444 | SH_PFC_PIN_GROUP(sdhi3_wp), |
3445 | SH_PFC_PIN_GROUP(ssi0_data), | ||
3446 | SH_PFC_PIN_GROUP(ssi0129_ctrl), | ||
3447 | SH_PFC_PIN_GROUP(ssi1_data), | ||
3448 | SH_PFC_PIN_GROUP(ssi1_ctrl), | ||
3449 | SH_PFC_PIN_GROUP(ssi2_data), | ||
3450 | SH_PFC_PIN_GROUP(ssi2_ctrl), | ||
3451 | SH_PFC_PIN_GROUP(ssi3_data), | ||
3452 | SH_PFC_PIN_GROUP(ssi34_ctrl), | ||
3453 | SH_PFC_PIN_GROUP(ssi4_data), | ||
3454 | SH_PFC_PIN_GROUP(ssi4_ctrl), | ||
3455 | SH_PFC_PIN_GROUP(ssi5), | ||
3456 | SH_PFC_PIN_GROUP(ssi5_b), | ||
3457 | SH_PFC_PIN_GROUP(ssi5_c), | ||
3458 | SH_PFC_PIN_GROUP(ssi6), | ||
3459 | SH_PFC_PIN_GROUP(ssi6_b), | ||
3460 | SH_PFC_PIN_GROUP(ssi7_data), | ||
3461 | SH_PFC_PIN_GROUP(ssi7_b_data), | ||
3462 | SH_PFC_PIN_GROUP(ssi7_c_data), | ||
3463 | SH_PFC_PIN_GROUP(ssi78_ctrl), | ||
3464 | SH_PFC_PIN_GROUP(ssi78_b_ctrl), | ||
3465 | SH_PFC_PIN_GROUP(ssi78_c_ctrl), | ||
3466 | SH_PFC_PIN_GROUP(ssi8_data), | ||
3467 | SH_PFC_PIN_GROUP(ssi8_b_data), | ||
3468 | SH_PFC_PIN_GROUP(ssi8_c_data), | ||
3469 | SH_PFC_PIN_GROUP(ssi9_data), | ||
3470 | SH_PFC_PIN_GROUP(ssi9_ctrl), | ||
3262 | SH_PFC_PIN_GROUP(tpu0_to0), | 3471 | SH_PFC_PIN_GROUP(tpu0_to0), |
3263 | SH_PFC_PIN_GROUP(tpu0_to1), | 3472 | SH_PFC_PIN_GROUP(tpu0_to1), |
3264 | SH_PFC_PIN_GROUP(tpu0_to2), | 3473 | SH_PFC_PIN_GROUP(tpu0_to2), |
@@ -3533,6 +3742,35 @@ static const char * const sdhi3_groups[] = { | |||
3533 | "sdhi3_wp", | 3742 | "sdhi3_wp", |
3534 | }; | 3743 | }; |
3535 | 3744 | ||
3745 | static const char * const ssi_groups[] = { | ||
3746 | "ssi0_data", | ||
3747 | "ssi0129_ctrl", | ||
3748 | "ssi1_data", | ||
3749 | "ssi1_ctrl", | ||
3750 | "ssi2_data", | ||
3751 | "ssi2_ctrl", | ||
3752 | "ssi3_data", | ||
3753 | "ssi34_ctrl", | ||
3754 | "ssi4_data", | ||
3755 | "ssi4_ctrl", | ||
3756 | "ssi5", | ||
3757 | "ssi5_b", | ||
3758 | "ssi5_c", | ||
3759 | "ssi6", | ||
3760 | "ssi6_b", | ||
3761 | "ssi7_data", | ||
3762 | "ssi7_b_data", | ||
3763 | "ssi7_c_data", | ||
3764 | "ssi78_ctrl", | ||
3765 | "ssi78_b_ctrl", | ||
3766 | "ssi78_c_ctrl", | ||
3767 | "ssi8_data", | ||
3768 | "ssi8_b_data", | ||
3769 | "ssi8_c_data", | ||
3770 | "ssi9_data", | ||
3771 | "ssi9_ctrl", | ||
3772 | }; | ||
3773 | |||
3536 | static const char * const tpu0_groups[] = { | 3774 | static const char * const tpu0_groups[] = { |
3537 | "tpu0_to0", | 3775 | "tpu0_to0", |
3538 | "tpu0_to1", | 3776 | "tpu0_to1", |
@@ -3599,6 +3837,7 @@ static const struct sh_pfc_function pinmux_functions[] = { | |||
3599 | SH_PFC_FUNCTION(sdhi1), | 3837 | SH_PFC_FUNCTION(sdhi1), |
3600 | SH_PFC_FUNCTION(sdhi2), | 3838 | SH_PFC_FUNCTION(sdhi2), |
3601 | SH_PFC_FUNCTION(sdhi3), | 3839 | SH_PFC_FUNCTION(sdhi3), |
3840 | SH_PFC_FUNCTION(ssi), | ||
3602 | SH_PFC_FUNCTION(tpu0), | 3841 | SH_PFC_FUNCTION(tpu0), |
3603 | SH_PFC_FUNCTION(usb0), | 3842 | SH_PFC_FUNCTION(usb0), |
3604 | SH_PFC_FUNCTION(usb1), | 3843 | SH_PFC_FUNCTION(usb1), |