Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#15926 closed enhancement (fixed)

eMMC support

Reported by: yangh Owned by: pulkomandy
Priority: normal Milestone: R1/beta3
Component: Drivers/Disk/MMC Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

I have an Intel UP board from [1], I tried the nightly build 0425, the eMMC 32G storage is not recognized by Haiku.

I did a quick check of the sdhci + mmc driver in the haiku repository, it seem the eMMC support is not implemented yet right now.

Is there anyone working or interesting on this?

I'd like see the eMMC gets supported somehow.

Thanks.

[1] https://up-board.org/upsquared/specifications/

Change History (12)

comment:1 by diver, 4 years ago

There are patches at Gerrit which are not merged yet https://review.haiku-os.org/q/status:open+mmc

comment:2 by X512, 4 years ago

On my tablet internal disk and micro SD slot are eMMC devices that are not working on Haiku. I currently use USB 3 disk.

comment:3 by yangh, 4 years ago

Thanks diver, X512.

Hi Pulkomandy

What's the status of the patches? is it worth to try them on my Up board (Intel)?

comment:4 by pulkomandy, 4 years ago

No, they are not ready. All you can expect is that it will detect that there is an MMC bus and maybe an SD card or eMMC device connected to it, but then it doesn't know how to send commands to it so it's useless.

comment:5 by pulkomandy, 3 years ago

Component: System/KernelDrivers/Disk
Keywords: eMMC removed
Owner: changed from nobody to pulkomandy
Status: newin-progress

comment:6 by pulkomandy, 3 years ago

Hi,

The patches are now updated and support reading and writing to an SD card under qemu. I think now it will be interesting to start testing on various systems and collect syslogs if things don't work as expected.

Version 0, edited 3 years ago by pulkomandy (next)

comment:7 by pulkomandy, 3 years ago

Patch with SDHC support is now available: https://review.haiku-os.org/c/haiku/+/3512

If you can build Haiku yourself and test it, feedback welcome, since I only tested in QEMU and real hardware may disagree a bit.

comment:8 by X512, 3 years ago

Any chances of getting ACPI SDHC support like pch_i2c? On my tablet SDHC controller is enumerated only by ACPI and it is not present in listdev.

ACPI CID: "PNP0D40"
ACPI HID: "INT33BB"

comment:9 by pulkomandy, 3 years ago

In that case we need to write a bus driver for it (the bus_manager and disk drivers willbe shared, so, not too much code to write, I hope). Do you know how similar it is to the sdhci spec (which has some parts specific to pci, but some that could be reused elsewhere)?

If it's similar enough, we can put it in the same bus driver (add an sdhci_acpi file, and refactor a bit to share the common code). If it's a very different interface, a separate bus driver would be a better idea.

Is it possible to emulate such a controller with qemu or is real hardware required for testing?

comment:10 by X512, 3 years ago

Do you know how similar it is to the sdhci spec (which has some parts specific to pci, but some that could be reused elsewhere)?

I can't find any specs related to ACPI SDHCI, only Linux and FreeBSD source code:

https://github.com/freebsd/freebsd-src/blob/main/sys/dev/sdhci/sdhci_acpi.c

https://github.com/torvalds/linux/blob/master/drivers/mmc/host/sdhci-acpi.c

Is it possible to emulate such a controller with qemu

Probably not.

comment:11 by waddlesplash, 3 years ago

Component: Drivers/DiskDrivers/Disk/MMC
Milestone: UnscheduledR1/beta3
Resolution: fixed
Status: in-progressclosed

MMC/SDHCI support implemented for PCI in hrev54840. Please open new tickets (under Drivers/Disk/MMC component, at least for now) if your device(s) are not yet supported so we can track them separately.

comment:12 by waddlesplash, 3 years ago

Type: taskenhancement
Note: See TracTickets for help on using tickets.