aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/sm501fb.c5
-rw-r--r--include/linux/sm501-regs.h18
2 files changed, 23 insertions, 0 deletions
diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c
index d97edd7a6e41..1be95a68d696 100644
--- a/drivers/video/sm501fb.c
+++ b/drivers/video/sm501fb.c
@@ -777,6 +777,11 @@ static int sm501fb_set_par_pnl(struct fb_info *info)
777 writel(control, fbi->regs + SM501_DC_PANEL_CONTROL); 777 writel(control, fbi->regs + SM501_DC_PANEL_CONTROL);
778 sm501fb_sync_regs(fbi); 778 sm501fb_sync_regs(fbi);
779 779
780 /* ensure the panel interface is not tristated at this point */
781
782 sm501_modify_reg(fbi->dev->parent, SM501_SYSTEM_CONTROL,
783 0, SM501_SYSCTRL_PANEL_TRISTATE);
784
780 /* power the panel up */ 785 /* power the panel up */
781 sm501fb_panel_power(fbi, 1); 786 sm501fb_panel_power(fbi, 1);
782 return 0; 787 return 0;
diff --git a/include/linux/sm501-regs.h b/include/linux/sm501-regs.h
index 014e73b31fc0..df7620dd8f31 100644
--- a/include/linux/sm501-regs.h
+++ b/include/linux/sm501-regs.h
@@ -15,6 +15,24 @@
15 15
16/* config 1 */ 16/* config 1 */
17#define SM501_SYSTEM_CONTROL (0x000000) 17#define SM501_SYSTEM_CONTROL (0x000000)
18
19#define SM501_SYSCTRL_PANEL_TRISTATE (1<<0)
20#define SM501_SYSCTRL_MEM_TRISTATE (1<<1)
21#define SM501_SYSCTRL_CRT_TRISTATE (1<<2)
22
23#define SM501_SYSCTRL_PCI_SLAVE_BURST_MASK (3<<4)
24#define SM501_SYSCTRL_PCI_SLAVE_BURST_1 (0<<4)
25#define SM501_SYSCTRL_PCI_SLAVE_BURST_2 (1<<4)
26#define SM501_SYSCTRL_PCI_SLAVE_BURST_4 (2<<4)
27#define SM501_SYSCTRL_PCI_SLAVE_BURST_8 (3<<4)
28
29#define SM501_SYSCTRL_PCI_CLOCK_RUN_EN (1<<6)
30#define SM501_SYSCTRL_PCI_RETRY_DISABLE (1<<7)
31#define SM501_SYSCTRL_PCI_SUBSYS_LOCK (1<<11)
32#define SM501_SYSCTRL_PCI_BURST_READ_EN (1<<15)
33
34/* miscellaneous control */
35
18#define SM501_MISC_CONTROL (0x000004) 36#define SM501_MISC_CONTROL (0x000004)
19 37
20#define SM501_MISC_BUS_SH (0x0) 38#define SM501_MISC_BUS_SH (0x0)