diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-24 13:04:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-24 13:04:59 -0400 |
| commit | 95985725367e55642755ca6986d0c930cd3738e2 (patch) | |
| tree | e8c8627bc782fa39f42ab3d099e92ebdb8261026 | |
| parent | 4d4fcae1d4a10c6cf3c8ca2ec61d2d3270f1225e (diff) | |
| parent | 9d9659b6c0ebf7dde65ebada4c67980818245913 (diff) | |
Merge branch 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
mmc: Add MMC_PROGRESS_*
mmc, ARM: Rename SuperH Mobile ARM zboot helpers
ARM: mach-shmobile: add coherent DMA mask to CEU camera devices
ARM: mach-shmobile: Dynamic backlight control for Mackerel
| -rw-r--r-- | arch/arm/boot/compressed/mmcif-sh7372.c | 13 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/board-ap4evb.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/board-mackerel.c | 25 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/mmc-ap4eb.h (renamed from arch/arm/mach-shmobile/include/mach/mmcif-ap4eb.h) | 10 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/mmc-mackerel.h (renamed from arch/arm/mach-shmobile/include/mach/mmcif-mackerel.h) | 11 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/mmc.h (renamed from arch/arm/mach-shmobile/include/mach/mmcif.h) | 10 | ||||
| -rw-r--r-- | arch/sh/boot/romimage/mmcif-sh7724.c | 9 | ||||
| -rw-r--r-- | include/linux/mmc/boot.h | 7 | ||||
| -rw-r--r-- | include/linux/mmc/sh_mmcif.h | 3 |
9 files changed, 59 insertions, 32 deletions
diff --git a/arch/arm/boot/compressed/mmcif-sh7372.c b/arch/arm/boot/compressed/mmcif-sh7372.c index e6180af241f6..7453c8337b83 100644 --- a/arch/arm/boot/compressed/mmcif-sh7372.c +++ b/arch/arm/boot/compressed/mmcif-sh7372.c | |||
| @@ -10,7 +10,8 @@ | |||
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #include <linux/mmc/sh_mmcif.h> | 12 | #include <linux/mmc/sh_mmcif.h> |
| 13 | #include <mach/mmcif.h> | 13 | #include <linux/mmc/boot.h> |
| 14 | #include <mach/mmc.h> | ||
| 14 | 15 | ||
| 15 | #define MMCIF_BASE (void __iomem *)0xe6bd0000 | 16 | #define MMCIF_BASE (void __iomem *)0xe6bd0000 |
| 16 | 17 | ||
| @@ -41,8 +42,8 @@ | |||
| 41 | */ | 42 | */ |
| 42 | asmlinkage void mmcif_loader(unsigned char *buf, unsigned long len) | 43 | asmlinkage void mmcif_loader(unsigned char *buf, unsigned long len) |
| 43 | { | 44 | { |
| 44 | mmcif_init_progress(); | 45 | mmc_init_progress(); |
| 45 | mmcif_update_progress(MMCIF_PROGRESS_ENTER); | 46 | mmc_update_progress(MMC_PROGRESS_ENTER); |
| 46 | 47 | ||
| 47 | /* Initialise MMC | 48 | /* Initialise MMC |
| 48 | * registers: PORT84CR-PORT92CR | 49 | * registers: PORT84CR-PORT92CR |
| @@ -68,12 +69,12 @@ asmlinkage void mmcif_loader(unsigned char *buf, unsigned long len) | |||
| 68 | /* Enable clock to MMC hardware block */ | 69 | /* Enable clock to MMC hardware block */ |
| 69 | __raw_writel(__raw_readl(SMSTPCR3) & ~(1 << 12), SMSTPCR3); | 70 | __raw_writel(__raw_readl(SMSTPCR3) & ~(1 << 12), SMSTPCR3); |
| 70 | 71 | ||
| 71 | mmcif_update_progress(MMCIF_PROGRESS_INIT); | 72 | mmc_update_progress(MMC_PROGRESS_INIT); |
| 72 | 73 | ||
| 73 | /* setup MMCIF hardware */ | 74 | /* setup MMCIF hardware */ |
| 74 | sh_mmcif_boot_init(MMCIF_BASE); | 75 | sh_mmcif_boot_init(MMCIF_BASE); |
| 75 | 76 | ||
| 76 | mmcif_update_progress(MMCIF_PROGRESS_LOAD); | 77 | mmc_update_progress(MMC_PROGRESS_LOAD); |
| 77 | 78 | ||
| 78 | /* load kernel via MMCIF interface */ | 79 | /* load kernel via MMCIF interface */ |
| 79 | sh_mmcif_boot_do_read(MMCIF_BASE, 2, /* Kernel is at block 2 */ | 80 | sh_mmcif_boot_do_read(MMCIF_BASE, 2, /* Kernel is at block 2 */ |
| @@ -83,5 +84,5 @@ asmlinkage void mmcif_loader(unsigned char *buf, unsigned long len) | |||
| 83 | /* Disable clock to MMC hardware block */ | 84 | /* Disable clock to MMC hardware block */ |
| 84 | __raw_writel(__raw_readl(SMSTPCR3) & (1 << 12), SMSTPCR3); | 85 | __raw_writel(__raw_readl(SMSTPCR3) & (1 << 12), SMSTPCR3); |
| 85 | 86 | ||
| 86 | mmcif_update_progress(MMCIF_PROGRESS_DONE); | 87 | mmc_update_progress(MMC_PROGRESS_DONE); |
| 87 | } | 88 | } |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index 1a8118c929be..a94f29da5d30 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
| @@ -923,7 +923,8 @@ static struct platform_device ceu_device = { | |||
| 923 | .num_resources = ARRAY_SIZE(ceu_resources), | 923 | .num_resources = ARRAY_SIZE(ceu_resources), |
| 924 | .resource = ceu_resources, | 924 | .resource = ceu_resources, |
| 925 | .dev = { | 925 | .dev = { |
| 926 | .platform_data = &sh_mobile_ceu_info, | 926 | .platform_data = &sh_mobile_ceu_info, |
| 927 | .coherent_dma_mask = 0xffffffff, | ||
| 927 | }, | 928 | }, |
| 928 | }; | 929 | }; |
| 929 | 930 | ||
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index 1a63c213e45d..49bc07482179 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
| @@ -295,6 +295,18 @@ static struct fb_videomode mackerel_lcdc_modes[] = { | |||
| 295 | }, | 295 | }, |
| 296 | }; | 296 | }; |
| 297 | 297 | ||
| 298 | static int mackerel_set_brightness(void *board_data, int brightness) | ||
| 299 | { | ||
| 300 | gpio_set_value(GPIO_PORT31, brightness); | ||
| 301 | |||
| 302 | return 0; | ||
| 303 | } | ||
| 304 | |||
| 305 | static int mackerel_get_brightness(void *board_data) | ||
| 306 | { | ||
| 307 | return gpio_get_value(GPIO_PORT31); | ||
| 308 | } | ||
| 309 | |||
| 298 | static struct sh_mobile_lcdc_info lcdc_info = { | 310 | static struct sh_mobile_lcdc_info lcdc_info = { |
| 299 | .clock_source = LCDC_CLK_BUS, | 311 | .clock_source = LCDC_CLK_BUS, |
| 300 | .ch[0] = { | 312 | .ch[0] = { |
| @@ -307,6 +319,14 @@ static struct sh_mobile_lcdc_info lcdc_info = { | |||
| 307 | .flags = 0, | 319 | .flags = 0, |
| 308 | .lcd_size_cfg.width = 152, | 320 | .lcd_size_cfg.width = 152, |
| 309 | .lcd_size_cfg.height = 91, | 321 | .lcd_size_cfg.height = 91, |
| 322 | .board_cfg = { | ||
| 323 | .set_brightness = mackerel_set_brightness, | ||
| 324 | .get_brightness = mackerel_get_brightness, | ||
| 325 | }, | ||
| 326 | .bl_info = { | ||
| 327 | .name = "sh_mobile_lcdc_bl", | ||
| 328 | .max_brightness = 1, | ||
| 329 | }, | ||
| 310 | } | 330 | } |
| 311 | }; | 331 | }; |
| 312 | 332 | ||
| @@ -901,7 +921,8 @@ static struct platform_device ceu_device = { | |||
| 901 | .num_resources = ARRAY_SIZE(ceu_resources), | 921 | .num_resources = ARRAY_SIZE(ceu_resources), |
| 902 | .resource = ceu_resources, | 922 | .resource = ceu_resources, |
| 903 | .dev = { | 923 | .dev = { |
| 904 | .platform_data = &sh_mobile_ceu_info, | 924 | .platform_data = &sh_mobile_ceu_info, |
| 925 | .coherent_dma_mask = 0xffffffff, | ||
| 905 | }, | 926 | }, |
| 906 | }; | 927 | }; |
| 907 | 928 | ||
| @@ -1059,7 +1080,7 @@ static void __init mackerel_init(void) | |||
| 1059 | gpio_request(GPIO_FN_LCDDCK, NULL); | 1080 | gpio_request(GPIO_FN_LCDDCK, NULL); |
| 1060 | 1081 | ||
| 1061 | gpio_request(GPIO_PORT31, NULL); /* backlight */ | 1082 | gpio_request(GPIO_PORT31, NULL); /* backlight */ |
| 1062 | gpio_direction_output(GPIO_PORT31, 1); | 1083 | gpio_direction_output(GPIO_PORT31, 0); /* off by default */ |
| 1063 | 1084 | ||
| 1064 | gpio_request(GPIO_PORT151, NULL); /* LCDDON */ | 1085 | gpio_request(GPIO_PORT151, NULL); /* LCDDON */ |
| 1065 | gpio_direction_output(GPIO_PORT151, 1); | 1086 | gpio_direction_output(GPIO_PORT151, 1); |
diff --git a/arch/arm/mach-shmobile/include/mach/mmcif-ap4eb.h b/arch/arm/mach-shmobile/include/mach/mmc-ap4eb.h index a8d02be8d2b6..db59fdbda860 100644 --- a/arch/arm/mach-shmobile/include/mach/mmcif-ap4eb.h +++ b/arch/arm/mach-shmobile/include/mach/mmc-ap4eb.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | #ifndef MMCIF_AP4EB_H | 1 | #ifndef MMC_AP4EB_H |
| 2 | #define MMCIF_AP4EB_H | 2 | #define MMC_AP4EB_H |
| 3 | 3 | ||
| 4 | #define PORT185CR (void __iomem *)0xe60520b9 | 4 | #define PORT185CR (void __iomem *)0xe60520b9 |
| 5 | #define PORT186CR (void __iomem *)0xe60520ba | 5 | #define PORT186CR (void __iomem *)0xe60520ba |
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | #define PORTR191_160DR (void __iomem *)0xe6056014 | 9 | #define PORTR191_160DR (void __iomem *)0xe6056014 |
| 10 | 10 | ||
| 11 | static inline void mmcif_init_progress(void) | 11 | static inline void mmc_init_progress(void) |
| 12 | { | 12 | { |
| 13 | /* Initialise LEDS1-4 | 13 | /* Initialise LEDS1-4 |
| 14 | * registers: PORT185CR-PORT188CR (LED1-LED4 Control) | 14 | * registers: PORT185CR-PORT188CR (LED1-LED4 Control) |
| @@ -20,10 +20,10 @@ static inline void mmcif_init_progress(void) | |||
| 20 | __raw_writeb(0x10, PORT188CR); | 20 | __raw_writeb(0x10, PORT188CR); |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | static inline void mmcif_update_progress(int n) | 23 | static inline void mmc_update_progress(int n) |
| 24 | { | 24 | { |
| 25 | __raw_writel((__raw_readl(PORTR191_160DR) & ~(0xf << 25)) | | 25 | __raw_writel((__raw_readl(PORTR191_160DR) & ~(0xf << 25)) | |
| 26 | (1 << (25 + n)), PORTR191_160DR); | 26 | (1 << (25 + n)), PORTR191_160DR); |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | #endif /* MMCIF_AP4EB_H */ | 29 | #endif /* MMC_AP4EB_H */ |
