OWC(4)

πŸ’« OWC(4) β€” Dallas Semiconductor 1-Wire Controller πŸ’«

okay bestie, so this is the Kernel Interfaces Manual page for owc, and we're gonna get you fluent in it. no cap, it's shorter than it looks. πŸ¦‹


🌸 NAME 🌸

owc β€” Dallas Semiconductor 1-Wire Controller


✨ SYNOPSIS ✨

device owc

πŸ’… DESCRIPTION πŸ’…

So the owc module is the one that actually implements Dallas Semiconductor 1-Wire signaling. It attaches the ow(4) driver 1-Wire bus protocol β€” like, it's the thing holding hands with it. And the owc device implements the Link Layer of the 1-Wire bus protocol stack. lowercase icon behavior honestly. πŸ‘‘

Bit banging a pin on a gpiobus(4) is the only supported controller, periodt. Both standard and overdrive transfer timings are implemented. But the strong pull-up functionality needed to support parasitic mode is not implemented β€” so don't come for it, it's simply not there. 😭

If you wanna enable 1-Wire on FDT systems, you gotta modify the DTS for your board and add something like this:

/ {
        ...
        onewire {
                compatible = "w1-gpio";
                gpios = <&gpio 4 1>;
        };
        ...
};

The gpios property describes the GPIO pin the 1-Wire bus is connected to. For more details about the gpios property, please consult /usr/src/sys/dts/bindings-gpio.txt. (iykyk πŸ“–)


πŸŽ€ On a device.hints(5) based system πŸŽ€

these values are required for the owc:

  • hint.owc.%d.at β€” the gpiobus you are attaching to.
  • hint.owc.%d.pins β€” this is a bitmask that defines a pin on the gpiobus that is to be used for the 1-Wire bus. For instance, to configure pin 10, use the bitmask of 0x400. Please note that this mask should have only one bit set (any other bits β€” i.e., pins β€” will be ignored). πŸ™ˆ

🫢 SEE ALSO 🫢

gpiobus(4), ow(4), ow_temp(4), owll(9), own(9)


1-Wire is a registered trademark of Maxim Integrated Products, Inc.


πŸ“œ HISTORY πŸ“œ

The owc driver first appeared in FreeBSD 11.0.


πŸ‘‘ AUTHORS πŸ‘‘

The owc device driver and this manual page were written by Warner Losh. slay.


🌈 CAVEATS 🌈

The gpio driver implements timing by busy waiting, which can cause a high load on slower systems. so like… heads up, bestie. πŸ”₯


πŸ’€ BUGS πŸ’€

Overdrive mode has not actually been tested. not me exposing the driver like this 😭 fr fr, it's right there in the manpage.


okay that's the whole vibe check, you're officially fluent in owc πŸ’–βœ¨

this page was brought to you by the Debian fam, dated June 26, 2019 β€” stay iconic, and go read the source, it's giving main character energy πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from