diff options
-rw-r--r-- | arch/arm/configs/u8500_defconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-mcde.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-u5500-mcde.c | 6 |
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) |