Dear Chander Kashyap, On 11 January 2012 22:55, Chander Kashyap <chander.kash...@linaro.org> wrote: > Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of > SoCs. This patch adds the support for Exynos5. > > Signed-off-by: Chander Kashyap <chander.kash...@linaro.org> > --- > Changes for v2: > - This patch was part of "EXYNOS: Add SMDK5250 board support" > - Now it is seprated as SoC support. > Changes for v333: > - Populated complete exynos5 gpio structures > > arch/arm/cpu/armv7/exynos/clock.c | 209 +++++++++++++++++++- > arch/arm/include/asm/arch-exynos/clock.h | 326 > ++++++++++++++++++++++++++++++ > arch/arm/include/asm/arch-exynos/cpu.h | 35 +++- > arch/arm/include/asm/arch-exynos/gpio.h | 101 +++++++++- > 4 files changed, 658 insertions(+), 13 deletions(-) > > diff --git a/arch/arm/include/asm/arch-exynos/cpu.h > b/arch/arm/include/asm/arch-exynos/cpu.h > index 6d97b99..645336e 100644 > --- a/arch/arm/include/asm/arch-exynos/cpu.h > +++ b/arch/arm/include/asm/arch-exynos/cpu.h > @@ -22,6 +22,8 @@ > #ifndef _EXYNOS4_CPU_H > #define _EXYNOS4_CPU_H > > +#define DEVICE_NOT_AVAILABLE 0 > + > #define EXYNOS4_ADDR_BASE 0x10000000 > > /* EXYNOS4 */ > @@ -46,7 +48,34 @@ > #define EXYNOS4_ADC_BASE 0x13910000 > #define EXYNOS4_PWMTIMER_BASE 0x139D0000 > #define EXYNOS4_MODEM_BASE 0x13A00000 > -#define EXYNOS4_USBPHY_CONTROL 0x10020704 > +#define EXYNOS4_USBPHY_CONTROL 0x10020704 > + > +#define EXYNOS4_GPIO_PART4_BASE DEVICE_NOT_AVAILABLE > + > +/* EXYNOS5 */ > +#define EXYNOS5_GPIO_PART4_BASE 0x03860000 > +#define EXYNOS5_PRO_ID 0x10000000 > +#define EXYNOS5_CLOCK_BASE 0x10010000 > +#define EXYNOS5_POWER_BASE 0x10040000 > +#define EXYNOS5_SWRESET 0x10040400 > +#define EXYNOS5_SYSREG_BASE 0x10050000 > +#define EXYNOS5_WATCHDOG_BASE 0x101D0000 > +#define EXYNOS5_PHY0_CTRL_BASE 0x10C00000 > +#define EXYNOS5_PHY1_CTRL_BASE 0x10C10000
Please make the name clearly. EXYNOS5_DMC_PHY0_BASE is better. > +#define EXYNOS5_GPIO_PART3_BASE 0x10D10000 > +#define EXYNOS5_DMC_CTRL_BASE 0x10DD0000 > +#define EXYNOS5_GPIO_PART1_BASE 0x11400000 > +#define EXYNOS5_MMC_BASE 0x12200000 > +#define EXYNOS5_SROMC_BASE 0x12250000 > +#define EXYNOS5_USBOTG_BASE 0x12480000 > +#define EXYNOS5_USBPHY_BASE 0x12480000 > +#define EXYNOS5_UART_BASE 0x12C00000 > +#define EXYNOS5_PWMTIMER_BASE 0x12DD0000 > +#define EXYNOS5_GPIO_PART2_BASE 0x13400000 > +#define EXYNOS5_FIMD_BASE 0x14400000 > + > +#define EXYNOS5_ADC_BASE DEVICE_NOT_AVAILABLE > +#define EXYNOS5_MODEM_BASE DEVICE_NOT_AVAILABLE > > #ifndef __ASSEMBLY__ > #include <asm/io.h> > @@ -83,12 +112,15 @@ static inline int cpu_is_##type(void) > \ > } > > IS_SAMSUNG_TYPE(exynos4, 0xc210) > +IS_SAMSUNG_TYPE(exynos5, 0xc520) > > #define SAMSUNG_BASE(device, base) \ > static inline unsigned int samsung_get_base_##device(void) \ > { \ > if (cpu_is_exynos4()) \ > return EXYNOS4_##base; \ > + else if (cpu_is_exynos5()) \ > + return EXYNOS5_##base; \ > else \ > return 0; \ > } > @@ -99,6 +131,7 @@ SAMSUNG_BASE(fimd, FIMD_BASE) > SAMSUNG_BASE(gpio_part1, GPIO_PART1_BASE) > SAMSUNG_BASE(gpio_part2, GPIO_PART2_BASE) > SAMSUNG_BASE(gpio_part3, GPIO_PART3_BASE) > +SAMSUNG_BASE(gpio_part4, GPIO_PART4_BASE) > SAMSUNG_BASE(pro_id, PRO_ID) > SAMSUNG_BASE(mmc, MMC_BASE) > SAMSUNG_BASE(modem, MODEM_BASE) > diff --git a/arch/arm/include/asm/arch-exynos/gpio.h > b/arch/arm/include/asm/arch-exynos/gpio.h > index 9863a12..cdd6255 100644 > --- a/arch/arm/include/asm/arch-exynos/gpio.h > +++ b/arch/arm/include/asm/arch-exynos/gpio.h > static inline unsigned int s5p_gpio_base(int nr) > { > - if (nr < GPIO_PART1_MAX) > - return EXYNOS4_GPIO_PART1_BASE; > + if (cpu_is_exynos5()) { > + if (nr < EXYNOS5_GPIO_PART1_MAX) > + return EXYNOS5_GPIO_PART1_BASE; > + else if (nr < EXYNOS5_GPIO_PART2_MAX) > + return EXYNOS5_GPIO_PART2_BASE; > + else > + return EXYNOS5_GPIO_PART3_BASE; > + > + } else if (cpu_is_exynos4()) { > + if (nr < EXYNOS4_GPIO_PART1_MAX) > + return EXYNOS4_GPIO_PART1_BASE; > + else > + return EXYNOS4_GPIO_PART2_BASE; > + } > else > - return EXYNOS4_GPIO_PART2_BASE; > - > - return 0; > + return 0; Please remove "else", and do return. Thanks, Minkyu Kang. -- from. prom. www.promsoft.net _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot