1# $NetBSD: files.i2c,v 1.121 2021/12/27 23:04:20 andvar 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 Temperature 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# Analog Devices AD7417 thermometer and ADC 309device adadc: sysmon_envsys 310attach adadc at iic 311file dev/i2c/adadc.c adadc 312 313# Apple Sudden Motion Sensor 314device asms: sysmon_envsys 315attach asms at iic 316file dev/i2c/asms.c asms 317 318# HID over i2c 319# HID "bus" 320define ihidbus {[ reportid = -1 ]} 321 322# HID root device for multiple report IDs 323device ihidev: hid, ihidbus 324attach ihidev at iic 325file dev/i2c/ihidev.c ihidev 326 327#HID mice 328device ims: hid, hidms, wsmousedev 329attach ims at ihidbus 330file dev/i2c/ims.c ims 331 332#HID multitouch 333device imt: hid, hidmt, wsmousedev 334attach imt at ihidbus 335file dev/i2c/imt.c imt 336 337# Taos TSL256x ambient light sensor 338device tsllux: sysmon_envsys 339attach tsllux at iic 340file dev/i2c/tsllux.c tsllux 341 342# Philips/NXP TEA5767 343device tea5767radio : radiodev 344attach tea5767radio at iic 345file dev/i2c/tea5767.c tea5767radio 346 347# Fairchild FAN53555 / Silergy SY82x regulator 348device fan53555reg 349attach fan53555reg at iic 350file dev/i2c/fan53555.c fan53555reg 351 352# Rockchip Power Management IC 353device rkpmic { } 354device rkreg: rkpmic 355attach rkpmic at iic 356attach rkreg at rkpmic 357file dev/i2c/rkpmic.c rkpmic 358 359# SSD1306 or SH1106 OLED/PLED display 360attach ssdfb at iic with ssdfb_iic 361file dev/i2c/ssdfb_i2c.c ssdfb_iic 362 363# Analogix ANX6345 eDP transmitter 364device anxedp: edid, videomode, drmkms, drmkms_i2c 365attach anxedp at iic 366file dev/i2c/anxedp.c anxedp 367 368# NXP PCA954x / PCA984x I2C switch / mux controllers 369device pcaiicmux: i2cbus, i2cmux 370attach pcaiicmux at iic 371file dev/i2c/pcai2cmux.c pcaiicmux 372 373# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller 374device pcapwm: pwm 375attach pcapwm at iic 376file dev/i2c/pca9685.c pcapwm 377 378# TI TWL4030 Power Management IC 379device twl 380attach twl at iic 381file dev/i2c/twl4030.c twl 382 383# NXP TDA19988 HDMI encoder 384device tdahdmi: edid, videomode, drmkms, drmkms_i2c 385attach tdahdmi at iic 386file dev/i2c/tda19988.c tdahdmi 387 388# Everest Semi ES8316 Low Power Audio CODEC 389device es8316ac 390attach es8316ac at iic 391file dev/i2c/es8316ac.c es8316ac 392 393# CellWise CW2015 Fuel Gauge IC 394device cwfg: sysmon_envsys 395attach cwfg at iic 396file dev/i2c/cwfg.c cwfg 397 398# Sensirion SHT30/SHT31/SHT35 Temperature and Humidity sensor 399device sht3xtemp 400attach sht3xtemp at iic 401file dev/i2c/sht3x.c sht3xtemp 402 403# Sensirion SHT40/SHT41/SHT45 Temperature and Humidity sensor 404device sht4xtemp 405attach sht4xtemp at iic 406file dev/i2c/sht4x.c sht4xtemp 407 408# Sensirion SGP40 MOx gas sensor 409device sgp40mox 410attach sgp40mox at iic 411file dev/i2c/sgp40.c sgp40mox 412file dev/i2c/sensirion_voc_algorithm.c sgp40mox 413 414# Philips PCA955x GPIO 415device pcagpio: leds 416attach pcagpio at iic 417file dev/i2c/pcagpio.c pcagpio 418 419# Philips PCF8574 IO expander 420device pcf8574io: leds, sysmon_envsys 421attach pcf8574io at iic 422file dev/i2c/pcf8574.c pcf8574io 423 424# Sparkfun Serial motor controller 425attach scmd at iic with scmdi2c 426file dev/i2c/scmdi2c.c scmdi2c 427