mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
NandInitializerのARM7コンポーネントへinitScfg.c追加。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@831 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
89ac6480ae
commit
15cf158bd4
@ -31,7 +31,11 @@ LCFILE_SPEC = main.lsf
|
|||||||
LCFILE_TEMPLATE = racoon.lcf.template
|
LCFILE_TEMPLATE = racoon.lcf.template
|
||||||
LDRES_TEMPLATE = racoon.response.template
|
LDRES_TEMPLATE = racoon.response.template
|
||||||
|
|
||||||
SRCS = main.c kami_pxi.c formatter.c nvram_misc.c
|
SRCS = main.c \
|
||||||
|
kami_pxi.c \
|
||||||
|
formatter.c \
|
||||||
|
nvram_misc.c \
|
||||||
|
initScfg.c \
|
||||||
|
|
||||||
LINCLUDES = ../common/include $(ROOT)/build/libraries/spi/ARM7/include
|
LINCLUDES = ../common/include $(ROOT)/build/libraries/spi/ARM7/include
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,7 @@ Static $(TARGET_NAME)
|
|||||||
{
|
{
|
||||||
Address 0x02380000
|
Address 0x02380000
|
||||||
Library crt0.LTD.TWL.o
|
Library crt0.LTD.TWL.o
|
||||||
|
Object $(OBJDIR)/initScfg.o
|
||||||
StackSize 1024 1024
|
StackSize 1024 1024
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
111
build/systemMenu_RED/NandInitializer/ARM7.TWL/src/initScfg.c
Normal file
111
build/systemMenu_RED/NandInitializer/ARM7.TWL/src/initScfg.c
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: TwlSDK - components - mongoose.TWL
|
||||||
|
File: initScfg.c
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Date:: 2008-03-03#$
|
||||||
|
$Rev: 4466 $
|
||||||
|
$Author: terui $
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <twl/memorymap_sp.h>
|
||||||
|
#include <twl/hw/common/mmap_wramEnv.h>
|
||||||
|
|
||||||
|
extern void INIT_InitializeScfg(void);
|
||||||
|
|
||||||
|
#include <twl/code32.h>
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: INIT_InitializeScfg
|
||||||
|
|
||||||
|
Description: ローダーが行う SCFG ブロックへの設定処理を代行する為の関数。
|
||||||
|
crt0 内の弱シンボルを上書きする。
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
asm void
|
||||||
|
INIT_InitializeScfg(void)
|
||||||
|
{
|
||||||
|
// SCFG enable?
|
||||||
|
ldr r2, =REG_EXT_ADDR
|
||||||
|
ldr r0, [r2]
|
||||||
|
tst r0, #REG_SCFG_EXT_CFG_MASK
|
||||||
|
beq @end
|
||||||
|
|
||||||
|
/* NITRO 互換無線の送受信機能を動作 */
|
||||||
|
ldr r1, =REG_WL_ADDR
|
||||||
|
ldrh r0, [r1]
|
||||||
|
orr r0, r0, #REG_SCFG_WL_OFFB_MASK
|
||||||
|
strh r0, [r1]
|
||||||
|
|
||||||
|
/* 新規サウンドブロックへのクロック供給 */
|
||||||
|
ldr r1, =REG_CLK_ADDR
|
||||||
|
ldrh r0, [r1]
|
||||||
|
orr r0, r0, #REG_SCFG_CLK_SNDMCLK_MASK
|
||||||
|
strh r0, [r1]
|
||||||
|
|
||||||
|
/* ARM7 側の DMA には新 DMA 回路を採用し、サウンドにも新 DMA 回路を利用 */
|
||||||
|
ldr r1, =REG_EXT_ADDR
|
||||||
|
ldr r0, [r1]
|
||||||
|
orr r0, r0, #REG_SCFG_EXT_DMAC_MASK
|
||||||
|
orr r0, r0, #REG_SCFG_EXT_DSEL_MASK
|
||||||
|
str r0, [r1]
|
||||||
|
|
||||||
|
ldr r2, =HW_PRV_WRAM_SYSRV
|
||||||
|
//EXT(extentions)
|
||||||
|
ldr r3, =REG_EXT_ADDR
|
||||||
|
ldr r0, [r3]
|
||||||
|
str r0, [r2, #HWi_WSYS04_WRAMOFFSET]
|
||||||
|
//OPT(bonding option)
|
||||||
|
ldr r3, =REG_OP_ADDR
|
||||||
|
ldrb r0, [r3]
|
||||||
|
//A9ROM(ARM9 ROM)
|
||||||
|
ldr r3, =REG_A9ROM_ADDR
|
||||||
|
ldrb r1, [r3]
|
||||||
|
and r12,r1, #(REG_SCFG_A9ROM_RSEL_MASK | REG_SCFG_A9ROM_SEC_MASK)
|
||||||
|
orr r0, r0, r12, LSL #(HWi_WSYS08_ROM_ARM9RSEL_SHIFT - REG_SCFG_A9ROM_RSEL_SHIFT)
|
||||||
|
//A7ROM(ARM7 ROM)
|
||||||
|
ldr r3, =REG_A7ROM_ADDR
|
||||||
|
ldrb r1, [r3]
|
||||||
|
and r12,r1, #(REG_SCFG_A7ROM_RSEL_MASK | REG_SCFG_A7ROM_FUSE_MASK)
|
||||||
|
orr r0, r0, r12, LSL #(HWi_WSYS08_ROM_ARM7RSEL_SHIFT - REG_SCFG_A7ROM_RSEL_SHIFT)
|
||||||
|
//DS-WL(DS wireless)
|
||||||
|
ldr r3, =REG_WL_ADDR
|
||||||
|
ldrb r1, [r3]
|
||||||
|
and r12,r1, #REG_SCFG_WL_OFFB_MASK
|
||||||
|
orr r0, r0, r12, LSL #(HWi_WSYS08_WL_OFFB_SHIFT - REG_SCFG_WL_OFFB_SHIFT)
|
||||||
|
strb r0, [r2, #HWi_WSYS08_WRAMOFFSET]
|
||||||
|
//OPT(JTAG info)
|
||||||
|
ldr r3, =REG_JTAG_ADDR
|
||||||
|
ldrh r0, [r3]
|
||||||
|
and r12,r0, #REG_SCFG_JTAG_DSPJE_MASK
|
||||||
|
orr r0, r0, r12, LSR #(REG_SCFG_JTAG_DSPJE_SHIFT - HWi_WSYS09_JTAG_DSPJE_SHIFT)
|
||||||
|
//CLK(only wram clock)
|
||||||
|
ldr r3, =REG_CLK_ADDR
|
||||||
|
ldrh r1, [r3]
|
||||||
|
and r12,r1, #(REG_SCFG_CLK_AESHCLK_MASK | REG_SCFG_CLK_SD2HCLK_MASK | REG_SCFG_CLK_SD1HCLK_MASK)
|
||||||
|
orr r0, r0, r12, LSL #(HWi_WSYS09_CLK_SD1HCLK_SHIFT - REG_SCFG_CLK_SD1HCLK_SHIFT)
|
||||||
|
and r12,r1, #(REG_SCFG_CLK_SNDMCLK_MASK | REG_SCFG_CLK_WRAMHCLK_MASK)
|
||||||
|
orr r0, r0, r12, LSR #(REG_SCFG_CLK_WRAMHCLK_SHIFT - HWi_WSYS09_CLK_WRAMHCLK_SHIFT)
|
||||||
|
strb r0, [r2, #HWi_WSYS09_WRAMOFFSET]
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* A7-SCFG ブロックへのアクセスを無効化 */
|
||||||
|
ldr r1, =REG_EXT_ADDR
|
||||||
|
ldr r0, [r1]
|
||||||
|
bic r0, r0, #REG_SCFG_EXT_CFG_MASK
|
||||||
|
str r0, [r1]
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@end:
|
||||||
|
bx lr
|
||||||
|
}
|
||||||
|
#include <twl/codereset.h>
|
||||||
Loading…
Reference in New Issue
Block a user