diff options
| author | Naveen Krishna Ch <naveenkrishna.ch@gmail.com> | 2014-10-09 09:54:32 -0400 |
|---|---|---|
| committer | Tomasz Figa <tomasz.figa@gmail.com> | 2014-11-09 08:27:23 -0500 |
| commit | 50cea0cff7131b364c0ff80dedf8e91212b18a26 (patch) | |
| tree | 9c2d5c83bdefd1ede4433d5bed4cbf55aae51812 /drivers/pinctrl/samsung | |
| parent | 14c255d35b25126149fb2fd199b030404229af65 (diff) | |
pinctrl: exynos: Add initial driver data for Exynos7
This patch adds initial driver data for Exynos7 pinctrl support.
Signed-off-by: Naveen Krishna Ch <naveenkrishna.ch@gmail.com>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-by: Thomas Abraham <thomas.ab@samsung.com>
Tested-by: Thomas Abraham <thomas.ab@samsung.com>
Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Diffstat (limited to 'drivers/pinctrl/samsung')
| -rw-r--r-- | drivers/pinctrl/samsung/pinctrl-exynos.c | 105 | ||||
| -rw-r--r-- | drivers/pinctrl/samsung/pinctrl-samsung.c | 2 | ||||
| -rw-r--r-- | drivers/pinctrl/samsung/pinctrl-samsung.h | 1 |
3 files changed, 108 insertions, 0 deletions
diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c index d97765c20466..5622d8a3e478 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c | |||
| @@ -1164,3 +1164,108 @@ const struct samsung_pin_ctrl exynos5420_pin_ctrl[] __initconst = { | |||
| 1164 | .eint_gpio_init = exynos_eint_gpio_init, | 1164 | .eint_gpio_init = exynos_eint_gpio_init, |
| 1165 | }, | 1165 | }, |
| 1166 | }; | 1166 | }; |
| 1167 | |||
| 1168 | /* pin banks of exynos7 pin-controller - ALIVE */ | ||
| 1169 | static const struct samsung_pin_bank_data exynos7_pin_banks0[] __initconst = { | ||
| 1170 | EXYNOS_PIN_BANK_EINTW(8, 0x000, "gpa0", 0x00), | ||
| 1171 | EXYNOS_PIN_BANK_EINTW(8, 0x020, "gpa1", 0x04), | ||
| 1172 | EXYNOS_PIN_BANK_EINTW(8, 0x040, "gpa2", 0x08), | ||
| 1173 | EXYNOS_PIN_BANK_EINTW(8, 0x060, "gpa3", 0x0c), | ||
| 1174 | }; | ||
| 1175 | |||
| 1176 | /* pin banks of exynos7 pin-controller - BUS0 */ | ||
| 1177 | static const struct samsung_pin_bank_data exynos7_pin_banks1[] __initconst = { | ||
| 1178 | EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpb0", 0x00), | ||
| 1179 | EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpc0", 0x04), | ||
| 1180 | EXYNOS_PIN_BANK_EINTG(2, 0x040, "gpc1", 0x08), | ||
| 1181 | EXYNOS_PIN_BANK_EINTG(6, 0x060, "gpc2", 0x0c), | ||
| 1182 | EXYNOS_PIN_BANK_EINTG(8, 0x080, "gpc3", 0x10), | ||
| 1183 | EXYNOS_PIN_BANK_EINTG(4, 0x0a0, "gpd0", 0x14), | ||
| 1184 | EXYNOS_PIN_BANK_EINTG(6, 0x0c0, "gpd1", 0x18), | ||
| 1185 | EXYNOS_PIN_BANK_EINTG(8, 0x0e0, "gpd2", 0x1c), | ||
| 1186 | EXYNOS_PIN_BANK_EINTG(5, 0x100, "gpd4", 0x20), | ||
| 1187 | EXYNOS_PIN_BANK_EINTG(4, 0x120, "gpd5", 0x24), | ||
| 1188 | EXYNOS_PIN_BANK_EINTG(6, 0x140, "gpd6", 0x28), | ||
| 1189 | EXYNOS_PIN_BANK_EINTG(3, 0x160, "gpd7", 0x2c), | ||
| 1190 | EXYNOS_PIN_BANK_EINTG(2, 0x180, "gpd8", 0x30), | ||
| 1191 | EXYNOS_PIN_BANK_EINTG(2, 0x1a0, "gpg0", 0x34), | ||
| 1192 | EXYNOS_PIN_BANK_EINTG(4, 0x1c0, "gpg3", 0x38), | ||
| 1193 | }; | ||
| 1194 | |||
| 1195 | /* pin banks of exynos7 pin-controller - NFC */ | ||
| 1196 | static const struct samsung_pin_bank_data exynos7_pin_banks2[] __initconst = { | ||
| 1197 | EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj0", 0x00), | ||
| 1198 | }; | ||
| 1199 | |||
| 1200 | /* pin banks of exynos7 pin-controller - TOUCH */ | ||
| 1201 | static const struct samsung_pin_bank_data exynos7_pin_banks3[] __initconst = { | ||
| 1202 | EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00), | ||
| 1203 | }; | ||
| 1204 | |||
| 1205 | /* pin banks of exynos7 pin-controller - FF */ | ||
| 1206 | static const struct samsung_pin_bank_data exynos7_pin_banks4[] __initconst = { | ||
| 1207 | EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpg4", 0x00), | ||
| 1208 | }; | ||
| 1209 | |||
| 1210 | /* pin banks of exynos7 pin-controller - ESE */ | ||
| 1211 | static const struct samsung_pin_bank_data exynos7_pin_banks5[] __initconst = { | ||
| 1212 | EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpv7", 0x00), | ||
| 1213 | }; | ||
| 1214 | |||
| 1215 | /* pin banks of exynos7 pin-controller - FSYS0 */ | ||
| 1216 | static const struct samsung_pin_bank_data exynos7_pin_banks6[] __initconst = { | ||
| 1217 | EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpr4", 0x00), | ||
| 1218 | }; | ||
| 1219 | |||
| 1220 | /* pin banks of exynos7 pin-controller - FSYS1 */ | ||
| 1221 | static const struct samsung_pin_bank_data exynos7_pin_banks7[] __initconst = { | ||
| 1222 | EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpr0", 0x00), | ||
| 1223 | EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpr1", 0x04), | ||
| 1224 | EXYNOS_PIN_BANK_EINTG(5, 0x040, "gpr2", 0x08), | ||
| 1225 | EXYNOS_PIN_BANK_EINTG(8, 0x060, "gpr3", 0x0c), | ||
| 1226 | }; | ||
| 1227 | |||
| 1228 | const struct samsung_pin_ctrl exynos7_pin_ctrl[] __initconst = { | ||
| 1229 | { | ||
| 1230 | /* pin-controller instance 0 Alive data */ | ||
| 1231 | .pin_banks = exynos7_pin_banks0, | ||
| 1232 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks0), | ||
| 1233 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1234 | .eint_wkup_init = exynos_eint_wkup_init, | ||
| 1235 | }, { | ||
| 1236 | /* pin-controller instance 1 BUS0 data */ | ||
| 1237 | .pin_banks = exynos7_pin_banks1, | ||
| 1238 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks1), | ||
| 1239 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1240 | }, { | ||
| 1241 | /* pin-controller instance 2 NFC data */ | ||
| 1242 | .pin_banks = exynos7_pin_banks2, | ||
| 1243 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks2), | ||
| 1244 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1245 | }, { | ||
| 1246 | /* pin-controller instance 3 TOUCH data */ | ||
| 1247 | .pin_banks = exynos7_pin_banks3, | ||
| 1248 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks3), | ||
| 1249 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1250 | }, { | ||
| 1251 | /* pin-controller instance 4 FF data */ | ||
| 1252 | .pin_banks = exynos7_pin_banks4, | ||
| 1253 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks4), | ||
| 1254 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1255 | }, { | ||
| 1256 | /* pin-controller instance 5 ESE data */ | ||
| 1257 | .pin_banks = exynos7_pin_banks5, | ||
| 1258 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks5), | ||
| 1259 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1260 | }, { | ||
| 1261 | /* pin-controller instance 6 FSYS0 data */ | ||
| 1262 | .pin_banks = exynos7_pin_banks6, | ||
| 1263 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks6), | ||
| 1264 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1265 | }, { | ||
| 1266 | /* pin-controller instance 7 FSYS1 data */ | ||
| 1267 | .pin_banks = exynos7_pin_banks7, | ||
| 1268 | .nr_banks = ARRAY_SIZE(exynos7_pin_banks7), | ||
| 1269 | .eint_gpio_init = exynos_eint_gpio_init, | ||
| 1270 | }, | ||
| 1271 | }; | ||
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c index 96ef6e50f1f6..e5a81503f533 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.c +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c | |||
| @@ -1239,6 +1239,8 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = { | |||
| 1239 | .data = (void *)exynos5420_pin_ctrl }, | 1239 | .data = (void *)exynos5420_pin_ctrl }, |
| 1240 | { .compatible = "samsung,s5pv210-pinctrl", | 1240 | { .compatible = "samsung,s5pv210-pinctrl", |
| 1241 | .data = (void *)s5pv210_pin_ctrl }, | 1241 | .data = (void *)s5pv210_pin_ctrl }, |
| 1242 | { .compatible = "samsung,exynos7-pinctrl", | ||
| 1243 | .data = (void *)exynos7_pin_ctrl }, | ||
| 1242 | #endif | 1244 | #endif |
| 1243 | #ifdef CONFIG_PINCTRL_S3C64XX | 1245 | #ifdef CONFIG_PINCTRL_S3C64XX |
| 1244 | { .compatible = "samsung,s3c64xx-pinctrl", | 1246 | { .compatible = "samsung,s3c64xx-pinctrl", |
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.h b/drivers/pinctrl/samsung/pinctrl-samsung.h index 3076b8b591c7..29004be52eaa 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.h +++ b/drivers/pinctrl/samsung/pinctrl-samsung.h | |||
| @@ -270,6 +270,7 @@ extern const struct samsung_pin_ctrl exynos4x12_pin_ctrl[]; | |||
| 270 | extern const struct samsung_pin_ctrl exynos5250_pin_ctrl[]; | 270 | extern const struct samsung_pin_ctrl exynos5250_pin_ctrl[]; |
| 271 | extern const struct samsung_pin_ctrl exynos5260_pin_ctrl[]; | 271 | extern const struct samsung_pin_ctrl exynos5260_pin_ctrl[]; |
| 272 | extern const struct samsung_pin_ctrl exynos5420_pin_ctrl[]; | 272 | extern const struct samsung_pin_ctrl exynos5420_pin_ctrl[]; |
| 273 | extern const struct samsung_pin_ctrl exynos7_pin_ctrl[]; | ||
| 273 | extern const struct samsung_pin_ctrl s3c64xx_pin_ctrl[]; | 274 | extern const struct samsung_pin_ctrl s3c64xx_pin_ctrl[]; |
| 274 | extern const struct samsung_pin_ctrl s3c2412_pin_ctrl[]; | 275 | extern const struct samsung_pin_ctrl s3c2412_pin_ctrl[]; |
| 275 | extern const struct samsung_pin_ctrl s3c2416_pin_ctrl[]; | 276 | extern const struct samsung_pin_ctrl s3c2416_pin_ctrl[]; |
