files.i2c revision 1.113
11.113Sthorpej# $NetBSD: files.i2c,v 1.113 2020/12/28 20:29:57 thorpej Exp $ 21.1Sthorpej 31.43Sjmcneillobsolete defflag opt_i2cbus.h I2C_SCAN 41.1Sthorpejdefine i2cbus { } 51.1Sthorpejdefine i2cexec 61.1Sthorpej 71.93Sthorpejdevice iic { [addr = -1] } : i2c_bitbang 81.1Sthorpejattach iic at i2cbus 91.44Sjmcneillfile dev/i2c/i2c.c iic 101.1Sthorpejfile dev/i2c/i2c_exec.c iic | i2cbus | i2cexec 111.70Spgoyettefile dev/i2c/i2c_subr.c i2cbus 121.59Sjmcneilldefparam opt_i2c.h I2C_MAX_ADDR 131.1Sthorpej 141.1Sthorpej# Common module for bit-bang'ing an I2C bus 151.1Sthorpejdefine i2c_bitbang 161.1Sthorpejfile dev/i2c/i2c_bitbang.c i2c_bitbang 171.1Sthorpej 181.113Sthorpej# Common module for i2c mux support 191.113Sthorpejdefine i2cmux 201.113Sthorpejfile dev/i2c/i2cmux.c i2cmux 211.113Sthorpej 221.30Sjmcneill# Auvitek AU8522 decoder 231.30Sjmcneilldefine au8522: i2cexec 241.30Sjmcneillfile dev/i2c/au8522.c au8522 251.30Sjmcneill 261.37Sjmcneill# LG DT3303 decoder 271.42Sjmcneilldefine lg3303: i2cexec, dtv_math 281.37Sjmcneillfile dev/i2c/lg3303.c lg3303 291.37Sjmcneill 301.37Sjmcneill# Xceive XC3028 tuner 311.42Sjmcneilldefine xc3028: i2cexec, firmload 321.37Sjmcneillfile dev/i2c/xc3028.c xc3028 331.37Sjmcneill 341.30Sjmcneill# Xceive XC5000 tuner 351.37Sjmcneilldefine xc5k: i2cexec, firmload 361.30Sjmcneillfile dev/i2c/xc5k.c xc5k 371.30Sjmcneill 381.35Sjakllsch# Generic PLL-based tuners 391.35Sjakllschdefine tvpll: i2cexec 401.35Sjakllschfile dev/i2c/tvpll.c tvpll 411.35Sjakllschfile dev/i2c/tvpll_tuners.c tvpll 421.35Sjakllsch 431.36Sjakllsch# Nextwave NXT200x demodulator 441.38Sjmcneilldefine nxt2k: i2cexec, firmload 451.36Sjakllschfile dev/i2c/nxt2k.c nxt2k 461.36Sjakllsch 471.39Sjakllsch# Microtune MT2131 silicon tuner 481.39Sjakllschdefine mt2131: i2cexec 491.39Sjakllschfile dev/i2c/mt2131.c mt2131 501.39Sjakllsch 511.40Sjakllsch# Conexant/Samsung CX24227/S5H1409 demodulator 521.40Sjakllschdefine cx24227: i2cexec 531.40Sjakllschfile dev/i2c/cx24227.c cx24227 541.40Sjakllsch 551.1Sthorpej# 561.31Smatt# I2C master devices 571.31Smatt# 581.31Smattdefine motoi2c 591.31Smattfile dev/i2c/motoi2c.c motoi2c 601.51Smattdefine mvi2c 611.51Smattfile dev/i2c/gttwsi_core.c mvi2c 621.31Smatt 631.31Smatt# 641.1Sthorpej# I2C client devices 651.1Sthorpej# 661.1Sthorpej 671.1Sthorpej# M41T00 Real Time Clock 681.3Sbriggsdevice m41trtc 691.3Sbriggsattach m41trtc at iic 701.3Sbriggsfile dev/i2c/m41t00.c m41trtc 711.1Sthorpej 721.1Sthorpej# M41ST84 Real Time Clock 731.1Sthorpejdevice strtc 741.1Sthorpejattach strtc at iic 751.1Sthorpejfile dev/i2c/m41st84.c strtc 761.1Sthorpej 771.1Sthorpej# MAX6900 Real Time Clock 781.1Sthorpejdevice maxrtc 791.1Sthorpejattach maxrtc at iic 801.1Sthorpejfile dev/i2c/max6900.c maxrtc 811.1Sthorpej 821.32Sjakllsch# NXP/Philips PCF8563 Real Time Clock 831.32Sjakllschdevice pcf8563rtc 841.32Sjakllschattach pcf8563rtc at iic 851.32Sjakllschfile dev/i2c/pcf8563.c pcf8563rtc 861.32Sjakllsch 871.1Sthorpej# Philips PCF8583 Real Time Clock 881.1Sthorpejdevice pcfrtc 891.1Sthorpejattach pcfrtc at iic 901.1Sthorpejfile dev/i2c/pcf8583.c pcfrtc 911.1Sthorpej 921.34Sphx# Seiko Instruments S-xx390A Real Time Clock 931.34Sphxdevice s390rtc 941.34Sphxattach s390rtc at iic 951.34Sphxfile dev/i2c/s390.c s390rtc 961.34Sphx 971.1Sthorpej# Atmel/Microchip 24Cxx Serial EEPROM 981.1Sthorpejdefine at24cxx_eeprom 991.1Sthorpejdevice seeprom 1001.1Sthorpejattach seeprom at iic 1011.1Sthorpejfile dev/i2c/at24cxx.c seeprom | at24cxx_eeprom 1021.1Sthorpej needs-flag 1031.1Sthorpej 1041.1Sthorpej# National Semiconductor LM75 temperature sensor 1051.1Sthorpejdevice lmtemp: sysmon_envsys 1061.1Sthorpejattach lmtemp at iic 1071.1Sthorpejfile dev/i2c/lm75.c lmtemp 1081.1Sthorpej 1091.54Skardel# IST-AG Humidity and Teperature sensor (P14) 1101.54Skardeldevice hythygtemp: sysmon_envsys 1111.54Skardelattach hythygtemp at iic 1121.54Skardelfile dev/i2c/hytp14.c hythygtemp 1131.54Skardel 1141.21Spgoyette# National Semiconductor LM78 temp sensor/fan controller 1151.21Spgoyetteattach lm at iic with lm_iic 1161.21Spgoyettefile dev/i2c/lm_i2c.c lm_iic 1171.21Spgoyette 1181.53Sjdc# National Semiconductor LM87 and clones system hardware monitor 1191.53Sjdcdevice lmenv: sysmon_envsys 1201.53Sjdcattach lmenv at iic 1211.53Sjdcfile dev/i2c/lm87.c lmenv 1221.53Sjdc 1231.1Sthorpej# Dallas DS1307 Real Time Clock 1241.58Suebayasidevice dsrtc: sysmon_envsys 1251.1Sthorpejattach dsrtc at iic 1261.1Sthorpejfile dev/i2c/ds1307.c dsrtc 1271.97Smacallandefflag opt_dsrtc.h DSRTC_YEAR_START_2K 1281.2Sshige 1291.2Sshige# Xicor X1226 Real Time Clock 1301.2Sshigedevice xrtc 1311.2Sshigeattach xrtc at iic 1321.2Sshigefile dev/i2c/x1226.c xrtc 1331.4Smacallan 1341.19Spgoyette# Analog Devices dBCool family of thermal monitors / fan controllers 1351.19Spgoyettedevice dbcool: sysmon_envsys 1361.19Spgoyetteattach dbcool at iic 1371.19Spgoyettefile dev/i2c/dbcool.c dbcool 1381.19Spgoyette 1391.5Snonaka# RICOH RS5C372[AB] Real Time Clock 1401.5Snonakadevice rs5c372rtc 1411.5Snonakaattach rs5c372rtc at iic 1421.5Snonakafile dev/i2c/rs5c372.c rs5c372rtc 1431.8Sshige 1441.8Sshige# RICOH R2025S/D Real Time Clock 1451.8Sshigedevice r2025rtc 1461.8Sshigeattach r2025rtc at iic 1471.8Sshigefile dev/i2c/r2025.c r2025rtc 1481.9Sgdamore 1491.9Sgdamore# VESA Display Data Channel 2 1501.9Sgdamoredevice ddc 1511.10Sgdamoredefine ddc_read_edid 1521.9Sgdamoreattach ddc at iic 1531.10Sgdamorefile dev/i2c/ddc.c ddc | ddc_read_edid 1541.11Sjmcneill 1551.14Smacallan# SGS TDA7433 audio mixer 1561.16Smacallandevice sgsmix 1571.16Smacallanattach sgsmix at iic 1581.14Smacallanfile dev/i2c/sgsmix.c sgsmix needs-flag 1591.16Smacallandefflag opt_sgsmix.h SGSMIX_DEBUG 1601.14Smacallan 1611.15Stnn# Memory Serial Presence Detect 1621.27Spgoyetteattach spdmem at iic with spdmem_iic 1631.27Spgoyettefile dev/i2c/spdmem_i2c.c spdmem_iic 1641.22Sjkunz 1651.24Spgoyette# Memory Temp Sensor 1661.25Spgoyettedevice sdtemp: sysmon_envsys 1671.24Spgoyetteattach sdtemp at iic 1681.24Spgoyettefile dev/i2c/sdtemp.c sdtemp 1691.24Spgoyette 1701.51Smatt# DS1672 Real Time Clock 1711.51Smattdevice ds1672rtc 1721.51Smattattach ds1672rtc at iic 1731.51Smattfile dev/i2c/ds1672.c ds1672rtc 1741.51Smatt 1751.22Sjkunz# ADM1021 1761.23Snakayamadevice admtemp: sysmon_envsys 1771.22Sjkunzattach admtemp at iic 1781.22Sjkunzfile dev/i2c/adm1021.c admtemp 1791.26Spgoyette 1801.69Sjdc# ADM1026 hardware monitor 1811.69Sjdcdevice adm1026hm: sysmon_envsys 1821.69Sjdcattach adm1026hm at iic 1831.69Sjdcfile dev/i2c/adm1026.c adm1026hm 1841.69Sjdc 1851.26Spgoyette# SMSC LPC47M192 hardware monitor 1861.26Spgoyettedevice smscmon: sysmon_envsys 1871.26Spgoyetteattach smscmon at iic 1881.26Spgoyettefile dev/i2c/smscmon.c smscmon 1891.28Skiyohara 1901.28Skiyohara# G760a FAN controller 1911.28Skiyoharadevice g760a: sysmon_envsys 1921.28Skiyoharaattach g760a at iic 1931.28Skiyoharafile dev/i2c/g760a.c g760a 1941.33Shannken 1951.33Shannken# IBM Hawk Integrated Systems Management Processor 1961.33Shannkendevice ibmhawk: sysmon_envsys 1971.33Shannkenattach ibmhawk at iic 1981.33Shannkenfile dev/i2c/ibmhawk.c ibmhawk 1991.46Sjmcneill 2001.48Srkujawa# TI TPS65217 2011.101Sjmcneilldevice tps65217pmic { }: sysmon_envsys 2021.101Sjmcneilldevice tps65217reg: tps65217pmic 2031.48Srkujawaattach tps65217pmic at iic 2041.101Sjmcneillattach tps65217reg at tps65217pmic 2051.72Skiyoharafile dev/i2c/tps65217pmic.c tps65217pmic needs-flag 2061.48Srkujawa 2071.49Srkujawa# Microchip MCP980x 2081.49Srkujawadevice mcp980x: sysmon_envsys 2091.49Srkujawaattach mcp980x at iic 2101.49Srkujawafile dev/i2c/mcp980x.c mcp980x 2111.49Srkujawa 2121.50Ssoren# Nuvoton W83795G/ADG Hardware Monitor 2131.50Ssorendevice w83795g: gpiobus, sysmon_envsys, sysmon_wdog 2141.50Ssorenattach w83795g at iic 2151.50Ssorenfile dev/i2c/w83795g.c w83795g 2161.52Srkujawa 2171.52Srkujawa# Freescale MPL115A2 2181.52Srkujawadevice mpl115a: sysmon_envsys 2191.52Srkujawaattach mpl115a at iic 2201.52Srkujawafile dev/i2c/mpl115a.c mpl115a 2211.52Srkujawa 2221.56Sjmcneill# AXP20x Power Management Unit 2231.78Sjmcneilldevice axp20x { }: sysmon_envsys 2241.78Sjmcneilldevice axp20xreg: axp20x 2251.56Sjmcneillattach axp20x at iic 2261.78Sjmcneillattach axp20xreg at axp20x 2271.66Sjmcneillfile dev/i2c/axp20x.c axp20x needs-flag 2281.57Sjmcneill 2291.57Sjmcneill# AXP22x Power Management Unit 2301.57Sjmcneilldevice axp22x: sysmon_envsys 2311.57Sjmcneillattach axp22x at iic 2321.57Sjmcneillfile dev/i2c/axp22x.c axp22x 2331.60Sjmcneill 2341.90Sjmcneill# X-Powers AXP Power Management IC 2351.91Sjmcneilldevice axppmic { }: sysmon_envsys, sysmon_taskq 2361.90Sjmcneilldevice axpreg: axppmic 2371.90Sjmcneillattach axppmic at iic 2381.90Sjmcneillattach axpreg at axppmic 2391.90Sjmcneillfile dev/i2c/axppmic.c axppmic 2401.60Sjmcneill 2411.60Sjmcneill# AXP809 Power Management Unit 2421.60Sjmcneilldevice axp809pm 2431.60Sjmcneillattach axp809pm at iic 2441.60Sjmcneillfile dev/i2c/axp809.c axp809pm needs-flag 2451.61Sjmcneill 2461.61Sjmcneill# AC100 integrated audio codec and RTC 2471.61Sjmcneilldevice ac100ic 2481.61Sjmcneillattach ac100ic at iic 2491.61Sjmcneillfile dev/i2c/ac100.c ac100ic needs-flag 2501.62Sjmcneill 2511.62Sjmcneill# ACT8846 Power Management Unit 2521.62Sjmcneilldevice act8846pm 2531.62Sjmcneillattach act8846pm at iic 2541.62Sjmcneillfile dev/i2c/act8846.c act8846pm needs-flag 2551.65Sjmcneill 2561.65Sjmcneill# Texas Instruments TMP451 Temperature Sensor 2571.65Sjmcneilldevice titemp: sysmon_envsys 2581.65Sjmcneillattach titemp at iic 2591.65Sjmcneillfile dev/i2c/titemp.c titemp 2601.67Sjmcneill 2611.67Sjmcneill# AMS AS3722 Power Management IC 2621.73Sjmcneilldevice as3722pmic { }: sysmon_wdog 2631.73Sjmcneilldevice as3722reg: as3722pmic 2641.67Sjmcneillattach as3722pmic at iic 2651.73Sjmcneillattach as3722reg at as3722pmic 2661.67Sjmcneillfile dev/i2c/as3722.c as3722pmic needs-flag 2671.74Sjmcneill 2681.74Sjmcneill# Texas Instruments TCA8418 Keypad Scan IC 2691.75Sjmcneilldevice tcakp: wskbddev, linux_keymap 2701.74Sjmcneillattach tcakp at iic 2711.74Sjmcneillfile dev/i2c/tcakp.c tcakp 2721.76Sjmcneill 2731.76Sjmcneill# MAXIM MAX77620 Power Management IC 2741.76Sjmcneilldevice max77620pmic 2751.76Sjmcneillattach max77620pmic at iic 2761.76Sjmcneillfile dev/i2c/max77620.c max77620pmic 2771.76Sjmcneill 2781.76Sjmcneill# Texas Instruments TCA9539 I/O Expander 2791.76Sjmcneilldevice tcagpio 2801.76Sjmcneillattach tcagpio at iic 2811.76Sjmcneillfile dev/i2c/tcagpio.c tcagpio 2821.77Sjmcneill 2831.80Schristos# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor 2841.80Schristosdevice si70xxtemp 2851.80Schristosattach si70xxtemp at iic 2861.80Schristosfile dev/i2c/si70xx.c si70xxtemp 2871.80Schristos 2881.80Schristos# Aosong AM2315 Temperature and Humidity sensor 2891.80Schristosdevice am2315temp 2901.80Schristosattach am2315temp at iic 2911.80Schristosfile dev/i2c/am2315.c am2315temp 2921.80Schristos 2931.77Sjmcneill# Silergy SY8106A regulator 2941.77Sjmcneilldevice sy8106a 2951.77Sjmcneillattach sy8106a at iic 2961.77Sjmcneillfile dev/i2c/sy8106a.c sy8106a 2971.79Sbouyer 2981.82Smacallan# Maxim DS1631 High-Precision Digital Thermometer and Thermostat 2991.82Smacallandevice dstemp: sysmon_envsys 3001.82Smacallanattach dstemp at iic 3011.82Smacallanfile dev/i2c/dstemp.c dstemp 3021.82Smacallan 3031.81Suwe# EM3027 Real Time Clock and Temperature Sensor 3041.81Suwedevice em3027rtc: sysmon_envsys 3051.81Suweattach em3027rtc at iic 3061.81Suwefile dev/i2c/em3027.c em3027rtc 3071.81Suwe 3081.85Smacallan# Apple Fan Control Unit found in some G5 3091.85Smacallandevice fcu: sysmon_envsys 3101.85Smacallanattach fcu at iic 3111.87Smacallanfile dev/i2c/fcu.c fcu needs-flag 3121.85Smacallan 3131.86Smacallan# Analog Devices AD7417 thermometer and ADC 3141.86Smacallandevice adadc: sysmon_envsys 3151.86Smacallanattach adadc at iic 3161.86Smacallanfile dev/i2c/adadc.c adadc 3171.86Smacallan 3181.111Smacallan# Apple Sudden Motion Sensor 3191.111Smacallandevice asms: sysmon_envsys 3201.111Smacallanattach asms at iic 3211.111Smacallanfile dev/i2c/asms.c asms 3221.111Smacallan 3231.79Sbouyer# HID over i2c 3241.79Sbouyer# HID "bus" 3251.79Sbouyerdefine ihidbus {[ reportid = -1 ]} 3261.79Sbouyer 3271.79Sbouyer# HID root device for multiple report IDs 3281.79Sbouyerdevice ihidev: hid, ihidbus 3291.79Sbouyerattach ihidev at iic 3301.79Sbouyerfile dev/i2c/ihidev.c ihidev 3311.79Sbouyer 3321.79Sbouyer#HID mice 3331.79Sbouyerdevice ims: hid, hidms, wsmousedev 3341.79Sbouyerattach ims at ihidbus 3351.79Sbouyerfile dev/i2c/ims.c ims 3361.79Sbouyer 3371.79Sbouyer#HID multitouch 3381.79Sbouyerdevice imt: hid, hidmt, wsmousedev 3391.79Sbouyerattach imt at ihidbus 3401.79Sbouyerfile dev/i2c/imt.c imt 3411.92Sthorpej 3421.92Sthorpej# Taos TSL256x ambient light sensor 3431.92Sthorpejdevice tsllux: sysmon_envsys 3441.92Sthorpejattach tsllux at iic 3451.92Sthorpejfile dev/i2c/tsl256x.c tsllux 3461.94Srkujawa 3471.94Srkujawa# Philips/NXP TEA5767 3481.94Srkujawadevice tea5767radio : radiodev 3491.94Srkujawaattach tea5767radio at iic 3501.94Srkujawafile dev/i2c/tea5767.c tea5767radio 3511.94Srkujawa 3521.95Sjmcneill# Fairchild FAN53555 / Silergy SY82x regulator 3531.95Sjmcneilldevice fan53555reg 3541.95Sjmcneillattach fan53555reg at iic 3551.95Sjmcneillfile dev/i2c/fan53555.c fan53555reg 3561.96Sjmcneill 3571.96Sjmcneill# Rockchip Power Management IC 3581.96Sjmcneilldevice rkpmic { } 3591.96Sjmcneilldevice rkreg: rkpmic 3601.96Sjmcneillattach rkpmic at iic 3611.96Sjmcneillattach rkreg at rkpmic 3621.96Sjmcneillfile dev/i2c/rkpmic.c rkpmic 3631.98Sjmcneill 3641.99Stnn# SSD1306 or SH1106 OLED/PLED display 3651.99Stnnattach ssdfb at iic with ssdfb_iic 3661.99Stnnfile dev/i2c/ssdfb_i2c.c ssdfb_iic 3671.99Stnn 3681.98Sjmcneill# Analogix ANX6345 eDP transmitter 3691.98Sjmcneilldevice anxedp: edid, videomode, drmkms, drmkms_i2c 3701.98Sjmcneillattach anxedp at iic 3711.98Sjmcneillfile dev/i2c/anxedp.c anxedp 3721.100Sthorpej 3731.100Sthorpej# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller 3741.100Sthorpejdevice pcapwm: pwm 3751.100Sthorpejattach pcapwm at iic 3761.100Sthorpejfile dev/i2c/pca9685.c pcapwm 3771.102Sjmcneill 3781.102Sjmcneill# TI TWL4030 Power Management IC 3791.102Sjmcneilldevice twl 3801.102Sjmcneillattach twl at iic 3811.102Sjmcneillfile dev/i2c/twl4030.c twl 3821.104Sjmcneill 3831.104Sjmcneill# NXP TDA19988 HDMI encoder 3841.104Sjmcneilldevice tdahdmi: edid, videomode, drmkms, drmkms_i2c 3851.104Sjmcneillattach tdahdmi at iic 3861.104Sjmcneillfile dev/i2c/tda19988.c tdahdmi 3871.105Sjmcneill 3881.105Sjmcneill# Everest Semi ES8316 Low Power Audio CODEC 3891.105Sjmcneilldevice es8316ac 3901.105Sjmcneillattach es8316ac at iic 3911.105Sjmcneillfile dev/i2c/es8316ac.c es8316ac 3921.107Sjmcneill 3931.107Sjmcneill# CellWise CW2015 Fuel Gauge IC 3941.107Sjmcneilldevice cwfg: sysmon_envsys 3951.107Sjmcneillattach cwfg at iic 3961.107Sjmcneillfile dev/i2c/cwfg.c cwfg 3971.109Smacallan 3981.109Smacallan# Philips PCA955x GPIO 3991.110Smacallandevice pcagpio: leds 4001.109Smacallanattach pcagpio at iic 4011.109Smacallanfile dev/i2c/pcagpio.c pcagpio 4021.112Sjdc 4031.112Sjdc# Philips PCF8574 IO expander 4041.112Sjdcdevice pcf8574io: leds, sysmon_envsys 4051.112Sjdcattach pcf8574io at iic 4061.112Sjdcfile dev/i2c/pcf8574.c pcf8574io 407