OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [media/] [video/] [vino.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * Copyright (C) 1999 Ulf Karlsson <ulfc@bun.falkenberg.se>
3
 * Copyright (C) 2003 Ladislav Michl <ladis@linux-mips.org>
4
 */
5
 
6
#ifndef VINO_H
7
#define VINO_H
8
 
9
#define VINO_BASE       0x00080000      /* Vino is in the EISA address space,
10
                                         * but it is not an EISA bus card */
11
#define VINO_PAGE_SIZE  4096
12
 
13
struct sgi_vino_channel {
14
        u32 _pad_alpha;
15
        volatile u32 alpha;
16
 
17
#define VINO_CLIP_X(x)          ((x) & 0x3ff)           /* bits 0:9 */
18
#define VINO_CLIP_ODD(x)        (((x) & 0x1ff) << 10)   /* bits 10:18 */
19
#define VINO_CLIP_EVEN(x)       (((x) & 0x1ff) << 19)   /* bits 19:27 */
20
        u32 _pad_clip_start;
21
        volatile u32 clip_start;
22
        u32 _pad_clip_end;
23
        volatile u32 clip_end;
24
 
25
#define VINO_FRAMERT_PAL        (1<<0)                  /* 0=NTSC 1=PAL */
26
#define VINO_FRAMERT_RT(x)      (((x) & 0x1fff) << 1)   /* bits 1:12 */
27
        u32 _pad_frame_rate;
28
        volatile u32 frame_rate;
29
 
30
        u32 _pad_field_counter;
31
        volatile u32 field_counter;
32
        u32 _pad_line_size;
33
        volatile u32 line_size;
34
        u32 _pad_line_count;
35
        volatile u32 line_count;
36
        u32 _pad_page_index;
37
        volatile u32 page_index;
38
        u32 _pad_next_4_desc;
39
        volatile u32 next_4_desc;
40
        u32 _pad_start_desc_tbl;
41
        volatile u32 start_desc_tbl;
42
 
43
#define VINO_DESC_JUMP          (1<<30)
44
#define VINO_DESC_STOP          (1<<31)
45
#define VINO_DESC_VALID         (1<<32)
46
        u32 _pad_desc_0;
47
        volatile u32 desc_0;
48
        u32 _pad_desc_1;
49
        volatile u32 desc_1;
50
        u32 _pad_desc_2;
51
        volatile u32 desc_2;
52
        u32 _pad_Bdesc_3;
53
        volatile u32 desc_3;
54
 
55
        u32 _pad_fifo_thres;
56
        volatile u32 fifo_thres;
57
        u32 _pad_fifo_read;
58
        volatile u32 fifo_read;
59
        u32 _pad_fifo_write;
60
        volatile u32 fifo_write;
61
};
62
 
63
struct sgi_vino {
64
#define VINO_CHIP_ID            0xb
65
#define VINO_REV_NUM(x)         ((x) & 0x0f)
66
#define VINO_ID_VALUE(x)        (((x) & 0xf0) >> 4)
67
        u32 _pad_rev_id;
68
        volatile u32 rev_id;
69
 
70
#define VINO_CTRL_LITTLE_ENDIAN         (1<<0)
71
#define VINO_CTRL_A_EOF_INT             (1<<1)  /* Field transferred int */
72
#define VINO_CTRL_A_FIFO_INT            (1<<2)  /* FIFO overflow int */
73
#define VINO_CTRL_A_EOD_INT             (1<<3)  /* End of desc table int */
74
#define VINO_CTRL_A_INT                 (VINO_CTRL_A_EOF_INT | \
75
                                         VINO_CTRL_A_FIFO_INT | \
76
                                         VINO_CTRL_A_EOD_INT)
77
#define VINO_CTRL_B_EOF_INT             (1<<4)  /* Field transferred int */
78
#define VINO_CTRL_B_FIFO_INT            (1<<5)  /* FIFO overflow int */
79
#define VINO_CTRL_B_EOD_INT             (1<<6)  /* End of desc table int */
80
#define VINO_CTRL_B_INT                 (VINO_CTRL_B_EOF_INT | \
81
                                         VINO_CTRL_B_FIFO_INT | \
82
                                         VINO_CTRL_B_EOD_INT)
