Skip to content

Commit

Permalink
Merge branch 'next/board-samsung-3' of git://git.kernel.org/pub/scm/l…
Browse files Browse the repository at this point in the history
…inux/kernel/git/kgene/linux-samsung into next/boards

From Kukjin Kim <kgene.kim@samsung.com>:

It is including several changes for samsung boards.

* 'next/board-samsung-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Add leds status1 and status2 on Origen board
  ARM: S3C64XX: Mark most Cragganmore initdata devinitdata
  ARM: EXYNOS: Add missing .reserve field to SMDKC210
  ARM: EXYNOS: Add DRM device to SMDK4X12 board
  ARM: S3C64XX: Clean up after SPI driver platform data updates
  ARM: SAMSUNG: no need to set the value for clk_xusbxti when it is 24Mhz

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed Jul 21, 2012
2 parents 608f593 + 29e7d58 commit d003e09
Show file tree
Hide file tree
Showing 10 changed files with 102 additions and 50 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-exynos/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@ config MACH_SMDK4212
select SAMSUNG_DEV_PWM
select EXYNOS_DEV_SYSMMU
select EXYNOS_DEV_DMA
select EXYNOS_DEV_DRM
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_I2C3
Expand Down
3 changes: 1 addition & 2 deletions arch/arm/mach-exynos/mach-nuri.c
Original file line number Diff line number Diff line change
Expand Up @@ -1342,9 +1342,8 @@ static struct platform_device *nuri_devices[] __initdata = {

static void __init nuri_map_io(void)
{
clk_xusbxti.rate = 24000000;
exynos_init_io(NULL, 0);
s3c24xx_init_clocks(24000000);
s3c24xx_init_clocks(clk_xusbxti.rate);
s3c24xx_init_uarts(nuri_uartcfgs, ARRAY_SIZE(nuri_uartcfgs));
}

Expand Down
33 changes: 31 additions & 2 deletions arch/arm/mach-exynos/mach-origen.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*/

#include <linux/serial_core.h>
#include <linux/leds.h>
#include <linux/gpio.h>
#include <linux/mmc/host.h>
#include <linux/platform_device.h>
Expand Down Expand Up @@ -503,6 +504,34 @@ static void __init origen_ohci_init(void)
/* USB OTG */
static struct s3c_hsotg_plat origen_hsotg_pdata;

static struct gpio_led origen_gpio_leds[] = {
{
.name = "origen::status1",
.default_trigger = "heartbeat",
.gpio = EXYNOS4_GPX1(3),
.active_low = 1,
},
{
.name = "origen::status2",
.default_trigger = "mmc0",
.gpio = EXYNOS4_GPX1(4),
.active_low = 1,
},
};

static struct gpio_led_platform_data origen_gpio_led_info = {
.leds = origen_gpio_leds,
.num_leds = ARRAY_SIZE(origen_gpio_leds),
};

static struct platform_device origen_leds_gpio = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &origen_gpio_led_info,
},
};

