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 | |
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')
-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[]; |