📄 diff.txt
字号:
> i2cWait();190c308< return 0;---> return bit;193,195c311,316< unsigned char i2c_Read_Byte(void){< int i =8;< volatile unsigned char temp,res= 0;---> static void i2cWriteBit(BOOL bit)> {> if (bit)> makeSdaHigh();> else> makeSdaLow();197,202c318,320< while(i--){< temp = get_SDA();< res |= (temp << i);< i2c_wait();< }< return res;---> makeSclHigh();> i2cWait();> makeSclLow();205,206c323< void i2c_writeReg(unsigned char devaddr, unsigned char subaddr,< unsigned char value, unsigned char *successflag)---> static BOOL i2cGetAck(void)208,212c325< unsigned char flag=1;< < i2c_Init();< i2c_Send_Byte(devaddr & 0xfe); //device write addr...< flag &= get_Ack(); ---> BOOL ackVal;214,215c327,331< i2c_Send_Byte(subaddr);< flag &= get_Ack();---> makeSdaInput();> i2cWait();> ackVal = (BOOL)(!i2cReadBit()); /* 0 - Ack, 1 - NACK */> makeSdaOutput();> i2cWait();217,220c333,334< i2c_Send_Byte(value);< flag &= get_Ack();< < i2c_Stop();---> return ackVal;> }222c336,338< *successflag = (flag)? 0 : 1;---> static void i2cSendNack(void)> {> i2cWriteBit((BOOL)1);225,226c341< unsigned char i2c_readReg(unsigned char devaddr, unsigned char subaddr,< unsigned char *successflag)---> static void i2cSendAck(void)228c343,344< unsigned char val,flag = 1;---> i2cWriteBit((BOOL)0);> }230,232c346,348< i2c_Init();< i2c_Send_Byte(devaddr & 0xfe);< flag &= get_Ack();---> static UINT8 i2cReadByte(void)> {> UINT8 i, mask=0x80, retVal=0;234,235c350,355< i2c_Send_Byte(subaddr);< flag &= get_Ack();---> for (i = 0; i < 8; i++)> {> if (i2cReadBit())> retVal |= mask;> mask >>= 1;> }237,239c357,358< i2c_Init();< i2c_Send_Byte(devaddr |= 0x01);< flag &= get_Ack();---> return retVal;> }241,242c360,362< i2c_wait();< val = i2c_Read_Byte();---> static void i2cWriteByte(UINT8 byte)> {> UINT8 i, mask=0x80;244,247c364,372< make_PMU_SDA_Output();< i2c_wait();< send_Nack();< i2c_Stop();---> for (i = 0; i < 8; i++)> {> if (byte & mask)> i2cWriteBit((BOOL)1);> else> i2cWriteBit((BOOL)0);> mask >>= 1;> }> }249,250c374,376< *successflag = (flag)? 0 : 1;< return(val);---> static void i2cWait(void)> {> volatile int i;251a378,379> for (i = 0; i < 100; i++)> ;Index: i2c.h===================================================================RCS file: /home/cvs/rrload/i2c.h,vretrieving revision 1.1diff -r1.1 i2c.h1,2c1,67< #ifndef __I2C_H__< #define __I2C__H__---> /*****************************************************************************> *> * Copyright (C) 2001 by Ingenient Technologies, Inc.> * All Rights Reserved.> *> * Use of this software is restricted to the terms and> * conditions of Ingenient's software license agreement.> *> * www.ingenient.com> *> ******************************************************************************> *> * Filename:> *> * i2c.h> *> * File Description:> *> * Function prototypes, etc. for functions in i2c.c> *> *> *****************************************************************************/> > #ifndef I2C_H> #define I2C_H> > /* *************************** Definitions **************************** */> #define REG *(unsigned short *)> #define UINT8 unsigned char> #define UINT16 unsigned short> #define UINT32 unsigned long> #define INT16 short> > #define GIO_REGISTER_BASE 0x00030580 // GIO register address> > #define DIR0 (volatile UINT16 *)(GIO_REGISTER_BASE)> #define BITSET0 (volatile UINT16 *)(GIO_REGISTER_BASE + 0x000C)> #define BITCLR0 (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0012)> > #define DIR1 (volatile UINT16 *)(GIO_REGISTER_BASE + 2)> #define BITSET1 (volatile UINT16 *)(GIO_REGISTER_BASE + 0x000E)> #define BITCLR1 (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0014)> > #define DIR2 (volatile UINT16 *)(GIO_REGISTER_BASE + 4)> #define BITSET2 (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0010)> #define BITCLR2 (volatile UINT16 *)(GIO_REGISTER_BASE + 0x0016)> > > #define BOOL unsigned char> typedef enum {I2C_SUCCESS, I2C_ERROR} I2C_RETURN;> > /* **************************** Structures **************************** */> > > /* ************************* Global Variables ************************* */> > > /* *********************** Function Prototypes ************************ */> void I2C_init(INT16 scl_gio, INT16 sda_gio);> void I2C_writeReg(UINT8 slaveAddr, UINT8 subAddr, UINT8 val,> UINT8 *successFlag);> void I2C_writeRegs(UINT8 slaveAddr, UINT8 subAddr, UINT8 *val,> UINT32 count, UINT8 *successFlag);> unsigned char I2C_readReg(UINT8 slaveAddr, UINT8 subAddr,> UINT8 *successFlag);> void I2C_readRegs(UINT8 slaveAddr, UINT8 subAddr, UINT8 *val,> UINT32 count, UINT8 *successFlag);4,5c69< #define PMU_SCL_GIO 31 //GIO24< #define PMU_SDA_GIO 32 //GIO23---> #endif /* I2C_H */7,39d70< #define PMU_ADDR 10< < < void GIODirSet(unsigned char port, unsigned char dir); < void GIOSet(unsigned char port,unsigned char set);< unsigned char GIOGet(unsigned char port);< < void set_PMU_SCL_High(void);< void set_PMU_SCL_Low(void);< < void set_PMU_SDA_High(void);< void set_PMU_SDA_Low(void);< < void set_PMU_GPIO_High(void);< < void make_PMU_SDA_Input(void);< void make_PMU_SDA_Output(void);< void i2c_Init(void);< void i2c_Open(void);< unsigned char get_SDA(void);< void send_Ack(void);< void sendNack(void);< void i2c_wait(void);< void i2c_Stop(void);< void i2c_Init(void);< int i2c_Send_Byte(unsigned char buff);< unsigned char i2c_Read_Byte(void);< < void i2c_writeReg(unsigned char devaddr, unsigned char subaddr,< unsigned char value, unsigned char *successflag);< unsigned char i2c_readReg(unsigned char devaddr, unsigned char subaddr,< unsigned char *successflag);< #endif //__I2C_H__Index: memconfig.h===================================================================RCS file: /home/cvs/rrload/memconfig.h,vretrieving revision 1.1.1.1diff -r1.1.1.1 memconfig.h76c76< #define BSPCONF_SDRAM_SIZE 0x02e19f00---> #define BSPCONF_SDRAM_SIZE 0x0400000097c97< #define BSPCONF_BTLDR_CS8900_DEBUG 1---> #undef BSPCONF_BTLDR_CS8900_DEBUG113c113< #define BSPCONF_RAMDISK_SIZE 5120---> #define BSPCONF_RAMDISK_SIZE 256118c118< #define BSPCONF_DRAM_SIZE 0x01759f00---> #define BSPCONF_DRAM_SIZE 0x02940000129c129< #define BSPCONF_ETHERNET_TYPE ETHERNET_TYPE_CS8900---> #define BSPCONF_ETHERNET_TYPE ETHERNET_TYPE_NONE138c138< #define BSPCONF_NETWORK_TARGET_IP "10.1.8.100"---> #define BSPCONF_NETWORK_TARGET_IP "10.10.27.50"143,145c143,145< #define BSPCONF_NETWORK_TARGET_GW_IP "10.1.8.226"< #define BSPCONF_NETWORK_TARGET_NET_IP "10.0.0.0"< #define BSPCONF_NETWORK_SOURCE_IP "10.1.8.226"---> #define BSPCONF_NETWORK_TARGET_GW_IP "10.10.10.10"> #define BSPCONF_NETWORK_TARGET_NET_IP "10.10.10.10"> #define BSPCONF_NETWORK_SOURCE_IP "192.168.200.58"147c147< #define BSPCONF_NETWORK_SOURCE_MAC "00:0B:CD:08:30:8B"---> #define BSPCONF_NETWORK_SOURCE_MAC "00:08:A1:49:C9:1B"Index: net.c===================================================================RCS file: /home/cvs/rrload/net.c,vretrieving revision 1.1.1.1diff -r1.1.1.1 net.c111,115c111,115< ether_submit(mode, // in< device_MAC, // in< server_MAC, // in< (void *)ipdatagram, // in/out< &ip_len); // in/out---> // ether_submit(mode, // in> // device_MAC, // in> // server_MAC, // in> // (void *)ipdatagram, // in/out> // &ip_len); // in/out119c119< ether_submit(FLUSH,device_MAC,server_MAC,NULL,NULL);---> // ether_submit(FLUSH,device_MAC,server_MAC,NULL,NULL);Index: pmu.c===================================================================RCS file: /home/cvs/rrload/pmu.c,vretrieving revision 1.3diff -r1.3 pmu.c10a11> #include "pmpConfig.h"17,19c18,19< < #define REG *(unsigned short *)< #define DIR0 0x30580---> #define I2C_SCL_GIO 31> #define I2C_SDA_GIO 3227a28,41> unsigned char pmu_write_reg(unsigned char subaddr, unsigned char data){> unsigned char flag;> > I2C_writeReg(PMU_DEV_ADDR,subaddr,data, &flag);> return(flag);> }> > unsigned char pmu_read_reg(unsigned char subaddr, unsigned char *value){> unsigned char flag;> > *value = I2C_readReg(PMU_DEV_ADDR, subaddr, &flag);> return(flag);> }> 29a44,46> unsigned char temp;> > I2C_init(I2C_SCL_GIO, I2C_SDA_GIO);31c48< i2c_writeReg(PMU_DEV_ADDR, 0x1b,0xf8,&flag); //DCDC1 1.5V set.---> flag = pmu_write_reg(DCDC1,0xf8); //DCDC1 1.5V set.34c51< util_printf("i2c success\n");---> util_printf("PMU DCDC1 1.5V set..\n");38c55< i2c_writeReg(PMU_DEV_ADDR, 0x3a,0x7,&flag); //GPO3 constant low --> FET open---> flag = pmu_write_reg(GPOC3,0x7); //GPO3 constant low --> FET open41c58< util_printf("i2c success\n");---> util_printf("GPO3 low...\n");46c63< i2c_writeReg(PMU_DEV_ADDR,0x24, 0x6, &flag); //D1REGC1阑 power off---> flag = pmu_write_reg(D1REGC1, 0x6); //D1REGC1阑 power off49c66< util_printf("i2c success\n");---> util_printf("D1REGC1 set...\n");54c71< i2c_writeReg(PMU_DEV_ADDR,0x21, 0xe3, &flag); //DCUDDC1俊 1.8V set---> flag = pmu_write_reg(DCUDC1, 0xe3); //DCUDDC1俊 1.8V set57c74< util_printf("i2c success\n");---> util_printf("DCUDDC1 1.8v set...\n");62c79< i2c_writeReg(PMU_DEV_ADDR,0x3b, 0x7, &flag); //GPOC4甫 low active --> FFT open---> flag = pmu_write_reg(GPOC4, 0x7); //GPOC4甫 low active --> FFT open65c82< util_printf("i2c success\n");---> util_printf("GPOC4 low active.\n");69c86,103< ---> > //========== Added 04.04.13 ===================> flag = pmu_write_reg(LPREGC1,0x2f); //LPVDD 2.4V, ECO mode. > flag = pmu_write_reg(ADCC2, 0x83); //BATVOLT, subtractor> flag = pmu_read_reg(ADCS1, &temp); //read battery volt> #if defined(DEBUG)> util_printf("Battry : %d\n",temp);> #endif> > //==== Modified 04.04.14 ======================> // if(temp < 67){ // If battery voltage is below 3.6V> if(temp < 78){ // If battery voltage is below 3.6V> util_printf("LOW BATTERY...!!\n");> util_printf("GO TO STANDBY MODE...!!\n");> pmu_goStandBy(); //go to stand by mode.> }> //=============================================> 71c105< i2c_writeReg(PMU_DEV_ADDR,0x25, 0xf8, &flag); //USB device power---> flag = pmu_write_reg(D2REGC1, 0xf8); //USB device power74c108< util_printf("i2c success\n");---> util_printf("1st USB power set.\n");79c113< i2c_writeReg(PMU_DEV_ADDR,0x26, 0xf0, &flag); //USB device power---> flag = pmu_write_reg(D3REGC1, 0xf0); //USB device power82c116< util_printf("i2c success\n");---> util_printf("2nd USB power set.\n");88c122< i2c_writeReg(PMU_DEV_ADDR,0x36,0x80,&flag); //LED1 pattern setting---> flag = pmu_write_reg(LEDC1,0x80); //LED1 pattern setting91c125< util_printf("i2c success\n");---> util_printf("LED1 pattern .\n");96c130< i2c_writeReg(PMU_DEV_ADDR,0x39,0x1,&flag); //GPOC2俊 LED1 ouput enable---> flag = pmu_write_reg(GPOC2,0x1); //GPOC2俊 LED1 ouput enable99c133< util_printf("i2c success\n");---> util_printf("LED1 output ...\n");102a137,194> //========== Added 04.03.27 ===============> // pmu_write_reg(INT1M,0x48,&flag); //Mask the SECOND interrupt.> //Modified By Lee 04.03.30 for mask ON KEYF interrupt> flag = pmu_write_reg(INT1M,0x4a); //Mask the SECOND interrupt.> #if defined(DEBUG)> if(!flag)> util_printf("INT1M mask .\n");> else> util_printf("i2c failed\n");> #endif > > #if defined(NOT_WAKEUP_BY_CHARGER)> //=========== Added 04.03.30 ==============> flag = pmu_write_reg(INT2M,0xff); //Mask the all interrupts by charger.> #if defined(DEBUG)> if(!flag)> util_printf("INT2M mask .\n");> else> util_printf("i2c failed\n");> #endif > > flag = pmu_write_reg(INT3M,0x0e); //Mask the all about accessory & touch screen interrupt.> #if defined(DEBUG)> if(!flag)> util_printf("INT3M mask .\n");> else> util_printf("i2c failed\n");> #endif > > flag = pmu_write_reg(OOCC1,0x44); //Mask the wake up by charger interrupt.> #if defined(DEBUG)> if(!flag)> util_printf("wakeup setting.\n");> else> util_printf("i2c failed\n");> #endif> #endif > > }> > unsigned char read_irqPort(void){> volatile unsigned char key_val;> volatile unsigned short port;> > #if defined(PMP100_EVM)> REG DIR0 |= (1 << 6);> #else> REG DIR0 |= (1 << 5);> #endif> > port = REG BITSET0; > #if defined(PMP100_EVM)> key_val = port & (1 << 6);> #else> key_val = port & (1 << 5);> #endif> > return(key_val);106a199> unsigned char temp;108c201,212< key_val = i2c_readReg(PMU_DEV_ADDR,0x02,&flag); //button ON KEY check.---> flag = pmu_read_reg(INT1,&key_val); //button ON KEY check.> #if defined(DEBUG)> util_printf("%x\n",key_val);> #endif> flag = pmu_read_reg(INT2,&temp);> #if defined(DEBUG)> util_printf("%x\n",temp);> #endif> flag = pmu_read_reg(INT3,&temp);> #if defined(DEBUG)> util_printf("%x\n",temp);> #endif114a219,280> unsigned char detect_interrupt(void){> unsigned char flag;> unsigned char key_val;> > if(!read_irqPort()){> flag = pmu_read_reg(INT1,&key_val); //Read INT1 Register.> if((key_val & 0x3)){> #if defined(DEBUG)> util_printf("ONKEY DETECTED\n");> #endif> return ONKEY_DETECT;> }> if(key_val & 0x4){> #if defined(DEBUG)> util_printf("ONKEY1S DETECTED\n");> #endif> return ONKEY1S_DETECT;> }> if(key_val & 0x10){> #if defined(DEBUG)> util_printf("EXTONF DETECTED\n");> #endif> return EXTONF_DETECT;> } > if(key_val & 0x80){> #if defined(DEBUG)> util_printf("ALARM DETECTED\n");> #endif> return ALARM_DETECT;> }> }> > if(!read_irqPort()){> flag = pmu_read_reg(INT2,&key_val);> if(key_val & 0x1){> #if defined(DEBUG)> util_printf("CHGINS DETECTED\n");> #endif> return(CHGINS_DETECT);> }> if(key_val & 0x2){> #if defined(DEBUG)> util_printf("CHGRM DETECTED\n");> #endif> return(CHGRM_DETECT);> }> }> > if(!read_irqPort()){> flag = pmu_read_reg(INT3, &key_val);> if(key_val & 0x1){> #if defined(DEBUG)> util_printf("ADCREADY DETECTED\n");> #endif> return(ADCREADY_DETECT);> }> }> > return(0);>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -