1 #ifndef DDK750_CHIP_H__
2 #define DDK750_CHIP_H__
3 #define DEFAULT_INPUT_CLOCK 14318181 /* Default reference clock */
4 #ifndef SM750LE_REVISION_ID
5 #define SM750LE_REVISION_ID ((unsigned char)0xfe)
10 /* This is all the chips recognized by this library */
11 typedef enum _logical_chip_type_t
21 typedef enum _clock_type_t
31 typedef struct _pll_value_t
33 clock_type_t clockType;
34 unsigned long inputFreq; /* Input clock frequency to the PLL */
36 /* Use this when clockType = PANEL_PLL */
44 /* input struct to initChipParam() function */
45 typedef struct _initchip_param_t
47 unsigned short powerMode; /* Use power mode 0 or 1 */
48 unsigned short chipClock; /* Speed of main chip clock in MHz unit
49 0 = keep the current clock setting
50 Others = the new main chip clock
52 unsigned short memClock; /* Speed of memory clock in MHz unit
53 0 = keep the current clock setting
54 Others = the new memory clock
56 unsigned short masterClock; /* Speed of master clock in MHz unit
57 0 = keep the current clock setting
58 Others = the new master clock
60 unsigned short setAllEngOff; /* 0 = leave all engine state untouched.
61 1 = make sure they are off: 2D, Overlay,
62 video alpha, alpha, hardware cursors
64 unsigned char resetMemory; /* 0 = Do not reset the memory controller
65 1 = Reset the memory controller
68 /* More initialization parameter can be added if needed */
73 logical_chip_type_t getChipType(void);
74 unsigned int calcPllValue(unsigned int request,pll_value_t *pll);
75 unsigned int calcPllValue2(unsigned int,pll_value_t *);
76 unsigned int formatPllReg(pll_value_t *pPLL);
77 void ddk750_set_mmio(void __iomem *,unsigned short,char);
78 unsigned int ddk750_getVMSize(void);
79 int ddk750_initHw(initchip_param_t *);
80 unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL);
81 unsigned int getChipClock(void);
82 void setChipClock(unsigned int);
83 void setMemoryClock(unsigned int frequency);
84 void setMasterClock(unsigned int frequency);