1# $NetBSD: files.i2c,v 1.111 2020/04/24 12:38:31 macallan Exp $ 2 3obsolete defflag opt_i2cbus.h I2C_SCAN 4define i2cbus { } 5define i2cexec 6 7device iic { [addr = -1] } : i2c_bitbang 8attach iic at i2cbus 9file dev/i2c/i2c.c iic 10file dev/i2c/i2c_exec.c iic | i2cbus | i2cexec 11file dev/i2c/i2c_subr.c i2cbus 12defparam opt_i2c.h I2C_MAX_ADDR 13 14# Common module for bit-bang'ing an I2C bus 15define i2c_bitbang 16file dev/i2c/i2c_bitbang.c i2c_bitbang 17 18# Auvitek AU8522 decoder 19define au8522: i2cexec 20file dev/i2c/au8522.c au8522 21 22# LG DT3303 decoder 23define lg3303: i2cexec, dtv_math 24file dev/i2c/lg3303.c lg3303 25 26# Xceive XC3028 tuner 27define xc3028: i2cexec, firmload 28file dev/i2c/xc3028.c xc3028 29 30# Xceive XC5000 tuner 31define xc5k: i2cexec, firmload 32file dev/i2c/xc5k.c xc5k 33 34# Generic PLL-based tuners 35define tvpll: i2cexec 36file dev/i2c/tvpll.c tvpll 37file dev/i2c/tvpll_tuners.c tvpll 38 39# Nextwave NXT200x demodulator 40define nxt2k: i2cexec, firmload 41file dev/i2c/nxt2k.c nxt2k 42 43# Microtune MT2131 silicon tuner 44define mt2131: i2cexec 45file dev/i2c/mt2131.c mt2131 46 47# Conexant/Samsung CX24227/S5H1409 demodulator 48define cx24227: i2cexec 49file dev/i2c/cx24227.c cx24227 50 51# 52# I2C master devices 53# 54define motoi2c 55file dev/i2c/motoi2c.c motoi2c 56define mvi2c 57file dev/i2c/gttwsi_core.c mvi2c 58 59# 60# I2C client devices 61# 62 63# M41T00 Real Time Clock 64device m41trtc 65attach m41trtc at iic 66file dev/i2c/m41t00.c m41trtc 67 68# M41ST84 Real Time Clock 69device strtc 70attach strtc at iic 71file dev/i2c/m41st84.c strtc 72 73# MAX6900 Real Time Clock 74device maxrtc 75attach maxrtc at iic 76file dev/i2c/max6900.c maxrtc 77 78# NXP/Philips PCF8563 Real Time Clock 79device pcf8563rtc 80attach pcf8563rtc at iic 81file dev/i2c/pcf8563.c pcf8563rtc 82 83# Philips PCF8583 Real Time Clock 84device pcfrtc 85attach pcfrtc at iic 86file dev/i2c/pcf8583.c pcfrtc 87 88# Seiko Instruments S-xx390A Real Time Clock 89device s390rtc 90attach s390rtc at iic 91file dev/i2c/s390.c s390rtc 92 93# Atmel/Microchip 24Cxx Serial EEPROM 94define at24cxx_eeprom 95device seeprom 96attach seeprom at iic 97file dev/i2c/at24cxx.c seeprom | at24cxx_eeprom 98 needs-flag 99 100# National Semiconductor LM75 temperature sensor 101device lmtemp: sysmon_envsys 102attach lmtemp at iic 103file dev/i2c/lm75.c lmtemp 104 105# IST-AG Humidity and Teperature sensor (P14) 106device hythygtemp: sysmon_envsys 107attach hythygtemp at iic 108file dev/i2c/hytp14.c hythygtemp 109 110# National Semiconductor LM78 temp sensor/fan controller 111attach lm at iic with lm_iic 112file dev/i2c/lm_i2c.c lm_iic 113 114# National Semiconductor LM87 and clones system hardware monitor 115device lmenv: sysmon_envsys 116attach lmenv at iic 117file dev/i2c/lm87.c lmenv 118 119# Dallas DS1307 Real Time Clock 120device dsrtc: sysmon_envsys 121attach dsrtc at iic 122file dev/i2c/ds1307.c dsrtc 123defflag opt_dsrtc.h DSRTC_YEAR_START_2K 124 125# Xicor X1226 Real Time Clock 126device xrtc 127attach xrtc at iic 128file dev/i2c/x1226.c xrtc 129 130# Analog Devices dBCool family of thermal monitors / fan controllers 131device dbcool: sysmon_envsys 132attach dbcool at iic 133file dev/i2c/dbcool.c dbcool 134 135# RICOH RS5C372[AB] Real Time Clock 136device rs5c372rtc 137attach rs5c372rtc at iic 138file dev/i2c/rs5c372.c rs5c372rtc 139 140# RICOH R2025S/D Real Time Clock 141device r2025rtc 142attach r2025rtc at iic 143file dev/i2c/r2025.c r2025rtc 144 145# VESA Display Data Channel 2 146device ddc 147define ddc_read_edid 148attach ddc at iic 149file dev/i2c/ddc.c ddc | ddc_read_edid 150 151# SGS TDA7433 audio mixer 152device sgsmix 153attach sgsmix at iic 154file dev/i2c/sgsmix.c sgsmix needs-flag 155defflag opt_sgsmix.h SGSMIX_DEBUG 156 157# Memory Serial Presence Detect 158attach spdmem at iic with spdmem_iic 159file dev/i2c/spdmem_i2c.c spdmem_iic 160 161# Memory Temp Sensor 162device sdtemp: sysmon_envsys 163attach sdtemp at iic 164file dev/i2c/sdtemp.c sdtemp 165 166# DS1672 Real Time Clock 167device ds1672rtc 168attach ds1672rtc at iic 169file dev/i2c/ds1672.c ds1672rtc 170 171# ADM1021 172device admtemp: sysmon_envsys 173attach admtemp at iic 174file dev/i2c/adm1021.c admtemp 175 176# ADM1026 hardware monitor 177device adm1026hm: sysmon_envsys 178attach adm1026hm at iic 179file dev/i2c/adm1026.c adm1026hm 180 181# SMSC LPC47M192 hardware monitor 182device smscmon: sysmon_envsys 183attach smscmon at iic 184file dev/i2c/smscmon.c smscmon 185 186# G760a FAN controller 187device g760a: sysmon_envsys 188attach g760a at iic 189file dev/i2c/g760a.c g760a 190 191# IBM Hawk Integrated Systems Management Processor 192device ibmhawk: sysmon_envsys 193attach ibmhawk at iic 194file dev/i2c/ibmhawk.c ibmhawk 195 196# TI TPS65217 197device tps65217pmic { }: sysmon_envsys 198device tps65217reg: tps65217pmic 199attach tps65217pmic at iic 200attach tps65217reg at tps65217pmic 201file dev/i2c/tps65217pmic.c tps65217pmic needs-flag 202 203# Microchip MCP980x 204device mcp980x: sysmon_envsys 205attach mcp980x at iic 206file dev/i2c/mcp980x.c mcp980x 207 208# Nuvoton W83795G/ADG Hardware Monitor 209device w83795g: gpiobus, sysmon_envsys, sysmon_wdog 210attach w83795g at iic 211file dev/i2c/w83795g.c w83795g 212 213# Freescale MPL115A2 214device mpl115a: sysmon_envsys 215attach mpl115a at iic 216file dev/i2c/mpl115a.c mpl115a 217 218# AXP20x Power Management Unit 219device axp20x { }: sysmon_envsys 220device axp20xreg: axp20x 221attach axp20x at iic 222attach axp20xreg at axp20x 223file dev/i2c/axp20x.c axp20x needs-flag 224 225# AXP22x Power Management Unit 226device axp22x: sysmon_envsys 227attach axp22x at iic 228file dev/i2c/axp22x.c axp22x 229 230# X-Powers AXP Power Management IC 231device axppmic { }: sysmon_envsys, sysmon_taskq 232device axpreg: axppmic 233attach axppmic at iic 234attach axpreg at axppmic 235file dev/i2c/axppmic.c axppmic 236 237# AXP809 Power Management Unit 238device axp809pm 239attach axp809pm at iic 240file dev/i2c/axp809.c axp809pm needs-flag 241 242# AC100 integrated audio codec and RTC 243device ac100ic 244attach ac100ic at iic 245file dev/i2c/ac100.c ac100ic needs-flag 246 247# ACT8846 Power Management Unit 248device act8846pm 249attach act8846pm at iic 250file dev/i2c/act8846.c act8846pm needs-flag 251 252# Texas Instruments TMP451 Temperature Sensor 253device titemp: sysmon_envsys 254attach titemp at iic 255file dev/i2c/titemp.c titemp 256 257# AMS AS3722 Power Management IC 258device as3722pmic { }: sysmon_wdog 259device as3722reg: as3722pmic 260attach as3722pmic at iic 261attach as3722reg at as3722pmic 262file dev/i2c/as3722.c as3722pmic needs-flag 263 264# Texas Instruments TCA8418 Keypad Scan IC 265device tcakp: wskbddev, linux_keymap 266attach tcakp at iic 267file dev/i2c/tcakp.c tcakp 268 269# MAXIM MAX77620 Power Management IC 270device max77620pmic 271attach max77620pmic at iic 272file dev/i2c/max77620.c max77620pmic 273 274# Texas Instruments TCA9539 I/O Expander 275device tcagpio 276attach tcagpio at iic 277file dev/i2c/tcagpio.c tcagpio 278 279# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor 280device si70xxtemp 281attach si70xxtemp at iic 282file dev/i2c/si70xx.c si70xxtemp 283 284# Aosong AM2315 Temperature and Humidity sensor 285device am2315temp 286attach am2315temp at iic 287file dev/i2c/am2315.c am2315temp 288 289# Silergy SY8106A regulator 290device sy8106a 291attach sy8106a at iic 292file dev/i2c/sy8106a.c sy8106a 293 294# Maxim DS1631 High-Precision Digital Thermometer and Thermostat 295device dstemp: sysmon_envsys 296attach dstemp at iic 297file dev/i2c/dstemp.c dstemp 298 299# EM3027 Real Time Clock and Temperature Sensor 300device em3027rtc: sysmon_envsys 301attach em3027rtc at iic 302file dev/i2c/em3027.c em3027rtc 303 304# Apple Fan Control Unit found in some G5 305device fcu: sysmon_envsys 306attach fcu at iic 307file dev/i2c/fcu.c fcu needs-flag 308 309# Analog Devices AD7417 thermometer and ADC 310device adadc: sysmon_envsys 311attach adadc at iic 312file dev/i2c/adadc.c adadc 313 314# Apple Sudden Motion Sensor 315device asms: sysmon_envsys 316attach asms at iic 317file dev/i2c/asms.c asms 318 319# HID over i2c 320# HID "bus" 321define ihidbus {[ reportid = -1 ]} 322 323# HID root device for multiple report IDs 324device ihidev: hid, ihidbus 325attach ihidev at iic 326file dev/i2c/ihidev.c ihidev 327 328#HID mice 329device ims: hid, hidms, wsmousedev 330attach ims at ihidbus 331file dev/i2c/ims.c ims 332 333#HID multitouch 334device imt: hid, hidmt, wsmousedev 335attach imt at ihidbus 336file dev/i2c/imt.c imt 337 338# Taos TSL256x ambient light sensor 339device tsllux: sysmon_envsys 340attach tsllux at iic 341file dev/i2c/tsl256x.c tsllux 342 343# Philips/NXP TEA5767 344device tea5767radio : radiodev 345attach tea5767radio at iic 346file dev/i2c/tea5767.c tea5767radio 347 348# Fairchild FAN53555 / Silergy SY82x regulator 349device fan53555reg 350attach fan53555reg at iic 351file dev/i2c/fan53555.c fan53555reg 352 353# Rockchip Power Management IC 354device rkpmic { } 355device rkreg: rkpmic 356attach rkpmic at iic 357attach rkreg at rkpmic 358file dev/i2c/rkpmic.c rkpmic 359 360# SSD1306 or SH1106 OLED/PLED display 361attach ssdfb at iic with ssdfb_iic 362file dev/i2c/ssdfb_i2c.c ssdfb_iic 363 364# Analogix ANX6345 eDP transmitter 365device anxedp: edid, videomode, drmkms, drmkms_i2c 366attach anxedp at iic 367file dev/i2c/anxedp.c anxedp 368 369# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller 370device pcapwm: pwm 371attach pcapwm at iic 372file dev/i2c/pca9685.c pcapwm 373 374# TI TWL4030 Power Management IC 375device twl 376attach twl at iic 377file dev/i2c/twl4030.c twl 378 379# NXP TDA19988 HDMI encoder 380device tdahdmi: edid, videomode, drmkms, drmkms_i2c 381attach tdahdmi at iic 382file dev/i2c/tda19988.c tdahdmi 383 384# Everest Semi ES8316 Low Power Audio CODEC 385device es8316ac 386attach es8316ac at iic 387file dev/i2c/es8316ac.c es8316ac 388 389# CellWise CW2015 Fuel Gauge IC 390device cwfg: sysmon_envsys 391attach cwfg at iic 392file dev/i2c/cwfg.c cwfg 393 394# Philips PCA955x GPIO 395device pcagpio: leds 396attach pcagpio at iic 397file dev/i2c/pcagpio.c pcagpio 398