aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/include/asm/cache.h2
-rw-r--r--arch/arm/include/asm/dma-mapping.h10
-rw-r--r--arch/arm/include/asm/ioctls.h2
-rw-r--r--arch/arm/include/asm/termbits.h1
-rw-r--r--arch/arm/mach-mx3/mach-armadillo5x0.c4
-rw-r--r--arch/arm/mach-mx3/mach-mx31lilly.c4
-rw-r--r--arch/arm/mach-mx3/mach-mx31lite.c2
-rw-r--r--arch/arm/mach-mx3/mach-mx31moboard.c2
-rw-r--r--arch/arm/mach-mx3/mach-pcm037.c4
-rw-r--r--arch/arm/mach-mx3/mach-pcm043.c2
-rw-r--r--arch/arm/mach-mx3/mx31moboard-smartbot.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3pandora.c16
-rw-r--r--arch/arm/mach-omap2/hsmmc.c1
-rw-r--r--arch/arm/mach-omap2/hsmmc.h4
-rw-r--r--arch/arm/mach-s3c2416/s3c2416.c3
-rw-r--r--arch/arm/mach-s3c2440/mach-gta02.c17
-rw-r--r--arch/arm/mach-s3c2443/s3c2443.c2
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/regs-fb.h20
-rw-r--r--arch/arm/mach-s3c64xx/mach-anw6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-hmt.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq5.c3
-rw-r--r--arch/arm/mach-s3c64xx/mach-smartq7.c3
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c1
-rw-r--r--arch/arm/mach-s5pc100/cpu.c2
-rw-r--r--arch/arm/mach-s5pc100/include/mach/regs-fb.h34
-rw-r--r--arch/arm/mach-s5pc100/mach-smdkc100.c2
-rw-r--r--arch/arm/mach-s5pv210/cpu.c3
-rw-r--r--arch/arm/mach-s5pv210/mach-aquila.c2
-rw-r--r--arch/arm/plat-omap/include/plat/mmc.h2
-rw-r--r--arch/arm/plat-samsung/include/plat/fb-core.h29
-rw-r--r--arch/arm/plat-samsung/include/plat/fb.h3
-rw-r--r--arch/arm/plat-samsung/include/plat/regs-fb-v4.h78
-rw-r--r--arch/arm/plat-samsung/include/plat/regs-fb.h30
-rw-r--r--arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h2
34 files changed, 114 insertions, 180 deletions
diff --git a/arch/arm/include/asm/cache.h b/arch/arm/include/asm/cache.h
index 66c160b8547f..9d6122096fbe 100644
--- a/arch/arm/include/asm/cache.h
+++ b/arch/arm/include/asm/cache.h
@@ -14,7 +14,7 @@
14 * cache before the transfer is done, causing old data to be seen by 14 * cache before the transfer is done, causing old data to be seen by
15 * the CPU. 15 * the CPU.
16 */ 16 */
17#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES 17#define ARCH_DMA_MINALIGN L1_CACHE_BYTES
18 18
19/* 19/*
20 * With EABI on ARMv5 and above we must have 64-bit aligned slab pointers. 20 * With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.
diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
index b5ccc6a993d5..c226fe10553e 100644
--- a/arch/arm/include/asm/dma-mapping.h
+++ b/arch/arm/include/asm/dma-mapping.h
@@ -144,16 +144,6 @@ static inline int dma_set_mask(struct device *dev, u64 dma_mask)
144 return 0; 144 return 0;
145} 145}
146 146
147static inline int dma_get_cache_alignment(void)
148{
149 return 32;
150}
151
152static inline int dma_is_consistent(struct device *dev, dma_addr_t handle)
153{
154 return !!arch_is_coherent();
155}
156
157/* 147/*
158 * DMA errors are defined by all-bits-set in the DMA address. 148 * DMA errors are defined by all-bits-set in the DMA address.
159 */ 149 */
diff --git a/arch/arm/include/asm/ioctls.h b/arch/arm/include/asm/ioctls.h
index 7f0b6d13296a..0b30894b5482 100644
--- a/arch/arm/include/asm/ioctls.h
+++ b/arch/arm/include/asm/ioctls.h
@@ -52,6 +52,7 @@
52#define TCSETSF2 _IOW('T',0x2D, struct termios2) 52#define TCSETSF2 _IOW('T',0x2D, struct termios2)
53#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ 53#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
54#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ 54#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
55#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
55 56
56#define TIOCGRS485 0x542E 57#define TIOCGRS485 0x542E
57#define TIOCSRS485 0x542F 58#define TIOCSRS485 0x542F
@@ -81,6 +82,7 @@
81#define TIOCPKT_START 8 82#define TIOCPKT_START 8
82#define TIOCPKT_NOSTOP 16 83#define TIOCPKT_NOSTOP 16
83#define TIOCPKT_DOSTOP 32 84#define TIOCPKT_DOSTOP 32
85#define TIOCPKT_IOCTL 64
84 86
85#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ 87#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
86 88
diff --git a/arch/arm/include/asm/termbits.h b/arch/arm/include/asm/termbits.h
index f784d11f40b5..704135d28d1d 100644
--- a/arch/arm/include/asm/termbits.h
+++ b/arch/arm/include/asm/termbits.h
@@ -177,6 +177,7 @@ struct ktermios {
177#define FLUSHO 0010000 177#define FLUSHO 0010000
178#define PENDIN 0040000 178#define PENDIN 0040000
179#define IEXTEN 0100000 179#define IEXTEN 0100000
180#define EXTPROC 0200000
180 181
181/* tcflow() and TCXONC use these */ 182/* tcflow() and TCXONC use these */
182#define TCOOFF 0 183#define TCOOFF 0
diff --git a/arch/arm/mach-mx3/mach-armadillo5x0.c b/arch/arm/mach-mx3/mach-armadillo5x0.c
index 96aadcadb4ff..68879c996a55 100644
--- a/arch/arm/mach-mx3/mach-armadillo5x0.c
+++ b/arch/arm/mach-mx3/mach-armadillo5x0.c
@@ -551,9 +551,9 @@ static void __init armadillo5x0_init(void)
551 /* USB */ 551 /* USB */
552#if defined(CONFIG_USB_ULPI) 552#if defined(CONFIG_USB_ULPI)
553 usbotg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 553 usbotg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
554 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 554 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
555 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 555 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
556 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 556 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
557 557
558 mxc_register_device(&mxc_otg_host, &usbotg_pdata); 558 mxc_register_device(&mxc_otg_host, &usbotg_pdata);
559 mxc_register_device(&mxc_usbh2, &usbh2_pdata); 559 mxc_register_device(&mxc_usbh2, &usbh2_pdata);
diff --git a/arch/arm/mach-mx3/mach-mx31lilly.c b/arch/arm/mach-mx3/mach-mx31lilly.c
index 8f66f65e80e2..7c37daabb757 100644
--- a/arch/arm/mach-mx3/mach-mx31lilly.c
+++ b/arch/arm/mach-mx3/mach-mx31lilly.c
@@ -245,9 +245,9 @@ static struct mxc_usbh_platform_data usbh2_pdata = {
245static void lilly1131_usb_init(void) 245static void lilly1131_usb_init(void)
246{ 246{
247 usbotg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 247 usbotg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
248 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 248 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
249 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 249 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
250 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 250 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
251 251
252 mxc_register_device(&mxc_usbh1, &usbh1_pdata); 252 mxc_register_device(&mxc_usbh1, &usbh1_pdata);
253 mxc_register_device(&mxc_usbh2, &usbh2_pdata); 253 mxc_register_device(&mxc_usbh2, &usbh2_pdata);
diff --git a/arch/arm/mach-mx3/mach-mx31lite.c b/arch/arm/mach-mx3/mach-mx31lite.c
index da236c497d2a..f66a9576d8c2 100644
--- a/arch/arm/mach-mx3/mach-mx31lite.c
+++ b/arch/arm/mach-mx3/mach-mx31lite.c
@@ -256,7 +256,7 @@ static void __init mxc_board_init(void)
256#if defined(CONFIG_USB_ULPI) 256#if defined(CONFIG_USB_ULPI)
257 /* USB */ 257 /* USB */
258 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 258 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
259 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 259 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
260 260
261 mxc_register_device(&mxc_usbh2, &usbh2_pdata); 261 mxc_register_device(&mxc_usbh2, &usbh2_pdata);
262#endif 262#endif
diff --git a/arch/arm/mach-mx3/mach-mx31moboard.c b/arch/arm/mach-mx3/mach-mx31moboard.c
index 67776bc61c33..7a075e8bf2d4 100644
--- a/arch/arm/mach-mx3/mach-mx31moboard.c
+++ b/arch/arm/mach-mx3/mach-mx31moboard.c
@@ -412,7 +412,7 @@ static struct mxc_usbh_platform_data usbh2_pdata = {
412static int __init moboard_usbh2_init(void) 412static int __init moboard_usbh2_init(void)
413{ 413{
414 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 414 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
415 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 415 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
416 416
417 return mxc_register_device(&mxc_usbh2, &usbh2_pdata); 417 return mxc_register_device(&mxc_usbh2, &usbh2_pdata);
418} 418}
diff --git a/arch/arm/mach-mx3/mach-pcm037.c b/arch/arm/mach-mx3/mach-pcm037.c
index 8a292dd1a714..214de11b20b9 100644
--- a/arch/arm/mach-mx3/mach-pcm037.c
+++ b/arch/arm/mach-mx3/mach-pcm037.c
@@ -654,13 +654,13 @@ static void __init mxc_board_init(void)
654#if defined(CONFIG_USB_ULPI) 654#if defined(CONFIG_USB_ULPI)
655 if (otg_mode_host) { 655 if (otg_mode_host) {
656 otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 656 otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
657 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 657 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
658 658
659 mxc_register_device(&mxc_otg_host, &otg_pdata); 659 mxc_register_device(&mxc_otg_host, &otg_pdata);
660 } 660 }
661 661
662 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 662 usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
663 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 663 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
664 664
665 mxc_register_device(&mxc_usbh2, &usbh2_pdata); 665 mxc_register_device(&mxc_usbh2, &usbh2_pdata);
666#endif 666#endif
diff --git a/arch/arm/mach-mx3/mach-pcm043.c b/arch/arm/mach-mx3/mach-pcm043.c
index 47f5311b301a..28886f0e62f9 100644
--- a/arch/arm/mach-mx3/mach-pcm043.c
+++ b/arch/arm/mach-mx3/mach-pcm043.c
@@ -378,7 +378,7 @@ static void __init mxc_board_init(void)
378#if defined(CONFIG_USB_ULPI) 378#if defined(CONFIG_USB_ULPI)
379 if (otg_mode_host) { 379 if (otg_mode_host) {
380 otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 380 otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
381 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 381 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
382 382
383 mxc_register_device(&mxc_otg_host, &otg_pdata); 383 mxc_register_device(&mxc_otg_host, &otg_pdata);
384 } 384 }
diff --git a/arch/arm/mach-mx3/mx31moboard-smartbot.c b/arch/arm/mach-mx3/mx31moboard-smartbot.c
index 40c3e7564cb6..417757e78c65 100644
--- a/arch/arm/mach-mx3/mx31moboard-smartbot.c
+++ b/arch/arm/mach-mx3/mx31moboard-smartbot.c
@@ -134,7 +134,7 @@ static struct mxc_usbh_platform_data otg_host_pdata = {
134static int __init smartbot_otg_host_init(void) 134static int __init smartbot_otg_host_init(void)
135{ 135{
136 otg_host_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, 136 otg_host_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
137 USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); 137 ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT);
138 138
139 return mxc_register_device(&mxc_otg_host, &otg_host_pdata); 139 return mxc_register_device(&mxc_otg_host, &otg_host_pdata);
140} 140}
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index 55836fa35060..dd3af2be13be 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -32,6 +32,7 @@
32#include <linux/input.h> 32#include <linux/input.h>
33#include <linux/input/matrix_keypad.h> 33#include <linux/input/matrix_keypad.h>
34#include <linux/gpio_keys.h> 34#include <linux/gpio_keys.h>
35#include <linux/mmc/card.h>
35 36
36#include <asm/mach-types.h> 37#include <asm/mach-types.h>
37#include <asm/mach/arch.h> 38#include <asm/mach/arch.h>
@@ -258,6 +259,20 @@ static struct platform_device pandora_dss_device = {
258 }, 259 },
259}; 260};
260 261
262static void pandora_wl1251_init_card(struct mmc_card *card)
263{
264 /*
265 * We have TI wl1251 attached to MMC3. Pass this information to
266 * SDIO core because it can't be probed by normal methods.
267 */
268 card->quirks |= MMC_QUIRK_NONSTD_SDIO;
269 card->cccr.wide_bus = 1;
270 card->cis.vendor = 0x104c;
271 card->cis.device = 0x9066;
272 card->cis.blksize = 512;
273 card->cis.max_dtr = 20000000;
274}
275
261static struct omap2_hsmmc_info omap3pandora_mmc[] = { 276static struct omap2_hsmmc_info omap3pandora_mmc[] = {
262 { 277 {
263 .mmc = 1, 278 .mmc = 1,
@@ -279,6 +294,7 @@ static struct omap2_hsmmc_info omap3pandora_mmc[] = {
279 .wires = 4, 294 .wires = 4,
280 .gpio_cd = -EINVAL, 295 .gpio_cd = -EINVAL,
281 .gpio_wp = -EINVAL, 296 .gpio_wp = -EINVAL,
297 .init_card = pandora_wl1251_init_card,
282 }, 298 },
283 {} /* Terminator */ 299 {} /* Terminator */
284}; 300};
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
index 1ef54b036103..c8f647b6205e 100644
--- a/arch/arm/mach-omap2/hsmmc.c
+++ b/arch/arm/mach-omap2/hsmmc.c
@@ -268,6 +268,7 @@ void __init omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)
268 mmc->slots[0].gpio_wp = c->gpio_wp; 268 mmc->slots[0].gpio_wp = c->gpio_wp;
269 269
270 mmc->slots[0].remux = c->remux; 270 mmc->slots[0].remux = c->remux;
271 mmc->slots[0].init_card = c->init_card;
271 272
272 if (c->cover_only) 273 if (c->cover_only)
273 mmc->slots[0].cover = 1; 274 mmc->slots[0].cover = 1;
diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h
index 36f0ba8d89e2..1fe6f0187177 100644
--- a/arch/arm/mach-omap2/hsmmc.h
+++ b/arch/arm/mach-omap2/hsmmc.h
@@ -6,6 +6,8 @@
6 * published by the Free Software Foundation. 6 * published by the Free Software Foundation.
7 */ 7 */
8 8
9struct mmc_card;
10
9struct omap2_hsmmc_info { 11struct omap2_hsmmc_info {
10 u8 mmc; /* controller 1/2/3 */ 12 u8 mmc; /* controller 1/2/3 */
11 u8 wires; /* 1/4/8 wires */ 13 u8 wires; /* 1/4/8 wires */
@@ -23,6 +25,8 @@ struct omap2_hsmmc_info {
23 int ocr_mask; /* temporary HACK */ 25 int ocr_mask; /* temporary HACK */
24 /* Remux (pad configuation) when powering on/off */ 26 /* Remux (pad configuation) when powering on/off */
25 void (*remux)(struct device *dev, int slot, int power_on); 27 void (*remux)(struct device *dev, int slot, int power_on);
28 /* init some special card */
29 void (*init_card)(struct mmc_card *card);
26}; 30};
27 31
28#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) 32#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
diff --git a/arch/arm/mach-s3c2416/s3c2416.c b/arch/arm/mach-s3c2416/s3c2416.c
index 35dabccd0ac2..bc30245e133b 100644
--- a/arch/arm/mach-s3c2416/s3c2416.c
+++ b/arch/arm/mach-s3c2416/s3c2416.c
@@ -55,6 +55,7 @@
55#include <plat/cpu.h> 55#include <plat/cpu.h>
56 56
57#include <plat/iic-core.h> 57#include <plat/iic-core.h>
58#include <plat/fb-core.h>
58 59
59static struct map_desc s3c2416_iodesc[] __initdata = { 60static struct map_desc s3c2416_iodesc[] __initdata = {
60 IODESC_ENT(WATCHDOG), 61 IODESC_ENT(WATCHDOG),
@@ -90,7 +91,7 @@ int __init s3c2416_init(void)
90 s3c_i2c0_setname("s3c2440-i2c"); 91 s3c_i2c0_setname("s3c2440-i2c");
91 s3c_i2c1_setname("s3c2440-i2c"); 92 s3c_i2c1_setname("s3c2440-i2c");
92 93
93 s3c_device_fb.name = "s3c2443-fb"; 94 s3c_fb_setname("s3c2443-fb");
94 95
95 return sysdev_register(&s3c2416_sysdev); 96 return sysdev_register(&s3c2416_sysdev);
96} 97}
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
index 9e39faa283b9..deaabe86741d 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
@@ -90,24 +90,17 @@
90static struct pcf50633 *gta02_pcf; 90static struct pcf50633 *gta02_pcf;
91 91
92/* 92/*
93 * This gets called every 1ms when we paniced. 93 * This gets called frequently when we paniced.
94 */ 94 */
95 95
96static long gta02_panic_blink(long count) 96static long gta02_panic_blink(int state)
97{ 97{
98 long delay = 0; 98 long delay = 0;
99 static long last_blink; 99 char led;
100 static char led;
101 100
102 /* Fast blink: 200ms period. */ 101 led = (state) ? 1 : 0;
103 if (count - last_blink < 100)
104 return 0;
105
106 led ^= 1;
107 gpio_direction_output(GTA02_GPIO_AUX_LED, led); 102 gpio_direction_output(GTA02_GPIO_AUX_LED, led);
108 103
109 last_blink = count;
110
111 return delay; 104 return delay;
112} 105}
113 106
@@ -556,7 +549,7 @@ static void gta02_poweroff(void)
556 549
557static void __init gta02_machine_init(void) 550static void __init gta02_machine_init(void)
558{ 551{
559 /* Set the panic callback to make AUX LED blink at ~5Hz. */ 552 /* Set the panic callback to turn AUX LED on or off. */
560 panic_blink = gta02_panic_blink; 553 panic_blink = gta02_panic_blink;
561 554
562 s3c_pm_init(); 555 s3c_pm_init();
diff --git a/arch/arm/mach-s3c2443/s3c2443.c b/arch/arm/mach-s3c2443/s3c2443.c
index ce2ec3298930..839b6b2ced74 100644
--- a/arch/arm/mach-s3c2443/s3c2443.c
+++ b/arch/arm/mach-s3c2443/s3c2443.c
@@ -35,6 +35,7 @@
35#include <plat/s3c2443.h> 35#include <plat/s3c2443.h>
36#include <plat/devs.h> 36#include <plat/devs.h>
37#include <plat/cpu.h> 37#include <plat/cpu.h>
38#include <plat/fb-core.h>
38 39
39static struct map_desc s3c2443_iodesc[] __initdata = { 40static struct map_desc s3c2443_iodesc[] __initdata = {
40 IODESC_ENT(WATCHDOG), 41 IODESC_ENT(WATCHDOG),
@@ -62,6 +63,7 @@ int __init s3c2443_init(void)
62 s3c24xx_reset_hook = s3c2443_hard_reset; 63 s3c24xx_reset_hook = s3c2443_hard_reset;
63 64
64 s3c_device_nand.name = "s3c2412-nand"; 65 s3c_device_nand.name = "s3c2412-nand";
66 s3c_fb_setname("s3c2443-fb");
65 67
66 /* change WDT IRQ number */ 68 /* change WDT IRQ number */
67 s3c_device_wdt.resource[1].start = IRQ_S3C2443_WDT; 69 s3c_device_wdt.resource[1].start = IRQ_S3C2443_WDT;
diff --git a/arch/arm/mach-s3c64xx/include/mach/regs-fb.h b/arch/arm/mach-s3c64xx/include/mach/regs-fb.h
index f56611526c63..a06ee0af9a4b 100644
--- a/arch/arm/mach-s3c64xx/include/mach/regs-fb.h
+++ b/arch/arm/mach-s3c64xx/include/mach/regs-fb.h
@@ -18,24 +18,4 @@
18 18
19#include <plat/regs-fb-v4.h> 19#include <plat/regs-fb-v4.h>
20 20
21/* Palette registers */
22#define WIN2_PAL(_entry) (0x300 + ((_entry) * 2))
23#define WIN3_PAL(_entry) (0x320 + ((_entry) * 2))
24#define WIN4_PAL(_entry) (0x340 + ((_entry) * 2))
25#define WIN0_PAL(_entry) (0x400 + ((_entry) * 4))
26#define WIN1_PAL(_entry) (0x800 + ((_entry) * 4))
27
28static inline unsigned int s3c_fb_pal_reg(unsigned int window, int reg)
29{
30 switch (window) {
31 case 0: return WIN0_PAL(reg);
32 case 1: return WIN1_PAL(reg);
33 case 2: return WIN2_PAL(reg);
34 case 3: return WIN3_PAL(reg);
35 case 4: return WIN4_PAL(reg);
36 }
37
38 BUG();
39}
40
41#endif /* __ASM_ARCH_MACH_REGS_FB_H */ 21#endif /* __ASM_ARCH_MACH_REGS_FB_H */
diff --git a/arch/arm/mach-s3c64xx/mach-anw6410.c b/arch/arm/mach-s3c64xx/mach-anw6410.c
index 4a0bb243d14a..742dc87bd9c1 100644
--- a/arch/arm/mach-s3c64xx/mach-anw6410.c
+++ b/arch/arm/mach-s3c64xx/mach-anw6410.c
@@ -134,7 +134,6 @@ static struct platform_device anw6410_lcd_powerdev = {
134static struct s3c_fb_pd_win anw6410_fb_win0 = { 134static struct s3c_fb_pd_win anw6410_fb_win0 = {
135 /* this is to ensure we use win0 */ 135 /* this is to ensure we use win0 */
136 .win_mode = { 136 .win_mode = {
137 .pixclock = 41094,
138 .left_margin = 8, 137 .left_margin = 8,
139 .right_margin = 13, 138 .right_margin = 13,
140 .upper_margin = 7, 139 .upper_margin = 7,
diff --git a/arch/arm/mach-s3c64xx/mach-hmt.c b/arch/arm/mach-s3c64xx/mach-hmt.c
index 187441a78dd5..fba90229f0df 100644
--- a/arch/arm/mach-s3c64xx/mach-hmt.c
+++ b/arch/arm/mach-s3c64xx/mach-hmt.c
@@ -128,7 +128,6 @@ static struct platform_device hmt_backlight_device = {
128 128
129static struct s3c_fb_pd_win hmt_fb_win0 = { 129static struct s3c_fb_pd_win hmt_fb_win0 = {
130 .win_mode = { 130 .win_mode = {
131 .pixclock = 41094,
132 .left_margin = 8, 131 .left_margin = 8,
133 .right_margin = 13, 132 .right_margin = 13,
134 .upper_margin = 7, 133 .upper_margin = 7,
diff --git a/arch/arm/mach-s3c64xx/mach-smartq5.c b/arch/arm/mach-s3c64xx/mach-smartq5.c
index 1d0326ead90f..a065062ec2a4 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq5.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq5.c
@@ -134,8 +134,6 @@ static struct platform_device smartq5_buttons_device = {
134 134
135static struct s3c_fb_pd_win smartq5_fb_win0 = { 135static struct s3c_fb_pd_win smartq5_fb_win0 = {
136 .win_mode = { 136 .win_mode = {
137 .pixclock = 1000000000000ULL /
138 ((40+1+216+800)*(10+1+35+480)*80),
139 .left_margin = 40, 137 .left_margin = 40,
140 .right_margin = 216, 138 .right_margin = 216,
141 .upper_margin = 10, 139 .upper_margin = 10,
@@ -144,6 +142,7 @@ static struct s3c_fb_pd_win smartq5_fb_win0 = {
144 .vsync_len = 1, 142 .vsync_len = 1,
145 .xres = 800, 143 .xres = 800,
146 .yres = 480, 144 .yres = 480,
145 .refresh = 80,
147 }, 146 },
148 .max_bpp = 32, 147 .max_bpp = 32,
149 .default_bpp = 16, 148 .default_bpp = 16,
diff --git a/arch/arm/mach-s3c64xx/mach-smartq7.c b/arch/arm/mach-s3c64xx/mach-smartq7.c
index e0bc78ecb156..0ecf45137546 100644
--- a/arch/arm/mach-s3c64xx/mach-smartq7.c
+++ b/arch/arm/mach-s3c64xx/mach-smartq7.c
@@ -150,8 +150,6 @@ static struct platform_device smartq7_buttons_device = {
150 150
151static struct s3c_fb_pd_win smartq7_fb_win0 = { 151static struct s3c_fb_pd_win smartq7_fb_win0 = {
152 .win_mode = { 152 .win_mode = {
153 .pixclock = 1000000000000ULL /
154 ((3+10+5+800)*(1+3+20+480)*80),
155 .left_margin = 3, 153 .left_margin = 3,
156 .right_margin = 5, 154 .right_margin = 5,
157 .upper_margin = 1, 155 .upper_margin = 1,
@@ -160,6 +158,7 @@ static struct s3c_fb_pd_win smartq7_fb_win0 = {
160 .vsync_len = 3, 158 .vsync_len = 3,
161 .xres = 800, 159 .xres = 800,
162 .yres = 480, 160 .yres = 480,
161 .refresh = 80,
163 }, 162 },
164 .max_bpp = 32, 163 .max_bpp = 32,
165 .default_bpp = 16, 164 .default_bpp = 16,
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index b5d78616c774..2d43128f939f 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -144,7 +144,6 @@ static struct platform_device smdk6410_lcd_powerdev = {
144static struct s3c_fb_pd_win smdk6410_fb_win0 = { 144static struct s3c_fb_pd_win smdk6410_fb_win0 = {
145 /* this is to ensure we use win0 */ 145 /* this is to ensure we use win0 */
146 .win_mode = { 146 .win_mode = {
147 .pixclock = 41094,
148 .left_margin = 8, 147 .left_margin = 8,
149 .right_margin = 13, 148 .right_margin = 13,
150 .upper_margin = 7, 149 .upper_margin = 7,
diff --git a/arch/arm/mach-s5pc100/cpu.c b/arch/arm/mach-s5pc100/cpu.c
index 799d22f41fcd..251c92ac5b22 100644
--- a/arch/arm/mach-s5pc100/cpu.c
+++ b/arch/arm/mach-s5pc100/cpu.c
@@ -43,6 +43,7 @@
43#include <plat/sdhci.h> 43#include <plat/sdhci.h>
44#include <plat/adc-core.h> 44#include <plat/adc-core.h>
45#include <plat/onenand-core.h> 45#include <plat/onenand-core.h>
46#include <plat/fb-core.h>
46 47
47#include <plat/s5pc100.h> 48#include <plat/s5pc100.h>
48 49
@@ -96,6 +97,7 @@ void __init s5pc100_map_io(void)
96 s3c_i2c1_setname("s3c2440-i2c"); 97 s3c_i2c1_setname("s3c2440-i2c");
97 98
98 s3c_onenand_setname("s5pc100-onenand"); 99 s3c_onenand_setname("s5pc100-onenand");
100 s3c_fb_setname("s5pc100-fb");
99 s3c_cfcon_setname("s5pc100-pata"); 101 s3c_cfcon_setname("s5pc100-pata");
100} 102}
101 103
diff --git a/arch/arm/mach-s5pc100/include/mach/regs-fb.h b/arch/arm/mach-s5pc100/include/mach/regs-fb.h
index 1732cd28c765..4be4cc9abf75 100644
--- a/arch/arm/mach-s5pc100/include/mach/regs-fb.h
+++ b/arch/arm/mach-s5pc100/include/mach/regs-fb.h
@@ -100,40 +100,6 @@
100#define BLENDCON (0x260) 100#define BLENDCON (0x260)
101#define BLENDCON_8BIT_ALPHA (1 << 0) 101#define BLENDCON_8BIT_ALPHA (1 << 0)
102 102
103/* Per-window palette base addresses (start of palette memory).
104 * Each window palette area consists of 256 32-bit entries.
105 * START is the first address (entry 0th), END is the address of 255th entry.
106 */
107#define WIN0_PAL_BASE (0x2400)
108#define WIN0_PAL_END (0x27fc)
109#define WIN1_PAL_BASE (0x2800)
110#define WIN1_PAL_END (0x2bfc)
111#define WIN2_PAL_BASE (0x2c00)
112#define WIN2_PAL_END (0x2ffc)
113#define WIN3_PAL_BASE (0x3000)
114#define WIN3_PAL_END (0x33fc)
115#define WIN4_PAL_BASE (0x3400)
116#define WIN4_PAL_END (0x37fc)
117
118#define WIN0_PAL(_entry) (WIN0_PAL_BASE + ((_entry) * 4))
119#define WIN1_PAL(_entry) (WIN1_PAL_BASE + ((_entry) * 4))
120#define WIN2_PAL(_entry) (WIN2_PAL_BASE + ((_entry) * 4))
121#define WIN3_PAL(_entry) (WIN3_PAL_BASE + ((_entry) * 4))
122#define WIN4_PAL(_entry) (WIN4_PAL_BASE + ((_entry) * 4))
123
124static inline unsigned int s3c_fb_pal_reg(unsigned int window, int reg)
125{
126 switch (window) {
127 case 0: return WIN0_PAL(reg);
128 case 1: return WIN1_PAL(reg);
129 case 2: return WIN2_PAL(reg);
130 case 3: return WIN3_PAL(reg);
131 case 4: return WIN4_PAL(reg);
132 }
133
134 BUG();
135}
136
137 103
138#endif /* __ASM_ARCH_REGS_FB_H */ 104#endif /* __ASM_ARCH_REGS_FB_H */
139 105
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
index 2dc519c172ec..020c3f98f81f 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -133,7 +133,6 @@ static struct platform_device smdkc100_lcd_powerdev = {
133static struct s3c_fb_pd_win smdkc100_fb_win0 = { 133static struct s3c_fb_pd_win smdkc100_fb_win0 = {
134 /* this is to ensure we use win0 */ 134 /* this is to ensure we use win0 */
135 .win_mode = { 135 .win_mode = {
136 .pixclock = 1000000000000ULL / ((8+13+3+800)*(7+5+1+480)*80),
137 .left_margin = 8, 136 .left_margin = 8,
138 .right_margin = 13, 137 .right_margin = 13,
139 .upper_margin = 7, 138 .upper_margin = 7,
@@ -142,6 +141,7 @@ static struct s3c_fb_pd_win smdkc100_fb_win0 = {
142 .vsync_len = 1, 141 .vsync_len = 1,
143 .xres = 800, 142 .xres = 800,
144 .yres = 480, 143 .yres = 480,
144 .refresh = 80,
145 }, 145 },
146 .max_bpp = 32, 146 .max_bpp = 32,
147 .default_bpp = 16, 147 .default_bpp = 16,
diff --git a/arch/arm/mach-s5pv210/cpu.c b/arch/arm/mach-s5pv210/cpu.c
index c7e0b8a65c4a..b9f4d677cf55 100644
--- a/arch/arm/mach-s5pv210/cpu.c
+++ b/arch/arm/mach-s5pv210/cpu.c
@@ -31,6 +31,7 @@
31#include <plat/cpu.h> 31#include <plat/cpu.h>
32#include <plat/devs.h> 32#include <plat/devs.h>
33#include <plat/clock.h> 33#include <plat/clock.h>
34#include <plat/fb-core.h>
34#include <plat/s5pv210.h> 35#include <plat/s5pv210.h>
35#include <plat/adc-core.h> 36#include <plat/adc-core.h>
36#include <plat/ata-core.h> 37#include <plat/ata-core.h>
@@ -107,6 +108,8 @@ void __init s5pv210_map_io(void)
107 s3c_i2c1_setname("s3c2440-i2c"); 108 s3c_i2c1_setname("s3c2440-i2c");
108 s3c_i2c2_setname("s3c2440-i2c"); 109 s3c_i2c2_setname("s3c2440-i2c");
109 110
111 s3c_fb_setname("s5pv210-fb");
112
110 /* Use s5pv210-keypad instead of samsung-keypad */ 113 /* Use s5pv210-keypad instead of samsung-keypad */
111 samsung_keypad_setname("s5pv210-keypad"); 114 samsung_keypad_setname("s5pv210-keypad");
112} 115}
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c
index e41266419a3f..0dda8012d6b2 100644
--- a/arch/arm/mach-s5pv210/mach-aquila.c
+++ b/arch/arm/mach-s5pv210/mach-aquila.c
@@ -92,7 +92,6 @@ static struct s3c2410_uartcfg aquila_uartcfgs[] __initdata = {
92/* Frame Buffer */ 92/* Frame Buffer */
93static struct s3c_fb_pd_win aquila_fb_win0 = { 93static struct s3c_fb_pd_win aquila_fb_win0 = {
94 .win_mode = { 94 .win_mode = {
95 .pixclock = 1000000000000ULL / ((16+16+2+480)*(28+3+2+800)*60),
96 .left_margin = 16, 95 .left_margin = 16,
97 .right_margin = 16, 96 .right_margin = 16,
98 .upper_margin = 3, 97 .upper_margin = 3,
@@ -108,7 +107,6 @@ static struct s3c_fb_pd_win aquila_fb_win0 = {
108 107
109static struct s3c_fb_pd_win aquila_fb_win1 = { 108static struct s3c_fb_pd_win aquila_fb_win1 = {
110 .win_mode = { 109 .win_mode = {
111 .pixclock = 1000000000000ULL / ((16+16+2+480)*(28+3+2+800)*60),
112 .left_margin = 16, 110 .left_margin = 16,
113 .right_margin = 16, 111 .right_margin = 16,
114 .upper_margin = 3, 112 .upper_margin = 3,
diff --git a/arch/arm/plat-omap/include/plat/mmc.h b/arch/arm/plat-omap/include/plat/mmc.h
index c835f1e994c6..9b89ec601ee2 100644
--- a/arch/arm/plat-omap/include/plat/mmc.h
+++ b/arch/arm/plat-omap/include/plat/mmc.h
@@ -122,6 +122,8 @@ struct omap_mmc_platform_data {
122 /* Call back after enabling / disabling regulators */ 122 /* Call back after enabling / disabling regulators */
123 void (*after_set_reg)(struct device *dev, int slot, 123 void (*after_set_reg)(struct device *dev, int slot,
124 int power_on, int vdd); 124 int power_on, int vdd);
125 /* if we have special card, init it using this callback */
126 void (*init_card)(struct mmc_card *card);
125 127
126 /* return MMC cover switch state, can be NULL if not supported. 128 /* return MMC cover switch state, can be NULL if not supported.
127 * 129 *
diff --git a/arch/arm/plat-samsung/include/plat/fb-core.h b/arch/arm/plat-samsung/include/plat/fb-core.h
new file mode 100644
index 000000000000..bca383efcf6d
--- /dev/null
+++ b/arch/arm/plat-samsung/include/plat/fb-core.h
@@ -0,0 +1,29 @@
1/*
2 * arch/arm/plat-samsung/include/plat/fb-core.h
3 *
4 * Copyright 2010 Samsung Electronics Co., Ltd.
5 * Pawel Osciak <p.osciak@samsung.com>
6 *
7 * Samsung framebuffer driver core functions
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13#ifndef __ASM_PLAT_FB_CORE_H
14#define __ASM_PLAT_FB_CORE_H __FILE__
15
16/*
17 * These functions are only for use with the core support code, such as
18 * the CPU-specific initialization code.
19 */
20
21/* Re-define device name depending on support. */
22static inline void s3c_fb_setname(char *name)
23{
24#ifdef CONFIG_S3C_DEV_FB
25 s3c_device_fb.name = name;
26#endif
27}
28
29#endif /* __ASM_PLAT_FB_CORE_H */
diff --git a/arch/arm/plat-samsung/include/plat/fb.h b/arch/arm/plat-samsung/include/plat/fb.h
index 27d3b497b55b..cb3ca3adc685 100644
--- a/arch/arm/plat-samsung/include/plat/fb.h
+++ b/arch/arm/plat-samsung/include/plat/fb.h
@@ -42,6 +42,7 @@ struct s3c_fb_pd_win {
42 * @setup_gpio: Setup the external GPIO pins to the right state to transfer 42 * @setup_gpio: Setup the external GPIO pins to the right state to transfer
43 * the data from the display system to the connected display 43 * the data from the display system to the connected display
44 * device. 44 * device.
45 * @default_win: default window layer number to be used for UI layer.
45 * @vidcon0: The base vidcon0 values to control the panel data format. 46 * @vidcon0: The base vidcon0 values to control the panel data format.
46 * @vidcon1: The base vidcon1 values to control the panel data output. 47 * @vidcon1: The base vidcon1 values to control the panel data output.
47 * @win: The setup data for each hardware window, or NULL for unused. 48 * @win: The setup data for each hardware window, or NULL for unused.
@@ -58,6 +59,8 @@ struct s3c_fb_platdata {
58 59
59 struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN]; 60 struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
60 61
62 u32 default_win;
63
61 u32 vidcon0; 64 u32 vidcon0;
62 u32 vidcon1; 65 u32 vidcon1;
63}; 66};
diff --git a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h b/arch/arm/plat-samsung/include/plat/regs-fb-v4.h
index 0f43599248ad..4c3647f80057 100644
--- a/arch/arm/plat-samsung/include/plat/regs-fb-v4.h
+++ b/arch/arm/plat-samsung/include/plat/regs-fb-v4.h
@@ -40,16 +40,10 @@
40 40
41/* OSD1 and OSD4 do not have register D */ 41/* OSD1 and OSD4 do not have register D */
42 42
43#define VIDOSD_A(_win) (0x40 + ((_win) * 16)) 43#define VIDOSD_BASE (0x40)
44#define VIDOSD_B(_win) (0x44 + ((_win) * 16))
45#define VIDOSD_C(_win) (0x48 + ((_win) * 16))
46#define VIDOSD_D(_win) (0x4C + ((_win) * 16))
47
48 44
49#define VIDINTCON0 (0x130) 45#define VIDINTCON0 (0x130)
50 46
51#define WxKEYCONy(_win, _con) ((0x140 + ((_win) * 8)) + ((_con) * 4))
52
53/* WINCONx */ 47/* WINCONx */
54 48
55#define WINCONx_CSCWIDTH_MASK (0x3 << 26) 49#define WINCONx_CSCWIDTH_MASK (0x3 << 26)
@@ -143,76 +137,6 @@
143#define WPALCON_W2PAL_16BPP_A555 (1 << 6) 137#define WPALCON_W2PAL_16BPP_A555 (1 << 6)
144 138
145 139
146/* system specific implementation code for palette sizes, and other
147 * information that changes depending on which architecture is being
148 * compiled.
149*/
150
151/* return true if window _win has OSD register D */
152#define s3c_fb_has_osd_d(_win) ((_win) != 4 && (_win) != 0)
153
154static inline unsigned int s3c_fb_win_pal_size(unsigned int win)
155{
156 if (win < 2)
157 return 256;
158 if (win < 4)
159 return 16;
160 if (win == 4)
161 return 4;
162
163 BUG(); /* shouldn't get here */
164}
165
166static inline int s3c_fb_validate_win_bpp(unsigned int win, unsigned int bpp)
167{
168 /* all windows can do 1/2 bpp */
169
170 if ((bpp == 25 || bpp == 19) && win == 0)
171 return 0; /* win 0 does not have 19 or 25bpp modes */
172
173 if (bpp == 4 && win == 4)
174 return 0;
175
176 if (bpp == 8 && (win >= 3))
177 return 0; /* win 3/4 cannot do 8bpp in any mode */
178
179 return 1;
180}
181
182static inline int s3c_fb_pal_is16(unsigned int window)
183{
184 return window > 1;
185}
186
187struct s3c_fb_palette {
188 struct fb_bitfield r;
189 struct fb_bitfield g;
190 struct fb_bitfield b;
191 struct fb_bitfield a;
192};
193
194static inline void s3c_fb_init_palette(unsigned int window,
195 struct s3c_fb_palette *palette)
196{
197 if (window < 2) {
198 /* Windows 0/1 are 8/8/8 or A/8/8/8 */
199 palette->r.offset = 16;
200 palette->r.length = 8;
201 palette->g.offset = 8;
202 palette->g.length = 8;
203 palette->b.offset = 0;
204 palette->b.length = 8;
205 } else {
206 /* currently we assume RGB 5/6/5 */
207 palette->r.offset = 11;
208 palette->r.length = 5;
209 palette->g.offset = 5;
210 palette->g.length = 6;
211 palette->b.offset = 0;
212 palette->b.length = 5;
213 }
214}
215
216/* Notes on per-window bpp settings 140/* Notes on per-window bpp settings
217 * 141 *
218 * Value Win0 Win1 Win2 Win3 Win 4 142 * Value Win0 Win1 Win2 Win3 Win 4
diff --git a/arch/arm/plat-samsung/include/plat/regs-fb.h b/arch/arm/plat-samsung/include/plat/regs-fb.h
index 0ef806e50344..8f39aa5b26ea 100644
--- a/arch/arm/plat-samsung/include/plat/regs-fb.h
+++ b/arch/arm/plat-samsung/include/plat/regs-fb.h
@@ -112,6 +112,13 @@
112#define VIDCON2_ORGYCbCr (1 << 8) 112#define VIDCON2_ORGYCbCr (1 << 8)
113#define VIDCON2_YUVORDCrCb (1 << 7) 113#define VIDCON2_YUVORDCrCb (1 << 7)
114 114
115/* PRTCON (S3C6410, S5PC100)
116 * Might not be present in the S3C6410 documentation,
117 * but tests prove it's there almost for sure; shouldn't hurt in any case.
118 */
119#define PRTCON (0x0c)
120#define PRTCON_PROTECT (1 << 11)
121
115/* VIDTCON0 */ 122/* VIDTCON0 */
116 123
117#define VIDTCON0_VBPDE_MASK (0xff << 24) 124#define VIDTCON0_VBPDE_MASK (0xff << 24)
@@ -173,6 +180,7 @@
173#define WINCONx_BITSWP (1 << 18) 180#define WINCONx_BITSWP (1 << 18)
174#define WINCONx_BYTSWP (1 << 17) 181#define WINCONx_BYTSWP (1 << 17)
175#define WINCONx_HAWSWP (1 << 16) 182#define WINCONx_HAWSWP (1 << 16)
183#define WINCONx_WSWP (1 << 15)
176#define WINCONx_BURSTLEN_MASK (0x3 << 9) 184#define WINCONx_BURSTLEN_MASK (0x3 << 9)
177#define WINCONx_BURSTLEN_SHIFT (9) 185#define WINCONx_BURSTLEN_SHIFT (9)
178#define WINCONx_BURSTLEN_16WORD (0x0 << 9) 186#define WINCONx_BURSTLEN_16WORD (0x0 << 9)
@@ -212,6 +220,13 @@
212#define WINCON1_BPPMODE_25BPP_A1888 (0xd << 2) 220#define WINCON1_BPPMODE_25BPP_A1888 (0xd << 2)
213#define WINCON1_BPPMODE_28BPP_A4888 (0xd << 2) 221#define WINCON1_BPPMODE_28BPP_A4888 (0xd << 2)
214 222
223/* S5PV210 */
224#define SHADOWCON (0x34)
225#define SHADOWCON_WINx_PROTECT(_win) (1 << (10 + (_win)))
226/* DMA channels (all windows) */
227#define SHADOWCON_CHx_ENABLE(_win) (1 << (_win))
228/* Local input channels (windows 0-2) */
229#define SHADOWCON_CHx_LOCAL_ENABLE(_win) (1 << (5 + (_win)))
215 230
216#define VIDOSDxA_TOPLEFT_X_MASK (0x7ff << 11) 231#define VIDOSDxA_TOPLEFT_X_MASK (0x7ff << 11)
217#define VIDOSDxA_TOPLEFT_X_SHIFT (11) 232#define VIDOSDxA_TOPLEFT_X_SHIFT (11)
@@ -291,11 +306,12 @@
291#define VIDINTCON0_FRAMESEL0_ACTIVE (0x2 << 15) 306#define VIDINTCON0_FRAMESEL0_ACTIVE (0x2 << 15)
292#define VIDINTCON0_FRAMESEL0_FRONTPORCH (0x3 << 15) 307#define VIDINTCON0_FRAMESEL0_FRONTPORCH (0x3 << 15)
293 308
294#define VIDINTCON0_FRAMESEL1 (1 << 14) 309#define VIDINTCON0_FRAMESEL1 (1 << 13)
295#define VIDINTCON0_FRAMESEL1_NONE (0x0 << 14) 310#define VIDINTCON0_FRAMESEL1_MASK (0x3 << 13)
296#define VIDINTCON0_FRAMESEL1_BACKPORCH (0x1 << 14) 311#define VIDINTCON0_FRAMESEL1_NONE (0x0 << 13)
297#define VIDINTCON0_FRAMESEL1_VSYNC (0x2 << 14) 312#define VIDINTCON0_FRAMESEL1_BACKPORCH (0x1 << 13)
298#define VIDINTCON0_FRAMESEL1_FRONTPORCH (0x3 << 14) 313#define VIDINTCON0_FRAMESEL1_VSYNC (0x2 << 13)
314#define VIDINTCON0_FRAMESEL1_FRONTPORCH (0x3 << 13)
299 315
300#define VIDINTCON0_INT_FRAME (1 << 12) 316#define VIDINTCON0_INT_FRAME (1 << 12)
301#define VIDINTCON0_FIFIOSEL_MASK (0x7f << 5) 317#define VIDINTCON0_FIFIOSEL_MASK (0x7f << 5)
@@ -321,6 +337,10 @@
321#define VIDINTCON1_INT_FIFO (1 << 0) 337#define VIDINTCON1_INT_FIFO (1 << 0)
322 338
323/* Window colour-key control registers */ 339/* Window colour-key control registers */
340#define WKEYCON (0x140) /* 6410,V210 */
341
342#define WKEYCON0 (0x00)
343#define WKEYCON1 (0x04)
324 344
325#define WxKEYCON0_KEYBL_EN (1 << 26) 345#define WxKEYCON0_KEYBL_EN (1 << 26)
326#define WxKEYCON0_KEYEN_F (1 << 25) 346#define WxKEYCON0_KEYEN_F (1 << 25)
diff --git a/arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h b/arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h
index 8d18d9d4d148..dc90f5ede88f 100644
--- a/arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h
+++ b/arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h
@@ -226,6 +226,7 @@
226 226
227#define S3C_DIEPMSK S3C_HSOTG_REG(0x810) 227#define S3C_DIEPMSK S3C_HSOTG_REG(0x810)
228 228
229#define S3C_DIEPMSK_TxFIFOEmpty (1 << 7)
229#define S3C_DIEPMSK_INEPNakEffMsk (1 << 6) 230#define S3C_DIEPMSK_INEPNakEffMsk (1 << 6)
230#define S3C_DIEPMSK_INTknEPMisMsk (1 << 5) 231#define S3C_DIEPMSK_INTknEPMisMsk (1 << 5)
231#define S3C_DIEPMSK_INTknTXFEmpMsk (1 << 4) 232#define S3C_DIEPMSK_INTknTXFEmpMsk (1 << 4)
@@ -371,6 +372,7 @@
371 372
372#define S3C_DIEPDMA(_a) S3C_HSOTG_REG(0x914 + ((_a) * 0x20)) 373#define S3C_DIEPDMA(_a) S3C_HSOTG_REG(0x914 + ((_a) * 0x20))
373#define S3C_DOEPDMA(_a) S3C_HSOTG_REG(0xB14 + ((_a) * 0x20)) 374#define S3C_DOEPDMA(_a) S3C_HSOTG_REG(0xB14 + ((_a) * 0x20))
375#define S3C_DTXFSTS(_a) S3C_HSOTG_REG(0x918 + ((_a) * 0x20))
374 376
375#define S3C_EPFIFO(_a) S3C_HSOTG_REG(0x1000 + ((_a) * 0x1000)) 377#define S3C_EPFIFO(_a) S3C_HSOTG_REG(0x1000 + ((_a) * 0x1000))
376 378