head 1.1; access; symbols netbsd-10-2-RELEASE:1.1 netbsd-11-0-RELEASE:1.1 netbsd-11-0-RC7:1.1 netbsd-11-0-RC6:1.1 netbsd-11-0-RC5:1.1 netbsd-11-0-RC4:1.1 netbsd-11-0-RC3:1.1 netbsd-11-0-RC2:1.1 netbsd-11-0-RC1:1.1 perseant-exfatfs-base-20250801:1.1 netbsd-11:1.1.0.36 netbsd-11-base:1.1 netbsd-10-1-RELEASE:1.1 perseant-exfatfs-base-20240630:1.1 perseant-exfatfs:1.1.0.34 perseant-exfatfs-base:1.1 netbsd-10-0-RELEASE:1.1 netbsd-10-0-RC6:1.1 netbsd-10-0-RC5:1.1 netbsd-10-0-RC4:1.1 netbsd-10-0-RC3:1.1 netbsd-10-0-RC2:1.1 thorpej-ifq:1.1.0.32 thorpej-ifq-base:1.1 thorpej-altq-separation:1.1.0.30 thorpej-altq-separation-base:1.1 netbsd-10-0-RC1:1.1 netbsd-10:1.1.0.28 netbsd-10-base:1.1 bouyer-sunxi-drm:1.1.0.26 bouyer-sunxi-drm-base:1.1 thorpej-i2c-spi-conf2:1.1.0.24 thorpej-i2c-spi-conf2-base:1.1 thorpej-futex2:1.1.0.22 thorpej-futex2-base:1.1 thorpej-cfargs2:1.1.0.20 thorpej-cfargs2-base:1.1 cjep_sun2x-base1:1.1 cjep_sun2x:1.1.0.18 cjep_sun2x-base:1.1 cjep_staticlib_x-base1:1.1 cjep_staticlib_x:1.1.0.16 cjep_staticlib_x-base:1.1 thorpej-i2c-spi-conf:1.1.0.14 thorpej-i2c-spi-conf-base:1.1 thorpej-cfargs:1.1.0.12 thorpej-cfargs-base:1.1 thorpej-futex:1.1.0.10 thorpej-futex-base:1.1 bouyer-xenpvh-base2:1.1 phil-wifi-20200421:1.1 bouyer-xenpvh-base1:1.1 phil-wifi-20200411:1.1 bouyer-xenpvh:1.1.0.8 bouyer-xenpvh-base:1.1 phil-wifi:1.1.0.6 is-mlppp:1.1.0.4 is-mlppp-base:1.1 phil-wifi-20200406:1.1 ad-namecache:1.1.0.2 ad-namecache-base3:1.1; locks; strict; comment @# @; 1.1 date 2020.01.31.06.05.00; author macallan; state Exp; branches 1.1.2.1 1.1.6.1; next ; commitid EACpOGlc40Uy2OUB; 1.1.2.1 date 2020.01.31.06.05.00; author ad; state dead; branches; next 1.1.2.2; commitid 3HPOJ2wqM6gUPBYB; 1.1.2.2 date 2020.02.29.20.18.31; author ad; state Exp; branches; next ; commitid 3HPOJ2wqM6gUPBYB; 1.1.6.1 date 2020.01.31.06.05.00; author martin; state dead; branches; next 1.1.6.2; commitid Qli2aW9E74UFuA3C; 1.1.6.2 date 2020.04.08.14.07.54; author martin; state Exp; branches; next ; commitid Qli2aW9E74UFuA3C; desc @@ 1.1 log @document what I found out about the v210's i2c GPIOs. @ text @This is about the i2c GPIO chips found in the Sun Fire v210, starting at /pci/isa@@7/i2c@@0,320/gpio@@0,44 Input/Output assignments and levels are what the firmware leaves us with - all LEDs off except the power one. All known pin functions were determined by experiment. No idea what the undocumented pins do, if anything. [ 1.000000] pcagpio0 at iic0 addr 0x22: PCA9555 [ 1.000000] dir: I-IIIIIIIIIIIIII [ 1.000000] lvl: X XXXX XXX XXXX [ 1.000000] dir: -O-------------- [ 1.000000] lvl: X ^ 0x0400 clears when the case is open [ 1.000000] pcagpio1 at iic0 addr 0x23: PCA9555 [ 1.000000] dir: ------IIIIIIIIII [ 1.000000] lvl: XXXXXXXX [ 1.000000] dir: OOOOOO---------- [ 1.000000] lvl: XXXXXX Bit 0x0002 gets set when bay 1 is empty, I would assume 0x0001 is for bay 0. The output bits seem to control the drive bay LEDs 0x2000 - bay 1, blue LED 0x1000 - bay 0, blue LED 0x0800 - bay 1, both LEDs orange 0x0400 - bay 0, both LEDs orange all low active, the remaining outputs don't seem to do anything. [ 1.000000] pcagpio2 at iic0 addr 0x34: PCA9555 [ 1.000000] dir: --II----IIIIIIII [ 1.000000] lvl: X XXXXXXXX [ 1.000000] dir: OO--OOOO-------- [ 1.000000] lvl: XX XXXX clearing 0x0300 reset the machine probably controls redundant / hot-swappable power supplies on v240. [ 1.000000] pcagpio3 at iic0 addr 0x38: PCA9556 [ 1.000000] dir: ---------------- [ 1.000000] lvl: [ 1.000000] dir: OOOOOOOOOOOOOOOO [ 1.000000] lvl: XXX XXXX This controls the front panel LEDs 0x80 - indicator LED 0x20 - fault LED 0x10 - power LED all low active, the remaining outputs don't seem to do anything. @ 1.1.6.1 log @file SunFire_v210.txt was added on branch phil-wifi on 2020-04-08 14:07:54 +0000 @ text @d1 47 @ 1.1.6.2 log @Merge changes from current as of 20200406 @ text @a0 47 This is about the i2c GPIO chips found in the Sun Fire v210, starting at /pci/isa@@7/i2c@@0,320/gpio@@0,44 Input/Output assignments and levels are what the firmware leaves us with - all LEDs off except the power one. All known pin functions were determined by experiment. No idea what the undocumented pins do, if anything. [ 1.000000] pcagpio0 at iic0 addr 0x22: PCA9555 [ 1.000000] dir: I-IIIIIIIIIIIIII [ 1.000000] lvl: X XXXX XXX XXXX [ 1.000000] dir: -O-------------- [ 1.000000] lvl: X ^ 0x0400 clears when the case is open [ 1.000000] pcagpio1 at iic0 addr 0x23: PCA9555 [ 1.000000] dir: ------IIIIIIIIII [ 1.000000] lvl: XXXXXXXX [ 1.000000] dir: OOOOOO---------- [ 1.000000] lvl: XXXXXX Bit 0x0002 gets set when bay 1 is empty, I would assume 0x0001 is for bay 0. The output bits seem to control the drive bay LEDs 0x2000 - bay 1, blue LED 0x1000 - bay 0, blue LED 0x0800 - bay 1, both LEDs orange 0x0400 - bay 0, both LEDs orange all low active, the remaining outputs don't seem to do anything. [ 1.000000] pcagpio2 at iic0 addr 0x34: PCA9555 [ 1.000000] dir: --II----IIIIIIII [ 1.000000] lvl: X XXXXXXXX [ 1.000000] dir: OO--OOOO-------- [ 1.000000] lvl: XX XXXX clearing 0x0300 reset the machine probably controls redundant / hot-swappable power supplies on v240. [ 1.000000] pcagpio3 at iic0 addr 0x38: PCA9556 [ 1.000000] dir: ---------------- [ 1.000000] lvl: [ 1.000000] dir: OOOOOOOOOOOOOOOO [ 1.000000] lvl: XXX XXXX This controls the front panel LEDs 0x80 - indicator LED 0x20 - fault LED 0x10 - power LED all low active, the remaining outputs don't seem to do anything. @ 1.1.2.1 log @file SunFire_v210.txt was added on branch ad-namecache on 2020-02-29 20:18:31 +0000 @ text @d1 47 @ 1.1.2.2 log @Sync with head. @ text @a0 47 This is about the i2c GPIO chips found in the Sun Fire v210, starting at /pci/isa@@7/i2c@@0,320/gpio@@0,44 Input/Output assignments and levels are what the firmware leaves us with - all LEDs off except the power one. All known pin functions were determined by experiment. No idea what the undocumented pins do, if anything. [ 1.000000] pcagpio0 at iic0 addr 0x22: PCA9555 [ 1.000000] dir: I-IIIIIIIIIIIIII [ 1.000000] lvl: X XXXX XXX XXXX [ 1.000000] dir: -O-------------- [ 1.000000] lvl: X ^ 0x0400 clears when the case is open [ 1.000000] pcagpio1 at iic0 addr 0x23: PCA9555 [ 1.000000] dir: ------IIIIIIIIII [ 1.000000] lvl: XXXXXXXX [ 1.000000] dir: OOOOOO---------- [ 1.000000] lvl: XXXXXX Bit 0x0002 gets set when bay 1 is empty, I would assume 0x0001 is for bay 0. The output bits seem to control the drive bay LEDs 0x2000 - bay 1, blue LED 0x1000 - bay 0, blue LED 0x0800 - bay 1, both LEDs orange 0x0400 - bay 0, both LEDs orange all low active, the remaining outputs don't seem to do anything. [ 1.000000] pcagpio2 at iic0 addr 0x34: PCA9555 [ 1.000000] dir: --II----IIIIIIII [ 1.000000] lvl: X XXXXXXXX [ 1.000000] dir: OO--OOOO-------- [ 1.000000] lvl: XX XXXX clearing 0x0300 reset the machine probably controls redundant / hot-swappable power supplies on v240. [ 1.000000] pcagpio3 at iic0 addr 0x38: PCA9556 [ 1.000000] dir: ---------------- [ 1.000000] lvl: [ 1.000000] dir: OOOOOOOOOOOOOOOO [ 1.000000] lvl: XXX XXXX This controls the front panel LEDs 0x80 - indicator LED 0x20 - fault LED 0x10 - power LED all low active, the remaining outputs don't seem to do anything. @