files.i2c revision 1.137
1# $NetBSD: files.i2c,v 1.137 2025/10/24 23:16:11 brad 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 127 128# Xicor X1226 Real Time Clock 129device xrtc 130attach xrtc at iic 131file dev/i2c/x1226.c xrtc 132 133# Analog Devices dBCool family of thermal monitors / fan controllers 134device dbcool: sysmon_envsys 135attach dbcool at iic 136file dev/i2c/dbcool.c dbcool 137 138# RICOH RS5C372[AB] Real Time Clock 139device rs5c372rtc 140attach rs5c372rtc at iic 141file dev/i2c/rs5c372.c rs5c372rtc 142 143# RICOH R2025S/D Real Time Clock 144device r2025rtc 145attach r2025rtc at iic 146file dev/i2c/r2025.c r2025rtc 147 148# VESA Display Data Channel 2 149device ddc 150define ddc_read_edid 151attach ddc at iic 152file dev/i2c/ddc.c ddc | ddc_read_edid 153 154# SGS TDA7433 audio mixer 155device sgsmix 156attach sgsmix at iic 157file dev/i2c/sgsmix.c sgsmix needs-flag 158defflag opt_sgsmix.h SGSMIX_DEBUG 159 160# Memory Serial Presence Detect 161attach spdmem at iic with spdmem_iic 162file dev/i2c/spdmem_i2c.c spdmem_iic 163 164# Memory Temp Sensor 165device sdtemp: sysmon_envsys 166attach sdtemp at iic 167file dev/i2c/sdtemp.c sdtemp 168 169# DS1672 Real Time Clock 170device ds1672rtc 171attach ds1672rtc at iic 172file dev/i2c/ds1672.c ds1672rtc 173 174# ADM1021 175device admtemp: sysmon_envsys 176attach admtemp at iic 177file dev/i2c/adm1021.c admtemp 178 179# ADM1026 hardware monitor 180device adm1026hm: sysmon_envsys 181attach adm1026hm at iic 182file dev/i2c/adm1026.c adm1026hm 183 184# SMSC LPC47M192 hardware monitor 185device smscmon: sysmon_envsys 186attach smscmon at iic 187file dev/i2c/smscmon.c smscmon 188 189# G760a FAN controller 190device g760a: sysmon_envsys 191attach g760a at iic 192file dev/i2c/g760a.c g760a 193 194# IBM Hawk Integrated Systems Management Processor 195device ibmhawk: sysmon_envsys 196attach ibmhawk at iic 197file dev/i2c/ibmhawk.c ibmhawk 198 199# TI TPS65217 200device tps65217pmic { }: fdt_regulator, sysmon_envsys 201device tps65217reg: tps65217pmic 202attach tps65217pmic at iic 203attach tps65217reg at tps65217pmic 204file dev/i2c/tps65217pmic.c tps65217pmic needs-flag 205 206# Microchip MCP23008 / MCP23017 I/O Expander 207attach mcpgpio at iic with mcpgpio_i2c 208file dev/i2c/mcp23xxxgpio_i2c.c mcpgpio_i2c 209 210# Microchip MCP980x 211device mcp980x: sysmon_envsys 212attach mcp980x at iic 213file dev/i2c/mcp980x.c mcp980x 214 215# Nuvoton W83795G/ADG Hardware Monitor 216device w83795g: gpiobus, sysmon_envsys, sysmon_wdog 217attach w83795g at iic 218file dev/i2c/w83795g.c w83795g 219 220# Freescale MPL115A2 221device mpl115a: sysmon_envsys 222attach mpl115a at iic 223file dev/i2c/mpl115a.c mpl115a 224 225# AXP20x Power Management Unit 226device axp20x { }: fdt_power, fdt_regulator, sysmon_envsys 227device axp20xreg: axp20x 228attach axp20x at iic 229attach axp20xreg at axp20x 230file dev/i2c/axp20x.c axp20x needs-flag 231 232# AXP22x Power Management Unit 233device axp22x: sysmon_envsys 234attach axp22x at iic 235file dev/i2c/axp22x.c axp22x 236 237# X-Powers AXP Power Management IC 238device axppmic { }: fdt_gpio, fdt_power, fdt_regulator, sysmon_envsys, sysmon_taskq 239device axpreg: axppmic 240attach axppmic at iic 241attach axpreg at axppmic 242file dev/i2c/axppmic.c axppmic 243 244# AXP809 Power Management Unit 245device axp809pm 246attach axp809pm at iic 247file dev/i2c/axp809.c axp809pm needs-flag 248 249# AC100 integrated audio codec and RTC 250device ac100ic { }: fdt 251attach ac100ic at iic 252device ac100rtc 253attach ac100rtc at ac100ic 254file dev/i2c/ac100.c ac100ic needs-flag 255 256# ACT8846 Power Management Unit 257device act8846pm 258attach act8846pm at iic 259file dev/i2c/act8846.c act8846pm needs-flag 260 261# Texas Instruments TMP451 Temperature Sensor 262device titemp: sysmon_envsys 263attach titemp at iic 264file dev/i2c/titemp.c titemp 265 266# AMS AS3722 Power Management IC 267device as3722pmic { }: fdt_power, fdt_regulator, sysmon_wdog 268device as3722reg: as3722pmic 269attach as3722pmic at iic 270attach as3722reg at as3722pmic 271file dev/i2c/as3722.c as3722pmic needs-flag 272 273# Texas Instruments TCA8418 Keypad Scan IC 274device tcakp: wskbddev, linux_keymap 275attach tcakp at iic 276file dev/i2c/tcakp.c tcakp 277 278# MAXIM MAX77620 Power Management IC 279device max77620pmic: fdt_gpio 280attach max77620pmic at iic 281file dev/i2c/max77620.c max77620pmic 282 283# Texas Instruments TCA9539 I/O Expander 284device tcagpio: fdt_gpio 285attach tcagpio at iic 286file dev/i2c/tcagpio.c tcagpio 287 288# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor 289device si70xxtemp 290attach si70xxtemp at iic 291file dev/i2c/si70xx.c si70xxtemp 292 293# Aosong AM2315 Temperature and Humidity sensor 294device am2315temp 295attach am2315temp at iic 296file dev/i2c/am2315.c am2315temp 297 298# Silergy SY8106A regulator 299device sy8106a: fdt_regulator 300attach sy8106a at iic 301file dev/i2c/sy8106a.c sy8106a 302 303# Maxim DS1631 High-Precision Digital Thermometer and Thermostat 304device dstemp: sysmon_envsys 305attach dstemp at iic 306file dev/i2c/dstemp.c dstemp 307 308# EM3027 Real Time Clock and Temperature Sensor 309device em3027rtc: sysmon_envsys 310attach em3027rtc at iic 311file dev/i2c/em3027.c em3027rtc 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# HID keyboard 343device ikbd: hid, hidkbd, wskbddev 344attach ikbd at ihidbus 345file dev/i2c/ikbd.c ikbd 346 347# Taos TSL256x ambient light sensor 348device tsllux: sysmon_envsys 349attach tsllux at iic 350file dev/i2c/tsllux.c tsllux 351 352# Philips/NXP TEA5767 353device tea5767radio : radiodev 354attach tea5767radio at iic 355file dev/i2c/tea5767.c tea5767radio 356 357# Fairchild FAN53555 / Silergy SY82x regulator 358device fan53555reg: fdt_regulator 359attach fan53555reg at iic 360file dev/i2c/fan53555.c fan53555reg 361 362# Rockchip Power Management IC 363device rkpmic { }: fdt_clock, fdt_power, fdt_regulator 364device rkreg: rkpmic 365attach rkpmic at iic 366attach rkreg at rkpmic 367file dev/i2c/rkpmic.c rkpmic 368 369# SSD1306 or SH1106 OLED/PLED display 370attach ssdfb at iic with ssdfb_iic 371file dev/i2c/ssdfb_i2c.c ssdfb_iic 372 373# Analogix ANX6345 eDP transmitter 374device anxedp: edid, videomode, drmkms, drmkms_i2c 375attach anxedp at iic 376file dev/i2c/anxedp.c anxedp 377makeoptions anxedp "CPPFLAGS.anxedp"+="${CPPFLAGS.drmkms}" 378 379# NXP PCA954x / PCA984x I2C switch / mux controllers 380device pcaiicmux: fdt_gpio, i2cbus, i2cmux 381attach pcaiicmux at iic 382file dev/i2c/pcai2cmux.c pcaiicmux 383 384# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller 385device pcapwm: fdt_clock, fdt_pwm 386attach pcapwm at iic 387file dev/i2c/pca9685.c pcapwm 388 389# TI TWL4030 Power Management IC 390device twl: fdt_gpio 391attach twl at iic 392file dev/i2c/twl4030.c twl 393 394# NXP TDA19988 HDMI encoder 395device tdahdmi: fdt_pinctrl, edid, videomode, drmkms, drmkms_i2c 396attach tdahdmi at iic 397file dev/i2c/tda19988.c tdahdmi 398makeoptions tdahdmi "CPPFLAGS.tdahdmi"+="${CPPFLAGS.drmkms}" 399 400# Everest Semi ES8316 Low Power Audio CODEC 401device es8316ac: fdt_dai 402attach es8316ac at iic 403file dev/i2c/es8316ac.c es8316ac 404 405# CellWise CW2015 Fuel Gauge IC 406device cwfg: sysmon_envsys 407attach cwfg at iic 408file dev/i2c/cwfg.c cwfg 409 410# Sensirion SHT30/SHT31/SHT35 Temperature and Humidity sensor 411device sht3xtemp 412attach sht3xtemp at iic 413file dev/i2c/sht3x.c sht3xtemp 414 415# Sensirion SHT40/SHT41/SHT45 Temperature and Humidity sensor 416device sht4xtemp 417attach sht4xtemp at iic 418file dev/i2c/sht4x.c sht4xtemp 419 420# Sensirion SGP40 MOx gas sensor 421device sgp40mox 422attach sgp40mox at iic 423file dev/i2c/sgp40.c sgp40mox 424file dev/i2c/sensirion_voc_algorithm.c sgp40mox 425 426# Philips PCA955x GPIO 427device pcagpio: leds 428attach pcagpio at iic 429file dev/i2c/pcagpio.c pcagpio 430 431# Philips PCF8574 IO expander 432device pcf8574io: leds, sysmon_envsys 433attach pcf8574io at iic 434file dev/i2c/pcf8574.c pcf8574io 435 436# Sparkfun Serial motor controller 437attach scmd at iic with scmdi2c 438file dev/i2c/scmdi2c.c scmdi2c 439 440# Aosong AHT20 Temperature and Humidity sensor 441device aht20temp 442attach aht20temp at iic 443file dev/i2c/aht20.c aht20temp 444 445# Bosch Sensortec BMP280/BME280 Temperature, Humidity and Pressure sensor 446attach bmx280thp at iic with bmx280thpi2c 447file dev/i2c/bmx280thpi2c.c bmx280thpi2c 448 449# Maxim DS2482-100 and DS2482-800 I2C to Onewire bridge 450device ds2482ow: onewirebus 451attach ds2482ow at iic 452file dev/i2c/ds2482ow.c ds2482ow 453 454# Onsemi FUSB302B USB-C power controller 455device fusbtc: fdt_regulator 456attach fusbtc at iic 457file dev/i2c/fusbtc.c fusbtc 458 459# EMC-210x and EMC-230x fan controllers 460device emcfan: fdt_clock, gpiobus, sysmon_envsys 461attach emcfan at iic 462file dev/i2c/emcfan.c emcfan 463 464# NXP SC16IS7xx UART bridge 465attach sc16is7xx at iic with sc16is7xxi2c 466file dev/i2c/sc16is7xxi2c.c sc16is7xxi2c 467