Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d003e098 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'next/board-samsung-3' of...

Merge branch 'next/board-samsung-3' of git://git.kernel.org/pub/scm/linux/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: default avatarArnd Bergmann <arnd@arndb.de>
parents 608f593b 29e7d587
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −2
Original line number Diff line number Diff line
@@ -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));
}

+31 −2
Original line number Diff line number Diff line
@@ -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>
@@ -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,
@@ -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,
};

@@ -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));
}

@@ -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);
+30 −2
Original line number Diff line number Diff line
@@ -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 */
@@ -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,
@@ -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;
@@ -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));
@@ -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));
}
+2 −2
Original line number Diff line number Diff line
@@ -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));
}

@@ -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));
}
@@ -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
Loading