Re: Add support for RK356x eMMC controller
On Mon, Feb 26, 2024 at 04:47:53PM +0100, Mizsei Zolt??n wrote: > 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. RK356x is not a viable platform for use with ACPI. I'd recommend to switch to a Linux-mainline device tree and use a current U-Boot, if possible.
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--