⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hi3120.c

📁 hi3120芯片的配置代码
💻 C
📖 第 1 页 / 共 5 页
字号:
    gpio_i2c_write(I2C_HI3120,0x80,(data_temp & 0x07));         /*********BT656_720x576I50_TO_800x600P60**********************/      /* chip reset (4)*/    /* reset each module */    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x10,0x0f);    gpio_i2c_write(I2C_HI3120,0x0f,0x10);    gpio_i2c_write(I2C_HI3120,0x0f,0x00);    /* clock set(8)*/    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x00,0x06);    gpio_i2c_write(I2C_HI3120,0x01,0x00);    gpio_i2c_write(I2C_HI3120,0x03,0x08);    gpio_i2c_write(I2C_HI3120,0x04,0x00);    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x06,0x03);    gpio_i2c_write(I2C_HI3120,0x07,0x01);    /* VO output format(4) */    gpio_i2c_write(I2C_HI3120,0xff,0x01);    gpio_i2c_write(I2C_HI3120,0x80,0x00);    gpio_i2c_write(I2C_HI3120,0x81,0x40);    gpio_i2c_write(I2C_HI3120,0x82,0x0c);        /* VO window */    gpio_i2c_write(I2C_HI3120,0xd1,0x04);    gpio_i2c_write(I2C_HI3120,0xd0,0x20);    gpio_i2c_write(I2C_HI3120,0xd3,0x02);    gpio_i2c_write(I2C_HI3120,0xd2,0x74);    gpio_i2c_write(I2C_HI3120,0xd5,0x00);    gpio_i2c_write(I2C_HI3120,0xd4,0xd8);    gpio_i2c_write(I2C_HI3120,0xd7,0x03);    gpio_i2c_write(I2C_HI3120,0xd6,0xf8);    gpio_i2c_write(I2C_HI3120,0xd9,0x00);    gpio_i2c_write(I2C_HI3120,0xd8,0x1b);    gpio_i2c_write(I2C_HI3120,0xdb,0x02);    gpio_i2c_write(I2C_HI3120,0xda,0x73);    gpio_i2c_write(I2C_HI3120,0xdd,0x00);    gpio_i2c_write(I2C_HI3120,0xdc,0xd8);    gpio_i2c_write(I2C_HI3120,0xdf,0x03);    gpio_i2c_write(I2C_HI3120,0xde,0xf8);    gpio_i2c_write(I2C_HI3120,0xe1,0x00);    gpio_i2c_write(I2C_HI3120,0xe0,0x1b);    gpio_i2c_write(I2C_HI3120,0xe3,0x02);    gpio_i2c_write(I2C_HI3120,0xe2,0x73);    /* VI clock reset(5)*/    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x10,0x0e);    gpio_i2c_write(I2C_HI3120,0x0f,0x00);    gpio_i2c_write(I2C_HI3120,0x0f,0x00);    /* clock set(8)*/    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x00,0x06);    gpio_i2c_write(I2C_HI3120,0x01,0x00);    gpio_i2c_write(I2C_HI3120,0x03,0x08);    gpio_i2c_write(I2C_HI3120,0x04,0x00);    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x06,0x03);    gpio_i2c_write(I2C_HI3120,0x07,0x01);        /* video format change flag bit = 1 (2) */    gpio_i2c_write(I2C_HI3120,0xff,0x01);    gpio_i2c_write(I2C_HI3120,0x82,0x2c);        /* Input catch window and format(10)*/    gpio_i2c_write(I2C_HI3120,0x00,0x92);    gpio_i2c_write(I2C_HI3120,0x01,0x11);    gpio_i2c_write(I2C_HI3120,0x03,0x00);    gpio_i2c_write(I2C_HI3120,0x02,0x22);    gpio_i2c_write(I2C_HI3120,0x05,0x02);    gpio_i2c_write(I2C_HI3120,0x04,0xaa);    gpio_i2c_write(I2C_HI3120,0x07,0x00);    gpio_i2c_write(I2C_HI3120,0x06,0x07);    gpio_i2c_write(I2C_HI3120,0x09,0x01);    gpio_i2c_write(I2C_HI3120,0x08,0x19);        /* DNR (6) */    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x20,0x00);    gpio_i2c_write(I2C_HI3120,0x21,0x24);    gpio_i2c_write(I2C_HI3120,0x22,0x02);    gpio_i2c_write(I2C_HI3120,0x23,0x88);    gpio_i2c_write(I2C_HI3120,0x24,0x02);        /* SDRAM control(16)*/    gpio_i2c_write(I2C_HI3120,0x80,0x24);    gpio_i2c_write(I2C_HI3120,0x81,0x02);    gpio_i2c_write(I2C_HI3120,0x82,0x88);    gpio_i2c_write(I2C_HI3120,0x83,0x02);    gpio_i2c_write(I2C_HI3120,0x84,0x24);    gpio_i2c_write(I2C_HI3120,0x85,0x02);    gpio_i2c_write(I2C_HI3120,0x86,0x88);    gpio_i2c_write(I2C_HI3120,0x87,0x02);    gpio_i2c_write(I2C_HI3120,0x88,0x33);    gpio_i2c_write(I2C_HI3120,0x89,0x00);    gpio_i2c_write(I2C_HI3120,0x8a,0x07);    gpio_i2c_write(I2C_HI3120,0x8b,0x67);    gpio_i2c_write(I2C_HI3120,0x8c,0x2b);    gpio_i2c_write(I2C_HI3120,0x8d,0x64);    gpio_i2c_write(I2C_HI3120,0x8e,0x05);    gpio_i2c_write(I2C_HI3120,0x8f,0x00);        /* ITOP parameter(5)*/    gpio_i2c_write(I2C_HI3120,0x40,0x00);    gpio_i2c_write(I2C_HI3120,0x42,0x02);    gpio_i2c_write(I2C_HI3120,0x41,0x88);    gpio_i2c_write(I2C_HI3120,0x44,0x01);    gpio_i2c_write(I2C_HI3120,0x43,0x12);        /* SCALE parameter(53)*/    gpio_i2c_write(I2C_HI3120,0xff,0x02);    gpio_i2c_write(I2C_HI3120,0x83,0x00);    gpio_i2c_write(I2C_HI3120,0x84,0xf4);    gpio_i2c_write(I2C_HI3120,0x85,0x0c);    gpio_i2c_write(I2C_HI3120,0x86,0xf4);    gpio_i2c_write(I2C_HI3120,0x87,0x0c);    gpio_i2c_write(I2C_HI3120,0x88,0xf4);    gpio_i2c_write(I2C_HI3120,0x89,0x0c);    gpio_i2c_write(I2C_HI3120,0x8a,0xf4);    gpio_i2c_write(I2C_HI3120,0x8b,0x0c);    gpio_i2c_write(I2C_HI3120,0x8c,0xf4);    gpio_i2c_write(I2C_HI3120,0x8d,0x0c);    gpio_i2c_write(I2C_HI3120,0x8e,0x9f);    gpio_i2c_write(I2C_HI3120,0x8f,0x00);    gpio_i2c_write(I2C_HI3120,0x90,0x3f);    gpio_i2c_write(I2C_HI3120,0x91,0x01);    gpio_i2c_write(I2C_HI3120,0x92,0xdf);    gpio_i2c_write(I2C_HI3120,0x93,0x01);    gpio_i2c_write(I2C_HI3120,0x94,0x7f);    gpio_i2c_write(I2C_HI3120,0x95,0x02);    gpio_i2c_write(I2C_HI3120,0x96,0x1e);    gpio_i2c_write(I2C_HI3120,0x97,0x03);    gpio_i2c_write(I2C_HI3120,0x98,0x87);    gpio_i2c_write(I2C_HI3120,0x99,0x02);    gpio_i2c_write(I2C_HI3120,0x9a,0x9c);    gpio_i2c_write(I2C_HI3120,0x9b,0x0e);    gpio_i2c_write(I2C_HI3120,0x9c,0x9c);    gpio_i2c_write(I2C_HI3120,0x9d,0x0e);    gpio_i2c_write(I2C_HI3120,0x9e,0x9c);    gpio_i2c_write(I2C_HI3120,0x9f,0x0e);    gpio_i2c_write(I2C_HI3120,0xa0,0x9c);    gpio_i2c_write(I2C_HI3120,0xa1,0x0e);    gpio_i2c_write(I2C_HI3120,0xa2,0x9c);    gpio_i2c_write(I2C_HI3120,0xa3,0x0e);    gpio_i2c_write(I2C_HI3120,0xa4,0x77);    gpio_i2c_write(I2C_HI3120,0xa5,0x00);    gpio_i2c_write(I2C_HI3120,0xa6,0xef);    gpio_i2c_write(I2C_HI3120,0xa7,0x00);    gpio_i2c_write(I2C_HI3120,0xa8,0x67);    gpio_i2c_write(I2C_HI3120,0xa9,0x01);    gpio_i2c_write(I2C_HI3120,0xaa,0xdf);    gpio_i2c_write(I2C_HI3120,0xab,0x01);    gpio_i2c_write(I2C_HI3120,0xac,0x57);    gpio_i2c_write(I2C_HI3120,0xad,0x02);    gpio_i2c_write(I2C_HI3120,0xae,0x23);    gpio_i2c_write(I2C_HI3120,0xaf,0x02);    gpio_i2c_write(I2C_HI3120,0xbf,0xff);    gpio_i2c_write(I2C_HI3120,0xc0,0x00);    gpio_i2c_write(I2C_HI3120,0xc1,0x00);    gpio_i2c_write(I2C_HI3120,0xc2,0x00);    gpio_i2c_write(I2C_HI3120,0xc3,0x00);    gpio_i2c_write(I2C_HI3120,0xc4,0x00);    gpio_i2c_write(I2C_HI3120,0xc5,0x00);        /* clock reset(4) */    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0xff,0x00);    gpio_i2c_write(I2C_HI3120,0x10,0x00);    gpio_i2c_write(I2C_HI3120,0xff,0x00);        /* video foramt is not change flag bit = 0 (3) */    gpio_i2c_write(I2C_HI3120,0xff,0x01);    //gpio_i2c_write(I2C_HI3120,0x01,0x13);    gpio_i2c_write(I2C_HI3120,0x01,0x12);    gpio_i2c_write(I2C_HI3120,0x82,0x0c);   }    static int hi3120_open(struct inode * inode, struct file * file){      return 0;    	}     /*  *Close device, Do nothing! */static int hi3120_close(struct inode *inode ,struct file *file){      return 0;}        static int hi3120_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg){         	unsigned int __user *argp = (unsigned int __user *)arg;        unsigned int temp;                if(copy_from_user(&temp,argp,sizeof(temp)))        {               return -EFAULT;        }        return 0;       }     /*  *  The various file operations we support. */   static struct file_operations hi3120_fops = {	.owner		= THIS_MODULE,	.ioctl		= hi3120_ioctl,	.open		= hi3120_open,	.release	= hi3120_close};   static struct miscdevice hi3120_dev = {	MISC_DYNAMIC_MINOR,	"hi3120",	&hi3120_fops,};   static int hi3120_device_init(void){          /* inite codec configs.*/        unsigned char temp = 0;           gpio_i2c_write(I2C_HI3120,0xff,0x00);        temp = gpio_i2c_read(I2C_HI3120,0x00);        gpio_i2c_write(I2C_HI3120,0x00,0xfe);        if( gpio_i2c_read(I2C_HI3120,0x00) != 0xfe)        {            printk("init hi3120 error");            return -1;        }        gpio_i2c_write(I2C_HI3120,0x00,temp);        hi3120_reset();         return 0;}   	   DECLARE_KCOM_GPIO_I2C();static int __init hi3120_init(void){      	unsigned int ret = 0;    	ret = KCOM_GPIO_I2C_INIT();       if(ret)        {          printk("GPIO I2C module is not load.\n");          return -1;        }     	ret = misc_register(&hi3120_dev);    	if(ret)    	{    		KCOM_GPIO_I2C_EXIT();    		printk("could not register hi3120 devices. \n");    		return ret;    	}    	     	if(hi3120_device_init()<0)     	{        	misc_deregister(&hi3120_dev);        	KCOM_GPIO_I2C_EXIT();        	printk("hi3120 driver init fail for device init error!\n");        	return -1;    	}          printk("hi3120 driver init successful!\n");        return ret;   	}        static void __exit hi3120_exit(void){      misc_deregister(&hi3120_dev);    printk("deregister hi3120");    KCOM_GPIO_I2C_EXIT();}     module_init(hi3120_init);module_exit(hi3120_exit);   #ifdef MODULE#include <linux/compile.h>#endif   MODULE_INFO(build, UTS_VERSION);MODULE_LICENSE("GPL");MODULE_AUTHOR("hisilicon");                                                                                                                                                                                                                                                                                                                                                                        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -