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