diff --git a/build/gcdfirm/sdmc-launcher/ARM7/main.c b/build/gcdfirm/sdmc-launcher/ARM7/main.c index f5936b8c..75e28f2f 100644 --- a/build/gcdfirm/sdmc-launcher/ARM7/main.c +++ b/build/gcdfirm/sdmc-launcher/ARM7/main.c @@ -113,7 +113,7 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 - *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | HOTSTART_FLAG_ENABLE); + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** @@ -185,8 +185,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x84 - PM_BackLightOn( FALSE ); - SDNandContext = &OSi_GetFromFirmAddr()->SDNandContext; if ( !FATFS_Init( DMA_FATFS_1, DMA_FATFS_2, THREAD_PRIO_FATFS ) ) { @@ -197,8 +195,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x85 - PM_BackLightOn( FALSE ); - if ( PXI_RecvID() != FIRM_PXI_ID_SET_PATH ) { OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_SET_PATH).\n"); @@ -208,8 +204,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x86 - PM_BackLightOn( FALSE ); - if ( (fd = FS_OpenSrl()) < 0 ) { OS_TPrintf("Failed to call FS_OpenSrl().\n"); @@ -219,8 +213,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x87 - PM_BackLightOn( FALSE ); - if ( !FS_LoadHeader( fd ) ) { OS_TPrintf("Failed to call FS_LoadHeader().\n"); @@ -230,8 +222,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x88 - PM_BackLightOn( FALSE ); - if ( PXI_RecvID() != FIRM_PXI_ID_DONE_HEADER ) { OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_DONE_HEADER).\n"); @@ -241,16 +231,12 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x89 - PM_BackLightOn( FALSE ); - AESi_InitKeysFIRM(); AESi_RecvSeed( rh->s.developer_encrypt ); // 9: after AESi_RecvSeed PUSH_PROFILE(); SetDebugLED(++step); // 0x8a - PM_BackLightOn( FALSE ); - if ( !FS_LoadStatic( fd ) ) { OS_TPrintf("Failed to call FS_LoadStatic().\n"); @@ -260,8 +246,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x8b - PM_BackLightOn( FALSE ); - if ( PXI_RecvID() != FIRM_PXI_ID_DONE_STATIC ) { OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_DONE_STATIC).\n"); @@ -294,9 +278,13 @@ void TwlSpMain( void ) #endif SetDebugLED( 0 ); - PM_BackLightOn( TRUE ); // last chance - +#ifndef PMIC_FINAL PMi_SetParams( REG_PMIC_BL_BRT_B_ADDR, 22, PMIC_BL_BRT_B_MASK ); +#else + MCUi_WriteRegister( MCU_REG_BL_ADDR, MCU_REG_BL_BRIGHTNESS_MASK ); +#endif + PM_BackLightOn( TRUE ); + OS_BootFromFIRM(); end: diff --git a/build/libraries/pm/ARM7/pm_init.c b/build/libraries/pm/ARM7/pm_init.c index 86976e7d..363d3add 100644 --- a/build/libraries/pm/ARM7/pm_init.c +++ b/build/libraries/pm/ARM7/pm_init.c @@ -18,8 +18,6 @@ #include #include -static BOOL doneBackLight = FALSE; - /*---------------------------------------------------------------------------* Name: PM_InitFIRM @@ -31,6 +29,7 @@ static BOOL doneBackLight = FALSE; *---------------------------------------------------------------------------*/ void PM_InitFIRM( void ) { +#ifndef PMIC_FINAL // LED PMi_ResetFlags( REG_PMIC_LED_CTL_ADDR, PMIC_LED_CTL_AUTO_BLINK | PMIC_LED_CTL_BLINK_BY_SLEEP ); PMi_SetParams( REG_PMIC_LVL4_BRT_ADDR, @@ -56,11 +55,8 @@ void PM_InitFIRM( void ) // LCD ON PMi_SetFlags( REG_PMIC_CTL2_ADDR, PMIC_CTL2_VDD50 ); - // back light - //PMi_SetParams( REG_PMIC_BL_BRT_A_ADDR, PMIC_BACKLIGHT_BRIGHT_MAX, PMIC_BL_BRT_A_MASK ); // TODO: less brightness - //PMi_SetParams( REG_PMIC_BL_BRT_B_ADDR, PMIC_BACKLIGHT_BRIGHT_MAX, PMIC_BL_BRT_B_MASK ); // TODO: less brightness - PMi_SetParams( REG_PMIC_BL_BRT_A_ADDR, 0, PMIC_BL_BRT_A_MASK ); - PMi_SetParams( REG_PMIC_BL_BRT_B_ADDR, 0, PMIC_BL_BRT_B_MASK ); + // back light level does not set +#endif } /*---------------------------------------------------------------------------* @@ -75,6 +71,8 @@ void PM_InitFIRM( void ) *---------------------------------------------------------------------------*/ void PM_BackLightOn( BOOL force ) { + static BOOL doneBackLight = FALSE; + if ( doneBackLight ) { return; // have already set @@ -87,7 +85,7 @@ void PM_BackLightOn( BOOL force ) } if ( reg_GX_DISPSTAT & REG_GX_DISPSTAT_INI_MASK ) { - PMi_SetFlags( REG_PMIC_CTL2_ADDR, PMIC_CTL2_BACK_LIGHT_1 | PMIC_CTL2_BACK_LIGHT_2 ); + PMi_SetFlags( REG_PMIC_CTL_ADDR, PMIC_CTL_BKLT1 | PMIC_CTL_BKLT2 ); doneBackLight = TRUE; } } diff --git a/build/nandfirm/menu-launcher/ARM7/main.c b/build/nandfirm/menu-launcher/ARM7/main.c index abc34f8c..62505b31 100644 --- a/build/nandfirm/menu-launcher/ARM7/main.c +++ b/build/nandfirm/menu-launcher/ARM7/main.c @@ -114,7 +114,7 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 - *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | HOTSTART_FLAG_ENABLE); + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** diff --git a/build/nandfirm/menu-launcher2/ARM7/main.c b/build/nandfirm/menu-launcher2/ARM7/main.c index b5659ca4..c2b82223 100644 --- a/build/nandfirm/menu-launcher2/ARM7/main.c +++ b/build/nandfirm/menu-launcher2/ARM7/main.c @@ -115,7 +115,7 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 - *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | HOTSTART_FLAG_ENABLE); + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** diff --git a/build/nandfirm/sdmc-launcher/ARM7/main.c b/build/nandfirm/sdmc-launcher/ARM7/main.c index ca8bae55..5aa3a9ed 100644 --- a/build/nandfirm/sdmc-launcher/ARM7/main.c +++ b/build/nandfirm/sdmc-launcher/ARM7/main.c @@ -113,7 +113,7 @@ static void PreInit(void) リセットパラメータ(1バイト)を共有領域(1バイト)にコピー */ #define HOTSTART_FLAG_ENABLE 0x80 - *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCU_GetFreeRegister( OS_MCU_RESET_VALUE_OFS ) | HOTSTART_FLAG_ENABLE); + *(u8 *)HW_NAND_FIRM_HOTSTART_FLAG = (u8)(MCUi_ReadRegister( (u16)(MCU_REG_TEMP_ADDR + OS_MCU_RESET_VALUE_OFS) ) | HOTSTART_FLAG_ENABLE); } /*************************************************************** @@ -185,8 +185,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x84 - PM_BackLightOn( FALSE ); - SDNandContext = &OSi_GetFromFirmAddr()->SDNandContext; if ( !FATFS_Init( DMA_FATFS_1, DMA_FATFS_2, THREAD_PRIO_FATFS ) ) { @@ -197,8 +195,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x85 - PM_BackLightOn( FALSE ); - if ( PXI_RecvID() != FIRM_PXI_ID_SET_PATH ) { OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_SET_PATH).\n"); @@ -208,8 +204,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x86 - PM_BackLightOn( FALSE ); - if ( (fd = FS_OpenSrl()) < 0 ) { OS_TPrintf("Failed to call FS_OpenSrl().\n"); @@ -219,8 +213,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x87 - PM_BackLightOn( FALSE ); - if ( !FS_LoadHeader( fd ) ) { OS_TPrintf("Failed to call FS_LoadHeader().\n"); @@ -230,8 +222,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x88 - PM_BackLightOn( FALSE ); - if ( PXI_RecvID() != FIRM_PXI_ID_DONE_HEADER ) { OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_DONE_HEADER).\n"); @@ -241,16 +231,12 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x89 - PM_BackLightOn( FALSE ); - AESi_InitKeysFIRM(); AESi_RecvSeed( rh->s.developer_encrypt ); // 9: after AESi_RecvSeed PUSH_PROFILE(); SetDebugLED(++step); // 0x8a - PM_BackLightOn( FALSE ); - if ( !FS_LoadStatic( fd ) ) { OS_TPrintf("Failed to call FS_LoadStatic().\n"); @@ -260,8 +246,6 @@ void TwlSpMain( void ) PUSH_PROFILE(); SetDebugLED(++step); // 0x8b - PM_BackLightOn( FALSE ); - if ( PXI_RecvID() != FIRM_PXI_ID_DONE_STATIC ) { OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_DONE_STATIC).\n"); @@ -294,9 +278,13 @@ void TwlSpMain( void ) #endif SetDebugLED( 0 ); - PM_BackLightOn( TRUE ); // last chance - +#ifndef PMIC_FINAL PMi_SetParams( REG_PMIC_BL_BRT_B_ADDR, 22, PMIC_BL_BRT_B_MASK ); +#else + MCUi_WriteRegister( MCU_REG_BL_ADDR, MCU_REG_BL_BRIGHTNESS_MASK ); +#endif + PM_BackLightOn( TRUE ); + OS_BootFromFIRM(); end: