[BACK]Return to ibm525reg.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/ibm525reg.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: ibm525reg.h,v 1.1 2005/07/19 09:34:14 miod Exp $      */
                      2: /*
                      3:  * Copyright (c) 2005, Miodrag Vallat.
                      4:  *
                      5:  * Redistribution and use in source and binary forms, with or without
                      6:  * modification, are permitted provided that the following conditions
                      7:  * are met:
                      8:  * 1. Redistributions of source code must retain the above copyright
                      9:  *    notice, this list of conditions and the following disclaimer.
                     10:  * 2. Redistributions in binary form must reproduce the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer in the
                     12:  *    documentation and/or other materials provided with the distribution.
                     13:  *
                     14:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     15:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
                     16:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
                     17:  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
                     18:  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
                     19:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
                     20:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     21:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
                     22:  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
                     23:  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     24:  * POSSIBILITY OF SUCH DAMAGE.
                     25:  */
                     26:
                     27: /*
                     28:  * IBM RGB525 Ramdac registers
                     29:  */
                     30:
                     31: #define        IBM525_REVISION         0x00
                     32: #define        IBM525_ID               0x01
                     33:
                     34: /* Miscellaneous clock control */
                     35: #define        IBM525_MISC_CLOCK       0x02
                     36: #define        MC_B24P_PLL             0x00
                     37: #define        MC_B24P_SCLK            0x20
                     38: #define        MC_DDOT_DIV_1           0x00    /* (VRAM size / 1) bpp */
                     39: #define        MC_DDOT_DIV_2           0x02    /* (VRAM size / 2) bpp */
                     40: #define        MC_DDOT_DIV_4           0x04    /* (VRAM size / 4) bpp */
                     41: #define        MC_DDOT_DIV_8           0x06    /* (VRAM size / 8) bpp */
                     42: #define        MC_DDOT_DIV_16          0x08    /* (VRAM size / 16) bpp */
                     43: #define        MC_DDOT_DIV_MASK        0x0e
                     44: #define        MC_PLL_ENABLE           0x01
                     45:
                     46: /* Sync control */
                     47: #define        IBM525_SYNC             0x03
                     48: #define        S_CSYN_INVERT           0x40    /* Composite sync invert */
                     49: #define        S_VSYN_INVERT           0x20    /* Vertical sync invert (positive) */
                     50: #define        S_HSYN_INVERT           0x10    /* Horizontal sync invert (positive) */
                     51: #define        S_VSYN_NORMAL           0x00
                     52: #define        S_VSYN_HIGH             0x04
                     53: #define        S_VSYN_LOW              0x08
                     54: #define        S_VSYN_DISABLE          0x0c
                     55: #define        S_VSYN_MASK             0x0c
                     56: #define        S_HSYN_NORMAL           0x00
                     57: #define        S_HSYN_HIGH             0x01
                     58: #define        S_HSYN_LOW              0x02
                     59: #define        S_HSYN_DISABLE          0x03
                     60: #define        S_HSYN_MASK             0x03
                     61:
                     62: /* Horizontal sync position */
                     63: #define        IBM525_HSYNC_POS        0x04
                     64:
                     65: /* Power management */
                     66: #define        IBM525_POWER            0x05
                     67: #define        P_SCLK_DISABLE          0x10
                     68: #define        P_DDOT_DISABLE          0x08
                     69: #define        P_SYNC_DISABLE          0x04
                     70: #define        P_ICLK_DISABLE          0x02    /* Disable internal DAC clock */
                     71: #define        P_DAC_PWR_DISABLE       0x01    /* Disable internal DAC power */
                     72:
                     73: /* DAC operation */
                     74: #define        IBM525_DAC_OP           0x06
                     75: #define        DO_SOG                  0x08    /* Sync on Green */
                     76: #define        DO_FAST_SLEW            0x02    /* fast (>= 20 MHz) pixel clock */
                     77: #define        DO_BLANK_BR             0x04    /* blank blue and red channels */
                     78: #define        DO_PEDESTAL             0x01
                     79:
                     80: /* Palette control */
                     81: #define        IBM525_PALETTE          0x07
                     82:
                     83: /* System clock control */
                     84: #define        IBM525_SYSCLK           0x08
                     85: #define        SC_ENABLE               0x01
                     86:
                     87: /* Pixel format */
                     88: #define        IBM525_PIXEL            0x0a
                     89: #define        PIX_4BPP                0x02
                     90: #define        PIX_8BPP                0x03
                     91: #define        PIX_16BPP               0x04
                     92: #define        PIX_24BPP               0x05
                     93: #define        PIX_32BPP               0x06
                     94:
                     95: /* 8bpp pixel format */
                     96: #define        IBM525_PF8              0x0b
                     97: #define        PF8_INDIRECT            0x00
                     98: #define        PF8_DIRECT              0x01
                     99:
                    100: /* 16bpp pixel format */
                    101: #define        IBM525_PF16             0x0c
                    102: #define        PF16_INDIRECT           0x00
                    103: #define        PF16_DIRECT             0xc0
                    104: #define        PF16_LINEAR             0x04
                    105: #define        PF16_555                0x00    /* 5:5:5 15bpp */
                    106: #define        PF16_565                0x02    /* 5:6:5 15bpp */
                    107:
                    108: /* 24bpp pixel format */
                    109: #define        IBM525_PF24             0x0d
                    110: #define        PF24_INDIRECT           0x00
                    111: #define        PF24_DIRECT             0x01
                    112:
                    113: /* 32bpp pixel format */
                    114: #define        IBM525_PF32             0x0e
                    115: #define        PF32_INDIRECT           0x00
                    116: #define        PF32_DIRECT             0x03
                    117: #define        PF32_BYPASS             0x00
                    118: #define        PF32_LOOKUP             0x04
                    119:
                    120: /* Pixel PLL control #1 */
                    121: #define        IBM525_PLL1             0x10
                    122: #define        P1_CLK_REF              0x00
                    123: #define        P1_CLK_EXT              0x10
                    124: #define        P1_SRC_EXT_F            0x00    /* Use F registers for timing */
                    125: #define        P1_SRC_EXT_MN           0x01    /* Use M:N registers for timing */
                    126: #define        P1_SRC_DIRECT_F         0x02    /* Use F registers for timing */
                    127: #define        P1_SRC_DIRECT_MN        0x03    /* Use M:N registers for timing */
                    128:
                    129: /* Pixel PLL control #2 */
                    130: #define        IBM525_PLL2             0x11
                    131:
                    132: /* Fixed PLL reference */
                    133: #define        IBM525_PLL_FIXED_REF    0x14
                    134:
                    135: /* PLL reference divider */
                    136: #define        IBM525_PLL_REF_DIV      0x15
                    137:
                    138: /* PLL VCO divider */
                    139: #define        IBM525_PLL_VCO_DIV      0x16
                    140:
                    141: /* N0-N15 */
                    142: #define        IBM525_F(n)             (0x20 + (n))
                    143:
                    144: /* Miscellaneous control #1 */
                    145: #define        IBM525_MISC1            0x70
                    146: #define        M1_VRAM_32              0x00
                    147: #define        M1_VRAM_64              0x01
                    148: #define        M1_VRAM_SIZE_MASK       0x01
                    149: #define        M1_SENSE_DISABLE        0x10
                    150:
                    151: /* Miscellaneous control #2 */
                    152: #define        IBM525_MISC2            0x71
                    153: #define        M2_PCLK_LOCAL           0x00
                    154: #define        M2_PCLK_PLL             0x40
                    155: #define        M2_PCLK_EXT             0x80
                    156: #define        M2_PCLK_MASK            0xc0
                    157: #define        M2_PALETTE_6            0x00    /* VGA compatible 6bit palette */
                    158: #define        M2_PALETTE_8            0x04    /* 8bit palette */
                    159: #define        M2_PALETTE_MASK         0x04
                    160: #define        M2_MODE_VRAM            0x01
                    161: #define        M2_MODE_VGA             0x00
                    162: #define        M2_MODE_MASK            0x01
                    163:
                    164: /* Miscellaneous control #3 */
                    165: #define        IBM525_MISC3            0x72
                    166: #define        M3_SWAP_BR              0x80    /* swap blue and red */
                    167: #define        M3_SWAP_WORDS           0x10
                    168: #define        M3_SWAP_NIBBLES         0x02
                    169:
                    170: /* Miscellaneous control #4 */
                    171: #define        IBM525_MISC4            0x73
                    172: #define        M4_INVERT_DCLK          0x10
                    173: #define        M4_FAST                 0x20    /* Fast (>= 50 MHz) pixel clock */
                    174:
                    175: /*
                    176:  * Pixel clock encoding
                    177:  */
                    178: #define        MHZ_TO_PLL(m) \
                    179:        (m) < 32 ? 0x00 | (4 * (m) - 65) : \
                    180:          (m) < 64 ? 0x40 | (2 * (m) - 65) : \
                    181:            (m) < 128 ? 0x80 | ((m) - 65) : \
                    182:              0xc0 | ((m) / 2 - 65)

CVSweb