Release 4.11 drivers/staging/sm750fb/ddk750_chip.h
#ifndef DDK750_CHIP_H__
#define DDK750_CHIP_H__
#define DEFAULT_INPUT_CLOCK 14318181
/* Default reference clock */
#ifndef SM750LE_REVISION_ID
#define SM750LE_REVISION_ID ((unsigned char)0xfe)
#endif
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/uaccess.h>
extern void __iomem *mmio750;
/* software control endianness */
static inline u32 peek32(u32 addr)
{
return readl(addr + mmio750);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Matthieu Simon | 14 | 77.78% | 1 | 50.00% |
Elise Lennion | 4 | 22.22% | 1 | 50.00% |
Total | 18 | 100.00% | 2 | 100.00% |
static inline void poke32(u32 data, u32 addr)
{
writel(data, addr + mmio750);
}
Contributors
Person | Tokens | Prop | Commits | CommitProp |
Matthieu Simon | 19 | 86.36% | 1 | 50.00% |
Elise Lennion | 3 | 13.64% | 1 | 50.00% |
Total | 22 | 100.00% | 2 | 100.00% |
/* This is all the chips recognized by this library */
typedef enum _logical_chip_type_t {
SM_UNKNOWN,
SM718,
SM750,
SM750LE,
}
logical_chip_type_t;
typedef enum _clock_type_t {
MXCLK_PLL,
PRIMARY_PLL,
SECONDARY_PLL,
VGA0_PLL,
VGA1_PLL,
}
clock_type_t;
struct pll_value {
clock_type_t clockType;
unsigned long inputFreq; /* Input clock frequency to the PLL */
/* Use this when clockType = PANEL_PLL */
unsigned long M;
unsigned long N;
unsigned long OD;
unsigned long POD;
};
/* input struct to initChipParam() function */
struct initchip_param {
/* Use power mode 0 or 1 */
unsigned short powerMode;
/*
* Speed of main chip clock in MHz unit
* 0 = keep the current clock setting
* Others = the new main chip clock
*/
unsigned short chipClock;
/*
* Speed of memory clock in MHz unit
* 0 = keep the current clock setting
* Others = the new memory clock
*/
unsigned short memClock;
/*
* Speed of master clock in MHz unit
* 0 = keep the current clock setting
* Others = the new master clock
*/
unsigned short masterClock;
/*
* 0 = leave all engine state untouched.
* 1 = make sure they are off: 2D, Overlay,
* video alpha, alpha, hardware cursors
*/
unsigned short setAllEngOff;
/*
* 0 = Do not reset the memory controller
* 1 = Reset the memory controller
*/
unsigned char resetMemory;
/* More initialization parameter can be added if needed */
};
logical_chip_type_t sm750_get_chip_type(void);
void sm750_set_chip_type(unsigned short devId, u8 revId);
unsigned int sm750_calc_pll_value(unsigned int request, struct pll_value *pll);
unsigned int sm750_format_pll_reg(struct pll_value *pPLL);
unsigned int ddk750_get_vm_size(void);
int ddk750_init_hw(struct initchip_param *);
#endif
Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
Sudip Mukherjee | 144 | 62.07% | 2 | 18.18% |
Matthieu Simon | 39 | 16.81% | 1 | 9.09% |
Elise Lennion | 26 | 11.21% | 2 | 18.18% |
Mihaela Muraru | 10 | 4.31% | 1 | 9.09% |
Eric S. Stone | 6 | 2.59% | 1 | 9.09% |
Lorenzo Stoakes | 3 | 1.29% | 1 | 9.09% |
Arnd Bergmann | 2 | 0.86% | 1 | 9.09% |
Dan Carpenter | 1 | 0.43% | 1 | 9.09% |
Moshe Green | 1 | 0.43% | 1 | 9.09% |
Total | 232 | 100.00% | 11 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.