附錄D預先定義的ROM功能細節
OMAP-L132/L138引導加載程式可以使用ais函數調用指令調用多個rom功能。本附錄描述了可用的ROM功能和調用它們所需的參數。
預定義的ROM函數清單
索引 | 功能 |
---|---|
PLL0配置 | |
1 | PLL1配置 |
2 | 時鐘配置 |
3 | mDDR/DDR2控制器配置 |
4 | EMIFA SDRAM 配置 |
5 | EMIFA ASYNC 配置 |
6 | PLL和時鐘配置 |
7 | 休眠和使能控制器控制 |
8 | pinmux配置 |
D.1 PLL0 配置 (索引= 0, 參數數目 = 2)
PLL0配置功能配置PLL0寄存器。此函數接受兩個參數,如下所示:
PLL配置寄存器
參數1 | CLKMODE | PLLM | PREDIV | POSTDIV |
---|---|---|---|---|
參數2 | 保留 | PLLDIV1 | PLLDIV3 | PLLDIV7 |
PLL寄存器描述
位 | 字段 | 值 | 描述 | |
---|---|---|---|---|
參數1 | 31-24 | CLKMODE | 0,1 | 要程式設計到PLL時鐘源的值: 0晶體 1振蕩器 |
23-16 | PLLM | 要程式設計到PLL倍頻寄存器的值 | ||
15-8 | PLLDIV | 要程式設計到PLL預分頻寄存器的值,用于在PLL倍頻之前分頻輸入時鐘。 | ||
7-0 | POSTDIV | 要程式設計到PLL後分頻寄存器的值,用于分頻PLL倍頻之後的輸出時鐘。 | ||
4 | 31-24 | 保留 | 保留 | |
5 | 23-0 | PLLDIV1;PLLDIV3;PLLDIV7 | 要程式設計到PLLDIV1、PLLDIV3和PLLDIV7寄存器的值, 用于生成SYSCLK1、SYSCLK2、SYSCLK4、SYSCLK6、SYSCLK3和SYSCLK7。 SYSCLK6=SYSCLK1,SYSCLK2=SYSCLK1/2,SYSCLK4=SYSCLK/4 |
D.2 PLL1 配置 (索引= 1, 參數數目 = 2)
PLL1配置功能配置PLL1寄存器。此函數接受兩個參數,如下所示:
PLL1配置寄存器
參數1 | PLLM | POSTDIV | PLLDIV1 | PLLDIV2 |
---|---|---|---|---|
參數2 | 保留 | 保留 | 保留 | PLLDIV3 |
PLL配置寄存器描述
位 | 字段 | 值 | 描述 |
---|---|---|---|
參數1 | 31-24 | PLLM | 要程式設計到PLL倍頻寄存器的值 |
23-16 | POSTDIV | 要程式設計到PLL後分頻寄存器的值,用于分頻PLL倍頻之後的輸出時鐘 | |
15-8 | PLLDIV1 | 要程式設計到PLLDIV1、PLLDIV2和PLLDIV3寄存器的值,用于生成SYSCLK1、SYSCLK2、SYSCLK3 | |
7-0 | PLLDIV2 | 要程式設計到PLLDIV1、PLLDIV2和PLLDIV3寄存器的值,用于生成SYSCLK1、SYSCLK2、SYSCLK3 | |
參數2 | 31-8 | 保留 | 保留 |
7-0 | PLLDIV3 | 要程式設計到PLLDIV1、PLLDIV2和PLLDIV3寄存器的值,用于生成SYSCLK1、SYSCLK2、SYSCLK3 |
D.3 時鐘配置 (索引= 2, 參數數目 = 1)
時鐘配置功能配置引導外圍裝置的時鐘。它程式設計SPI/I2C主引導模式、UART引導模式或MMC/SD引導模式下的外圍時鐘。在所有其他啟動模式,此功能無效。此函數隻接受一個參數,但其内容參數因啟動模式而異。
D.3.1 SPI Master Register
SPI Master Register
參數1 | 保留 | 預分頻 |
---|
SPI Master Register 字段描述
位 | 字段 | 值 | 描述 |
---|---|---|---|
31-8 | 保留 | 保留 | |
7-0 | 預分頻 | 要程式設計到SPIFMT的預分頻字段的值 |
D.3.2 I2C Master Register
I2C Master Register
參數1 | 保留 | IPSC | ICCL | ICCH |
---|
I2C Master Register 字段描述
位 | 字段 | 值 | 描述 |
---|---|---|---|
31-24 | 保留 | 保留 | |
23-16 | IPSC | 要程式設計到I2C ICPSC寄存器字段的值 | |
15-8 | ICCL | 要程式設計到I2C ICCLKL寄存器字段的值 | |
7-0 | ICCH | 要程式設計到I2C ICCLKH寄存器字段的值 |
D.3.3 UART Slave Register
UART Slave Register
參數1 | 保留 | OSR | DLH | DLL |
---|
UART Slave Register 字段描述
位 | 字段 | 值 | 描述 |
---|---|---|---|
31-24 | 保留 | 保留 | |
23-16 | OSR | 要程式設計到UART MDR 寄存器OSR字段的值 | |
15-8 | DLH | 要程式設計到UART DLH 寄存器的值 | |
7-0 | DLL | 要程式設計到UART DLL寄存器的值 |
D.3.4 MMC/SD Register
MMC/SD Register
參數1 | 保留 | DIV4 | CLKRT |
---|
MMC/SD Register 字段描述
位 | 字段 | 值 | 描述 |
---|---|---|---|
31-16 | 保留 | 保留 | |
15-8 | DIV4 | 要程式設計到MMCCLK寄存器DIV4字段的值 | |
7-0 | CLKRT | 要程式設計到MMCCLK寄存器CLKRT字段的值 |
D.4 mDDR/DDR2 控制器配置 (索引 = 3, 參數數目= 8)
mDDR/DDR2控制器配置函數配置負責DDR定時和配置。因為MDDR/DDR2控制器設定要求PLL1被配置,在初始化MDDR/DDR2控制器之前調用pll1配置函數。 是以,前兩個參數與pll1配置函數所需的參數相同。 接下來的五個參數是mDDR/DDR2控制器寄存器所需的定時參數。他們直接寫入具有相同名稱的mDDR/DDR2控制器寄存器。最後一個參數包含三個字段:PASR、ROWSIZE和CLK2XSRC。前兩個字段被拷貝到與SDCR2有相同名字的字段裡面當且僅當SDCR的MSDRAMEN(ARG4的第25位)=1。換句話說,這些字段僅在使用mDDR時适用,而不是DDR2。第三個字段應用于所有情況,并允許為mDDR/DDR2控制器選擇時鐘源。0值使用正常的時鐘源,而1值選擇一個非分頻的時鐘,通常要快兩倍。( 更準确地說,它忽略了PLL1後分頻。)
參數1 | PLL1配置參數1 |
---|---|
參數2 | PLL1配置參數2 |
參數3 | DRPYC1R |
參數4 | SDCR |
參數5 | SDTIMR1 |
參數6 | SDTIMR2 |
參數7 | SDRCR |
參數8 | 保留 | PASR | 保留 | ROWSIZE | CLK2XSRC |
---|
mDDR/DDR2控制器配置函數将mDDR/DDR2外圍裝置從其預設的複位狀态喚醒并根據需要正确進行寄存器配置。
D.5 EMIFA SDRAM 配置 (Index = 4, Argument Count = 5)
EMIFA SDRAM配置功能配置負責EMIFA寄存器SDRAM的定時和配置。
參數1 | SDCR |
---|---|
參數2 | SDTIMR |
參數3 | SDSRETR |
參數4 | SDRCR |
參數5 | DIV4p5_CLK_EN |
前四個函數參數直接寫入具有相同名稱的EMIFA寄存器。div4p5_clk_en是一個布爾值,用于啟用PLL0乘數因子輸出的4.5除法器作為EMIFA外圍裝置的輸入時鐘。 在對EMIFA寄存器進行程式設計之前,此功能對16位或32位SDRAM通路(基于SDCR)寄存器的值應用必要的pinmux 并從其預設重置狀态來喚醒EMIFA的外圍裝置。
D.6 EMIFA Async Configuration (Index = 5, Argument Count = 5)
EMIFA CE空間配置功能配置EMIFA CEXCFG寄存器。此函數需要五個參數,并将它們寫入具有相同名稱的EMIFA寄存器中。
參數1 | CE2CEG |
---|---|
參數2 | CE3CEG |
參數3 | CE4CEG |
參數4 | CE5CEG |
參數5 | NANDFCR |
D.7 PLL and Clock Configuration (Index = 6, Argument Count = 3)
PLL和時鐘配置功能結合了PLL配置和時鐘配置函數轉換為單個函數調用。此函數接受三個參數。前兩個參數比對 PLL配置函數的參數(D.1節)第三個參數比對 時鐘配置函數的參數(D.3節)。
參數1 | PLL0 配置參數1 |
---|---|
參數2 | PLL0 配置參數2 |
參數3 | 時鐘配置參數1 |
如果裝置從時鐘配置說明中列出的啟動模式啟動,則需要調用此函數,而不是分别調用PLL0配置和時鐘配置函數。否則可能導緻引導失敗,因為外圍裝置功能與PLL0設定相關,首先設定PLL0可能導緻外圍裝置以非預期的頻率運作。
D.8 Power and Sleep Configuration (PSC) (Index = 7, Argument Count = 1)
電源和睡眠配置(PSC)功能可多次用于設定電源域對于系統的兩個PSC的各個LPSC子產品,0x1-0x3是唯一有效的值(所有其他值都是保留)。
| PSCNUM | MODULE |PD| STATE |