static struct gpio_keys_button origen_gpio_keys_table[] = {
{
.code = KEY_MENU,
Expand Down Expand Up @@ -682,6 +711,7 @@ static struct platform_device *origen_devices[] __initdata = {
&exynos4_device_ohci,
&origen_device_gpiokeys,
&origen_lcd_hv070wsa,
&origen_leds_gpio,
&origen_device_bluetooth,
};

Expand Down Expand Up @@ -717,7 +747,7 @@ static void s5p_tv_setup(void)
static void __init origen_map_io(void)
{
exynos_init_io(NULL, 0);
s3c24xx_init_clocks(24000000);
s3c24xx_init_clocks(clk_xusbxti.rate);
s3c24xx_init_uarts(origen_uartcfgs, ARRAY_SIZE(origen_uartcfgs));
}

Expand Down Expand Up @@ -750,7 +780,6 @@ static void __init origen_machine_init(void)
origen_ehci_init();
origen_ohci_init();
s3c_hsotg_set_platdata(&origen_hsotg_pdata);
clk_xusbxti.rate = 24000000;

s5p_tv_setup();
s5p_i2c_hdmiphy_set_platdata(NULL);
Expand Down
32 changes: 30 additions & 2 deletions arch/arm/mach-exynos/mach-smdk4x12.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@

#include <mach/map.h>

#include <drm/exynos_drm.h>
#include "common.h"

/* Following are default values for UCON, ULCON and UFCON UART registers */
Expand Down Expand Up @@ -240,6 +241,26 @@ static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = {
.cols = 8,
};

#ifdef CONFIG_DRM_EXYNOS
static struct exynos_drm_fimd_pdata drm_fimd_pdata = {
.panel = {
.timing = {
.left_margin = 8,
.right_margin = 8,
.upper_margin = 6,
.lower_margin = 6,
.hsync_len = 6,
.vsync_len = 4,
.xres = 480,
.yres = 800,
},
},
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.default_win = 0,
.bpp = 32,
};
#else
static struct s3c_fb_pd_win smdk4x12_fb_win0 = {
.xres = 480,
.yres = 800,
Expand Down Expand Up @@ -267,6 +288,7 @@ static struct s3c_fb_platdata smdk4x12_lcd_pdata __initdata = {
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
};
#endif

/* USB OTG */
static struct s3c_hsotg_plat smdk4x12_hsotg_pdata;
Expand All @@ -290,13 +312,14 @@ static struct platform_device *smdk4x12_devices[] __initdata = {
&s5p_device_mfc,
&s5p_device_mfc_l,
&s5p_device_mfc_r,
#ifdef CONFIG_DRM_EXYNOS
&exynos_device_drm,
#endif
&samsung_device_keypad,
};

static void __init smdk4x12_map_io(void)
{
clk_xusbxti.rate = 24000000;

exynos_init_io(NULL, 0);
s3c24xx_init_clocks(clk_xusbxti.rate);
s3c24xx_init_uarts(smdk4x12_uartcfgs, ARRAY_SIZE(smdk4x12_uartcfgs));
Expand Down Expand Up @@ -334,7 +357,12 @@ static void __init smdk4x12_machine_init(void)

s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata);

#ifdef CONFIG_DRM_EXYNOS
s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
exynos4_fimd0_gpio_setup_24bpp();
#else
s5p_fimd0_set_platdata(&smdk4x12_lcd_pdata);
#endif

platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices));
}
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-exynos/mach-smdkv310.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ static void s5p_tv_setup(void)
static void __init smdkv310_map_io(void)
{
exynos_init_io(NULL, 0);
s3c24xx_init_clocks(24000000);
s3c24xx_init_clocks(clk_xusbxti.rate);
s3c24xx_init_uarts(smdkv310_uartcfgs, ARRAY_SIZE(smdkv310_uartcfgs));
}

Expand Down Expand Up @@ -403,7 +403,6 @@ static void __init smdkv310_machine_init(void)
smdkv310_ehci_init();
smdkv310_ohci_init();
s3c_hsotg_set_platdata(&smdkv310_hsotg_pdata);
clk_xusbxti.rate = 24000000;

platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices));
}
Expand All @@ -430,5 +429,6 @@ MACHINE_START(SMDKC210, "SMDKC210")
.init_machine = smdkv310_machine_init,
.init_late = exynos_init_late,
.timer = &exynos4_timer,
.reserve = &smdkv310_reserve,
.restart = exynos4_restart,
MACHINE_END
3 changes: 1 addition & 2 deletions arch/arm/mach-exynos/mach-universal_c210.c
Original file line number Diff line number Diff line change
Expand Up @@ -1100,9 +1100,8 @@ static struct platform_device *universal_devices[] __initdata = {

static void __init universal_map_io(void)
{
clk_xusbxti.rate = 24000000;
exynos_init_io(NULL, 0);
s3c24xx_init_clocks(24000000);
s3c24xx_init_clocks(clk_xusbxti.rate);
s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
}
Expand Down
1 change: 0 additions & 1 deletion arch/arm/mach-s3c64xx/mach-crag6410-module.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include <mach/crag6410.h>

static struct s3c64xx_spi_csinfo wm0010_spi_csinfo = {
.set_level = gpio_set_value,
.line = S3C64XX_GPC(3),
};

Expand Down
Loading

0 comments on commit d003e09

Please sign in to comment.