From f210f9d31a84729eef583c4bd62197dba2effa15 Mon Sep 17 00:00:00 2001 From: yutaka Date: Mon, 1 Oct 2007 05:02:10 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0=E3=81=AETwlSDK=E3=81=AB?= =?UTF-8?q?=E5=90=88=E3=82=8F=E3=81=9B=E3=81=9F=20=E9=87=8D=E8=A4=87?= =?UTF-8?q?=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=E5=AE=9A=E7=BE=A9=E3=81=AE?= =?UTF-8?q?=E5=89=8A=E9=99=A4=E3=81=A8from=5Fbrom.h=E3=81=A7=E3=81=AEsdmc.?= =?UTF-8?q?h=E3=81=AE=E5=8F=82=E7=85=A7=E5=81=9C=E6=AD=A2=20FinalROM?= =?UTF-8?q?=E7=89=88=E3=81=A7=E3=81=AEmakerom.TWL=E3=81=AE=E3=82=A8?= =?UTF-8?q?=E3=83=A9=E3=83=BC=E9=98=B2=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@35 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries/fatfs/ARM7/src/fatfs_firm.c | 12 +- build/libraries/fatfs/ARM7/src/fatfs_loader.c | 6 +- build/libraries/pm/ARM7/pm_init.c | 37 +- build/nandfirm/nandfirm-loader/ARM7/main.c | 4 +- build/nandfirm/nandfirm-loader/ARM9/main.c | 1 - build/nandfirm/nandfirm-loader/Makefile | 4 +- build/norfirm/norfirm-print/Makefile | 4 + include/firm.h | 3 +- include/firm/devices/firm_sdmc/ARM7/sdif_ip.h | 349 ----------- .../firm/devices/firm_sdmc/ARM7/sdif_reg.h | 118 ---- include/firm/devices/firm_sdmc/ARM7/sdmc.h | 170 ------ .../firm/devices/firm_sdmc/ARM7/sdmc_config.h | 87 --- .../firm/devices/firm_sdmc/ARM7/sdmc_types.h | 127 ---- include/firm/format/from_brom.h | 13 +- include/firm/os/common/boot.h | 5 +- include/firm/pm.h | 1 - include/firm/pm/ARM7/pm_reg_ex.h | 540 ------------------ include/firm/sdmc.h | 38 -- include/firm/specfiles/ARM9-TS-FIRM.lsf | 2 +- 19 files changed, 49 insertions(+), 1472 deletions(-) delete mode 100644 include/firm/devices/firm_sdmc/ARM7/sdif_ip.h delete mode 100644 include/firm/devices/firm_sdmc/ARM7/sdif_reg.h delete mode 100644 include/firm/devices/firm_sdmc/ARM7/sdmc.h delete mode 100644 include/firm/devices/firm_sdmc/ARM7/sdmc_config.h delete mode 100644 include/firm/devices/firm_sdmc/ARM7/sdmc_types.h delete mode 100644 include/firm/pm/ARM7/pm_reg_ex.h delete mode 100644 include/firm/sdmc.h diff --git a/build/libraries/fatfs/ARM7/src/fatfs_firm.c b/build/libraries/fatfs/ARM7/src/fatfs_firm.c index 22b87a67..d8f65d00 100644 --- a/build/libraries/fatfs/ARM7/src/fatfs_firm.c +++ b/build/libraries/fatfs/ARM7/src/fatfs_firm.c @@ -17,12 +17,12 @@ #include -#include -#include -#include -#include -#include +#include #include +#include +#include +#include +#include extern u32 NAND_FAT_PARTITION_COUNT; @@ -442,7 +442,7 @@ BOOL FATFS_InitFIRM( void* nandContext ) SDNandContext = (SDPortContext*)nandContext; /* SDドライバ初期化 */ - if ( FATFSi_sdmcInit( SDMC_NOUSE_DMA, NULL, NULL ) != SDMC_NORMAL ) + if ( FATFSi_sdmcInit( SDMC_NOUSE_DMA ) != SDMC_NORMAL ) { return FALSE; } diff --git a/build/libraries/fatfs/ARM7/src/fatfs_loader.c b/build/libraries/fatfs/ARM7/src/fatfs_loader.c index 6844b817..d2a94106 100644 --- a/build/libraries/fatfs/ARM7/src/fatfs_loader.c +++ b/build/libraries/fatfs/ARM7/src/fatfs_loader.c @@ -17,12 +17,10 @@ #include -#include -#include +#include #include -#include -#include #include +#include #define PXI_FIFO_TAG_DATA PXI_FIFO_TAG_USER_0 diff --git a/build/libraries/pm/ARM7/pm_init.c b/build/libraries/pm/ARM7/pm_init.c index d270fa85..7aaa5f89 100644 --- a/build/libraries/pm/ARM7/pm_init.c +++ b/build/libraries/pm/ARM7/pm_init.c @@ -16,6 +16,7 @@ *---------------------------------------------------------------------------*/ #include +#include #define OS_MSEC_TO_CPUCYC( msec ) ((u32)( ((HW_CPU_CLOCK/1000) * (u32)(msec)) )) @@ -31,30 +32,30 @@ void PM_InitFIRM( void ) { // LED - PMi_ResetFlags( REG_PMIC_LED_CTL_ADDR, PMIC_LED_CTL_L12_AT_BLK | PMIC_LED_CTL_L12_BLK_BY_SLP ); - PMi_SetParams( REG_PMIC_LED12_B4_ADDR, - PMIC_LED12_B4_L1_100 | PMIC_LED12_B4_L2_100, - PMIC_LED12_B4_L1_MASK | PMIC_LED12_B4_L2_MASK + 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, + PMIC_LED_1_BRT_LEVEL_4_100 | PMIC_LED_2_BRT_LEVEL_4_100, + PMIC_LVL4_BRT_LED_1_MASK | PMIC_LVL4_BRT_LED_2_MASK ); - PMi_SetParams( REG_PMIC_LED12_B3_ADDR, - PMIC_LED12_B3_L1_OFF | PMIC_LED12_B3_L2_100, - PMIC_LED12_B3_L1_MASK | PMIC_LED12_B3_L2_MASK + PMi_SetParams( REG_PMIC_LVL3_BRT_ADDR, + PMIC_LED_1_BRT_LEVEL_3_OFF | PMIC_LED_2_BRT_LEVEL_3_100, + PMIC_LVL3_BRT_LED_1_MASK | PMIC_LVL3_BRT_LED_2_MASK ); - PMi_SetParams( REG_PMIC_LED12_B2_ADDR, - PMIC_LED12_B2_L1_100 | PMIC_LED12_B2_L2_OFF, - PMIC_LED12_B2_L1_MASK | PMIC_LED12_B2_L2_MASK + PMi_SetParams( REG_PMIC_LVL2_BRT_ADDR, + PMIC_LED_1_BRT_LEVEL_2_100 | PMIC_LED_1_BRT_LEVEL_2_OFF, + PMIC_LVL2_BRT_LED_1_MASK | PMIC_LVL2_BRT_LED_2_MASK ); - PMi_SetParams( REG_PMIC_LED12_B1_ADDR, - PMIC_LED12_B1_L1_OFF | PMIC_LED12_B1_L2_OFF, - PMIC_LED12_B1_L1_MASK | PMIC_LED12_B1_L2_MASK + PMi_SetParams( REG_PMIC_LVL1_BRT_ADDR, + PMIC_LED_1_BRT_LEVEL_1_OFF | PMIC_LED_2_BRT_LEVEL_1_OFF, + PMIC_LVL1_BRT_LED_1_MASK | PMIC_LVL1_BRT_LED_2_MASK ); // LCD ON - PMi_SetFlags( REG_PMIC_CTL2_ADDR, PMIC_CTL2_LCD_PWR ); + PMi_SetFlags( REG_PMIC_CTL2_ADDR, PMIC_CTL2_VDD50 ); // back light ON - PMi_SetParams( REG_PMIC_BL1_BRT_ADDR, PMIC_BL_BRT_MAX, PMIC_BL1_BRT_MASK ); - PMi_SetParams( REG_PMIC_BL2_BRT_ADDR, PMIC_BL_BRT_MAX, PMIC_BL2_BRT_MASK ); - OS_SpinWait( OS_MSEC_TO_CPUCYC( 17*2 ) ); - PMi_SetFlags( REG_PMIC_CTL2_ADDR, PMIC_CTL2_BKLT1 | PMIC_CTL2_BKLT2 ); + 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 + OS_SpinWaitCpuCycles( OS_MSEC_TO_CPUCYC( 17*4 ) ); + PMi_SetFlags( REG_PMIC_CTL2_ADDR, PMIC_CTL2_BACK_LIGHT_1 | PMIC_CTL2_BACK_LIGHT_2 ); } diff --git a/build/nandfirm/nandfirm-loader/ARM7/main.c b/build/nandfirm/nandfirm-loader/ARM7/main.c index 167396a1..c9376a2f 100644 --- a/build/nandfirm/nandfirm-loader/ARM7/main.c +++ b/build/nandfirm/nandfirm-loader/ARM7/main.c @@ -15,8 +15,6 @@ $Author$ *---------------------------------------------------------------------------*/ #include -#include -#include #include //#define BOOT_SECURE_SRL // 本番SRLをブートするときにだけ定義する @@ -41,7 +39,7 @@ static u8 fatfsHeap[FATFS_HEAP_SIZE] __attribute__ ((aligned (32))); -static SDPortContext nandContext; // 一時待避用 (次に渡すならSHAREDのどこかのアドレスにする) +static SDPortContextData nandContext; // 一時待避用 (次に渡すならSHAREDのどこかのアドレスにする) #ifndef SDK_FINALROM static u8 step = 0x80; diff --git a/build/nandfirm/nandfirm-loader/ARM9/main.c b/build/nandfirm/nandfirm-loader/ARM9/main.c index 968d5ddd..95b4a169 100644 --- a/build/nandfirm/nandfirm-loader/ARM9/main.c +++ b/build/nandfirm/nandfirm-loader/ARM9/main.c @@ -15,7 +15,6 @@ $Author$ *---------------------------------------------------------------------------*/ #include -#include //#define BOOT_SECURE_SRL // 本番SRLをブートするときにだけ定義する diff --git a/build/nandfirm/nandfirm-loader/Makefile b/build/nandfirm/nandfirm-loader/Makefile index 4edb8959..01e6d268 100644 --- a/build/nandfirm/nandfirm-loader/Makefile +++ b/build/nandfirm/nandfirm-loader/Makefile @@ -19,7 +19,8 @@ FIRM_TARGET = FIRM -TWL_KEYSDIR = $(FIRM_ROOT)/../twl_firmware/bootrom/build/keys +# if you have no valid key, comment out next line +#TWL_KEYSDIR = $(FIRM_ROOT)/../twl_firmware/bootrom/build/keys #---------------------------------------------------------------------------- @@ -37,6 +38,7 @@ MAKEFIRM_RSA_PRVKEY = $(TWL_KEYSDIR)/rsa/private_nand.der LDEPENDS_BIN += wram_regs/wram_regs.rbin MAKEROM_ARM7_BASE = $(basename $(MAKEFIRM_ARM7)) +MAKEROM_FLAGS += -F NITRO_MAKEROM = TRUE MAKEFIRM_FLAGS += -p diff --git a/build/norfirm/norfirm-print/Makefile b/build/norfirm/norfirm-print/Makefile index 183c4a9e..35daf4e7 100644 --- a/build/norfirm/norfirm-print/Makefile +++ b/build/norfirm/norfirm-print/Makefile @@ -19,6 +19,9 @@ FIRM_TARGET = FIRM +# if you have no valid key, comment out next line +#TWL_KEYSDIR = $(FIRM_ROOT)/../twl_firmware/bootrom/build/keys + #---------------------------------------------------------------------------- @@ -35,6 +38,7 @@ MAKEFIRM_RSA_PRVKEY = $(TWL_KEYSDIR)/rsa/private_nor.der LDEPENDS_BIN += wram_regs/wram_regs.rbin MAKEROM_ARM7_BASE = $(basename $(MAKEFIRM_ARM7)) +MAKEROM_FLAGS += -F NITRO_MAKEROM = TRUE MAKEFIRM_FLAGS += -p diff --git a/include/firm.h b/include/firm.h index 61d627f2..37ccbcab 100644 --- a/include/firm.h +++ b/include/firm.h @@ -19,13 +19,14 @@ #include +#include #include #include #include #include #include +#include /* -#include #include #include */ diff --git a/include/firm/devices/firm_sdmc/ARM7/sdif_ip.h b/include/firm/devices/firm_sdmc/ARM7/sdif_ip.h deleted file mode 100644 index 83e2a67a..00000000 --- a/include/firm/devices/firm_sdmc/ARM7/sdif_ip.h +++ /dev/null @@ -1,349 +0,0 @@ -/* -** Copyright (c) 2000-2001 Matsushita Electric Industrial Co., Ltd. -** All Rights Reserved. -*/ - -/* -** $Module SDカードアクセスモジュール・インクルード -** $Filename SD_CARD_IP.H -** $Version 1.0 版 -** $Date 01/02/16 -** $Log 01/02/16 rev1.0作成 -** 松下電器産業(株)半導体開発本部 -*/ - - -#ifndef __SD_CARD_IP_H__ -#define __SD_CARD_IP_H__ - -//#define IO3 0 /* Insert Remove SW = FALSE IO3 = TRUE */ - -//#define MAX_SD_CLOCK_4M 0 /* MAX SD Clock 4.608MHz */ -//#define MAX_SD_CLOCK_9M 1 /* MAX SD Clock 9.216MHz */ - - -/*--------------------------------------------- - ラッパーレジスタのビット制御(フラグ定義) ----------------------------------------------*/ -/* SD_CNTレジスタ */ -#define SDIF_CNT_USEDTC (0x0001) /* DTC使用フラグ (R/W) */ -#define SDIF_CNT_USEFIFO (0x0002) /* FIFO使用フラグ (R/W) */ -#define SDIF_CNT_FULL (0x0100) /* FIFO FULLフラグ (RO) */ -#define SDIF_CNT_NEMP (0x0200) /* FIFO NOT EMPTYフラグ (RO) */ -#define SDIF_CNT_FCLR (0x0400) /* FIFO クリアフラグ (WO) */ -#define SDIF_CNT_FFIE (0x0800) /* FIFO FULLで割り込み (R/W) */ -#define SDIF_CNT_FEIE (0x1000) /* FIFO EMPTYで割り込み (R/W) */ - -#define SDCARD_UseFifoFlag ((*SDIF_CNT) & SDIF_CNT_USEFIFO) - -/*------------------------------------- -レジスタのビット制御(フラグ定義) --------------------------------------*/ -/* SD_CMDレジスタ*/ -#define SD_CMD_CMD 0x0000 /* SDカードへの通常アクセス(CMD) */ -#define SD_CMD_ACMD 0x0040 /* SDカードへのセキュリティアクセス(ACMD) */ - -/* SD_STOPレジスタ */ -#define SD_STOP_STP 0x0001 /* データ転送終了を知らせる */ -#define SD_STOP_SEC_ENABLE 0x0100 /* SD_SECCNTレジスタ有効(セクタカウントレジスタ) */ - -/* SD_SECCNTレジスタ */ -#define SD_SECCNT_END 0x0000 /* SD_SECCNTレジスタ カウントチェック */ - -/* SD_SIZEレジスタ */ -#define SD_SIZE_DATA_LENGTH_1B 0x0001 /* SDカード転送データサイズ 1Bytes */ -#define SD_SIZE_DATA_LENGTH_2B 0x0002 /* SDカード転送データサイズ 2Bytes */ -#define SD_SIZE_DATA_LENGTH_4B 0x0004 /* SDカード転送データサイズ 4Bytes */ -#define SD_SIZE_DATA_LENGTH_8B 0x0008 /* SDカード転送データサイズ 8Bytes (SCR) */ -#define SD_SIZE_DATA_LENGTH_16B 0x0010 /* SDカード転送データサイズ 16Bytes */ -#define SD_SIZE_DATA_LENGTH_32B 0x0020 /* SDカード転送データサイズ 32Bytes */ -#define SD_SIZE_DATA_LENGTH_64B 0x0040 /* SDカード転送データサイズ 64Bytes (SD_Status) */ -#define SD_SIZE_DATA_LENGTH_128B 0x0080 /* SDカード転送データサイズ 128Bytes */ -#define SD_SIZE_DATA_LENGTH_256B 0x0100 /* SDカード転送データサイズ 256Bytes */ -#define SD_SIZE_DATA_LENGTH_512B 0x0200 /* SDカード転送データサイズ 512Bytes (データ) */ - -/* SD_OPTIONレジスタ */ -#define SD_OPTION_WIDTH_1BIT 0x8000 /* ビット幅の選択 1bit幅 */ -#define SD_OPTION_MSEL_C2NOUSE 0x4000 /* C2モジュール未使用 */ -#define SD_CD_DETECT_TIME 0xFFF0 /* CD 検出タイムだけをクリアするためのマスク */ - -/* SD_INFO2レジスタ */ -#define SD_INFO2_ERR_ILA 0x8000 /* イリーガルアクセスエラー */ -#define SD_INFO2_BWE 0x0200 /* SDカードから512byteのデータ書込み要求 */ -#define SD_INFO2_BRE 0x0100 /* SDカードから512byteのデータ読込み要求 */ -#define SD_INFO2_ERR_ALLCLR 0x807F /* SD Card エラーレジスタクリア */ -#define SD_INFO2_ERR_SDDAT0 0x0080 /* SD Card Busy bit */ -#define SD_INFO2_ERR_RESTIMEOUT 0x0040 /* レスポンスタイムアウトエラー */ -#define SD_INFO2_ERR_UNDERFLOW 0x0020 /* FIFO アンダーフローエラー */ -#define SD_INFO2_ERR_OVERFLOW 0x0010 /* FIFO オーバーフローエラー */ -#define SD_INFO2_ERR_TIMEOUT 0x0008 /* レスポンス以外のタイムアウトエラー */ -#define SD_INFO2_ERR_END 0x0004 /* フレーム終了認識できないときの(END)エラー */ -#define SD_INFO2_ERR_CRC 0x0002 /* CRC エラー */ -#define SD_INFO2_ERR_CMD 0x0001 /* CMDエラー */ - -#define SD_INFO2_RW_SET 0x0300 /* SDカード Read/Write 要求割込み要因チェック */ -#define SD_INFO2_ERROR_SET 0x807F /* SDカード エラー割込み要因チェック */ - -/* SD_INFO2_MASKレジスタ */ -#define SD_INFO2_MASK_ILA 0x8000 /* イリーガルアクセスエラー割込みマスク */ -#define SD_INFO2_MASK_BWE 0x0200 /* SDカードからのデータ書込み要求割込み禁止 */ -#define SD_INFO2_MASK_BRE 0x0100 /* SDカードからのデータ読込み要求割込み禁止 */ -#define SD_INFO2_MASK_ALLERRMASK 0x807F /* 全エラー割り込み禁止 */ -#define SD_INFO2_MASK_EXCEPT_OVERFLOW 0x802F /* 全エラー割り込み禁止 FIFO Overflow Errorを除く */ -#define SD_INFO2_MASK_RESTIMEOUT 0x0040 /* Time out 割込みEnable */ -#define SD_INFO2_MASK_UNDERFLOW 0x0020 /* FIFO アンダーフロー 割込みEnable */ -#define SD_INFO2_MASK_OVERFLOW 0x0010 /* FIFO オーバーフロー 割込みEnable */ -#define SD_INFO2_MASK_TIMEOUT 0x0008 /* Time out 割込みEnable */ -#define SD_INFO2_MASK_END 0x0004 /* END エラー 割込みEnable */ -#define SD_INFO2_MASK_CRC 0x0002 /* CRC エラー 割込みEnable */ -#define SD_INFO2_MASK_CMD 0x0001 /* CMD エラー 割込みEnable */ -#define SD_INFO2_MASK_ERRSET 0x807F /* SDカード エラー割込み要因チェック */ - -/* SD_INFO1レジスタ */ -#define SD_INFO1_DAT3DETECT 0x0400 /* (IO3検出) card detect(検出=1) : CTRでは使用できない*/ -#define SD_INFO1_DAT3INSERT 0x0200 /* (IO3検出) card inserted(挿入=1) : CTRでは使用できない */ -#define SD_INFO1_DAT3REMOVE 0x0100 /* (IO3検出) card removed(抜け=1) : CTRでは使用できない */ -#define SD_INFO1_DAT3INIT 0x0300 /* (IO3検出) の初期化 */ -#define SD_INFO1_WRITEPROTECT 0x0080 /* write protect(書き込み禁止=1) */ -#define SD_INFO1_DETECT 0x0020 /* card detect(検出=1) */ - -#define SD_INFO1_INSERT 0x0010 /* card inserted(挿入=1) */ -#define SD_INFO1_REMOVE 0x0008 /* card removed(抜け=1) */ - -#define SD_INFO1_ALL_END 0x0004 /* R/W access all end */ -#define SD_INFO1_RES_END 0x0001 /* Response end */ -#define SD_INFO1_INIT 0x0005 /* SD Cardの状態を初期化 */ - -#define SD_INFO1_SET 0x031D /* SDカード 挿抜 and RWアクセス終了 and レスポンス終了 要求割込み要因チェック */ - -/* SD_INFO1_MASKレジスタ (0:割り込み許可、1:割り込み禁止)*/ -#define SD_INFO1_MASK_DAT3INSERT 0x0200 /* (IO3検出) card inserted(挿入) 割込み禁止 */ -#define SD_INFO1_MASK_DAT3REMOVE 0x0100 /* (IO3検出) card removed(抜け) 割込み禁止 */ -#define SD_INFO1_MASK_INSERT 0x0010 /* card inserted(挿入) 割込み禁止 */ -#define SD_INFO1_MASK_REMOVE 0x0008 /* card removed(抜け) 割込み禁止 */ -#define SD_INFO1_MASK_ALL_END 0x0004 /* R/W access all end 割込み禁止 */ -#define SD_INFO1_MASK_RES_END 0x0001 /* Response end 割込み禁止 */ - -/* CC_EXT_MODEレジスタ */ -#define CC_EXT_MODE_PIO 0x0000 /* PIOモード */ -#define CC_EXT_MODE_DMA 0x0002 /* DMAモード */ - -/* SOFT_RSTレジスタ */ -#define SOFT_RST_SDIF_RST 0x0001 /* SD I/Fモジュールをリセット */ - -/* SD_CLK_CTRLレジスタ */ -#define SD_CLK_CTRL_SDCLKEN 0x0100 /* SDカードクロック出力イネーブル */ -#define SD_CLK_CTRL_512 0x0180 /* SDクロックの周波数(分周比512)*/ -#define SD_CLK_CTRL_256 0x0140 /* SDクロックの周波数(分周比256)*/ -#define SD_CLK_CTRL_128 0x0120 /* SDクロックの周波数(分周比128)*/ -#define SD_CLK_CTRL_64 0x0110 /* SDクロックの周波数(分周比 64)*/ -#define SD_CLK_CTRL_32 0x0108 /* SDクロックの周波数(分周比 32)*/ -#define SD_CLK_CTRL_16 0x0104 /* SDクロックの周波数(分周比 16)*/ -#define SD_CLK_CTRL_8 0x0102 /* SDクロックの周波数(分周比 8)*/ -#define SD_CLK_CTRL_4 0x0101 /* SDクロックの周波数(分周比 4)*/ -#define SD_CLK_CTRL_2 0x0100 /* SDクロックの周波数(分周比 2)*/ - - -/*------------------------------------- -マルチポート対応ビット制御(フラグ定義) --------------------------------------*/ -#define SDCARD_PORT_NO 0x0300 /* カードポート選択数 */ -#define SDCARD_PORT_NO_MAX 0x04//0x02 /* カードポート最大選択数 */ -#define SDCARD_PORT_NO_MIN 0x01 /* カードポート最小選択数 */ -#define SDCARD_PORT_SELECT_NO 0x0001 /* カードポート番号ビット */ -#define SDCARD_PORT0 0x0000 /* カードポート番号ビット */ -#define SDCARD_PORT1 0x0001 /* カードポート番号ビット */ - -/* EXT_WPレジスタ(ポート1以降のライトプロテクト) */ -#define EXT_WP_PORT1 0x0001 /* ポート1write protect(書き込み禁止=1)*/ - -/* EXT_CDレジスタ */ -#define EXT_CD_PORT1_REMOVE 0x0001 /* ポート1 card detect(検出=1) */ -#define EXT_CD_PORT1_INSERT 0x0002 /* ポート1 card inserted(挿入=1) */ -#define EXT_CD_PORT1_DETECT 0x0004 /* ポート1 card removed(抜け=1) */ - -/* EXT_CD_DAT3レジスタ */ -//#define EXT_CD_PORT1_DAT3INIT 0x0003 /* ポート1 card の状態 (IO3検出) の初期化 */ -#define EXT_CD_PORT1_DAT3REMOVE 0x0001 /* ポート1 dat3 card detect(検出=1) */ -#define EXT_CD_PORT1_DAT3INSERT 0x0002 /* ポート1 dat3 card inserted(挿入=1) */ -#define EXT_CD_PORT1_DAT3DETECT 0x0004 /* ポート1 dat3 card removed(抜け=1) */ - -/* EXT_CD_DAT3_MASKレジスタ */ -#define EXT_CD_MASK_PORT1INSERT 0x0002 /* port1 card inserted(挿入) 割込み禁止 */ -#define EXT_CD_MASK_PORT1REMOVE 0x0001 /* port1 card removed(抜け) 割込み禁止 */ -#define EXT_CD_MASK_PORT1DAT3INSERT 0x0002 /* port1 (IO3検出) card inserted(挿入) 割込み禁止 */ -#define EXT_CD_MASK_PORT1DAT3REMOVE 0x0001 /* port1 (IO3検出) card removed(抜け) 割込み禁止 */ - -/*------------------------------------- -カードの選択 ---------------------------------------*/ -#define SDCARD_DETECT_VISUAL_BIT 0x0400 /*** upper layer card detected visual bit ***/ - -/*------------------------------------- -ライトプロテクト --------------------------------------*/ -#define SDCARD_WP_PERMANENT_BIT 0x0020 /*** permanent write protection ***/ -#define SDCARD_WP_TEMPORARY_BIT 0x0010 /*** temporary write protection ***/ - -/*------------------------------------- -SD or MMCカードコマンド --------------------------------------*/ -#define GO_IDLE_STATE (0) /* resets all cards to idle state */ -#define SEND_OP_COND (1) /* Asks all cards in idle state to send their operation conditions */ -#define ALL_SEND_CID (2) /* send CID numbers */ -#define SEND_RELATIVE_ADDR (3) /* ask the card to publish a new relative address(RCA) */ -#define SET_BUS_WIDTH (6) /* ビット幅の選択 */ -#define SELECT_CARD (7) /* Command toggles acard between thr Stand-by and Transfer states */ -#define SEND_CSD (9) /* addressed card sends its card-specific data(CSD) */ -#define STOP_TRANSMISSION (12) /* forces the card to stop transmission */ -#define SD_SEND_STATUS (13) /* addressed card sends its status register */ -#define SET_BLOCKLEN (16) /* sets the block length */ -#define READ_MULTIPLE_BLOCK (18) /* マルチブロックリード */ -#define WRITE_MULTIPLE_BLOCK (25) /* マルチブロックライト */ -#define APP_CMD (55) /* CMD55 */ -#define SD_STATUS (13) /* ACMD13 Send the SD_CARD status */ -#define SEND_NUM_WR_SECTORS (22) /* ACMD22 書きこみ完了セクタ数取得 */ -#define SD_APP_OP_COND (41) /* ACMD41 */ -#define SEND_SCR (51) /* SD configuration register (SCR) */ - -/* MMCplus, eMMCの定義 */ -#define EXT_CSD_ACCESS (6) - -/* Extended Commandの定義 */ -#define EXT_NORMAL (0) -#define EXT_SDIO (0x4000) - -#define EXT_COM_R3 (0x0700) - -#define EXT_CMD (0x00C0) - -#define SEND_IF_COND (8) /* Physical Layer 2.0 で追加されたコマンド */ -#define SEND_IF_COND_EXT (EXT_SDIO | EXT_COM_R3 | EXT_CMD | SEND_IF_COND) - - -/*------------------------------------- -IP レジスタアクセス マクロ関数 --------------------------------------*/ -#define SD_OrFPGA(reg,value) ((reg) |= (value)); -#define SD_AndFPGA(reg,value) ((reg) &= (value)); -#define SD_SetFPGA(reg,value) ((reg) = (value)); -#define SD_GetFPGA(dest,reg) ((dest) = (reg)); - -/*********************************************************************** - 構造体定数 -***********************************************************************/ -typedef union{ - u32 dat; - struct { - u16 low; - u16 high; - } dt2word; -} LELONG; - -/*------------------------------------- -その他(ビット制御) --------------------------------------*/ -#define RSP_R3_OCR31 0x8000 /* Use OCR Busy bit Check */ -#define RSP_R3_OCR_VDD 0x0030 /* Use OCR VDD bit Check (3.2-3.3v,3.3-3.4v is OK)*/ - -/*--- SCR[0]に対する4bitバス幅対応フラグのマスク ---*/ -//SCRのbit50に相当するが、SCRとSD_STATUSはMSBから送られてくることを考慮してある -#define SCR_DAT_BUS_WIDTH_4BIT 0x0400 /* SCR DAT Bus width supported 4bit */ - -/*--- 127bitCSD (CSD[0]〜CSD[7])関連 ---*/ -#define CSD_VDD_R_CURR_MIN 0x0038 /* "VDD_R_CURR_MIN" (for CSD[3]) */ -#define CSD_VDD_R_CURR_MAX 0x0007 /* "VDD_R_CURR_MAX" (for CSD[3]) */ -#define CSD_VDD_W_CURR_MIN 0xE000 /* "VDD_W_CURR_MIN" (for CSD[2]) */ -#define CSD_VDD_W_CURR_MAX 0x1C00 /* "VDD_W_CURR_MAX" (for CSD[2]) */ - -#define CSD_READ_BL_LEN 0x0F00 /* "READ_BL_LEN" (for CSD[4])*/ -#define CSD_WRITE_BL_LEN_BIT_25_24 0x0003 /* "WRITE_BL_LEN" (for CSD[1])*/ -#define CSD_WRITE_BL_LEN_BIT_23_22 0xC000 /* "WRITE_BL_LEN" (for CSD[0]*/ -#define CSD_READ_BL_PARTIAL 0x0080 /* "READ_BL_PARTIAL" (for CSD[4]) */ -#define CSD_TRANSFER_RATE 0x0700 /* "Transfer rate unit" of "TRAN_SPEED" (for CSD[5]) */ -#define CSD_TRAN_SPEED_100K 0x0000 /* 100Kbit/s (for CSD Transfer rate) */ -#define CSD_TRAN_SPEED_1M 0x0001 /* 1Mbit/s (for CSD Transfer rate) */ -#define CSD_TRAN_SPEED_10M 0x0002 /* 10Mbit/s (for CSD Transfer rate) */ -#define CSD_TRAN_SPEED_100M 0x0003 /* 100Mbit/s (for CSD Transfer rate) */ -#define CSD_TRAN_SPEED_OTHER 0x0004 /* Reserve (for CSD Transfer rate) */ - -#define CSD_C_SIZE_MULT 0x0380 /* RSP2 の bit[49:47] */ -#define CSD_C_SIZE_BIT_73_72 0x0003 /* RSP3 の bit[73:72](C_SIZE) */ -#define CSD_C_SIZE_BIT_71_62 0xFFC0 /* RSP3 の bit[71:62](C_SIZE) */ -//SDHC(CSD format version2)の場合 -#define CSD_C_SIZE_BIT_69_56 0x3FFF /* SD_CSD[3] */ -#define CSD_C_SIZE_BIT_55_48 0xFF00 /* SD_CSD[2] */ - -#define CSD_STRUCT_BIT_127_126 0x00C0 /* SD_CSD[7] */ - -//#define VDD_R_CURR_MIN 0x0000 /* CSD max read current@VDD min */ -//#define VDD_R_CURR_MAX 0x0007 /* CSD max read current@VDD max */ -//#define VDD_W_CURR_MIN 0x0000 /* CSD max write current@VDD min */ -//#define VDD_W_CURR_MAX 0x0007 /* CSD max write current@VDD max */ - -/*--- R1レスポンスの card status(32bit)に対するマスク ---*/ -#define RSP_R1_STATUS_ERR 0xF9FF0008 /* R1(レスポンス)のカードステータスのチェック */ -#define SDCARD_STATUS_OUT_OF_RANGE 0x80000000 /* Card Status OUT_OF_RANGE のチェック */ -#define RSP_R1_CURRENT_STATE 0x1E00 /* CARD current state */ -/*-------------------------------------------------------*/ - -/* レスポンスのRSP0 & RSP_R1_CURRENT_STATEを1ビット右シフトした値に対するフラグ */ -#define CURRENT_STATE_DATA 0x0500 /* CARD current state data */ -#define CURRENT_STATE_RCV 0x0600 /* CARD current state rcv */ - -/* カードステータス */ -#define SD_MEMORY_CARD 0x00FF /* SD_CARD_TYPE SD memory card */ - - -/*------------------------------------- -プロトタイプ宣言 --------------------------------------*/ -void SD_Init(void); /* SD Cardインターフェース部をリセット&初期設定 */ -void SD_EnableInfo(void); /* SD Card 挿抜 割り込みイネーブル・ディスエーブル */ -u16 SD_Command(u16 ucCommand); /* SDカードコマンド送出 */ -u16 SD_AppCommand(void); /* SDカード RCA = 1をセット後 CMD55 発行 */ -u16 SD_AppOpCond(void); /* ACMD41 発行 busyでなくなるまで繰り返し */ -u16 SD_SendOpCond(void); /* CMD1 発行 busyでなくなるまで繰り返し */ -u16 SD_SendIfCond(void); /* CMD8 発行 (SDHCのみ反応してくる) */ -u16 SD_SendRelativeAddr(void); /* CMD3 発行 正常終了時 RCA<-ResのRCA */ -u16 SD_SelectCard(void); /* CMD7 発行 Command toggles acard between the Stand-by and Transfer states */ -u16 SD_SetBlockLength(u32 ulBlockLength); /* ブロックレングス(1セクタの転送量)の設定 */ -u16 SD_SendCID(void); /* card identification data の取得コマンド発行 */ -u16 SD_SendCSD(void); /* card-specific data の取得コマンド発行 */ -u16 SD_SendSCR(void); /* SD register の取得コマンド発行 */ -u16 SD_SDStatus(void); /* SD STATUS の取得コマンド発行 */ -u16 SD_SendStatus(void); /* SD status register の取得コマンド発行 */ -u16 SD_MultiReadBlock(u32 ulOffset); /* マルチセクタリードコマンド発行 */ -u16 SD_ClockDivSet(u16 usTranSpeed); /* カードの動作クロック設定 */ - -void SD_EnableClock( void); /* SDカードのクロック有効 */ -void SD_DisableClock( void); /* SDカードのクロック無効(省電力) */ - -u16 SD_SelectBitWidth(s16 b4bit); /* ビット幅の選択 */ - -u16 MMCP_WriteBusWidth(s16 b4bit); -u16 MMCP_BusTest( BOOL readflag); - - -BOOL SD_FPGA_irq(void); /* カード転送要求時のFPGAの制御 */ -void SD_StopTransmission(void); /* カード転送終了をFPGAに通知する。 */ -void SD_TransEndFPGA(void); /* カード転送の終了処理(割り込みマスクを戻す) */ -u16 SD_CheckStatus(BOOL bRead); /* Normal response command カードステータスのチェック */ -u16 SD_SwapByte(u16 *data); /* 上位byte、下位byteを入れ替える関数 */ - -void SD_EnableSeccnt( u32 ulSDCARD_SectorCount); /* SD_SECCNTレジスタ有効化&値設定 */ -void SD_DisableSeccnt( void); /* SD_SECCNTレジスタ無効化 */ - -void SD_SetErr(u16 Error); /* エラーステータスを設定する */ -void SD_ClrErr(u16 Error); /* エラーステータスをクリアする */ - -BOOL SD_CheckFPGAReg(u16 reg,u16 value); /* IPレジスタにフラグが立っているか判定 */ - -void SD_TransReadyFPGA(void); /* 転送処理準備FPGA設定 */ -u16 SD_TransCommand(u16 ucCommand); /* 命令発行処理 */ - -u16 SD_MultiWriteBlock(u32 ulOffset); /* マルチセクタライトコマンド発行 */ -u16 SD_SendNumWRSectors(void); /* ACMD22 書きこみ完了セクタ数取得コマンド発行 */ - - -#endif /* __SD_CARD_IP_H__ */ diff --git a/include/firm/devices/firm_sdmc/ARM7/sdif_reg.h b/include/firm/devices/firm_sdmc/ARM7/sdif_reg.h deleted file mode 100644 index a5f4f862..00000000 --- a/include/firm/devices/firm_sdmc/ARM7/sdif_reg.h +++ /dev/null @@ -1,118 +0,0 @@ -/*---------------------------------------------------------------------------* - Project: TwlBrom - SD driver - File: sd_ip_reg.h - - Copyright 2006 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. - *---------------------------------------------------------------------------*/ - -#ifndef __SD_IP_REG_H__ -#define __SD_IP_REG_H__ - -/********************************************* - SD IPレジスタ - - (R/W) : readable and writable - (RO) : read only -*********************************************/ -/*#if (CTR_DEF_ENVIRONMENT_DSEMU == 1) -#define SD_IP_BASE (0x08030000) // NTR用ブレッドボード設定 -#else -#define SD_IP_BASE (0x400B0000) // IOP実機設定 -#endif*/ -#define SD_IP_BASE (0x04004800) // TWL ARM7設定 - - -#define SD_CMD (*(vu16 *)(SD_IP_BASE + 0x00)) /* CMD発行レジスタ(R/W) */ -#define SD_PORTSEL (*(vu16 *)(SD_IP_BASE + 0x02)) /* ポート選択レジスタ(R/W) */ -#define SD_ARG0 (*(vu16 *)(SD_IP_BASE + 0x04)) /* Argument[15:0] (R/W) */ -#define SD_ARG1 (*(vu16 *)(SD_IP_BASE + 0x06)) /* Argument[31:16] (R/W) */ -#define SD_STOP (*(vu16 *)(SD_IP_BASE + 0x08)) /* 転送終了後STOP、SD_SECCNT有効 (R/W) */ -#define SD_SECCNT (*(vu16 *)(SD_IP_BASE + 0x0A)) /* 転送セクタ数制御 (R/W) */ -#define SD_RSP0 (*(vu16 *)(SD_IP_BASE + 0x0C)) /* Response [23:8] (RO) */ -#define SD_RSP1 (*(vu16 *)(SD_IP_BASE + 0x0E)) /* Response [39:24] (RO) */ -#define SD_RSP2 (*(vu16 *)(SD_IP_BASE + 0x10)) /* Response [55:40] (RO) */ -#define SD_RSP3 (*(vu16 *)(SD_IP_BASE + 0x12)) /* Response [71:56] (RO) */ -#define SD_RSP4 (*(vu16 *)(SD_IP_BASE + 0x14)) /* Response [87:72] (RO) */ -#define SD_RSP5 (*(vu16 *)(SD_IP_BASE + 0x16)) /* Response [103:88] (RO) */ -#define SD_RSP6 (*(vu16 *)(SD_IP_BASE + 0x18)) /* Response [119:104] (RO) */ -#define SD_RSP7 (*(vu16 *)(SD_IP_BASE + 0x1A)) /* Response [127:120] (RO) */ -#define SD_INFO1 (*(vu16 *)(SD_IP_BASE + 0x1C)) /* SDメモリーカードの状態 (R/W) */ -#define SD_INFO2 (*(vu16 *)(SD_IP_BASE + 0x1E)) /* バッファ制御とエラー情報 (R/W) */ -#define SD_INFO1_MASK (*(vu16 *)(SD_IP_BASE + 0x20)) /* SD_INFO1割込みマスク (R/W) */ -#define SD_INFO2_MASK (*(vu16 *)(SD_IP_BASE + 0x22)) /* SD_INFO2割込みマスク (R/W) */ -#define SD_CLK_CTRL (*(vu16 *)(SD_IP_BASE + 0x24)) /* SDクロック設定 (R/W) */ -#define SD_SIZE (*(vu16 *)(SD_IP_BASE + 0x26)) /* ビット幅と転送データ長の設定 (R/W) */ -#define SD_OPTION (*(vu16 *)(SD_IP_BASE + 0x28)) /* タイムアウト、width、CD検出タイム (R/W) */ -#define SD_ERR_STS1 (*(vu16 *)(SD_IP_BASE + 0x2C)) /* CMD, CRC, ENDエラー割込み原因 (RO) */ -#define SD_ERR_STS2 (*(vu16 *)(SD_IP_BASE + 0x2E)) /* タイムアウトエラー割込み原因 (RO) */ -#define SD_BUF0 (vu16 *)(SD_IP_BASE + 0x30) /* SDバッファ読込/書込データポート (R/W) */ -#define CC_EXT_MODE (*(vu16 *)(SD_IP_BASE + 0xD8)) /* DMAモード/PIOモード切り替え */ -#define SOFT_RST (*(vu16 *)(SD_IP_BASE + 0xE0)) /* ソフトウェアリセット (R/W) */ -#define VERSION (*(vu16 *)(SD_IP_BASE + 0xE2)) /* Version レジスタ (RO) */ -#define EXT_WP (*(vu16 *)(SD_IP_BASE + 0xF6)) /* 拡張SD Card ライトプロテクト (RO) */ -#define EXT_CD (*(vu16 *)(SD_IP_BASE + 0xF8)) /* 拡張SD Card 検出、挿入、抜け フラグ (R/W) */ -#define EXT_CD_DAT3 (*(vu16 *)(SD_IP_BASE + 0xFA)) /* 拡張SD Card 検出、挿入、抜け フラグ (R/W) */ -#define EXT_CD_MASK (*(vu16 *)(SD_IP_BASE + 0xFC)) /* 拡張SD Card 検出、挿入、抜け 割込みマスク (R/W) */ -#define EXT_CD_DAT3_MASK (*(vu16 *)(SD_IP_BASE + 0xFE)) /* 拡張SD Card 検出、挿入、抜け 割込みマスク (R/W) */ - - - -/********************************************* - SD I/F(ラッパー)レジスタ -*********************************************/ -/*#if (CTR_DEF_ENVIRONMENT_DSEMU == 1) -#define SD_IF_BASE (0x08030100) // NTR用ブレッドボード設定 -#else -#define SD_IF_BASE (0x400B0100) // IOP実機設定 -#endif*/ -#define SD_IF_BASE (0x04004900) // IOP実機設定 - - -#define SDIF_CNT ((vu32 *)(SD_IF_BASE+0x00)) /* コントロール */ -#define SDIF_FDS ((vu32 *)(SD_IF_BASE+0x04)) /* FIFOサイズ */ -#define SDIF_FSC ((vu32 *)(SD_IF_BASE+0x08)) /* セクタカウント */ -#define SDIF_FI ((vu32 *)(SD_IF_BASE+0x0c)) /* FIFOウィンドウ */ - -#define SDIF_CNT_L ((vu16 *)(SD_IF_BASE+0x00)) -#define SDIF_CNT_H ((vu16 *)(SD_IF_BASE+0x02)) -#define SDIF_FDS_L ((vu16 *)(SD_IF_BASE+0x04)) -#define SDIF_FDS_H ((vu16 *)(SD_IF_BASE+0x06)) -#define SDIF_FSC_L ((vu16 *)(SD_IF_BASE+0x08)) -#define SDIF_FSC_H ((vu16 *)(SD_IF_BASE+0x0a)) -#define SDIF_FI_L ((vu16 *)(SD_IF_BASE+0x0c)) -#define SDIF_FI_H ((vu16 *)(SD_IF_BASE+0x0e)) - - - -/********************************************* - INTCレジスタ -*********************************************/ -/*#if (CTR_DEF_ENVIRONMENT_DSEMU == 1) -#define CTR_INT_BASE (0x08000000) -#else -#define CTR_INT_BASE (0x40010000) -#endif - - -#define CTR_INT_SE (CTR_INT_BASE + 0x00) //割り込み要求選択レジスタ -#define CTR_INT_IE (CTR_INT_BASE + 0x04) //IE -#define CTR_INT_IF (CTR_INT_BASE + 0x08) //IF - -#define CTR_IE_SD_MASK (1<<13) //SD割り込みフラグ -*/ -#define CTR_INT_BASE (0x04000000) - -#define CTR_INT_SE (CTR_INT_BASE + 0x208) //割り込み要求選択レジスタ -#define CTR_INT_IE (CTR_INT_BASE + 0x218) //IE -#define CTR_INT_IF (CTR_INT_BASE + 0x21C) //IF - -#define CTR_IE_SD_MASK (1<<8) //SD割り込みフラグ - - -#endif /* __SD_IP_REG_H__ */ diff --git a/include/firm/devices/firm_sdmc/ARM7/sdmc.h b/include/firm/devices/firm_sdmc/ARM7/sdmc.h deleted file mode 100644 index 7ddbb092..00000000 --- a/include/firm/devices/firm_sdmc/ARM7/sdmc.h +++ /dev/null @@ -1,170 +0,0 @@ - -#ifndef __SDMC_H__ -#define __SDMC_H__ - -//#include -//#include - - -#ifdef __cplusplus -extern "C" { -#endif - - - -/********************************************* - ポート番号 -*********************************************/ -typedef enum { - SDMC_PORT_CARD = 0x400, - SDMC_PORT_NAND = 0x401 -}SDMC_PORT_NO; - - -/********************************************* - DMA番号 -*********************************************/ -typedef enum { - SDMC_USE_DMA_0 = 0, - SDMC_USE_DMA_1 = 1, - SDMC_USE_DMA_2 = 2, - SDMC_USE_DMA_3 = 3, - SDMC_NOUSE_DMA = 0xFF -}SDMC_DMA_NO; - - -/********************************************* - カードエラーコード(カードエラーステータス設定値)アプリケーション固有のSDCARD_ErrStatusに対して -*********************************************/ -typedef enum { - SDMC_NORMAL = 0, /* 正常終了 */ - SDMC_ERR_COMMAND = 0x0001, /* CMDエラー */ - SDMC_ERR_CRC = 0x0002, /* CRCエラー */ - SDMC_ERR_END = 0x0004, /* 実行エラー */ - SDMC_ERR_TIMEOUT = 0x0008, /* コマンドタイムアウト */ - SDMC_ERR_FIFO_OVF = 0x0010, /* FIFO オーバーフローエラー(INFO2のIllegal write access to buffer) */ - SDMC_ERR_FIFO_UDF = 0x0020, /* FIFO アンダーフローエラー(INFO2のIllegal read access to buffer) */ - SDMC_ERR_WP = 0x0040, /* WriteProtectによる書き込みエラー */ - SDMC_ERR_FPGA_TIMEOUT = 0x0100, /* FPGA アクセスタイムアウト */ - SDMC_ERR_PARAM = 0x0200, /* コマンドパラメータエラー */ - SDMC_ERR_R1_STATUS = 0x0800, /* Normal response command カードステータス エラー */ - SDMC_ERR_NUM_WR_SECTORS = 0x1000, /* 書き込み完了セクタ数 エラー */ - SDMC_ERR_RESET = 0x2000, /* 初期化カードリセットコマンド時1.5秒タイムアウトエラー */ - SDMC_ERR_ILA = 0x4000, /* イリーガルアクセスエラー */ - SDMC_ERR_INFO_DETECT = 0x8000 /* カード排出時判別エラービット(IO3) */ -}SDMC_ERR_CODE; - - -/********************************************* - SDドライバ処理結果通知情報構造体 -*********************************************/ -typedef struct { - u16 b_flags; /* 処理内容 */ - u16 result; /* 実行結果 */ - u32 resid; /* 読み(書き)サイズ */ -} SdmcResultInfo; - - - - - -/********************************************* - SDポート状態保存用構造体 -*********************************************/ -typedef struct -{ - u16 SD_CID[8]; /* CID保存用 (Card IDentification register) : ID*/ - u16 SD_CSD[8]; /* CSD保存用 (Card Specific Data register) : spec*/ - u16 SD_OCR[2]; /* OCR保存用 (Operation Condition Register) : voltage and status*/ - u16 SD_SCR[4]; /* SCR保存用 (Sd card Configulation Register) : bus-width, card-ver, etc*/ - u16 SD_RCA; /* RCA保存用 (Relative Card Address register) : address*/ - s16 MMCFlag; - s16 SDHCFlag; - s16 SDFlag; - SDMC_ERR_CODE ErrStatus; /* SDCARD_ErrStatus */ - u32 Status; /* SDCARD_Status */ - u16 SD_CLK_CTRL_VALUE; - u16 SD_OPTION_VALUE; - - s16 OutFlag; - u16 port_no; -} -SDPortContext; - - - - - -/********************************************* - SDスペック構造体 -*********************************************/ -typedef struct { - u32 csd_ver2_flag; //CSDフォーマットバージョン(SDHCのときは1) - u32 memory_capacity; //data areaのサイズ(512Byte単位) - u32 protected_capacity; //protected areaのサイズ(512Byte単位) - u32 card_capacity; //カード全体のサイズ(512Byte単位) - - u32 adjusted_memory_capacity; //memory_capacityをシリンダ(heads*secptrack)の倍数に調整したサイズ(cylinders*heads*secptrackになる) - - u16 heads; - u16 secptrack; - u16 cylinders; - u16 SC; //sectors per cluster - u16 BU; - u16 RDE; //number of root dir entries(512 fix) - u32 SS; //sector size(512 fix) - u32 RSC; //reserved sector count(1 fix) -// u32 TS; //total sectors - u16 FATBITS; //16 or 32 - u16 SF; //sectors per FAT - u32 SSA; //sectors in system area - u32 NOM; //sectors in master boot record -} SdmcSpec; - - -/********************************************* - RTFS用ドライバインタフェース -*********************************************/ -#if 0 -BOOL sdmcRtfsIo( int driveno, dword block, void* buffer, word count, BOOLEAN reading); -int sdmcRtfsCtrl( int driveno, int opcode, void* pargs); -BOOL sdmcRtfsAttach( int driveno); -#endif - -BOOL sdmcCheckMedia( void); - - - -/********************************************* - 基本API -*********************************************/ -void sdmcClearPortContext( SDPortContext* buf_adr); -SDMC_ERR_CODE sdmcCheckPortContext( SDPortContext* buf_adr); - - -SDMC_ERR_CODE sdmcInit( SDMC_DMA_NO dma_no, void (*func1)(void),void (*func2)(void)); /* カードドライバ初期化 */ -SDMC_ERR_CODE sdmcReset( void); /* カードリセット */ - -SDMC_ERR_CODE sdmcGetStatus(u16 *status); /* カードドライバの現在の状態を取得する */ -u32 sdmcGetCardSize(void); /* カード全サイズの取得 */ - -/*SD I/FのFIFOを使ってリードする(高速)*/ -SDMC_ERR_CODE sdmcReadFifo(void* buf,u32 bufsize,u32 offset,void(*func)(void),SdmcResultInfo *info);/* テスト用カードリード */ -/*リードする*/ -SDMC_ERR_CODE sdmcRead(void* buf,u32 bufsize,u32 offset,void(*func)(void),SdmcResultInfo *info); /* テスト用カードリード */ - -/*SD I/FのFIFOを使ってライトする(高速)*/ -SDMC_ERR_CODE sdmcWriteFifo(void* buf,u32 bufsize,u32 offset,void(*func)(void),SdmcResultInfo *info);/* テスト用カードライト */ -/*ライトする*/ -SDMC_ERR_CODE sdmcWrite(void* buf,u32 bufsize,u32 offset,void(*func)(void),SdmcResultInfo *info); /* テスト用カードライト */ - -u16 sdmcSelectedNo(void); -SDMC_ERR_CODE sdmcSelect( u16 select); - - -#ifdef __cplusplus -} /* extern "C" */ -#endif - - -#endif /*__SDMC_H__*/ diff --git a/include/firm/devices/firm_sdmc/ARM7/sdmc_config.h b/include/firm/devices/firm_sdmc/ARM7/sdmc_config.h deleted file mode 100644 index 7c645077..00000000 --- a/include/firm/devices/firm_sdmc/ARM7/sdmc_config.h +++ /dev/null @@ -1,87 +0,0 @@ -/* -** Copyright (c) 2000-2001 Matsushita Electric Industrial Co., Ltd. -** All Rights Reserved. -*/ - -/* -** $System IP1.1 without C2 サンプルソフト -** $Subsystem カードドライバ -** $Filename CARDDRV.H -** $Version 1.0 版 -** $Date 01/02/16 -** $Log 01/02/16 rev1.0作成 -** 松下電器産業(株)半導体開発本部 -*/ - - -#ifndef __SDMC_CONFIG_H__ -#define __SDMC_CONFIG_H__ - - -#include - -#ifdef USE_OS -#include /* IP 対応レジスタ定義 */ -#endif - - - -/********************************************* - ターゲットOS -*********************************************/ -#define TARGET_OS_CTR (0) -#define TARGET_OS_NITRO (TARGET_OS_CTR ^ 1) - - -/********************************************* - SDドライバ コンフィグレーション -*********************************************/ -#define SD_DEBUG_PRINT_ON 0 /* デバッグ表示 */ - -#define WP_ena 1 /* ライトプロテクトのチェック有効 */ -#define TIMEOUT 1 /* FPGA Timeout none = FALSE */ -#define SCR 1 /* Send SCR Command = TRUE */ -#define RESID 1 /* Write Error Resid enable = TRUE */ -#define ATC_ON 0 /* ATC転送 使用/未使用 */ - -#define SecEnable 1 /* SD_SECCNTレジスタ Enable */ -#define SecDisenable 0 /* SD_SECCNTレジスタ Disable */ -//#define STANDBYMODE 0x04 /*** 5772 standby control bit ***/ - -#define SDCARD_TIMER_ID (OS_TIMER_3) - - -/********************************************* - タイムアウト設定値(ms単位) -*********************************************/ -#define SDCARD_RW_TIMEOUT (2000) -#define SDCARD_STDBY_TIMEOUT (50) -#define SDCARD_CLOCK_WAIT (500) -#define SDCARD_SDCLK_WAIT (10) -#define SDCARD_INITIAL_TIMEOUT (800) -#define SDCARD_RESET_TIMEOUT (1500) -#define SDCARD_ERASE_TIMEOUT (1) -#define SDCARD_ERRPROC_TIMEOUT (2000) - - -/********************************************* - リトライ回数(Multiple Block R/W のとき) -*********************************************/ -#define SDCARD_RETRY_COUNT (3) - -/********************************************* - その他 -*********************************************/ -#define SECTOR_SIZE (512) /* 1セクタのバイト数 */ -#define SECTOR_MAX (255) /* SYSFPGA アクセス最大セクタ数 */ - -/*--- 上位レイヤに返すステータス値(SDCARD_Getstatus参照)用 ---*/ -#define SDCARD_FLAG_CLR (0x3FFF) /* カード判定部分クリア用 */ -#define SDCARD_FLAG_SD (0x8000) /* カード判定部分SDカード */ -#define SDCARD_FLAG_MMC (0x4000) /* カード判定部分MMCカード */ -#define SDCARD_PORT1_CLR (0x0007) /* カードポート1判定部分クリア用 */ - - - - -#endif /*__SDMC_CONFIG_H__*/ diff --git a/include/firm/devices/firm_sdmc/ARM7/sdmc_types.h b/include/firm/devices/firm_sdmc/ARM7/sdmc_types.h deleted file mode 100644 index 457c4494..00000000 --- a/include/firm/devices/firm_sdmc/ARM7/sdmc_types.h +++ /dev/null @@ -1,127 +0,0 @@ - -#ifndef __SDMC_TYPES_H__ -#define __SDMC_TYPES_H__ - - -#ifdef __cplusplus -extern "C" { -#endif - - - -/********************************************* - ポート番号 -*********************************************/ -typedef enum { - SDMC_PORT_CARD = 0x400, - SDMC_PORT_NAND = 0x401 -}SDMC_PORT_NO; - - -/********************************************* - DMA番号 -*********************************************/ -typedef enum { - SDMC_USE_DMA_0 = 0, - SDMC_USE_DMA_1 = 1, - SDMC_USE_DMA_2 = 2, - SDMC_USE_DMA_3 = 3, - SDMC_NOUSE_DMA = 0xFF -}SDMC_DMA_NO; - - -/********************************************* - カードエラーコード(カードエラーステータス設定値)アプリケーション固有のSDCARD_ErrStatusに対して -*********************************************/ -typedef enum { - SDMC_NORMAL = 0, /* 正常終了 */ - SDMC_ERR_COMMAND = 0x0001, /* CMDエラー */ - SDMC_ERR_CRC = 0x0002, /* CRCエラー */ - SDMC_ERR_END = 0x0004, /* 実行エラー */ - SDMC_ERR_TIMEOUT = 0x0008, /* コマンドタイムアウト */ - SDMC_ERR_FIFO_OVF = 0x0010, /* FIFO オーバーフローエラー(INFO2のIllegal write access to buffer) */ - SDMC_ERR_FIFO_UDF = 0x0020, /* FIFO アンダーフローエラー(INFO2のIllegal read access to buffer) */ - SDMC_ERR_WP = 0x0040, /* WriteProtectによる書き込みエラー */ - SDMC_ERR_FPGA_TIMEOUT = 0x0100, /* FPGA アクセスタイムアウト */ - SDMC_ERR_PARAM = 0x0200, /* コマンドパラメータエラー */ - SDMC_ERR_R1_STATUS = 0x0800, /* Normal response command カードステータス エラー */ - SDMC_ERR_NUM_WR_SECTORS = 0x1000, /* 書き込み完了セクタ数 エラー */ - SDMC_ERR_RESET = 0x2000, /* 初期化カードリセットコマンド時1.5秒タイムアウトエラー */ - SDMC_ERR_ILA = 0x4000, /* イリーガルアクセスエラー */ - SDMC_ERR_INFO_DETECT = 0x8000 /* カード排出時判別エラービット(IO3) */ -}SDMC_ERR_CODE; - - -/********************************************* - SDドライバ処理結果通知情報構造体 -*********************************************/ -typedef struct { - u16 b_flags; /* 処理内容 */ - u16 result; /* 実行結果 */ - u32 resid; /* 読み(書き)サイズ */ -} SdmcResultInfo; - - - - - -/********************************************* - SDポート状態保存用構造体 -*********************************************/ -typedef struct -{ - u16 SD_CID[8]; /* CID保存用 (Card IDentification register) : ID*/ - u16 SD_CSD[8]; /* CSD保存用 (Card Specific Data register) : spec*/ - u16 SD_OCR[2]; /* OCR保存用 (Operation Condition Register) : voltage and status*/ - u16 SD_SCR[4]; /* SCR保存用 (Sd card Configulation Register) : bus-width, card-ver, etc*/ - u16 SD_RCA; /* RCA保存用 (Relative Card Address register) : address*/ - s16 MMCFlag; - s16 SDHCFlag; - s16 SDFlag; - SDMC_ERR_CODE ErrStatus; /* SDCARD_ErrStatus */ - u32 Status; /* SDCARD_Status */ - u16 SD_CLK_CTRL_VALUE; - u16 SD_OPTION_VALUE; - - s16 OutFlag; - u16 port_no; -} -SDPortContext; - - - - - -/********************************************* - SDスペック構造体 -*********************************************/ -typedef struct { - u32 csd_ver2_flag; //CSDフォーマットバージョン(SDHCのときは1) - u32 memory_capacity; //data areaのサイズ(512Byte単位) - u32 protected_capacity; //protected areaのサイズ(512Byte単位) - u32 card_capacity; //カード全体のサイズ(512Byte単位) - - u32 adjusted_memory_capacity; //memory_capacityをシリンダ(heads*secptrack)の倍数に調整したサイズ(cylinders*heads*secptrackになる) - - u16 heads; - u16 secptrack; - u16 cylinders; - u16 SC; //sectors per cluster - u16 BU; - u16 RDE; //number of root dir entries(512 fix) - u32 SS; //sector size(512 fix) - u32 RSC; //reserved sector count(1 fix) -// u32 TS; //total sectors - u16 FATBITS; //16 or 32 - u16 SF; //sectors per FAT - u32 SSA; //sectors in system area - u32 NOM; //sectors in master boot record -} SdmcSpec; - - -#ifdef __cplusplus -} /* extern "C" */ -#endif - - -#endif /*__SDMC_TYPES_H__*/ diff --git a/include/firm/format/from_brom.h b/include/firm/format/from_brom.h index 00ead7e0..cad8390f 100644 --- a/include/firm/format/from_brom.h +++ b/include/firm/format/from_brom.h @@ -24,8 +24,6 @@ #include - - #ifdef __cplusplus extern "C" { #endif @@ -38,6 +36,15 @@ extern "C" { #define AESKEY_NUM_FROM_BROM 4 #endif // SDK_ARM7 + +// sizeof(SDPortContext) +typedef struct SDportContextData +{ + u32 data[17]; +} +SDPortContextData; + + typedef struct { union @@ -75,7 +82,7 @@ typedef struct BLOWFISH_CTX twl_blowfish[2]; // (4KB + α) * 2 - SDPortContext SDNandContext; + SDPortContextData SDNandContext; } OSFromBrom7Buf; diff --git a/include/firm/os/common/boot.h b/include/firm/os/common/boot.h index 9b29b992..2c78f4a2 100644 --- a/include/firm/os/common/boot.h +++ b/include/firm/os/common/boot.h @@ -17,10 +17,7 @@ #ifndef FIRM_OS_BOOT_H_ #define FIRM_OS_BOOT_H_ -#include -#include -#include -#include //from_brom.h用 +#include #include #include diff --git a/include/firm/pm.h b/include/firm/pm.h index 0dac9dd7..dfb8919a 100644 --- a/include/firm/pm.h +++ b/include/firm/pm.h @@ -19,7 +19,6 @@ #define FIRM_PM_H_ #ifdef SDK_ARM7 -#include #include #include #endif // SDK_ARM7 diff --git a/include/firm/pm/ARM7/pm_reg_ex.h b/include/firm/pm/ARM7/pm_reg_ex.h deleted file mode 100644 index 432c1172..00000000 --- a/include/firm/pm/ARM7/pm_reg_ex.h +++ /dev/null @@ -1,540 +0,0 @@ -/*---------------------------------------------------------------------------* - Project: TwlIPL - include - pm - File: pm_reg_ex.h - - Copyright 2006 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:: 2007-09-06$ - $Rev$ - $Author$ - *---------------------------------------------------------------------------*/ -#ifndef FIRM_PM_PM_REG_EX_H_ -#define FIRM_PM_PM_REG_EX_H_ - -#define SDK_PMIC_REV 100 - -#ifdef __cplusplus -extern "C" { -#endif - - -//================================================================ -// PMIC extention register parameter -//================================================================ -//---------------- address -#define REG_PMIC_CTL2_ADDR 0x10 // R/W -#if SDK_PMIC_REV!=0 -#define REG_PMIC_OUT_CTL_ADDR 0x11 // R/W -#define REG_PMIC_TIME_CTL_ADDR 0x12 // R/W -#define REG_PMIC_PM_INFO_ADDR 0x14 // R -#define REG_PMIC_BT_INFO_ADDR 0x15 // R -#define REG_PMIC_SW_FLAGS_ADDR 0x16 // R/W -#define REG_PMIC_BT_CRCT_ADDR 0x17 // R/W -#define REG_PMIC_BT_THL_ADDR 0x18 // R/W -#define REG_PMIC_BT_THH_ADDR 0x19 // R/W -#define REG_PMIC_LED_CTL_ADDR 0x1a // R/W -#define REG_PMIC_LED12_BLK_ADDR 0x1a // R/W mirror -#define REG_PMIC_LED12_B4_ADDR 0x1b // R/W -#define REG_PMIC_LED12_B3_ADDR 0x1c // R/W -#define REG_PMIC_LED12_B2_ADDR 0x1d // R/W -#define REG_PMIC_LED12_B1_ADDR 0x1e // R/W -#define REG_PMIC_BL1_BRT_ADDR 0x1f // R/W -#define REG_PMIC_BL2_BRT_ADDR 0x20 // R/W -#else // SDK_PMIC_REV==0 -#define REG_PMIC_BT_INFO_ADDR 0x11 // R -#define REG_PMIC_SW_FLAGS_ADDR 0x12 // R/W -#define REG_PMIC_TIME_CTL_ADDR 0x15 // R/W -#define REG_PMIC_OUT_CTL_ADDR 0x16 // R/W -#define REG_PMIC_BT_CRCT_ADDR 0x18 // R/W -#define REG_PMIC_BT_THL_ADDR 0x19 // R/W -#define REG_PMIC_BT_THH_ADDR 0x1a // R/W -#define REG_PMIC_LED_CTL_ADDR 0x1c // R/W -#define REG_PMIC_LED12_B4_ADDR 0x1d // R/W -#define REG_PMIC_LED12_B3_ADDR 0x1e // R/W -#define REG_PMIC_LED12_B2_ADDR 0x1f // R/W -#define REG_PMIC_LED12_B1_ADDR 0x20 // R/W -#define REG_PMIC_LED12_BLK_ADDR 0x22 // R/W -#define REG_PMIC_BL1_BRT_ADDR 0x24 // R/W -#define REG_PMIC_BL2_BRT_ADDR 0x24 // R/W -#endif // SDK_PMIC_REV==0 -#define REG_PMIC_GPIO_CTL_ADDR 0x13 // R/W - - -//---------------- each register spec -//---- PMIC_CTL2 -#define PMIC_CTL2_RST (1<< 0) -#define PMIC_CTL2_VCNT5_BLO (1<< 1) -#define PMIC_CTL2_BKLT1 (1<< 2) -#define PMIC_CTL2_BKLT2 (1<< 3) -#define PMIC_CTL2_VLT42 (1<< 4) // ? -#define PMIC_CTL2_LCD_PWR (1<< 5) -#define PMIC_CTL2_PWR_OFF (1<< 6) - -//---- PMIC_BT_INFO -#define PMIC_BT_INFO_VLTLOW (1<< 0) -#define PMIC_BT_INFO_VLT_SHIFT 1 -#define PMIC_BT_INFO_VLT_MASK (7<< PMIC_BT_INFO_VLT_SHIFT) -#define PMIC_BT_INFO_MKR_SHIFT 5 -#define PMIC_BT_INFO_MKR_MASK (7<< PMIC_BT_INFO_MKR_SHIFT) - -//---- PMIC_SW_FLAGS -#define PMIC_SW_FLAGS_WARMBOOT (1 << 7) - -//---- PMIC_GPIO_CTL -#if SDK_PMIC_REV!=0 -#define PMIC_GPIO_CTL_O1 (1<< 0) -#define PMIC_GPIO_CTL_O2 (1<< 1) -#define PMIC_GPIO_CTL_O3 (1<< 2) -#else // SDK_PMIC_REV==0 -#define PMIC_GPIO_CTL_O1 (1<< 1) -#define PMIC_GPIO_CTL_O2 (1<< 2) -#define PMIC_GPIO_CTL_O3 (1<< 3) -#define PMIC_GPIO_CTL_AO_SHIFT 6 -#define PMIC_GPIO_CTL_AO_MASK (3<< PMIC_GPIO_CTL_SHIFT) -#endif // SDK_PMIC_REV==0 - -//---- PMIC_TIME_CTL -#if SDK_PMIC_REV!=0 -#define PMIC_TIME_CTL_OFF_SHIFT 0 -#define PMIC_TIME_CTL_OFF_MASK (0x7<< PMIC_TIME_CTL_OFF_SHIFT) -#define PMIC_TIME_CTL_ACQ_SHIFT 4 -#define PMIC_TIME_CTL_ACQ_MASK (0x3<< PMIC_TIME_CTL_ACQ_SHIFT) -#else // SDK_PMIC_REV==0 -#define PMIC_TIME_CTL_OFF_SHIFT 0 -#define PMIC_TIME_CTL_OFF_MASK (0xf<< PMIC_TIME_CTL_OFF_SHIFT) -#endif // SDK_PMIC_REV==0 - -//---- PMIC_BT_CRCT -#define PMIC_BT_CRCT_TEMP_ON (1<< 0) -#define PMIC_BT_CRCT_AMPR_ON (1<< 1) -#define PMIC_BT_CRCT_BT2_ON (1<< 2) -#define PMIC_BT_CRCT_BT3_ON (1<< 3) -#define PMIC_BT_CRCT_AK_SHIFT 4 -#define PMIC_BT_CRCT_AK_MASK (0x3<< PMIC_BT_CRCT_AK_SHIFT) -#define PMIC_BT_CRCT_TK_SHIFT 6 -#define PMIC_BT_CRCT_TK_MASK (0x3<< PMIC_BT_CRCT_TK_SHIFT) - -//---- PMIC_BT_THL -#define PMIC_BT_THL_TH1_SHIFT 0 -#define PMIC_BT_THL_TH1_MASK (7<< PMIC_BT_THL_TH1_SHIFT) -#define PMIC_BT_THL_TH2_SHIFT 4 -#define PMIC_BT_THL_TH2_MASK (7<< PMIC_BT_THL_TH2_SHIFT) - -//---- PMIC_BT_THH -#define PMIC_BT_THH_TH3_SHIFT 0 -#define PMIC_BT_THH_TH3_MASK (7<< PMIC_BT_THH_TH3_SHIFT) -#define PMIC_BT_THH_TH4_SHIFT 4 -#define PMIC_BT_THH_TH4_MASK (7<< PMIC_BT_THH_TH4_SHIFT) - -//---- PMIC_OUT_CTL -#if SDK_PMIC_REV!=0 -#define PMIC_OUT_CTL_V12_SHIFT 0 -#define PMIC_OUT_CTL_V12_MASK (0x1<< PMIC_OUT_CTL_V12_SHIFT) -#define PMIC_OUT_CTL_V18_SHIFT 1 -#define PMIC_OUT_CTL_V18_MASK (0x1<< PMIC_OUT_CTL_V18_SHIFT) -#define PMIC_OUT_CTL_V33_SHIFT 2 -#define PMIC_OUT_CTL_V33_MASK (0x1<< PMIC_OUT_CTL_V33_SHIFT) -#else // SDK_PMIC_REV==0 -#define PMIC_OUT_CTL_V18_SHIFT 0 -#define PMIC_OUT_CTL_V18_MASK (0x3<< PMIC_OUT_CTL_V18_SHIFT) -#define PMIC_OUT_CTL_V12_SHIFT 2 -#define PMIC_OUT_CTL_V12_MASK (0x1<< PMIC_OUT_CTL_V12_SHIFT) -#define PMIC_OUT_CTL_V33_SHIFT 3 -#define PMIC_OUT_CTL_V33_MASK (0x1<< PMIC_OUT_CTL_V33_SHIFT) -#endif // SDK_PMIC_REV==0 - -//---- PMIC_LED_CTL -#define PMIC_LED_CTL_L12_B4_ONLY (1<< 0) -#define PMIC_LED_CTL_L12_AT_BLK (1<< 1) -#if SDK_PMIC_REV!=0 -#define PMIC_LED_CTL_L12_BLK_BY_SLP (1<< 2) -#define PMIC_LED_CTL_L12_BLKF_SHIFT 4 -#define PMIC_LED_CTL_L12_BLKF_MASK (0x3<< PMIC_LED_CTL_L12_BLKF_SHIFT) -#define PMIC_LED_CTL_L12_BLKD_SHIFT 6 -#define PMIC_LED_CTL_L12_BLKD_MASK (0x3<< PMIC_LED_CTL_L12_BLKD_SHIFT) -#endif // SDK_PMIC_REV!=0 - -//---- PMIC_LED12_BLK (mirror) -#if SDK_PMIC_REV!=0 -#define PMIC_LED12_BLK_FQ_SHIFT 4 -#define PMIC_LED12_BLK_FQ_MASK (0x3<< PMIC_LED12_BLK_FQ_SHIFT) -#define PMIC_LED12_BLK_DT_SHIFT 6 -#define PMIC_LED12_BLK_DT_MASK (0x3<< PMIC_LED12_BLK_DT_SHIFT) -#else // SDK_PMIC_REV==0 -#define PMIC_LED12_BLK_FQ_SHIFT 0 -#define PMIC_LED12_BLK_FQ_MASK (0x7<< PMIC_LED12_BLK_FQ_SHIFT) -#define PMIC_LED12_BLK_DT_SHIFT 4 -#define PMIC_LED12_BLK_DT_MASK (0x3<< PMIC_LED12_BLK_DT_SHIFT) -#endif // SDK_PMIC_REV==0 - -//---- PMIC_LED12_B4 -#define PMIC_LED12_B4_L1_SHIFT 0 -#define PMIC_LED12_B4_L1_MASK (0x7<< PMIC_LED12_B4_L1_SHIFT) -#define PMIC_LED12_B4_L2_SHIFT 4 -#define PMIC_LED12_B4_L2_MASK (0x7<< PMIC_LED12_B4_L2_SHIFT) - -//---- PMIC_LED12_B3 -#define PMIC_LED12_B3_L1_SHIFT 0 -#define PMIC_LED12_B3_L1_MASK (0x7<< PMIC_LED12_B3_L1_SHIFT) -#define PMIC_LED12_B3_L2_SHIFT 4 -#define PMIC_LED12_B3_L2_MASK (0x7<< PMIC_LED12_B3_L2_SHIFT) - -//---- PMIC_LED12_B2 -#define PMIC_LED12_B2_L1_SHIFT 0 -#define PMIC_LED12_B2_L1_MASK (0x7<< PMIC_LED12_B2_L1_SHIFT) -#define PMIC_LED12_B2_L2_SHIFT 4 -#define PMIC_LED12_B2_L2_MASK (0x7<< PMIC_LED12_B2_L2_SHIFT) - -//---- PMIC_LED12_B1 -#define PMIC_LED12_B1_L1_SHIFT 0 -#define PMIC_LED12_B1_L1_MASK (0x7<< PMIC_LED12_B1_L1_SHIFT) -#define PMIC_LED12_B1_L2_SHIFT 4 -#define PMIC_LED12_B1_L2_MASK (0x7<< PMIC_LED12_B1_L2_SHIFT) - -//---- PMIC_BL1_BRT -#define PMIC_BL1_BRT_SHIFT 0 -#define PMIC_BL1_BRT_MASK (0x1f<< PMIC_BL1_BRT_SHIFT) - -//---- PMIC_BL2_BRT -#define PMIC_BL2_BRT_SHIFT 0 -#define PMIC_BL2_BRT_MASK (0x1f<< PMIC_BL2_BRT_SHIFT) - - -//---- PMIC_BT_INFO -typedef enum -{ - PMIC_BT_INFO_VLT_L1 = (0 << PMIC_BT_INFO_VLT_SHIFT), - PMIC_BT_INFO_VLT_L2 = (1 << PMIC_BT_INFO_VLT_SHIFT), - PMIC_BT_INFO_VLT_L3 = (2 << PMIC_BT_INFO_VLT_SHIFT), - PMIC_BT_INFO_VLT_L4 = (3 << PMIC_BT_INFO_VLT_SHIFT), - PMIC_BT_INFO_VLT_L5 = (4 << PMIC_BT_INFO_VLT_SHIFT) -} -PMBatteryLevel; - -//---- PMIC_TIME_CTL -typedef enum -{ -#if SDK_PMIC_REV!=0 - PMIC_TIME_CTL_OFF_125MS = (0x0 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_250MS = (0x1 << PMIC_TIME_CTL_OFF_SHIFT), // default - PMIC_TIME_CTL_OFF_500MS = (0x2 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_750MS = (0x3 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_1S = (0x4 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_2S = (0x5 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_4S = (0x6 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_8S = (0x7 << PMIC_TIME_CTL_OFF_SHIFT) -#else // SDK_PMIC_REV==0 - PMIC_TIME_CTL_OFF_100MS = (0x0 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_200MS = (0x1 << PMIC_TIME_CTL_OFF_SHIFT), // default - PMIC_TIME_CTL_OFF_300MS = (0x2 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_500MS = (0x3 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_700MS = (0x4 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_900MS = (0x5 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_1S = (0x6 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_1500MS = (0x7 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_2S = (0x8 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_2500MS = (0x9 << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_3S = (0xa << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_4S = (0xb << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_5S = (0xc << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_7S = (0xd << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_9S = (0xe << PMIC_TIME_CTL_OFF_SHIFT), - PMIC_TIME_CTL_OFF_10S = (0xf << PMIC_TIME_CTL_OFF_SHIFT) -#endif // SDK_PMIC_REV==0 -} -PMOffTime; - -//---- PMIC_BT_CRCT -typedef enum -{ - PMIC_BT_CRCT_AK_30_10 = (0 << PMIC_BT_CRCT_AK_SHIFT), - PMIC_BT_CRCT_AK_50_10 = (1 << PMIC_BT_CRCT_AK_SHIFT), // default - PMIC_BT_CRCT_AK_70_10 = (2 << PMIC_BT_CRCT_AK_SHIFT), - PMIC_BT_CRCT_AK_90_10 = (3 << PMIC_BT_CRCT_AK_SHIFT) -} -PMAmprCoeff; - -typedef enum -{ - PMIC_BT_CRCT_TK_10 = (0 << PMIC_BT_CRCT_TK_SHIFT), - PMIC_BT_CRCT_TK_15 = (1 << PMIC_BT_CRCT_TK_SHIFT), // default - PMIC_BT_CRCT_TK_20 = (2 << PMIC_BT_CRCT_TK_SHIFT), - PMIC_BT_CRCT_TK_30 = (3 << PMIC_BT_CRCT_TK_SHIFT) -} -PMTempCoeff; - -//---- PMIC_BT_THL / PMIC_BT_THH -typedef enum -{ - PMIC_BT_TH_D0 = 0, - PMIC_BT_TH_D20 = 1, - PMIC_BT_TH_D40 = 2, - PMIC_BT_TH_D60 = 3, - PMIC_BT_TH_D80 = 4, - PMIC_BT_TH_D100 = 5, - PMIC_BT_TH_D120 = 6, - PMIC_BT_TH_D140 = 7 -} -PMBatteryThresholdDownCommon; - -typedef enum -{ - PMIC_BT_THL_TH1_D0 = (0 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D20 = (1 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D40 = (2 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D60 = (3 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D80 = (4 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D100 = (5 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D120 = (6 << PMIC_BT_THL_TH1_SHIFT), - PMIC_BT_THL_TH1_D140 = (7 << PMIC_BT_THL_TH1_SHIFT) -} -PMBatteryThreshold1Down; - -typedef enum -{ - PMIC_BT_THL_TH2_D0 = (0 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D20 = (1 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D40 = (2 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D60 = (3 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D80 = (4 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D100 = (5 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D120 = (6 << PMIC_BT_THL_TH2_SHIFT), - PMIC_BT_THL_TH2_D140 = (7 << PMIC_BT_THL_TH2_SHIFT) -} -PMBatteryThreshold2Down; - -typedef enum -{ - PMIC_BT_THH_TH3_D0 = (0 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D20 = (1 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D40 = (2 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D60 = (3 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D80 = (4 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D100 = (5 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D120 = (6 << PMIC_BT_THH_TH3_SHIFT), - PMIC_BT_THH_TH3_D140 = (7 << PMIC_BT_THH_TH3_SHIFT) -} -PMBatteryThreshold3Down; - -typedef enum -{ - PMIC_BT_THH_TH4_D0 = (0 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D20 = (1 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D40 = (2 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D60 = (3 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D80 = (4 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D100 = (5 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D120 = (6 << PMIC_BT_THH_TH4_SHIFT), - PMIC_BT_THH_TH4_D140 = (7 << PMIC_BT_THH_TH4_SHIFT) -} -PMBatteryThreshold4Down; - -//---- PMIC_OUT_CTL -typedef enum -{ - PMIC_OUT_CTL_V18_PWM = (0 << PMIC_OUT_CTL_V18_SHIFT), // default - PMIC_OUT_CTL_V18_PFM = (1 << PMIC_OUT_CTL_V18_SHIFT) -} -PMPfmPwmV18; - -typedef enum -{ - PMIC_OUT_CTL_V12_PWM = (0 << PMIC_OUT_CTL_V12_SHIFT), // default - PMIC_OUT_CTL_V12_PFM = (1 << PMIC_OUT_CTL_V12_SHIFT) -} -PMPfmPwmV12; - -typedef enum -{ - PMIC_OUT_CTL_V33_PWM = (0 << PMIC_OUT_CTL_V33_SHIFT), // default - PMIC_OUT_CTL_V33_PFM = (1 << PMIC_OUT_CTL_V33_SHIFT) -} -PMPfmPwmV33; - -//---- PMIC_LED12_B4 / PMIC_LED12_B3 / PMIC_LED12_B2 / PMIC_LED12_B1 -typedef enum -{ - PMIC_LED_BRT_OFF = 0, // default - PMIC_LED_BRT_14 = 1, - PMIC_LED_BRT_28 = 2, - PMIC_LED_BRT_43 = 3, - PMIC_LED_BRT_57 = 4, - PMIC_LED_BRT_71 = 5, - PMIC_LED_BRT_85 = 6, - PMIC_LED_BRT_100 = 7 -} -PMLedBrightCommon; - -typedef enum -{ - PMIC_LED12_B4_L1_OFF = (0 << PMIC_LED12_B4_L1_SHIFT), // default - PMIC_LED12_B4_L1_14 = (1 << PMIC_LED12_B4_L1_SHIFT), - PMIC_LED12_B4_L1_28 = (2 << PMIC_LED12_B4_L1_SHIFT), - PMIC_LED12_B4_L1_43 = (3 << PMIC_LED12_B4_L1_SHIFT), - PMIC_LED12_B4_L1_57 = (4 << PMIC_LED12_B4_L1_SHIFT), - PMIC_LED12_B4_L1_71 = (5 << PMIC_LED12_B4_L1_SHIFT), - PMIC_LED12_B4_L1_85 = (6 << PMIC_LED12_B4_L1_SHIFT), - PMIC_LED12_B4_L1_100 = (7 << PMIC_LED12_B4_L1_SHIFT) -} -PMLed1Bright4; - -typedef enum -{ - PMIC_LED12_B4_L2_OFF = (0 << PMIC_LED12_B4_L2_SHIFT), // default - PMIC_LED12_B4_L2_14 = (1 << PMIC_LED12_B4_L2_SHIFT), - PMIC_LED12_B4_L2_28 = (2 << PMIC_LED12_B4_L2_SHIFT), - PMIC_LED12_B4_L2_43 = (3 << PMIC_LED12_B4_L2_SHIFT), - PMIC_LED12_B4_L2_57 = (4 << PMIC_LED12_B4_L2_SHIFT), - PMIC_LED12_B4_L2_71 = (5 << PMIC_LED12_B4_L2_SHIFT), - PMIC_LED12_B4_L2_85 = (6 << PMIC_LED12_B4_L2_SHIFT), - PMIC_LED12_B4_L2_100 = (7 << PMIC_LED12_B4_L2_SHIFT) -} -PMLed2Bright4; - -typedef enum -{ - PMIC_LED12_B3_L1_OFF = (0 << PMIC_LED12_B3_L1_SHIFT), // default - PMIC_LED12_B3_L1_14 = (1 << PMIC_LED12_B3_L1_SHIFT), - PMIC_LED12_B3_L1_28 = (2 << PMIC_LED12_B3_L1_SHIFT), - PMIC_LED12_B3_L1_43 = (3 << PMIC_LED12_B3_L1_SHIFT), - PMIC_LED12_B3_L1_57 = (4 << PMIC_LED12_B3_L1_SHIFT), - PMIC_LED12_B3_L1_71 = (5 << PMIC_LED12_B3_L1_SHIFT), - PMIC_LED12_B3_L1_85 = (6 << PMIC_LED12_B3_L1_SHIFT), - PMIC_LED12_B3_L1_100 = (7 << PMIC_LED12_B3_L1_SHIFT) -} -PMLed1Bright3; - -typedef enum -{ - PMIC_LED12_B3_L2_OFF = (0 << PMIC_LED12_B3_L2_SHIFT), // default - PMIC_LED12_B3_L2_14 = (1 << PMIC_LED12_B3_L2_SHIFT), - PMIC_LED12_B3_L2_28 = (2 << PMIC_LED12_B3_L2_SHIFT), - PMIC_LED12_B3_L2_43 = (3 << PMIC_LED12_B3_L2_SHIFT), - PMIC_LED12_B3_L2_57 = (4 << PMIC_LED12_B3_L2_SHIFT), - PMIC_LED12_B3_L2_71 = (5 << PMIC_LED12_B3_L2_SHIFT), - PMIC_LED12_B3_L2_85 = (6 << PMIC_LED12_B3_L2_SHIFT), - PMIC_LED12_B3_L2_100 = (7 << PMIC_LED12_B3_L2_SHIFT) -} -PMLed2Bright3; - -typedef enum -{ - PMIC_LED12_B2_L1_OFF = (0 << PMIC_LED12_B2_L1_SHIFT), // default - PMIC_LED12_B2_L1_14 = (1 << PMIC_LED12_B2_L1_SHIFT), - PMIC_LED12_B2_L1_28 = (2 << PMIC_LED12_B2_L1_SHIFT), - PMIC_LED12_B2_L1_43 = (3 << PMIC_LED12_B2_L1_SHIFT), - PMIC_LED12_B2_L1_57 = (4 << PMIC_LED12_B2_L1_SHIFT), - PMIC_LED12_B2_L1_71 = (5 << PMIC_LED12_B2_L1_SHIFT), - PMIC_LED12_B2_L1_85 = (6 << PMIC_LED12_B2_L1_SHIFT), - PMIC_LED12_B2_L1_100 = (7 << PMIC_LED12_B2_L1_SHIFT) -} -PMLed1Bright2; - -typedef enum -{ - PMIC_LED12_B2_L2_OFF = (0 << PMIC_LED12_B2_L2_SHIFT), // default - PMIC_LED12_B2_L2_14 = (1 << PMIC_LED12_B2_L2_SHIFT), - PMIC_LED12_B2_L2_28 = (2 << PMIC_LED12_B2_L2_SHIFT), - PMIC_LED12_B2_L2_43 = (3 << PMIC_LED12_B2_L2_SHIFT), - PMIC_LED12_B2_L2_57 = (4 << PMIC_LED12_B2_L2_SHIFT), - PMIC_LED12_B2_L2_71 = (5 << PMIC_LED12_B2_L2_SHIFT), - PMIC_LED12_B2_L2_85 = (6 << PMIC_LED12_B2_L2_SHIFT), - PMIC_LED12_B2_L2_100 = (7 << PMIC_LED12_B2_L2_SHIFT) -} -PMLed2Bright2; - -typedef enum -{ - PMIC_LED12_B1_L1_OFF = (0 << PMIC_LED12_B1_L1_SHIFT), // default - PMIC_LED12_B1_L1_14 = (1 << PMIC_LED12_B1_L1_SHIFT), - PMIC_LED12_B1_L1_28 = (2 << PMIC_LED12_B1_L1_SHIFT), - PMIC_LED12_B1_L1_43 = (3 << PMIC_LED12_B1_L1_SHIFT), - PMIC_LED12_B1_L1_57 = (4 << PMIC_LED12_B1_L1_SHIFT), - PMIC_LED12_B1_L1_71 = (5 << PMIC_LED12_B1_L1_SHIFT), - PMIC_LED12_B1_L1_85 = (6 << PMIC_LED12_B1_L1_SHIFT), - PMIC_LED12_B1_L1_100 = (7 << PMIC_LED12_B1_L1_SHIFT) -} -PMLed1Bright5; - -typedef enum -{ - PMIC_LED12_B1_L2_OFF = (0 << PMIC_LED12_B1_L2_SHIFT), // default - PMIC_LED12_B1_L2_14 = (1 << PMIC_LED12_B1_L2_SHIFT), - PMIC_LED12_B1_L2_28 = (2 << PMIC_LED12_B1_L2_SHIFT), - PMIC_LED12_B1_L2_43 = (3 << PMIC_LED12_B1_L2_SHIFT), - PMIC_LED12_B1_L2_57 = (4 << PMIC_LED12_B1_L2_SHIFT), - PMIC_LED12_B1_L2_71 = (5 << PMIC_LED12_B1_L2_SHIFT), - PMIC_LED12_B1_L2_85 = (6 << PMIC_LED12_B1_L2_SHIFT), - PMIC_LED12_B1_L2_100 = (7 << PMIC_LED12_B1_L2_SHIFT) -} -PMLed2Bright1; - -//---- PMIC_LED_CTL ( PMIC_LED12_BLK ) - -typedef enum -{ - PMIC_LED_BLK_FREQ_033HZ = 0, // default - PMIC_LED_BLK_FREQ_050HZ = 1, - PMIC_LED_BLK_FREQ_067HZ = 2, - PMIC_LED_BLK_FREQ_1HZ = 3, - PMIC_LED_BLK_FREQ_2HZ = 4, - PMIC_LED_BLK_FREQ_4HZ = 5 -} -PMLedBlinkFreqCommon; - -typedef enum -{ -#if SDK_PMIC_REV!=0 - PMIC_LED12_BLK_FREQ_041HZ = (0 << PMIC_LED_CTL_L12_BLKF_SHIFT), - PMIC_LED12_BLK_FREQ_082HZ = (1 << PMIC_LED_CTL_L12_BLKF_SHIFT), - PMIC_LED12_BLK_FREQ_2Z = (2 << PMIC_LED_CTL_L12_BLKF_SHIFT), // default - PMIC_LED12_BLK_FREQ_4HZ = (3 << PMIC_LED_CTL_L12_BLKF_SHIFT) -#else // SDK_PMIC_REV==0 - PMIC_LED12_BLK_FREQ_033HZ = (0 << PMIC_LED12_BLK_FQ_SHIFT), // default - PMIC_LED12_BLK_FREQ_050HZ = (1 << PMIC_LED12_BLK_FQ_SHIFT), - PMIC_LED12_BLK_FREQ_067HZ = (2 << PMIC_LED12_BLK_FQ_SHIFT), - PMIC_LED12_BLK_FREQ_1HZ = (3 << PMIC_LED12_BLK_FQ_SHIFT), - PMIC_LED12_BLK_FREQ_2HZ = (4 << PMIC_LED12_BLK_FQ_SHIFT), - PMIC_LED12_BLK_FREQ_4HZ = (5 << PMIC_LED12_BLK_FQ_SHIFT) -#endif // SDK_PMIC_REV==0 -} -PMLed12BlinkFreq; - -typedef enum -{ -#if SDK_PMIC_REV!=0 - PMIC_LED12_BLK_DUTY_10 = (0 << PMIC_LED_CTL_L12_BLKD_SHIFT), - PMIC_LED12_BLK_DUTY_25 = (1 << PMIC_LED_CTL_L12_BLKD_SHIFT), - PMIC_LED12_BLK_DUTY_50 = (2 << PMIC_LED_CTL_L12_BLKD_SHIFT), // default - PMIC_LED12_BLK_DUTY_75 = (3 << PMIC_LED_CTL_L12_BLKD_SHIFT) -#else // SDK_PMIC_REV==0 - PMIC_LED12_BLK_DUTY_10 = (0 << PMIC_LED12_BLK_DT_SHIFT), // default - PMIC_LED12_BLK_DUTY_25 = (1 << PMIC_LED12_BLK_DT_SHIFT), - PMIC_LED12_BLK_DUTY_50 = (2 << PMIC_LED12_BLK_DT_SHIFT), - PMIC_LED12_BLK_DUTY_75 = (3 << PMIC_LED12_BLK_DT_SHIFT) -#endif // SDK_PMIC_REV==0 -} -PMLed12BlinkDuty; - -//---- PMIC_BL1_BRT / PMIC_BL2_BRT -typedef enum -{ - PMIC_BL_BRT_MIN = 0, // default - PMIC_BL_BRT_MAX = 0x1f, - PMIC_BL_BRT_DEFAULT = 0x08 -} -PMBackLightBrightness; - - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -/* FIRM_PM_PM_REG_EX_H_ */ -#endif diff --git a/include/firm/sdmc.h b/include/firm/sdmc.h deleted file mode 100644 index f1560386..00000000 --- a/include/firm/sdmc.h +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------------* - Project: TwlIPL - include - sdmc - File: sdmc.h - - Copyright 2007 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:: 2007-09-06$ - $Rev$ - $Author$ - *---------------------------------------------------------------------------*/ - -#ifndef FIRM_SDMC_H_ -#define FIRM_SDMC_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef SDK_ARM9 -#else // SDK_ARM7 -#include -#include -#include -#include -#endif - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -/* FIRM_SDMC_H_ */ -#endif diff --git a/include/firm/specfiles/ARM9-TS-FIRM.lsf b/include/firm/specfiles/ARM9-TS-FIRM.lsf index 913dadcd..e3072c1b 100644 --- a/include/firm/specfiles/ARM9-TS-FIRM.lsf +++ b/include/firm/specfiles/ARM9-TS-FIRM.lsf @@ -28,7 +28,7 @@ Static $(TARGET_NAME) Object $(OBJS_AUTOLOAD) (.rodata) Object * (.ltdmain) Object $(OBJS_LTDAUTOLOAD) - Library $(GLTDLIBS) + Library $(LLIBS_EX) $(GLIBS_EX) Object * (.dtcm) Object $(OBJS_AUTOLOAD) (.data) Object $(OBJS_AUTOLOAD) (.sdata)