summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/configs/u8500_defconfig2
-rw-r--r--arch/arm/mach-ux500/board-mop500-mcde.c12
-rw-r--r--arch/arm/mach-ux500/board-mop500.h6
-rw-r--r--arch/arm/mach-ux500/board-u5500-mcde.c6
4 files changed, 18 insertions, 8 deletions
diff --git a/arch/arm/configs/u8500_defconfig b/arch/arm/configs/u8500_defconfig
index 8ac6259e9ac..ea2e18ad041 100644
--- a/arch/arm/configs/u8500_defconfig
+++ b/arch/arm/configs/u8500_defconfig
@@ -24,7 +24,7 @@ CONFIG_UX500_SOC_DB8500=y
CONFIG_MACH_U8500=y
CONFIG_MACH_SNOWBALL=y
CONFIG_MACH_HREFV60=y
-# CONFIG_MACH_U5500 is not set
+CONFIG_MACH_U5500=y
CONFIG_UX500_PRCMU_TIMER=y
CONFIG_DB8500_MLOADER=y
CONFIG_UX500_SUSPEND=y
diff --git a/arch/arm/mach-ux500/board-mop500-mcde.c b/arch/arm/mach-ux500/board-mop500-mcde.c
index 97778a4b426..c44bc2f87f6 100644
--- a/arch/arm/mach-ux500/board-mop500-mcde.c
+++ b/arch/arm/mach-ux500/board-mop500-mcde.c
@@ -11,6 +11,7 @@
#include <linux/gpio.h>
#include <linux/mfd/ab8500/denc.h>
#include <linux/workqueue.h>
+#include <asm/mach-types.h>
#include <video/av8100.h>
#include <video/mcde_display.h>
#include <video/mcde_display-generic_dsi.h>
@@ -23,8 +24,6 @@
#include "pins-db8500.h"
#include "pins.h"
#include "board-mop500.h"
-#include "asm/mach-types.h"
-
#define DSI_UNIT_INTERVAL_0 0x9
#define DSI_UNIT_INTERVAL_1 0x9
@@ -595,12 +594,15 @@ static struct notifier_block framebuffer_nb = {
int __init init_display_devices(void)
{
- int ret;
+ int ret = 0;
#ifdef CONFIG_DISPLAY_GENERIC_DSI_PRIMARY_VSYNC
struct i2c_adapter *i2c0;
#endif
+ if (!(machine_is_u8500() || machine_is_snowball()))
+ return ret;
+
ret = fb_register_client(&framebuffer_nb);
if (ret)
pr_warning("Failed to register framebuffer notifier\n");
@@ -613,7 +615,7 @@ int __init init_display_devices(void)
if (machine_is_hrefv60())
mop500_generic_display0_pdata.reset_gpio = HREFV60_DISP1_RST_GPIO;
else
- mop500_generic_display0_pdata.reset_gpio = GPIO_MCDE_RESET;
+ mop500_generic_display0_pdata.reset_gpio = MOP500_DISP1_RST_GPIO;
#ifdef CONFIG_DISPLAY_GENERIC_DSI_PRIMARY_VSYNC
i2c0 = i2c_get_adapter(0);
@@ -643,7 +645,7 @@ int __init init_display_devices(void)
if (machine_is_hrefv60())
generic_subdisplay_pdata.reset_gpio = HREFV60_DISP2_RST_GPIO;
else
- generic_subdisplay_pdata.reset_gpio = EGPIO_PIN_14;
+ generic_subdisplay_pdata.reset_gpio = MOP500_DISP2_RST_GPIO;
ret = mcde_display_device_register(&generic_subdisplay);
if (ret)
pr_warning("Failed to register generic sub display device\n");
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h
index 565551ff6dd..f7331c1c475 100644
--- a/arch/arm/mach-ux500/board-mop500.h
+++ b/arch/arm/mach-ux500/board-mop500.h
@@ -25,6 +25,11 @@
#define HREFV60_DISP1_RST_GPIO 65
#define HREFV60_DISP2_RST_GPIO 66
+/* MOP500 generic GPIOs */
+#define MOP500_DISP2_RST_GPIO 282
+#define MOP500_DISP1_RST_GPIO 283
+
+
/* GPIOs on the TC35892 expander */
#define MOP500_EGPIO(x) (NOMADIK_NR_GPIO + (x))
#define GPIO_MAGNET_DRDY MOP500_EGPIO(1)
@@ -34,7 +39,6 @@
#define GPIO_ACCEL_INT1 MOP500_EGPIO(10)
#define GPIO_ACCEL_INT2 MOP500_EGPIO(11)
#define GPIO_BU21013_CS MOP500_EGPIO(13)
-#define GPIO_MCDE_RESET 283
#define GPIO_SDMMC_EN MOP500_EGPIO(17)
#define GPIO_SDMMC_1V8_3V_SEL MOP500_EGPIO(18)
#define MOP500_EGPIO_END MOP500_EGPIO(24)
diff --git a/arch/arm/mach-ux500/board-u5500-mcde.c b/arch/arm/mach-ux500/board-u5500-mcde.c
index 8d755b2ec80..714ee15a643 100644
--- a/arch/arm/mach-ux500/board-u5500-mcde.c
+++ b/arch/arm/mach-ux500/board-u5500-mcde.c
@@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <linux/delay.h>
+#include <asm/mach-types.h>
#include <video/mcde_display.h>
#include <video/mcde_display-generic_dsi.h>
#include <video/mcde_fb.h>
@@ -253,7 +254,10 @@ static struct notifier_block framebuffer_nb = {
int __init init_display_devices_u5500(void)
{
- int ret;
+ int ret = 0;
+
+ if (!machine_is_u5500())
+ return ret;
ret = fb_register_client(&framebuffer_nb);
if (ret)