cregit-Linux how code gets into the kernel

Release 4.10 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>

/* software control endianness */

#define PEEK32(addr) readl(addr + mmio750)

#define POKE32(addr, data) writel(data, addr + mmio750)

extern void __iomem *mmio750;

/* 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

PersonTokensPropCommitsCommitProp
sudip mukherjeesudip mukherjee14469.23%220.00%
elise lennionelise lennion4119.71%220.00%
mihaela murarumihaela muraru104.81%110.00%
eric s. stoneeric s. stone62.88%110.00%
lorenzo stoakeslorenzo stoakes31.44%110.00%
arnd bergmannarnd bergmann20.96%110.00%
moshe greenmoshe green10.48%110.00%
dan carpenterdan carpenter10.48%110.00%
Total208100.00%10100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.