files.i2c revision 1.135
1# $NetBSD: files.i2c,v 1.135 2025/09/07 03:53:37 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 needs-flag 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: fdt_i2c 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 { }: fdt_regulator, sysmon_envsys 202device tps65217reg: tps65217pmic 203attach tps65217pmic at iic 204attach tps65217reg at tps65217pmic 205file dev/i2c/tps65217pmic.c tps65217pmic needs-flag 206 207# Microchip MCP23008 / MCP23017 I/O Expander 208attach mcpgpio at iic with mcpgpio_i2c 209file dev/i2c/mcp23xxxgpio_i2c.c mcpgpio_i2c 210 211# Microchip MCP980x 212device mcp980x: sysmon_envsys 213attach mcp980x at iic 214file dev/i2c/mcp980x.c mcp980x 215 216# Nuvoton W83795G/ADG Hardware Monitor 217device w83795g: gpiobus, sysmon_envsys, sysmon_wdog 218attach w83795g at iic 219file dev/i2c/w83795g.c w83795g 220 221# Freescale MPL115A2 222device mpl115a: sysmon_envsys 223attach mpl115a at iic 224file dev/i2c/mpl115a.c mpl115a 225 226# AXP20x Power Management Unit 227device axp20x { }: fdt_power, fdt_regulator, sysmon_envsys 228device axp20xreg: axp20x 229attach axp20x at iic 230attach axp20xreg at axp20x 231file dev/i2c/axp20x.c axp20x needs-flag 232 233# AXP22x Power Management Unit 234device axp22x: sysmon_envsys 235attach axp22x at iic 236file dev/i2c/axp22x.c axp22x 237 238# X-Powers AXP Power Management IC 239device axppmic { }: fdt_gpio, fdt_power, fdt_regulator, sysmon_envsys, sysmon_taskq 240device axpreg: axppmic 241attach axppmic at iic 242attach axpreg at axppmic 243file dev/i2c/axppmic.c axppmic 244 245# AXP809 Power Management Unit 246device axp809pm 247attach axp809pm at iic 248file dev/i2c/axp809.c axp809pm needs-flag 249 250# AC100 integrated audio codec and RTC 251device ac100ic { }: fdt 252attach ac100ic at iic 253device ac100rtc 254attach ac100rtc at ac100ic 255file dev/i2c/ac100.c ac100ic needs-flag 256 257# ACT8846 Power Management Unit 258device act8846pm 259attach act8846pm at iic 260file dev/i2c/act8846.c act8846pm needs-flag 261 262# Texas Instruments TMP451 Temperature Sensor 263device titemp: sysmon_envsys 264attach titemp at iic 265file dev/i2c/titemp.c titemp 266 267# AMS AS3722 Power Management IC 268device as3722pmic { }: fdt_power, fdt_regulator, sysmon_wdog 269device as3722reg: as3722pmic 270attach as3722pmic at iic 271attach as3722reg at as3722pmic 272file dev/i2c/as3722.c as3722pmic needs-flag 273 274# Texas Instruments TCA8418 Keypad Scan IC 275device tcakp: wskbddev, linux_keymap 276attach tcakp at iic 277file dev/i2c/tcakp.c tcakp 278 279# MAXIM MAX77620 Power Management IC 280device max77620pmic: fdt_gpio 281attach max77620pmic at iic 282file dev/i2c/max77620.c max77620pmic 283 284# Texas Instruments TCA9539 I/O Expander 285device tcagpio: fdt_gpio 286attach tcagpio at iic 287file dev/i2c/tcagpio.c tcagpio 288 289# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor 290device si70xxtemp 291attach si70xxtemp at iic 292file dev/i2c/si70xx.c si70xxtemp 293 294# Aosong AM2315 Temperature and Humidity sensor 295device am2315temp 296attach am2315temp at iic 297file dev/i2c/am2315.c am2315temp 298 299# Silergy SY8106A regulator 300device sy8106a: fdt_regulator 301attach sy8106a at iic 302file dev/i2c/sy8106a.c sy8106a 303 304# Maxim DS1631 High-Precision Digital Thermometer and Thermostat 305device dstemp: sysmon_envsys 306attach dstemp at iic 307file dev/i2c/dstemp.c dstemp 308 309# EM3027 Real Time Clock and Temperature Sensor 310device em3027rtc: sysmon_envsys 311attach em3027rtc at iic 312file dev/i2c/em3027.c em3027rtc 313 314# Analog Devices AD7417 thermometer and ADC 315device adadc: sysmon_envsys 316attach adadc at iic 317file dev/i2c/adadc.c adadc 318 319# Apple Sudden Motion Sensor 320device asms: sysmon_envsys 321attach asms at iic 322file dev/i2c/asms.c asms 323 324# HID over i2c 325# HID "bus" 326define ihidbus {[ reportid = -1 ]} 327 328# HID root device for multiple report IDs 329device ihidev: hid, ihidbus 330attach ihidev at iic 331file dev/i2c/ihidev.c ihidev 332 333# HID mice 334device ims: hid, hidms, wsmousedev 335attach ims at ihidbus 336file dev/i2c/ims.c ims 337 338# HID multitouch 339device imt: hid, hidmt, wsmousedev 340attach imt at ihidbus 341file dev/i2c/imt.c imt 342 343# HID keyboard 344device ikbd: hid, hidkbd, wskbddev 345attach ikbd at ihidbus 346file dev/i2c/ikbd.c ikbd 347 348# Taos TSL256x ambient light sensor 349device tsllux: sysmon_envsys 350attach tsllux at iic 351file dev/i2c/tsllux.c tsllux 352 353# Philips/NXP TEA5767 354device tea5767radio : radiodev 355attach tea5767radio at iic 356file dev/i2c/tea5767.c tea5767radio 357 358# Fairchild FAN53555 / Silergy SY82x regulator 359device fan53555reg: fdt_regulator 360attach fan53555reg at iic 361file dev/i2c/fan53555.c fan53555reg 362 363# Rockchip Power Management IC 364device rkpmic { }: fdt_clock, fdt_power, fdt_regulator 365device rkreg: rkpmic 366attach rkpmic at iic 367attach rkreg at rkpmic 368file dev/i2c/rkpmic.c rkpmic 369 370# SSD1306 or SH1106 OLED/PLED display 371attach ssdfb at iic with ssdfb_iic 372file dev/i2c/ssdfb_i2c.c ssdfb_iic 373 374# Analogix ANX6345 eDP transmitter 375device anxedp: edid, videomode, drmkms, drmkms_i2c 376attach anxedp at iic 377file dev/i2c/anxedp.c anxedp 378makeoptions anxedp "CPPFLAGS.anxedp"+="${CPPFLAGS.drmkms}" 379 380# NXP PCA954x / PCA984x I2C switch / mux controllers 381device pcaiicmux: fdt_gpio, i2cbus, i2cmux 382attach pcaiicmux at iic 383file dev/i2c/pcai2cmux.c pcaiicmux 384 385# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller 386device pcapwm: fdt_clock, fdt_pwm 387attach pcapwm at iic 388file dev/i2c/pca9685.c pcapwm 389 390# TI TWL4030 Power Management IC 391device twl: fdt_gpio 392attach twl at iic 393file dev/i2c/twl4030.c twl 394 395# NXP TDA19988 HDMI encoder 396device tdahdmi: fdt_pinctrl, edid, videomode, drmkms, drmkms_i2c 397attach tdahdmi at iic 398file dev/i2c/tda19988.c tdahdmi 399makeoptions tdahdmi "CPPFLAGS.tdahdmi"+="${CPPFLAGS.drmkms}" 400 401# Everest Semi ES8316 Low Power Audio CODEC 402device es8316ac: fdt_dai 403attach es8316ac at iic 404file dev/i2c/es8316ac.c es8316ac 405 406# CellWise CW2015 Fuel Gauge IC 407device cwfg: sysmon_envsys 408attach cwfg at iic 409file dev/i2c/cwfg.c cwfg 410 411# Sensirion SHT30/SHT31/SHT35 Temperature and Humidity sensor 412device sht3xtemp 413attach sht3xtemp at iic 414file dev/i2c/sht3x.c sht3xtemp 415 416# Sensirion SHT40/SHT41/SHT45 Temperature and Humidity sensor 417device sht4xtemp 418attach sht4xtemp at iic 419file dev/i2c/sht4x.c sht4xtemp 420 421# Sensirion SGP40 MOx gas sensor 422device sgp40mox 423attach sgp40mox at iic 424file dev/i2c/sgp40.c sgp40mox 425file dev/i2c/sensirion_voc_algorithm.c sgp40mox 426 427# Philips PCA955x GPIO 428device pcagpio: leds 429attach pcagpio at iic 430file dev/i2c/pcagpio.c pcagpio 431 432# Philips PCF8574 IO expander 433device pcf8574io: leds, sysmon_envsys 434attach pcf8574io at iic 435file dev/i2c/pcf8574.c pcf8574io 436 437# Sparkfun Serial motor controller 438attach scmd at iic with scmdi2c 439file dev/i2c/scmdi2c.c scmdi2c 440 441# Aosong AHT20 Temperature and Humidity sensor 442device aht20temp 443attach aht20temp at iic 444file dev/i2c/aht20.c aht20temp 445 446# Bosch Sensortec BMP280/BME280 Temperature, Humidity and Pressure sensor 447attach bmx280thp at iic with bmx280thpi2c 448file dev/i2c/bmx280thpi2c.c bmx280thpi2c 449 450# Maxim DS2482-100 and DS2482-800 I2C to Onewire bridge 451device ds2482ow: onewirebus 452attach ds2482ow at iic 453file dev/i2c/ds2482ow.c ds2482ow 454 455# Onsemi FUSB302B USB-C power controller 456device fusbtc: fdt_regulator 457attach fusbtc at iic 458file dev/i2c/fusbtc.c fusbtc 459 460# EMC-210x and EMC-230x fan controllers 461device emcfan: fdt_clock, gpiobus, sysmon_envsys 462attach emcfan at iic 463file dev/i2c/emcfan.c emcfan 464