83
#define VINO_CTRL_A_DMA_ENBL            (1<<7)
84
#define VINO_CTRL_A_INTERLEAVE_ENBL     (1<<8)
85
#define VINO_CTRL_A_SYNC_ENBL           (1<<9)
86
#define VINO_CTRL_A_SELECT              (1<<10) /* 1=D1 0=Philips */
87
#define VINO_CTRL_A_RGB                 (1<<11) /* 1=RGB 0=YUV */
88
#define VINO_CTRL_A_LUMA_ONLY           (1<<12)
89
#define VINO_CTRL_A_DEC_ENBL            (1<<13) /* Decimation */
90
#define VINO_CTRL_A_DEC_SCALE_MASK      0x1c000 /* bits 14:17 */
91
#define VINO_CTRL_A_DEC_SCALE_SHIFT     (14)
92
#define VINO_CTRL_A_DEC_HOR_ONLY        (1<<17) /* Horizontal only */
93
#define VINO_CTRL_A_DITHER              (1<<18) /* 24 -> 8 bit dither */
94
#define VINO_CTRL_B_DMA_ENBL            (1<<19)
95
#define VINO_CTRL_B_INTERLEAVE_ENBL     (1<<20)
96
#define VINO_CTRL_B_SYNC_ENBL           (1<<21)
97
#define VINO_CTRL_B_SELECT              (1<<22) /* 1=D1 0=Philips */
98
#define VINO_CTRL_B_RGB                 (1<<23) /* 1=RGB 0=YUV */
99
#define VINO_CTRL_B_LUMA_ONLY           (1<<24)
100
#define VINO_CTRL_B_DEC_ENBL            (1<<25) /* Decimation */
101
#define VINO_CTRL_B_DEC_SCALE_MASK      0x1c000000      /* bits 26:28 */
102
#define VINO_CTRL_B_DEC_SCALE_SHIFT     (26)
103
#define VINO_CTRL_B_DEC_HOR_ONLY        (1<<29) /* Decimation horizontal only */
104
#define VINO_CTRL_B_DITHER              (1<<30) /* ChanB 24 -> 8 bit dither */
105
        u32 _pad_control;
106
        volatile u32 control;
107
 
108
#define VINO_INTSTAT_A_EOF              (1<<0)  /* Field transferred int */
109
#define VINO_INTSTAT_A_FIFO             (1<<1)  /* FIFO overflow int */
110
#define VINO_INTSTAT_A_EOD              (1<<2)  /* End of desc table int */
111
#define VINO_INTSTAT_A                  (VINO_INTSTAT_A_EOF | \
112
                                         VINO_INTSTAT_A_FIFO | \
113
                                         VINO_INTSTAT_A_EOD)
114
#define VINO_INTSTAT_B_EOF              (1<<3)  /* Field transferred int */
115
#define VINO_INTSTAT_B_FIFO             (1<<4)  /* FIFO overflow int */
116
#define VINO_INTSTAT_B_EOD              (1<<5)  /* End of desc table int */
117
#define VINO_INTSTAT_B                  (VINO_INTSTAT_B_EOF | \
118
                                         VINO_INTSTAT_B_FIFO | \
119
                                         VINO_INTSTAT_B_EOD)
120
        u32 _pad_intr_status;
121
        volatile u32 intr_status;
122
 
123
        u32 _pad_i2c_control;
124
        volatile u32 i2c_control;
125
        u32 _pad_i2c_data;
126
        volatile u32 i2c_data;
127
 
128
        struct sgi_vino_channel a;
129
        struct sgi_vino_channel b;
130
};
131
 
132
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.