This commit is contained in:
2026-06-26 08:03:05 +09:00
parent d90e8cb6a2
commit 48608c9d1f
52 changed files with 15284 additions and 34406 deletions

View File

@@ -41,7 +41,10 @@ bool Run_DebugMode_On(FT_HANDLE ftHandle);
bool Run_DebugMode_Off(FT_HANDLE ftHandle); // Enter Debug Mode Off
void Run_CheckFaults(FT_HANDLE ftHandle); // Check All Fault Registers
void Run_ReadChipInfo(FT_HANDLE ftHandle); // Read Chip Information (OTP/Version)
void Irq_Clear(FT_HANDLE ftHandle); // PMIC Irq Clear
void Irq_Clear(FT_HANDLE ftHandle); // PMIC Irq Clear
void Set_Reset(FT_HANDLE ftHandle); // PMIC Set Reset
void Set_Error(FT_HANDLE ftHandle); // PMIC Set Error
void Handle_ManualCommand(FT_HANDLE ftHandle, char* line); // Manual Command
int main()
@@ -59,6 +62,8 @@ int main()
printf(" 3. Read All Fault Status\n");
printf(" 4. Read Device Info & OTP\n");
printf(" 5. PMIC Irq Clear\n");
printf(" 6. PMIC Set Reset\n");
printf(" 7. PMIC Set Error\n");
printf(" W. Manual I2C Write (w [Addr] [Reg] [Val])\n");
printf(" R. Manual I2C Read (r [Addr] [Reg])\n");
@@ -121,6 +126,14 @@ int main()
Irq_Clear(ftHandle);
break;
case 6:
Set_Reset(ftHandle);
break;
case 7:
Set_Error(ftHandle);
break;
default:
printf("\n[ERROR] Menu number %d does not exist.\n", choice);
break;
@@ -164,43 +177,6 @@ int main()
if (!ftHandle) return -1;
printf("PMIC I2C Packet Logger with FT4222\n \n");
// 2. 초기화 상태 확인 with
//printf("Read Regulation 0x54, Page 0x02, Address 0x23 : 0x66 이면 OTP26.66\n ");
//PMIC_I2C_Write(ftHandle, PMIC_ADDR_REGULATION, 0x00, 0x02);
//PMIC_I2C_Write(ftHandle, PMIC_ADDR_REGULATION, 0x00, 0x02);
//PMIC_I2C_Read(ftHandle, PMIC_ADDR_REGULATION, 0x23);
/* Fault register data: Protection Register, Address 0x010 ~0x014, 0x019 ~0x021
0x010 - FUSA_STATUS_1
0x011 - FUSA_STATUS_2
0x012 - FUSA_STATUS_2A
0x013 - FUSA_STATUS_3
0x014 - FUSA_STATUS_4
0x019 - FLT_RECORD_A
0x01A - FLT_RECORD_B
0x01B - FLT_RECORD_GND_AVIN
0x01C - FLT_RECORD_BG_Temp
0x01D - FLT_RECORD_IntLDOs
0x01E - FLT_RECORD_ExtLDOs
0x01F - FLT_RECORD_BUCKS_B
0x020 - FLT_RECORD_BUCKS_A
0x021 - FLT_RECORD_ExtINPs_7_0
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x10); //0x010 - FUSA_STATUS_1
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x11); //0x011 - FUSA_STATUS_2
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x12); //0x012 - FUSA_STATUS_2A
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x13); //0x013 - FUSA_STATUS_3
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x14); //0x014 - FUSA_STATUS_4
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x19); //0x019 - FLT_RECORD_A
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x1A); //0x01A - FLT_RECORD_B
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x1B); //0x01B - FLT_RECORD_GND_AVIN
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x1C); //0x01C - FLT_RECORD_BG_Temp
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x1D); //0x01D - FLT_RECORD_IntLDOs
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x1E); //0x01E - FLT_RECORD_ExtLDOs
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x1F); //0x01F - FLT_RECORD_BUCKS_B
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x20); //0x01E - FLT_RECORD_BUCKS_A
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x21); //0x01F - FLT_RECORD_ExtINPs_7_0
*/
//printf("=================================================================================\n");
/********************************************************************************************
@@ -905,7 +881,10 @@ void Run_CheckFaults(FT_HANDLE ftHandle)
{
printf("\n[PROCESS] Scanning all Fault Registers...\n");
//Regulation Register
///////////////////////
//Regulation Register//
///////////////////////
printf("[OTP Version]\n");
//OTP Version
PMIC_I2C_Write(ftHandle, PMIC_ADDR_REGULATION, 0x00, 0x02); //0x00 - Page0x02
@@ -928,6 +907,10 @@ void Run_CheckFaults(FT_HANDLE ftHandle)
PMIC_I2C_Read(ftHandle, PMIC_ADDR_REGULATION, 0x48); //0x048 - FLT_RECORD_IF
PMIC_I2C_Read(ftHandle, PMIC_ADDR_REGULATION, 0x49); //0x049 - FLT_RECORD_LDO_DISC_DET
///////////////////////
//Protection Register//
///////////////////////
//Fault register data: Protection Register, Address 0x010 ~0x014, 0x019 ~0x021
printf("[Protection FLT Register]\n");
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x00); //0x00 - Page0x00
@@ -950,6 +933,14 @@ void Run_CheckFaults(FT_HANDLE ftHandle)
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x28); //0x028 - OTP_RWADDR
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x2A); //0x02A - OTP_FLT_RECORD
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x02); //0x102 - IO_MODECTRL
///////////////////////
// Debug Register //
///////////////////////
//Debug Regulation Chip Name etc
printf("[Regulation Chip ID]\n");
PMIC_I2C_Write(ftHandle, PMIC_ADDR_REGULATION, 0x00, 0x00); //0x00 - Page0x00
@@ -1052,6 +1043,26 @@ void Irq_Clear(FT_HANDLE ftHandle)
PMIC_I2C_Read(ftHandle, PMIC_ADDR_PROTECTION, 0x2A); //0x02A - OTP_FLT_RECORD
}
// PMIC Set Reset
void Set_Reset(FT_HANDLE ftHandle)
{
printf("PMIC Set Reset\n");
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x00); //0x00 - Page0x00
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x00); //0x00 - Page0x00
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x0C, 0x00); //0x0C - FUSA_CTRL_5
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x0C, 0x05); //0x0C - FUSA_CTRL_5
}
// PMIC Set Error
void Set_Error(FT_HANDLE ftHandle)
{
printf("PMIC Set Error\n");
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x00); //0x00 - Page0x00
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x00); //0x00 - Page0x00
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x0C, 0x00); //0x0C - FUSA_CTRL_5
PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x0C, 0x06); //0x0C - FUSA_CTRL_5
}
// Manual Command
void Handle_ManualCommand(FT_HANDLE ftHandle, char* line)
{