提交SMOD ATSC IMX APP版本 V122

This commit is contained in:
2026-07-16 14:35:59 +08:00
commit 7601c270d5
485 changed files with 255032 additions and 0 deletions
+139
View File
@@ -0,0 +1,139 @@
#ifndef _I2C_DRV_H
#define _I2C_DRV_H
#include "type.h"
#include "config.h"
#if 1//ADD
#define FPGA_I2C_NUM 1
#define FPGA_DEV_ADDRESS (0X5A<<1)
#define DRYLOOP_DEV_ADDRESS (0x42<<1)
#define EXT_I2C_NUM 0
#define TS2IP_DEV_ADDRESS (0x5D<<1) // (0x70<<1)
#define TS2IP2_DEV_ADDRESS (0x5E<<1) // (0x90<<1)
#define TUNER_I2C_NUM 0
//#define TS2IP_DEV_ADDRESS (0x5D<<1) // (0x70<<1)
//#define TS2IP2_DEV_ADDRESS (0x5E<<1) // (0x90<<1)
#endif
#define TS_NET_I2C_READ 0
#define TS_NET_I2C_WRITE 1
#if USE_TUNER_18273
#define TUNER18273_ADDRESS (0xC6)
#else
#define TUNER18273_ADDRESS (0xC0)
#endif
void e2_byte_write(uint16 addr,uint8 data,uint32 chip);
uint8 e2_byte_read(uint16 addr,uint32 chip);
uint8 e2_byte_read_v2(uint16 addr, uint8 default_value,uint32 chip);
uint32 atmel_write_e2rom_buf(uint8* pbuf,uint16 offset,uint16 num,uint8 chip);
uint32 atmel_read_e2rom_buf(uint8* pbuf,uint16 offset,uint16 num,uint8 chip);
void i2c_hw_init(void);
#define E2_PROM_PAGE_SIZE (64) //E2的页大小
#define E2_PROM_TOTLE_SIZE (32*1024) //E2的总大小
#define E2_PROM_OFFSET_SIZE (2) //E2的参数地址字节数
#define I2C_READ_OK 0
#define I2C_WRITE_OK 0
#define I2C_WAIT_TIME_OUT 1
#define I2C_PARA_INVALID 2
#define E2_TOTAL_NUM 3
#define E2_CHIP_1 0 //三个E2
#define E2_CHIP_2 1
#define E2_CHIP_3 2
#define c256_byteread_default(a,b) e2_byte_read_v2(a,b,E2_CHIP_1) // add a new param need this function
#define c256_byteread(a) e2_byte_read(a,E2_CHIP_1)
#define c256_bytewrite(a,b) e2_byte_write(a,b,E2_CHIP_1)
#define c256_byteread2(a) e2_byte_read(a,E2_CHIP_2)
#define c256_bytewrite2(a,b) e2_byte_write(a,b,E2_CHIP_2)
#define c256_byteread3(a) e2_byte_read(a,E2_CHIP_3)
#define c256_bytewrite3(a,b) e2_byte_write(a,b,E2_CHIP_3) //方便后续激励器移植
#define atmel_write_e1(pbuf,offset,num) atmel_write_e2rom_buf(pbuf,offset,num,E2_CHIP_1)
#define atmel_read_e1(pbuf,offset,num) atmel_read_e2rom_buf(pbuf,offset,num,E2_CHIP_1)
#define atmel_write_e2(pbuf,offset,num) atmel_write_e2rom_buf(pbuf,offset,num,E2_CHIP_2)
#define atmel_read_e2(pbuf,offset,num) atmel_read_e2rom_buf(pbuf,offset,num,E2_CHIP_2)
#define atmel_write_e3(pbuf,offset,num) atmel_write_e2rom_buf(pbuf,offset,num,E2_CHIP_3)
#define atmel_read_e3(pbuf,offset,num) atmel_read_e2rom_buf(pbuf,offset,num,E2_CHIP_3)
void fpga_byte_write(uint8 segment,uint32 addr,uint8 data);
uint8 fpga_byte_read(uint8 segment,uint32 addr);
void fpga_reset_save_segment(void);
uint8 dryloop_read(uint32 addr);
uint32 dryloop_write(uint32 addr,uint8 data);
uint32 tuner_byte_write(uint32 addr,uint8 data);
uint8 tuner_byte_read(uint32 addr);
void ip2ts_i2c_rw(uint8 *pucData, uint8 addr,uint16 cnt, uint32 rw);
#if 1
extern void tsoip_byte_write(int tsoip_index, uint32 addr, uint8 data);
extern uint8 tsoip_byte_read(int tsoip_index,uint32 addr);
extern void fpga_i2c_sim_spi_read(uint16 addr, uint32 *p_data);
extern void fpga_i2c_sim_spi_write(uint16 addr, uint32 data);
extern void e_map_init(void);
extern void ii2c_hw_init(void);
extern uint8 fpga_byte_reads(uint8 segment,uint32 addr,uint8 *pdata,uint8 rlen);
extern int fpga_byte_writes(uint8 segment,uint32 addr,uint8 *pdata,uint8 wlen);
uint32 tuner_i2c_write(uint8 slave_addr,uint8 *pdata,uint8 length);
uint32 tuner_i2c_read(uint8 slave_addr,uint8 *pdata,uint8 length);
uint32 tuner_i2c_read_offset8(uint8 slave_addr,uint8 offset,uint8 *pdata,uint8 length);
uint32 tuner_i2c_read_offset16(uint8 slave_addr,uint8 offset[8],uint8 *pdata,uint8 length);
int tuner_nbytes_write(uint32 dev_addr, uint32 offset, uint8 *pdata, uint32 wlen);
/*
void fpga_write_axi0(u32 addr, u32 data, u32 count);
int fpga_read_axi0(u32 addr, u32 *pdata, u32 count);
int fpga_read_axi0_test(uint32 addr, uint32 *pdata, uint32 count);
void fpga_write_axi0_test(uint32 addr, uint32 data, uint32 count);
*/
void fpga_write_axi0_test(uint32 addr, uint32 data, uint32 count);
void fpga_write_axi0(uint32 addr, uint32 data, uint32 count);
int fpga_read_axi0(uint32 addr, uint32 *pdata, uint32 count);
#endif
#endif