diff options
Diffstat (limited to 'arch/arm/include/asm')
| -rw-r--r-- | arch/arm/include/asm/arch-exynos/gpio.h | 17 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-exynos/mmc.h | 6 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-s5pc1xx/mmc.h | 6 | 
3 files changed, 23 insertions, 6 deletions
| diff --git a/arch/arm/include/asm/arch-exynos/gpio.h b/arch/arm/include/asm/arch-exynos/gpio.h index e95581126..a1a74393d 100644 --- a/arch/arm/include/asm/arch-exynos/gpio.h +++ b/arch/arm/include/asm/arch-exynos/gpio.h @@ -290,10 +290,19 @@ static inline unsigned int s5p_gpio_part_max(int nr)  			return EXYNOS5_GPIO_PART2_MAX;  	} else if (cpu_is_exynos4()) { -		if (nr < EXYNOS4_GPIO_PART1_MAX) -			return 0; -		else -			return EXYNOS4_GPIO_PART1_MAX; +		if (proid_is_exynos4412()) { +			if (nr < EXYNOS4X12_GPIO_PART1_MAX) +				return 0; +			else if (nr < EXYNOS4X12_GPIO_PART2_MAX) +				return EXYNOS4X12_GPIO_PART1_MAX; +			else +				return EXYNOS4X12_GPIO_PART2_MAX; +		} else { +			if (nr < EXYNOS4_GPIO_PART1_MAX) +				return 0; +			else +				return EXYNOS4_GPIO_PART1_MAX; +		}  	}  	return 0; diff --git a/arch/arm/include/asm/arch-exynos/mmc.h b/arch/arm/include/asm/arch-exynos/mmc.h index 96610b88f..98312d1c3 100644 --- a/arch/arm/include/asm/arch-exynos/mmc.h +++ b/arch/arm/include/asm/arch-exynos/mmc.h @@ -8,6 +8,8 @@  #ifndef __ASM_ARCH_MMC_H_  #define __ASM_ARCH_MMC_H_ +#define S5P_MMC_DEV_OFFSET	0x10000 +  #define SDHCI_CONTROL2		0x80  #define SDHCI_CONTROL3		0x84  #define SDHCI_CONTROL4		0x8C @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);  static inline unsigned int s5p_mmc_init(int index, int bus_width)  { -	unsigned int base = samsung_get_base_mmc() + (0x10000 * index); +	unsigned int base = samsung_get_base_mmc() + +				(S5P_MMC_DEV_OFFSET * index); +  	return s5p_sdhci_init(base, index, bus_width);  }  #endif diff --git a/arch/arm/include/asm/arch-s5pc1xx/mmc.h b/arch/arm/include/asm/arch-s5pc1xx/mmc.h index 96610b88f..55ff10b23 100644 --- a/arch/arm/include/asm/arch-s5pc1xx/mmc.h +++ b/arch/arm/include/asm/arch-s5pc1xx/mmc.h @@ -8,6 +8,8 @@  #ifndef __ASM_ARCH_MMC_H_  #define __ASM_ARCH_MMC_H_ +#define S5P_MMC_DEV_OFFSET	0x100000 +  #define SDHCI_CONTROL2		0x80  #define SDHCI_CONTROL3		0x84  #define SDHCI_CONTROL4		0x8C @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);  static inline unsigned int s5p_mmc_init(int index, int bus_width)  { -	unsigned int base = samsung_get_base_mmc() + (0x10000 * index); +	unsigned int base = samsung_get_base_mmc() + +				 (S5P_MMC_DEV_OFFSET * index); +  	return s5p_sdhci_init(base, index, bus_width);  }  #endif |