SPRUJC6A December 2024 – July 2025 AM2752-Q1 , AM2754-Q1
This register is used to program the Clock frequency select, generator select, Clock enable, Internal Clock state fields This register controls SDCLK in SD Mode and RCLK in UHS-II mode.
Return to Summary Table
| Instance Name | Physical Address |
|---|---|
| MMCSD0 | 0FA0 002Ch |
| 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 |
| SDCLK_FRQSEL | |||||||
| R/W | |||||||
| 0h | |||||||
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| SDCLK_FRQSEL_UPBITS | CLKGEN_SEL | RESERVED | PLL_ENA | SD_CLK_ENA | INT_CLK_STABLE | INT_CLK_ENA | |
| R/W | R/W | NONE | R/W | R/W | R | R/W | |
| 0h | 0h | 0h | 0h | 0h | 0h | 0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15:8 | SDCLK_FRQSEL | R/W | 0h | This register is used to select the frequency of the SDCLK pin. The frequency is not programmed directly; rather this register holds the divisor of the Base Clock Frequency For SD clock in the capabilities register. Only the following settings are allowed. [1] 8-bit Divided Clock Mode 80h - base clock divided by 256 40h - base clock divided by 128 20h - base clock divided by 64 10h - base clock divided by 32 08h - base clock divided by 16 04h - base clock divided by 8 02h - base clock divided by 4 01h - base clock divided by 2 00h - base clock[10MHz-63MHz] Setting 00h specifies the highest frequency of the SD Clock. When setting multiple bits, the most significant bit is used as the divisor. But multiple bits should not be set. The two default divider values can be calculated by the frequency that is defined by the Base Clock Frequency For SD Clock in the Capabilities register. [1] 25 MHz divider value. [2] 400 KHz divider value. The frequency of the SDCLK is set by the following formula: Clock Frequency = [Baseclock] / divisor. Thus choose the smallest possible divisor which results in a clock frequency that is less than or equal to the target frequency. Maximum Frequency for SD = 50Mhz [base clock] Maximum Frequency for MMC = 52Mhz [base clock] Minimum Frequency = 195.3125Khz [50Mhz / 256], same calculation for MMC also. [2] 10-bit Divided Clock Mode Host Controller Version 3.00 supports this mandatory mode instead of the 8-bit Divided Clock Mode. The length of divider is extended to10 bits and all divider values shall be supported. 3FFh --1/2046 Divided Clock N -------1/2N Divided Clock [Duty 50%] 002h -- 1/4 Divided Clock 001h ---1/2 Divided Clock 000h --- Base Clock [10MHz-254MHz] Reset Source: vbus_amod_g_rst_n |
| 7:6 | SDCLK_FRQSEL_UPBITS | R/W | 0h | Bit 07-06 is assigned to bit 09-08 of clock divider in SDCLK Frequency Select. Reset Source: vbus_amod_g_rst_n |
| 5 | CLKGEN_SEL | R/W | 0h |
This bit is used to select the clock generator mode in SDCLK Frequency Select. If the Programmable Clock Mode is supported [non-zero value is set to Clock Multiplier in the Capabilities register], this bit attribute is RW, and if not supported, this bit attribute is RO and zero is read. This bit depends on the setting of Preset Value Enable in the Host Control 2 register. If the Preset Value Enable = 0, this bit is set by Host Driver. If the Preset Value Enable = 1, this bit is automatically set to a value specified in one of Preset Value registers.
'0' Divided Clock Mode
'1' Programmable Clock Mode
1 Programmable Clock Mode 0 Divided Clock Mode |
| 4 | RESERVED | NONE | 0h | Reserved |
| 3 | PLL_ENA | R/W | 0h | This bit is added from Version 4.10 for Host Controller using PLL. This feature allows Host Controller to initialize clock generator in two steps: by Internal Clock Enable and PLL Enable and to minimize output latency [ex. SDCLK/RCLK, D0lane] from SD Clock Enable. There are two modes to keep Host Drivers compatibility. In both modes, PLL Locked timing is indicated by Internal Clock Stable.
[1] When Host Version 4 Enable =0 [Host Driver Version 3, which does not support this bit] or this bit is not implemented,Internal Clock Enable [or SD Clock Enable] may activate PLL [exit low power mode and start locking clock].
[2] When Host Version 4 Enable =1 [Host Driver Version 4],Internal Clock Enable is set before setting this bit and then setting this bit may activate PLL [exit low power mode and start locking clock].
1 PLL is enabled 0 PLL is in low power mode |
| 2 | SD_CLK_ENA | R/W | 0h |
The HC shall stop SDCLK when writing this bit to 0. SDCLK frequency Select can be changed when this bit is 0. Then, the HC shall maintain the same clock frequency until SDCLK is stopped [Stop at SDCLK = 0]. If the HC detects the No Card state, this bit shall be cleared.
1 0 |
| 1 | INT_CLK_STABLE | R | 0h |
This bit is set to 1 when SD clock is stable after writing to Internal Clock Enable in this register to 1. The SD Host Driver shall wait to set SD Clock Enable until this bit is set to 1.
Note: This is useful when using PLL for a clock oscillator that requires setup time.
1 0 |
| 0 | INT_CLK_ENA | R/W | 0h |
This bit is set to 0 when the HD is not using the HC or the HC awaits a wakeup event. The HC should stop its internal clock to go very low power state. Still, registers shall be able to be read and written. Clock starts to oscillate when this bit is set to 1. When clock oscillation is stable, the HC shall set Internal Clock Stable in this register to 1. This bit shall not affect card detection.
1 0 |