1# $NetBSD: files.i2c,v 1.98 2019/02/03 13:17:12 jmcneill 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 58defflag opt_gttwsi.h GTTWSI_ALLWINNER 59 60# 61# I2C client devices 62# 63 64# M41T00 Real Time Clock 65device m41trtc 66attach m41trtc at iic 67file dev/i2c/m41t00.c m41trtc 68 69# M41ST84 Real Time Clock 70device strtc 71attach strtc at iic 72file dev/i2c/m41st84.c strtc 73defflag opt_strtc.h STRTC_NO_USERRAM 74 STRTC_NO_WATCHDOG 75 76# MAX6900 Real Time Clock 77device maxrtc 78attach maxrtc at iic 79file dev/i2c/max6900.c maxrtc 80 81# NXP/Philips PCF8563 Real Time Clock 82device pcf8563rtc 83attach pcf8563rtc at iic 84file dev/i2c/pcf8563.c pcf8563rtc 85 86# Philips PCF8583 Real Time Clock 87device pcfrtc 88attach pcfrtc at iic 89file dev/i2c/pcf8583.c pcfrtc 90 91# Seiko Instruments S-xx390A Real Time Clock 92device s390rtc 93attach s390rtc at iic 94file dev/i2c/s390.c s390rtc 95 96# Atmel/Microchip 24Cxx Serial EEPROM 97define at24cxx_eeprom 98device seeprom 99attach seeprom at iic 100file dev/i2c/at24cxx.c seeprom | at24cxx_eeprom 101 needs-flag 102 103# National Semiconductor LM75 temperature sensor 104device lmtemp: sysmon_envsys 105attach lmtemp at iic 106file dev/i2c/lm75.c lmtemp 107 108# IST-AG Humidity and Teperature sensor (P14) 109device hythygtemp: sysmon_envsys 110attach hythygtemp at iic 111file dev/i2c/hytp14.c hythygtemp 112 113# National Semiconductor LM78 temp sensor/fan controller 114attach lm at iic with lm_iic 115file dev/i2c/lm_i2c.c lm_iic 116 117# National Semiconductor LM87 and clones system hardware monitor 118device lmenv: sysmon_envsys 119attach lmenv at iic 120file dev/i2c/lm87.c lmenv 121 122# Dallas DS1307 Real Time Clock 123device dsrtc: sysmon_envsys 124attach dsrtc at iic 125file dev/i2c/ds1307.c dsrtc 126defflag opt_dsrtc.h DSRTC_YEAR_START_2K 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 TPS65950 OMAP Power Management and System Companion Device 200device tps65950pm: sysmon_wdog 201attach tps65950pm at iic 202file dev/i2c/tps65950.c tps65950pm 203 204# TI TPS65217 205device tps65217pmic: sysmon_envsys 206attach tps65217pmic at iic 207file dev/i2c/tps65217pmic.c tps65217pmic needs-flag 208 209# Microchip MCP980x 210device mcp980x: sysmon_envsys 211attach mcp980x at iic 212file dev/i2c/mcp980x.c mcp980x 213 214# Nuvoton W83795G/ADG Hardware Monitor 215device w83795g: gpiobus, sysmon_envsys, sysmon_wdog 216attach w83795g at iic 217file dev/i2c/w83795g.c w83795g 218 219# Freescale MPL115A2 220device mpl115a: sysmon_envsys 221attach mpl115a at iic 222file dev/i2c/mpl115a.c mpl115a 223 224# AXP20x Power Management Unit 225device axp20x { }: sysmon_envsys 226device axp20xreg: axp20x 227attach axp20x at iic 228attach axp20xreg at axp20x 229file dev/i2c/axp20x.c axp20x needs-flag 230 231# AXP22x Power Management Unit 232device axp22x: sysmon_envsys 233attach axp22x at iic 234file dev/i2c/axp22x.c axp22x 235 236# X-Powers AXP Power Management IC 237device axppmic { }: sysmon_envsys, sysmon_taskq 238device axpreg: axppmic 239attach axppmic at iic 240attach axpreg at axppmic 241file dev/i2c/axppmic.c axppmic 242 243# AXP809 Power Management Unit 244device axp809pm 245attach axp809pm at iic 246file dev/i2c/axp809.c axp809pm needs-flag 247 248# AC100 integrated audio codec and RTC 249device ac100ic 250attach ac100ic at iic 251file dev/i2c/ac100.c ac100ic needs-flag 252 253# ACT8846 Power Management Unit 254device act8846pm 255attach act8846pm at iic 256file dev/i2c/act8846.c act8846pm needs-flag 257 258# Texas Instruments TMP451 Temperature Sensor 259device titemp: sysmon_envsys 260attach titemp at iic 261file dev/i2c/titemp.c titemp 262 263# AMS AS3722 Power Management IC 264device as3722pmic { }: sysmon_wdog 265device as3722reg: as3722pmic 266attach as3722pmic at iic 267attach as3722reg at as3722pmic 268file dev/i2c/as3722.c as3722pmic needs-flag 269 270# Texas Instruments TCA8418 Keypad Scan IC 271device tcakp: wskbddev, linux_keymap 272attach tcakp at iic 273file dev/i2c/tcakp.c tcakp 274 275# MAXIM MAX77620 Power Management IC 276device max77620pmic 277attach max77620pmic at iic 278file dev/i2c/max77620.c max77620pmic 279 280# Texas Instruments TCA9539 I/O Expander 281device tcagpio 282attach tcagpio at iic 283file dev/i2c/tcagpio.c tcagpio 284 285# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor 286device si70xxtemp 287attach si70xxtemp at iic 288file dev/i2c/si70xx.c si70xxtemp 289 290# Aosong AM2315 Temperature and Humidity sensor 291device am2315temp 292attach am2315temp at iic 293file dev/i2c/am2315.c am2315temp 294 295# Silergy SY8106A regulator 296device sy8106a 297attach sy8106a at iic 298file dev/i2c/sy8106a.c sy8106a 299 300# Maxim DS1631 High-Precision Digital Thermometer and Thermostat 301device dstemp: sysmon_envsys 302attach dstemp at iic 303file dev/i2c/dstemp.c dstemp 304 305# EM3027 Real Time Clock and Temperature Sensor 306device em3027rtc: sysmon_envsys 307attach em3027rtc at iic 308file dev/i2c/em3027.c em3027rtc 309 310# Apple Fan Control Unit found in some G5 311device fcu: sysmon_envsys 312attach fcu at iic 313file dev/i2c/fcu.c fcu needs-flag 314 315# Analog Devices AD7417 thermometer and ADC 316device adadc: sysmon_envsys 317attach adadc at iic 318file dev/i2c/adadc.c adadc 319 320# HID over i2c 321# HID "bus" 322define ihidbus {[ reportid = -1 ]} 323 324# HID root device for multiple report IDs 325device ihidev: hid, ihidbus 326attach ihidev at iic 327file dev/i2c/ihidev.c ihidev 328 329#HID mice 330device ims: hid, hidms, wsmousedev 331attach ims at ihidbus 332file dev/i2c/ims.c ims 333 334#HID multitouch 335device imt: hid, hidmt, wsmousedev 336attach imt at ihidbus 337file dev/i2c/imt.c imt 338 339# Taos TSL256x ambient light sensor 340device tsllux: sysmon_envsys 341attach tsllux at iic 342file dev/i2c/tsl256x.c tsllux 343 344# Philips/NXP TEA5767 345device tea5767radio : radiodev 346attach tea5767radio at iic 347file dev/i2c/tea5767.c tea5767radio 348 349# Fairchild FAN53555 / Silergy SY82x regulator 350device fan53555reg 351attach fan53555reg at iic 352file dev/i2c/fan53555.c fan53555reg 353 354# Rockchip Power Management IC 355device rkpmic { } 356device rkreg: rkpmic 357attach rkpmic at iic 358attach rkreg at rkpmic 359file dev/i2c/rkpmic.c rkpmic 360 361# Analogix ANX6345 eDP transmitter 362device anxedp: edid, videomode, drmkms, drmkms_i2c 363attach anxedp at iic 364file dev/i2c/anxedp.c anxedp 365