Samsung pinctrl drivers changes for v4.18
1. Driver expects specific order of GPIO interrupt banks. For S5Pv220 and Exynos5410 this order was not preserved so fix and document it. 2. Remove support for Exynos5440 (tree-wide, support is dropped because there are no real users of this platform, it also did not get testing since long time). 3. Fix lost state of GPF1..5 pins on Exynos5433 during system suspend. -----BEGIN PGP SIGNATURE----- iQItBAABCAAXBQJbBb/7EBxrcnprQGtlcm5lbC5vcmcACgkQwTdm5oaLg9dVGg/5 AX0PgNolOWgApCrqu/fdI5aiTk9CXjezl/OnBR3mZ8iqvacJA2aRrQUZKoGnNHhb qZp7TzT8UukLq3Aye3zgwjeyFE+FcWDCxVNoJ2pifXNhGU5pkkb8InY/EhcnEX4g q/ASr54aZ0HpqFgBcKlM3IG/+PQJHIrp54HanGTOxLoBe9nbbWXdtgBNbD9zTv0h XDpHTDg8mLhvBqFPLR9IMs4sxI7XsQL3r5c84BbXZWjJJ08DReFpiqqwea6y3QBu rS3qbSjfAr3TndUx3znUx3OWWWG+M65zDSlhpWq0+4/osjrCLo+tRxULq2Aqx7+L MfIRyN0gRHqf40Eh15xCrZFwXbXTS78sc+gtlnezuNk/BgCGpSI9mAOAjDW6I+Dm zZg9imJBEV68qmWFoYeTZX2Aa829YYsSyE9iX3+qz29FllB5dDj4mfImmTywYsDk HyYiyXPR0DU4PvlYRDszwltQpFS5sgO9fkaOQKA45FPWJUc67rhUlrdMD+L/zggy gGjWx+Ou0n3/wvjpxbUcIqVerdMWKW1xIimiA2CAMqrVQ1zf9aykUY14oVCvZMqP VcTSUcJfvhQr8AdUxm1uByTaLfZ682l/KHubxGLnMr3Pg0Yr71xaCjTdkr4KP3df ZCg9ECt5am6dhf6TRXPdUsKPOWMTa2vfm036ZysdwOk= =7nCe -----END PGP SIGNATURE----- Merge tag 'samsung-pinctrl-4.18-2' of https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into devel Samsung pinctrl drivers changes for v4.18 1. Driver expects specific order of GPIO interrupt banks. For S5Pv220 and Exynos5410 this order was not preserved so fix and document it. 2. Remove support for Exynos5440 (tree-wide, support is dropped because there are no real users of this platform, it also did not get testing since long time). 3. Fix lost state of GPF1..5 pins on Exynos5433 during system suspend.
This commit is contained in:
commit
de8a6c672f
|
@ -8,26 +8,20 @@ config PINCTRL_SAMSUNG
|
||||||
select PINCONF
|
select PINCONF
|
||||||
|
|
||||||
config PINCTRL_EXYNOS
|
config PINCTRL_EXYNOS
|
||||||
bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
|
bool "Pinctrl driver data for Samsung EXYNOS SoCs"
|
||||||
depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
|
depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
|
||||||
select PINCTRL_SAMSUNG
|
select PINCTRL_SAMSUNG
|
||||||
select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210)
|
select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210)
|
||||||
select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS
|
select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS
|
||||||
|
|
||||||
config PINCTRL_EXYNOS_ARM
|
config PINCTRL_EXYNOS_ARM
|
||||||
bool "ARMv7-specific pinctrl driver data for Exynos (except Exynos5440)" if COMPILE_TEST
|
bool "ARMv7-specific pinctrl driver data for Exynos" if COMPILE_TEST
|
||||||
depends on PINCTRL_EXYNOS
|
depends on PINCTRL_EXYNOS
|
||||||
|
|
||||||
config PINCTRL_EXYNOS_ARM64
|
config PINCTRL_EXYNOS_ARM64
|
||||||
bool "ARMv8-specific pinctrl driver data for Exynos" if COMPILE_TEST
|
bool "ARMv8-specific pinctrl driver data for Exynos" if COMPILE_TEST
|
||||||
depends on PINCTRL_EXYNOS
|
depends on PINCTRL_EXYNOS
|
||||||
|
|
||||||
config PINCTRL_EXYNOS5440
|
|
||||||
bool "Samsung EXYNOS5440 SoC pinctrl driver"
|
|
||||||
depends on SOC_EXYNOS5440
|
|
||||||
select PINMUX
|
|
||||||
select PINCONF
|
|
||||||
|
|
||||||
config PINCTRL_S3C24XX
|
config PINCTRL_S3C24XX
|
||||||
bool "Samsung S3C24XX SoC pinctrl driver"
|
bool "Samsung S3C24XX SoC pinctrl driver"
|
||||||
depends on ARCH_S3C24XX && OF
|
depends on ARCH_S3C24XX && OF
|
||||||
|
|
|
@ -5,6 +5,5 @@ obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o
|
||||||
obj-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o
|
obj-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o
|
||||||
obj-$(CONFIG_PINCTRL_EXYNOS_ARM) += pinctrl-exynos-arm.o
|
obj-$(CONFIG_PINCTRL_EXYNOS_ARM) += pinctrl-exynos-arm.o
|
||||||
obj-$(CONFIG_PINCTRL_EXYNOS_ARM64) += pinctrl-exynos-arm64.o
|
obj-$(CONFIG_PINCTRL_EXYNOS_ARM64) += pinctrl-exynos-arm64.o
|
||||||
obj-$(CONFIG_PINCTRL_EXYNOS5440) += pinctrl-exynos5440.o
|
|
||||||
obj-$(CONFIG_PINCTRL_S3C24XX) += pinctrl-s3c24xx.o
|
obj-$(CONFIG_PINCTRL_S3C24XX) += pinctrl-s3c24xx.o
|
||||||
obj-$(CONFIG_PINCTRL_S3C64XX) += pinctrl-s3c64xx.o
|
obj-$(CONFIG_PINCTRL_S3C64XX) += pinctrl-s3c64xx.o
|
||||||
|
|
|
@ -88,6 +88,7 @@ static const struct samsung_retention_data s5pv210_retention_data __initconst =
|
||||||
|
|
||||||
/* pin banks of s5pv210 pin-controller */
|
/* pin banks of s5pv210 pin-controller */
|
||||||
static const struct samsung_pin_bank_data s5pv210_pin_bank[] __initconst = {
|
static const struct samsung_pin_bank_data s5pv210_pin_bank[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(4, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
||||||
|
@ -105,12 +106,12 @@ static const struct samsung_pin_bank_data s5pv210_pin_bank[] __initconst = {
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x1c0, "gpg1", 0x38),
|
EXYNOS_PIN_BANK_EINTG(7, 0x1c0, "gpg1", 0x38),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x1e0, "gpg2", 0x3c),
|
EXYNOS_PIN_BANK_EINTG(7, 0x1e0, "gpg2", 0x3c),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x200, "gpg3", 0x40),
|
EXYNOS_PIN_BANK_EINTG(7, 0x200, "gpg3", 0x40),
|
||||||
EXYNOS_PIN_BANK_EINTN(7, 0x220, "gpi"),
|
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x240, "gpj0", 0x44),
|
EXYNOS_PIN_BANK_EINTG(8, 0x240, "gpj0", 0x44),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x260, "gpj1", 0x48),
|
EXYNOS_PIN_BANK_EINTG(6, 0x260, "gpj1", 0x48),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x280, "gpj2", 0x4c),
|
EXYNOS_PIN_BANK_EINTG(8, 0x280, "gpj2", 0x4c),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x2a0, "gpj3", 0x50),
|
EXYNOS_PIN_BANK_EINTG(8, 0x2a0, "gpj3", 0x50),
|
||||||
EXYNOS_PIN_BANK_EINTG(5, 0x2c0, "gpj4", 0x54),
|
EXYNOS_PIN_BANK_EINTG(5, 0x2c0, "gpj4", 0x54),
|
||||||
|
EXYNOS_PIN_BANK_EINTN(7, 0x220, "gpi"),
|
||||||
EXYNOS_PIN_BANK_EINTN(8, 0x2e0, "mp01"),
|
EXYNOS_PIN_BANK_EINTN(8, 0x2e0, "mp01"),
|
||||||
EXYNOS_PIN_BANK_EINTN(4, 0x300, "mp02"),
|
EXYNOS_PIN_BANK_EINTN(4, 0x300, "mp02"),
|
||||||
EXYNOS_PIN_BANK_EINTN(8, 0x320, "mp03"),
|
EXYNOS_PIN_BANK_EINTN(8, 0x320, "mp03"),
|
||||||
|
@ -147,6 +148,7 @@ static atomic_t exynos_shared_retention_refcnt;
|
||||||
|
|
||||||
/* pin banks of exynos3250 pin-controller 0 */
|
/* pin banks of exynos3250 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos3250_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos3250_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
||||||
|
@ -158,6 +160,7 @@ static const struct samsung_pin_bank_data exynos3250_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos3250 pin-controller 1 */
|
/* pin banks of exynos3250 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos3250_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos3250_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTN(8, 0x120, "gpe0"),
|
EXYNOS_PIN_BANK_EINTN(8, 0x120, "gpe0"),
|
||||||
EXYNOS_PIN_BANK_EINTN(8, 0x140, "gpe1"),
|
EXYNOS_PIN_BANK_EINTN(8, 0x140, "gpe1"),
|
||||||
EXYNOS_PIN_BANK_EINTN(3, 0x180, "gpe2"),
|
EXYNOS_PIN_BANK_EINTN(3, 0x180, "gpe2"),
|
||||||
|
@ -232,6 +235,7 @@ const struct samsung_pinctrl_of_match_data exynos3250_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos4210 pin-controller 0 */
|
/* pin banks of exynos4210 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos4210_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4210_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
||||||
|
@ -252,6 +256,7 @@ static const struct samsung_pin_bank_data exynos4210_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos4210 pin-controller 1 */
|
/* pin banks of exynos4210 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos4210_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4210_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpj0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpj0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(5, 0x020, "gpj1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(5, 0x020, "gpj1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpk0", 0x08),
|
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpk0", 0x08),
|
||||||
|
@ -276,6 +281,7 @@ static const struct samsung_pin_bank_data exynos4210_pin_banks1[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos4210 pin-controller 2 */
|
/* pin banks of exynos4210 pin-controller 2 */
|
||||||
static const struct samsung_pin_bank_data exynos4210_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4210_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTN(7, 0x000, "gpz"),
|
EXYNOS_PIN_BANK_EINTN(7, 0x000, "gpz"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -346,6 +352,7 @@ const struct samsung_pinctrl_of_match_data exynos4210_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos4x12 pin-controller 0 */
|
/* pin banks of exynos4x12 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos4x12_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4x12_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpb", 0x08),
|
||||||
|
@ -363,6 +370,7 @@ static const struct samsung_pin_bank_data exynos4x12_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos4x12 pin-controller 1 */
|
/* pin banks of exynos4x12 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos4x12_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4x12_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpk0", 0x08),
|
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpk0", 0x08),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x060, "gpk1", 0x0c),
|
EXYNOS_PIN_BANK_EINTG(7, 0x060, "gpk1", 0x0c),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x080, "gpk2", 0x10),
|
EXYNOS_PIN_BANK_EINTG(7, 0x080, "gpk2", 0x10),
|
||||||
|
@ -390,11 +398,13 @@ static const struct samsung_pin_bank_data exynos4x12_pin_banks1[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos4x12 pin-controller 2 */
|
/* pin banks of exynos4x12 pin-controller 2 */
|
||||||
static const struct samsung_pin_bank_data exynos4x12_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4x12_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos4x12 pin-controller 3 */
|
/* pin banks of exynos4x12 pin-controller 3 */
|
||||||
static const struct samsung_pin_bank_data exynos4x12_pin_banks3[] __initconst = {
|
static const struct samsung_pin_bank_data exynos4x12_pin_banks3[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpv0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpv0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpv1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpv1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpv2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpv2", 0x08),
|
||||||
|
@ -449,6 +459,7 @@ const struct samsung_pinctrl_of_match_data exynos4x12_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos5250 pin-controller 0 */
|
/* pin banks of exynos5250 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos5250_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5250_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
||||||
|
@ -478,6 +489,7 @@ static const struct samsung_pin_bank_data exynos5250_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5250 pin-controller 1 */
|
/* pin banks of exynos5250 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos5250_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5250_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpe0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpe0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(2, 0x020, "gpe1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(2, 0x020, "gpe1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x040, "gpf0", 0x08),
|
EXYNOS_PIN_BANK_EINTG(4, 0x040, "gpf0", 0x08),
|
||||||
|
@ -491,6 +503,7 @@ static const struct samsung_pin_bank_data exynos5250_pin_banks1[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5250 pin-controller 2 */
|
/* pin banks of exynos5250 pin-controller 2 */
|
||||||
static const struct samsung_pin_bank_data exynos5250_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5250_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpv0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpv0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpv1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpv1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x060, "gpv2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x060, "gpv2", 0x08),
|
||||||
|
@ -500,6 +513,7 @@ static const struct samsung_pin_bank_data exynos5250_pin_banks2[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5250 pin-controller 3 */
|
/* pin banks of exynos5250 pin-controller 3 */
|
||||||
static const struct samsung_pin_bank_data exynos5250_pin_banks3[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5250_pin_banks3[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -550,6 +564,7 @@ const struct samsung_pinctrl_of_match_data exynos5250_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos5260 pin-controller 0 */
|
/* pin banks of exynos5260 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos5260_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5260_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(7, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
||||||
|
@ -575,6 +590,7 @@ static const struct samsung_pin_bank_data exynos5260_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5260 pin-controller 1 */
|
/* pin banks of exynos5260 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos5260_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5260_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpc0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpc0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpc1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpc1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpc2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpc2", 0x08),
|
||||||
|
@ -584,6 +600,7 @@ static const struct samsung_pin_bank_data exynos5260_pin_banks1[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5260 pin-controller 2 */
|
/* pin banks of exynos5260 pin-controller 2 */
|
||||||
static const struct samsung_pin_bank_data exynos5260_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5260_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x020, "gpz1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(4, 0x020, "gpz1", 0x04),
|
||||||
};
|
};
|
||||||
|
@ -619,6 +636,7 @@ const struct samsung_pinctrl_of_match_data exynos5260_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos5410 pin-controller 0 */
|
/* pin banks of exynos5410 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos5410_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5410_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
||||||
|
@ -630,7 +648,6 @@ static const struct samsung_pin_bank_data exynos5410_pin_banks0[] __initconst =
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x100, "gpc3", 0x20),
|
EXYNOS_PIN_BANK_EINTG(4, 0x100, "gpc3", 0x20),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x120, "gpc1", 0x24),
|
EXYNOS_PIN_BANK_EINTG(7, 0x120, "gpc1", 0x24),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x140, "gpc2", 0x28),
|
EXYNOS_PIN_BANK_EINTG(7, 0x140, "gpc2", 0x28),
|
||||||
EXYNOS_PIN_BANK_EINTN(2, 0x160, "gpm5"),
|
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x180, "gpd1", 0x2c),
|
EXYNOS_PIN_BANK_EINTG(8, 0x180, "gpd1", 0x2c),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x1A0, "gpe0", 0x30),
|
EXYNOS_PIN_BANK_EINTG(8, 0x1A0, "gpe0", 0x30),
|
||||||
EXYNOS_PIN_BANK_EINTG(2, 0x1C0, "gpe1", 0x34),
|
EXYNOS_PIN_BANK_EINTG(2, 0x1C0, "gpe1", 0x34),
|
||||||
|
@ -641,6 +658,7 @@ static const struct samsung_pin_bank_data exynos5410_pin_banks0[] __initconst =
|
||||||
EXYNOS_PIN_BANK_EINTG(2, 0x260, "gpg2", 0x48),
|
EXYNOS_PIN_BANK_EINTG(2, 0x260, "gpg2", 0x48),
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x280, "gph0", 0x4c),
|
EXYNOS_PIN_BANK_EINTG(4, 0x280, "gph0", 0x4c),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x2A0, "gph1", 0x50),
|
EXYNOS_PIN_BANK_EINTG(8, 0x2A0, "gph1", 0x50),
|
||||||
|
EXYNOS_PIN_BANK_EINTN(2, 0x160, "gpm5"),
|
||||||
EXYNOS_PIN_BANK_EINTN(8, 0x2C0, "gpm7"),
|
EXYNOS_PIN_BANK_EINTN(8, 0x2C0, "gpm7"),
|
||||||
EXYNOS_PIN_BANK_EINTN(6, 0x2E0, "gpy0"),
|
EXYNOS_PIN_BANK_EINTN(6, 0x2E0, "gpy0"),
|
||||||
EXYNOS_PIN_BANK_EINTN(4, 0x300, "gpy1"),
|
EXYNOS_PIN_BANK_EINTN(4, 0x300, "gpy1"),
|
||||||
|
@ -658,6 +676,7 @@ static const struct samsung_pin_bank_data exynos5410_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5410 pin-controller 1 */
|
/* pin banks of exynos5410 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos5410_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5410_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpj0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpj0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpj1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpj1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpj2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpj2", 0x08),
|
||||||
|
@ -671,6 +690,7 @@ static const struct samsung_pin_bank_data exynos5410_pin_banks1[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5410 pin-controller 2 */
|
/* pin banks of exynos5410 pin-controller 2 */
|
||||||
static const struct samsung_pin_bank_data exynos5410_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5410_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpv0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpv0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpv1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpv1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x060, "gpv2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x060, "gpv2", 0x08),
|
||||||
|
@ -680,6 +700,7 @@ static const struct samsung_pin_bank_data exynos5410_pin_banks2[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5410 pin-controller 3 */
|
/* pin banks of exynos5410 pin-controller 3 */
|
||||||
static const struct samsung_pin_bank_data exynos5410_pin_banks3[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5410_pin_banks3[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -727,6 +748,7 @@ const struct samsung_pinctrl_of_match_data exynos5410_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos5420 pin-controller 0 */
|
/* pin banks of exynos5420 pin-controller 0 */
|
||||||
static const struct samsung_pin_bank_data exynos5420_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5420_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpy7", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpy7", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTW(8, 0xC00, "gpx0", 0x00),
|
EXYNOS_PIN_BANK_EINTW(8, 0xC00, "gpx0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTW(8, 0xC20, "gpx1", 0x04),
|
EXYNOS_PIN_BANK_EINTW(8, 0xC20, "gpx1", 0x04),
|
||||||
|
@ -736,6 +758,7 @@ static const struct samsung_pin_bank_data exynos5420_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5420 pin-controller 1 */
|
/* pin banks of exynos5420 pin-controller 1 */
|
||||||
static const struct samsung_pin_bank_data exynos5420_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5420_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpc0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpc0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpc1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpc1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpc2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(7, 0x040, "gpc2", 0x08),
|
||||||
|
@ -753,6 +776,7 @@ static const struct samsung_pin_bank_data exynos5420_pin_banks1[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5420 pin-controller 2 */
|
/* pin banks of exynos5420 pin-controller 2 */
|
||||||
static const struct samsung_pin_bank_data exynos5420_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5420_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpe0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpe0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(2, 0x020, "gpe1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(2, 0x020, "gpe1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x040, "gpf0", 0x08),
|
EXYNOS_PIN_BANK_EINTG(6, 0x040, "gpf0", 0x08),
|
||||||
|
@ -765,6 +789,7 @@ static const struct samsung_pin_bank_data exynos5420_pin_banks2[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5420 pin-controller 3 */
|
/* pin banks of exynos5420 pin-controller 3 */
|
||||||
static const struct samsung_pin_bank_data exynos5420_pin_banks3[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5420_pin_banks3[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(6, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpa2", 0x08),
|
||||||
|
@ -778,6 +803,7 @@ static const struct samsung_pin_bank_data exynos5420_pin_banks3[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5420 pin-controller 4 */
|
/* pin banks of exynos5420 pin-controller 4 */
|
||||||
static const struct samsung_pin_bank_data exynos5420_pin_banks4[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5420_pin_banks4[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ static atomic_t exynos_shared_retention_refcnt;
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - ALIVE */
|
/* pin banks of exynos5433 pin-controller - ALIVE */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTW(8, 0x000, "gpa0", 0x00),
|
EXYNOS5433_PIN_BANK_EINTW(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS5433_PIN_BANK_EINTW(8, 0x020, "gpa1", 0x04),
|
EXYNOS5433_PIN_BANK_EINTW(8, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS5433_PIN_BANK_EINTW(8, 0x040, "gpa2", 0x08),
|
EXYNOS5433_PIN_BANK_EINTW(8, 0x040, "gpa2", 0x08),
|
||||||
|
@ -58,27 +59,32 @@ static const struct samsung_pin_bank_data exynos5433_pin_banks0[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - AUD */
|
/* pin banks of exynos5433 pin-controller - AUD */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(7, 0x000, "gpz0", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(7, 0x000, "gpz0", 0x00),
|
||||||
EXYNOS5433_PIN_BANK_EINTG(4, 0x020, "gpz1", 0x04),
|
EXYNOS5433_PIN_BANK_EINTG(4, 0x020, "gpz1", 0x04),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - CPIF */
|
/* pin banks of exynos5433 pin-controller - CPIF */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(2, 0x000, "gpv6", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(2, 0x000, "gpv6", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - eSE */
|
/* pin banks of exynos5433 pin-controller - eSE */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks3[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks3[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(3, 0x000, "gpj2", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(3, 0x000, "gpj2", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - FINGER */
|
/* pin banks of exynos5433 pin-controller - FINGER */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks4[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks4[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(4, 0x000, "gpd5", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(4, 0x000, "gpd5", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - FSYS */
|
/* pin banks of exynos5433 pin-controller - FSYS */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks5[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks5[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(6, 0x000, "gph1", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(6, 0x000, "gph1", 0x00),
|
||||||
EXYNOS5433_PIN_BANK_EINTG(7, 0x020, "gpr4", 0x04),
|
EXYNOS5433_PIN_BANK_EINTG(7, 0x020, "gpr4", 0x04),
|
||||||
EXYNOS5433_PIN_BANK_EINTG(5, 0x040, "gpr0", 0x08),
|
EXYNOS5433_PIN_BANK_EINTG(5, 0x040, "gpr0", 0x08),
|
||||||
|
@ -89,16 +95,19 @@ static const struct samsung_pin_bank_data exynos5433_pin_banks5[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - IMEM */
|
/* pin banks of exynos5433 pin-controller - IMEM */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks6[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks6[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(8, 0x000, "gpf0", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(8, 0x000, "gpf0", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - NFC */
|
/* pin banks of exynos5433 pin-controller - NFC */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks7[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks7[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(3, 0x000, "gpj0", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(3, 0x000, "gpj0", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - PERIC */
|
/* pin banks of exynos5433 pin-controller - PERIC */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks8[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks8[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(6, 0x000, "gpv7", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(6, 0x000, "gpv7", 0x00),
|
||||||
EXYNOS5433_PIN_BANK_EINTG(5, 0x020, "gpb0", 0x04),
|
EXYNOS5433_PIN_BANK_EINTG(5, 0x020, "gpb0", 0x04),
|
||||||
EXYNOS5433_PIN_BANK_EINTG(8, 0x040, "gpc0", 0x08),
|
EXYNOS5433_PIN_BANK_EINTG(8, 0x040, "gpc0", 0x08),
|
||||||
|
@ -120,6 +129,7 @@ static const struct samsung_pin_bank_data exynos5433_pin_banks8[] __initconst =
|
||||||
|
|
||||||
/* pin banks of exynos5433 pin-controller - TOUCH */
|
/* pin banks of exynos5433 pin-controller - TOUCH */
|
||||||
static const struct samsung_pin_bank_data exynos5433_pin_banks9[] __initconst = {
|
static const struct samsung_pin_bank_data exynos5433_pin_banks9[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS5433_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00),
|
EXYNOS5433_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -267,6 +277,7 @@ const struct samsung_pinctrl_of_match_data exynos5433_of_data __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - ALIVE */
|
/* pin banks of exynos7 pin-controller - ALIVE */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks0[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks0[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTW(8, 0x000, "gpa0", 0x00),
|
EXYNOS_PIN_BANK_EINTW(8, 0x000, "gpa0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTW(8, 0x020, "gpa1", 0x04),
|
EXYNOS_PIN_BANK_EINTW(8, 0x020, "gpa1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTW(8, 0x040, "gpa2", 0x08),
|
EXYNOS_PIN_BANK_EINTW(8, 0x040, "gpa2", 0x08),
|
||||||
|
@ -275,6 +286,7 @@ static const struct samsung_pin_bank_data exynos7_pin_banks0[] __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - BUS0 */
|
/* pin banks of exynos7 pin-controller - BUS0 */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks1[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks1[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpb0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpb0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpc0", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpc0", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(2, 0x040, "gpc1", 0x08),
|
EXYNOS_PIN_BANK_EINTG(2, 0x040, "gpc1", 0x08),
|
||||||
|
@ -294,31 +306,37 @@ static const struct samsung_pin_bank_data exynos7_pin_banks1[] __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - NFC */
|
/* pin banks of exynos7 pin-controller - NFC */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks2[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks2[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj0", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - TOUCH */
|
/* pin banks of exynos7 pin-controller - TOUCH */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks3[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks3[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00),
|
EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - FF */
|
/* pin banks of exynos7 pin-controller - FF */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks4[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks4[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpg4", 0x00),
|
EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpg4", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - ESE */
|
/* pin banks of exynos7 pin-controller - ESE */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks5[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks5[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpv7", 0x00),
|
EXYNOS_PIN_BANK_EINTG(5, 0x000, "gpv7", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - FSYS0 */
|
/* pin banks of exynos7 pin-controller - FSYS0 */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks6[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks6[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpr4", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpr4", 0x00),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - FSYS1 */
|
/* pin banks of exynos7 pin-controller - FSYS1 */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks7[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks7[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpr0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(4, 0x000, "gpr0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpr1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpr1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(5, 0x040, "gpr2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(5, 0x040, "gpr2", 0x08),
|
||||||
|
@ -327,6 +345,7 @@ static const struct samsung_pin_bank_data exynos7_pin_banks7[] __initconst = {
|
||||||
|
|
||||||
/* pin banks of exynos7 pin-controller - BUS1 */
|
/* pin banks of exynos7 pin-controller - BUS1 */
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks8[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks8[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpf0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(8, 0x020, "gpf0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpf1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(8, 0x040, "gpf1", 0x04),
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x060, "gpf2", 0x08),
|
EXYNOS_PIN_BANK_EINTG(4, 0x060, "gpf2", 0x08),
|
||||||
|
@ -340,6 +359,7 @@ static const struct samsung_pin_bank_data exynos7_pin_banks8[] __initconst = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct samsung_pin_bank_data exynos7_pin_banks9[] __initconst = {
|
static const struct samsung_pin_bank_data exynos7_pin_banks9[] __initconst = {
|
||||||
|
/* Must start with EINTG banks, ordered by EINT group number. */
|
||||||
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz0", 0x00),
|
EXYNOS_PIN_BANK_EINTG(7, 0x000, "gpz0", 0x00),
|
||||||
EXYNOS_PIN_BANK_EINTG(4, 0x020, "gpz1", 0x04),
|
EXYNOS_PIN_BANK_EINTG(4, 0x020, "gpz1", 0x04),
|
||||||
};
|
};
|
||||||
|
|
|
@ -99,7 +99,7 @@
|
||||||
|
|
||||||
#define EXYNOS5433_PIN_BANK_EINTW_EXT(pins, reg, id, offs, pctl_idx) \
|
#define EXYNOS5433_PIN_BANK_EINTW_EXT(pins, reg, id, offs, pctl_idx) \
|
||||||
{ \
|
{ \
|
||||||
.type = &exynos5433_bank_type_alive, \
|
.type = &exynos5433_bank_type_off, \
|
||||||
.pctl_offset = reg, \
|
.pctl_offset = reg, \
|
||||||
.nr_pins = pins, \
|
.nr_pins = pins, \
|
||||||
.eint_type = EINT_TYPE_WKUP, \
|
.eint_type = EINT_TYPE_WKUP, \
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue