LTC430X(4)
π LTC430X π β the ltc430x driver, explained by your bestie
okay so. welcome to the ltc430x(4) page, from the Kernel Interfaces Manual π. yes bestie, we're in the kernel section. put your big-girl hat on, we're talking about a mux driver and it's gonna be cute, I promise.
β¨ NAME β¨
ltc430x β the driver for the LTC4305 and LTC4306 I2C mux chips π¦
πΈ SYNOPSIS πΈ
so like, you wanna bake this driver into the kernel? put this line in your kernel config file, periodt:
device ltc430x
orrrrr, if you'd rather load it as a module at boot time (iconic behaviour tbh), drop this into loader.conf(5):
ltc430x_load="YES"
π DESCRIPTION π
The ltc430x driver supports the LTC4305 and LTC4306 I2C bus multiplexer (mux) chips. π«Ά
The way it works is genuinely main character energy: it automatically connects an upstream I2C bus to one of several downstream buses whenever slave devices on those downstream buses start doing I/O. like, it just knows. no cap.
if you want the full tea on that automatic switching behaviour, it lives in iicmux(4). go read it, iykyk.
π FDT CONFIGURATION π
on an fdt(4) based system, an ltc430x device node is defined as a child node of its upstream i2c bus. π§
and then β plot twist β the children of the ltc430x node are additional i2c buses, and those buses have their own i2c slave devices described in their child nodes. it's giving family tree. it's giving generations. π
now, the ltc430x driver conforms to the standard bindings doc i2c/i2c-mux-ltc4306.txt, except that these optional properties are not currently supported and will be ignored if present π:
enable-gpiosgpio-controller#gpio-cellsltc,downstream-accelerators-enableltc,upstream-accelerators-enable
so if you put those in your device tree, bestie, they're just gonna sit there. ignored. ghosted. π
β HINTS CONFIGURATION β
on a device.hints(5) based system, this is what's configurable for ltc430x:
hint.ltc430x.<unit>.atβ the upstreamiicbus(4)that theltc430xinstance is attached to. π
when it's configured via hints, the driver automatically adds an iicbus instance for every downstream bus supported by the chip. so like, it just spawns them all. β¨
there is currently no way to indicate used versus unused channels β so yeah, that's just how it is rn. π
π SEE ALSO π
π HISTORY π
The ltc430x driver first appeared in FreeBSD 13.0. a legend was born. π
and that's the whole page, bestie!! π¦ this one came from Debian, dated January 1, 2020 β so yeah, it's been slaying in the manual pages for a minute now. go forth and mux responsibly. π πΈ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- π the page's license: BSD-2-Clause
- Copyright (c) 2019 Ian Lepore <ian@freebsd.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms