summaryrefslogtreecommitdiffstats
path: root/package/fbset/fbset-2.1-support.patch.avr32
blob: 359513901294de972a38822ef5786e045cf5680f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
diff -ru fbset-2.1/fb.h fbset-2.1-avr32/fb.h
--- fbset-2.1/fb.h	1999-06-23 16:09:48.000000000 +0200
+++ fbset-2.1-avr32/fb.h	2005-12-09 16:00:07.000000000 +0100
@@ -131,6 +131,7 @@
 					/* vtotal = 144d/288n/576i => PAL  */
 					/* vtotal = 121d/242n/484i => NTSC */
 #define FB_SYNC_ON_GREEN	32	/* sync on green */
+#define FB_SYNC_PCLK_RISING     64      /* pixel data sampled on rising pclk */
 
 #define FB_VMODE_NONINTERLACED  0	/* non interlaced */
 #define FB_VMODE_INTERLACED	1	/* interlaced	*/
diff -ru fbset-2.1/fbset.c fbset-2.1-avr32/fbset.c
--- fbset-2.1/fbset.c	1999-06-23 16:11:46.000000000 +0200
+++ fbset-2.1-avr32/fbset.c	2005-12-09 16:04:53.000000000 +0100
@@ -85,6 +85,7 @@
 static const char *Opt_vsync = NULL;
 static const char *Opt_csync = NULL;
 static const char *Opt_gsync = NULL;
+static const char *Opt_pclk = NULL;
 static const char *Opt_extsync = NULL;
 static const char *Opt_bcast = NULL;
 static const char *Opt_laced = NULL;
@@ -122,6 +123,7 @@
     { "-vsync", &Opt_vsync, 1 },
     { "-csync", &Opt_csync, 1 },
     { "-gsync", &Opt_gsync, 1 },
+    { "-pclk", &Opt_pclk, 1 },
     { "-extsync", &Opt_extsync, 1 },
     { "-bcast", &Opt_bcast, 1 },
     { "-laced", &Opt_laced, 1 },
@@ -344,6 +346,8 @@
 	var->sync |= FB_SYNC_COMP_HIGH_ACT;
     if (vmode->gsync == HIGH)
 	var->sync |= FB_SYNC_ON_GREEN;
+    if (vmode->pclk == RISING)
+	var->sync |= FB_SYNC_PCLK_RISING;
     if (vmode->extsync == TRUE)
 	var->sync |= FB_SYNC_EXT;
     if (vmode->bcast == TRUE)
@@ -389,6 +393,7 @@
     vmode->vsync = var->sync & FB_SYNC_VERT_HIGH_ACT ? HIGH : LOW;
     vmode->csync = var->sync & FB_SYNC_COMP_HIGH_ACT ? HIGH : LOW;
     vmode->gsync = var->sync & FB_SYNC_ON_GREEN ? TRUE : FALSE;
+    vmode->pclk = var->sync & FB_SYNC_PCLK_RISING ? RISING : FALLING;
     vmode->extsync = var->sync & FB_SYNC_EXT ? TRUE : FALSE;
     vmode->bcast = var->sync & FB_SYNC_BROADCAST ? TRUE : FALSE;
     vmode->grayscale = var->grayscale;
@@ -420,11 +425,11 @@
 
     if (!strcasecmp(var, "false") || !strcasecmp(var, "low") ||
 	!strcasecmp(var, "no") || !strcasecmp(var, "off") ||
-	!strcmp(var, "0"))
+	!strcmp(var, "0") || !strcasecmp(var, "falling"))
 	value = 0;
     else if (!strcasecmp(var, "true") || !strcasecmp(var, "high") ||
 	     !strcasecmp(var, "yes") || !strcasecmp(var, "on") ||
-	     !strcmp(var, "1"))
+	     !strcmp(var, "1") || !strcasecmp(var, "rising"))
 	value = 1;
     else
 	Die("Invalid value `%s'\n", var);
@@ -559,6 +564,8 @@
 	vmode->csync = atoboolean(Opt_csync);
     if (Opt_gsync)
 	vmode->gsync = atoboolean(Opt_gsync);
+    if (Opt_pclk)
+	vmode->pclk = atoboolean(Opt_pclk);
     if (Opt_extsync)
 	vmode->extsync = atoboolean(Opt_extsync);
     if (Opt_bcast)
@@ -635,6 +642,8 @@
 	    puts("    csync high");
 	if (vmode->gsync)
 	    puts("    gsync true");
+	if (vmode->pclk)
+	    puts("    pclk rising");
 	if (vmode->extsync)
 	    puts("    extsync true");
 	if (vmode->bcast)
@@ -875,6 +884,7 @@
 	"    -vsync <value>     : vertical sync polarity (low or high)\n"
 	"    -csync <value>     : composite sync polarity (low or high)\n"
 	"    -gsync <value>     : synch on green (false or true)\n"
+	"    -pclk <value>      : pclk edge on which pixeldata is valid (rising or falling)\n"
 	"    -extsync <value>   : external sync enable (false or true)\n"
 	"    -bcast <value>     : broadcast enable (false or true)\n"
 	"    -laced <value>     : interlace enable (false or true)\n"
diff -ru fbset-2.1/fbset.h fbset-2.1-avr32/fbset.h
--- fbset-2.1/fbset.h	1999-06-23 16:12:28.000000000 +0200
+++ fbset-2.1-avr32/fbset.h	2005-12-09 16:05:25.000000000 +0100
@@ -26,6 +26,9 @@
 #define LOW		(0)
 #define HIGH		(1)
 
+#define FALLING		(0)
+#define RISING		(1)
+
 #define FALSE		(0)
 #define TRUE		(1)
 
@@ -59,6 +62,7 @@
     unsigned vsync : 1;
     unsigned csync : 1;
     unsigned gsync : 1;
+    unsigned pclk : 1;
     unsigned extsync : 1;
     unsigned bcast : 1;
     unsigned laced : 1;