IG4(4)

πŸ’– IG4 β€” Synopsys DesignWare I2C Controller πŸ’–

okay bestie, so this is the ig4 page from the Kernel Interfaces Manual, and we're gonna get you fluent in it, no cap. it's giving "small driver, big personality." let's GO ✨


🌸 SYNOPSIS 🌸

so like, there are two ways to get this driver into your life. option one, the main character route β€” compile it straight into the kernel. drop these exact lines into your kernel configuration file:

device ig4
device iicbus

OR, if you're more of a "load it as a module at boot time" girlie, put this line in loader.conf(5):

ig4_load="YES"

periodt. that's the whole vibe check. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

the ig4 driver gives you access to peripherals attached to an I2C controller. that's it, that's the whole thing β€” it's your little backstage pass to the I2C party. πŸŽ€


πŸ”₯ HARDWARE πŸ”₯

not every machine gets to sit with us, okay? ig4 supports the I2C controllers based on Synopsys DesignWare IP, and you'll find those in:

  • Intel(R) Core(TM) processors starting from the fourth generation πŸ‘‘
  • Intel(R) Bay Trail
  • Apollo Lake SoC families
  • and some AMD systems 🫢

so yeah, if your silicon's on the list, you're in. if not… it's not you, it's your hardware 😭


✨ SYSCTL VARIABLES ✨

these sysctl(8) variables are available, and there's literally just one:

  • debug.ig4_dump β€” okay so this one is a zero-based bit mask 🧚 when any of the bits are set, a register dump gets printed for every single I2C transfer on an ig4 device with the same unit number. so like, set the bit, get the tea. every transfer, dumped. no filter, no chill πŸ’€

🌈 SEE ALSO 🌈

go read these next, they're iconic:


πŸ’œ AUTHORS πŸ’œ

the ig4 driver was written for DragonFly BSD by Matthew Dillon and subsequently ported to FreeBSD by Michael Gmelin <freebsd@grem.de> 🌟

this manual page was written by Michael Gmelin <freebsd@grem.de> ✍️


and that's a wrap bestie πŸŽ€ this was the Debian version, dated September 13, 2018 β€” oldie but a goodie, and she ATE, fr fr. go forth and talk to your peripherals πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from