Monday, February 26, 2024

Add support for RK356x eMMC controller

Hi,

on NetBSD the following is used to support the eMMC modules on RK356x. Would it possible to implement asomething similar for OpenBSD?

https://github.com/NetBSD/src/commit/f30b89bb4385f5fe218ff86be5d458a51fc62d4c

For more info see the original commit message below:

"acpi: sdhc: Add support for RK356x eMMC controller.
RK356x has a DesignWare eMMC controller that is somewhat SDHCI compliant,
with one major problem -- the clock divisor doesn't actually work. To
change the clock card on Rockchip SoCs, the clock frequency needs to be
adjusted in the Clock & Reset Unit (CRU) directly.

The RK356x UEFI implementation introduces a DSM that allows drivers to
request firmware assistance in setting the card clock rate, for instances
like this where the divisor is broken.

From the UEFI README:

Function 1: Set Card Clock

The _DSM control method parameters for the Set Card Clock function are
as follows:

Arguments

* Arg0: UUID = 434addb0-8ff3-49d5-a724-95844b79ad1f
* Arg1: Revision = 0
* Arg2: Function Index = 1
* Arg3: Target card clock rate in Hz.

Return

The actual card clock rate in Hz. Will be less than or equal to the
target clock rate. Returns 0 if the target clock rate could not be set."

Thanks.

--Z--

No comments:

Post a Comment