1f7018c21STomi Valkeinen /*
2f7018c21STomi Valkeinen  * drivers/video/geode/video_cs5530.h
3f7018c21STomi Valkeinen  *   -- CS5530 video device
4f7018c21STomi Valkeinen  *
5f7018c21STomi Valkeinen  * Copyright (C) 2005 Arcom Control Systems Ltd.
6f7018c21STomi Valkeinen  *
7f7018c21STomi Valkeinen  * Based on AMD's original 2.4 driver:
8f7018c21STomi Valkeinen  *   Copyright (C) 2004 Advanced Micro Devices, Inc.
9f7018c21STomi Valkeinen  *
10f7018c21STomi Valkeinen  * This program is free software; you can redistribute it and/or modify
11f7018c21STomi Valkeinen  * it under the terms of the GNU General Public License as published by
12f7018c21STomi Valkeinen  * the Free Software Foundation; either version 2 of the License, or
13f7018c21STomi Valkeinen  * (at your option) any later version.
14f7018c21STomi Valkeinen  */
15f7018c21STomi Valkeinen #ifndef __VIDEO_CS5530_H__
16f7018c21STomi Valkeinen #define __VIDEO_CS5530_H__
17f7018c21STomi Valkeinen 
1816379ad8SJulia Lawall extern const struct geode_vid_ops cs5530_vid_ops;
19f7018c21STomi Valkeinen 
20f7018c21STomi Valkeinen /* CS5530 Video device registers */
21f7018c21STomi Valkeinen 
22f7018c21STomi Valkeinen #define CS5530_VIDEO_CONFIG	0x0000
23f7018c21STomi Valkeinen #  define CS5530_VCFG_VID_EN			0x00000001
24f7018c21STomi Valkeinen #  define CS5530_VCFG_VID_REG_UPDATE		0x00000002
25f7018c21STomi Valkeinen #  define CS5530_VCFG_VID_INP_FORMAT		0x0000000C
26f7018c21STomi Valkeinen #  define CS5530_VCFG_8_BIT_4_2_0		0x00000004
27f7018c21STomi Valkeinen #  define CS5530_VCFG_16_BIT_4_2_0		0x00000008
28f7018c21STomi Valkeinen #  define CS5530_VCFG_GV_SEL			0x00000010
29f7018c21STomi Valkeinen #  define CS5530_VCFG_CSC_BYPASS		0x00000020
30f7018c21STomi Valkeinen #  define CS5530_VCFG_X_FILTER_EN		0x00000040
31f7018c21STomi Valkeinen #  define CS5530_VCFG_Y_FILTER_EN		0x00000080
32f7018c21STomi Valkeinen #  define CS5530_VCFG_LINE_SIZE_LOWER_MASK	0x0000FF00
33f7018c21STomi Valkeinen #  define CS5530_VCFG_INIT_READ_MASK		0x01FF0000
34f7018c21STomi Valkeinen #  define CS5530_VCFG_EARLY_VID_RDY		0x02000000
35f7018c21STomi Valkeinen #  define CS5530_VCFG_LINE_SIZE_UPPER		0x08000000
36f7018c21STomi Valkeinen #  define CS5530_VCFG_4_2_0_MODE		0x10000000
37f7018c21STomi Valkeinen #  define CS5530_VCFG_16_BIT_EN			0x20000000
38f7018c21STomi Valkeinen #  define CS5530_VCFG_HIGH_SPD_INT		0x40000000
39f7018c21STomi Valkeinen 
40f7018c21STomi Valkeinen #define CS5530_DISPLAY_CONFIG	0x0004
41f7018c21STomi Valkeinen #  define CS5530_DCFG_DIS_EN			0x00000001
42f7018c21STomi Valkeinen #  define CS5530_DCFG_HSYNC_EN			0x00000002
43f7018c21STomi Valkeinen #  define CS5530_DCFG_VSYNC_EN			0x00000004
44f7018c21STomi Valkeinen #  define CS5530_DCFG_DAC_BL_EN			0x00000008
45f7018c21STomi Valkeinen #  define CS5530_DCFG_DAC_PWR_EN		0x00000020
46f7018c21STomi Valkeinen #  define CS5530_DCFG_FP_PWR_EN			0x00000040
47f7018c21STomi Valkeinen #  define CS5530_DCFG_FP_DATA_EN		0x00000080
48f7018c21STomi Valkeinen #  define CS5530_DCFG_CRT_HSYNC_POL		0x00000100
49f7018c21STomi Valkeinen #  define CS5530_DCFG_CRT_VSYNC_POL		0x00000200
50f7018c21STomi Valkeinen #  define CS5530_DCFG_FP_HSYNC_POL		0x00000400
51f7018c21STomi Valkeinen #  define CS5530_DCFG_FP_VSYNC_POL		0x00000800
52f7018c21STomi Valkeinen #  define CS5530_DCFG_XGA_FP			0x00001000
53f7018c21STomi Valkeinen #  define CS5530_DCFG_FP_DITH_EN		0x00002000
54f7018c21STomi Valkeinen #  define CS5530_DCFG_CRT_SYNC_SKW_MASK		0x0001C000
55f7018c21STomi Valkeinen #  define CS5530_DCFG_CRT_SYNC_SKW_INIT		0x00010000
56f7018c21STomi Valkeinen #  define CS5530_DCFG_PWR_SEQ_DLY_MASK		0x000E0000
57f7018c21STomi Valkeinen #  define CS5530_DCFG_PWR_SEQ_DLY_INIT		0x00080000
58f7018c21STomi Valkeinen #  define CS5530_DCFG_VG_CK			0x00100000
59f7018c21STomi Valkeinen #  define CS5530_DCFG_GV_PAL_BYP		0x00200000
60f7018c21STomi Valkeinen #  define CS5530_DCFG_DDC_SCL			0x00400000
61f7018c21STomi Valkeinen #  define CS5530_DCFG_DDC_SDA			0x00800000
62f7018c21STomi Valkeinen #  define CS5530_DCFG_DDC_OE			0x01000000
63f7018c21STomi Valkeinen #  define CS5530_DCFG_16_BIT_EN			0x02000000
64f7018c21STomi Valkeinen 
65f7018c21STomi Valkeinen #define CS5530_VIDEO_X_POS	0x0008
66f7018c21STomi Valkeinen #define CS5530_VIDEO_Y_POS	0x000C
67f7018c21STomi Valkeinen #define CS5530_VIDEO_SCALE	0x0010
68f7018c21STomi Valkeinen #define CS5530_VIDEO_COLOR_KEY	0x0014
69f7018c21STomi Valkeinen #define CS5530_VIDEO_COLOR_MASK 0x0018
70f7018c21STomi Valkeinen #define CS5530_PALETTE_ADDRESS	0x001C
71f7018c21STomi Valkeinen #define CS5530_PALETTE_DATA	0x0020
72f7018c21STomi Valkeinen #define CS5530_DOT_CLK_CONFIG	0x0024
73f7018c21STomi Valkeinen #define CS5530_CRCSIG_TFT_TV	0x0028
74f7018c21STomi Valkeinen 
75f7018c21STomi Valkeinen #endif /* !__VIDEO_CS5530_H__ */
76