Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) w1_ds2406 kernel driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)   * Maxim DS2406 (and other family 0x12) addressable switches
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) Author: Scott Alfter <scott@alfter.us>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) The w1_ds2406 driver allows connected devices to be switched on and off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) These chips also provide 128 bytes of OTP EPROM, but reading/writing it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) not supported.  In TSOC-6 form, the DS2406 provides two switch outputs and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) can be provided with power on a dedicated input.  In TO-92 form, it provides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) one output and uses parasitic power only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) The driver provides two sysfs files.  state is readable; it gives the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) current state of each switch, with PIO A in bit 0 and PIO B in bit 1.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) driver ORs this state with 0x30, so shell scripts get an ASCII 0/1/2/3 to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) work with.  output is writable; bits 0 and 1 control PIO A and B,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) respectively.  Bits 2-7 are ignored, so it's safe to write ASCII data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) CRCs are checked on read and write.  Failed checks cause an I/O error to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) returned.  On a failed write, the switch status is not changed.