Page MenuHomeFreeBSD

QCOM GENI I²C driver
ClosedPublic

Authored by phk on Apr 5 2025, 7:00 PM.
Tags
None
Referenced Files
F123775845: D49676.diff
Fri, Jul 18, 8:53 PM
Unknown Object (File)
Mon, Jul 14, 2:42 AM
Unknown Object (File)
Thu, Jul 10, 3:13 AM
Unknown Object (File)
Sun, Jul 6, 6:50 PM
Unknown Object (File)
Sun, Jul 6, 6:20 PM
Unknown Object (File)
Sat, Jul 5, 8:00 PM
Unknown Object (File)
Fri, Jul 4, 6:19 AM
Unknown Object (File)
Fri, Jul 4, 5:54 AM
Subscribers

Details

Summary

This is a from scratch, minimally viable, I²C driver for QCOM's GENI serial engine.

No QCOM documentation is available, so other FOSS device drivers were consulted to figure things out

The driver works on T14s G6 "Snapdragon" hardware, to such a degree that ACPI clients and HID devices work (polling mode & needs modifications to iichid)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

phk requested review of this revision.Apr 5 2025, 7:00 PM
phk created this revision.
/usr/src/sys/dev/iicbus/controller/qcom/geni_iic.c
181

Are these status bits not documented in linux?

307

do you need a space between " and slave?

/usr/src/sys/dev/iicbus/controller/qcom/geni_iic.c
181

They have GPL-2.0'ed .h file with a boatload of #defines, but I would not call it "documentation"

Given that this driver is written pretty "blind" I did not want the source to give the impression that I actually know what I'm doing...

307

Probably not a bad idea :-)

I think it's fine to land as-is and clean it up as we need to.

I'm going to need to write an FDT stub when I get enough clock/reset/gpio/pinmux stuff written anyway, so that'll likely be the next time I poke at this.

Thanks for doing it!

/usr/src/sys/dev/iicbus/controller/qcom/geni_iic.c
181

Eh we can clean it up after it's in the tree.

This revision is now accepted and ready to land.Apr 8 2025, 4:24 AM
This revision was automatically updated to reflect the committed changes.