# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/trivial-devices.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Trivial I2C and SPI devices

maintainers:
  - Rob Herring <robh@kernel.org>

description: |
  This is a list of trivial I2C and SPI devices that have simple device tree
  bindings, consisting only of a compatible field, an address and possibly an
  interrupt line.

  If a device needs more specific bindings, such as properties to
  describe some aspect of it, there needs to be a specific binding
  document for it just like any other devices.

properties:
  reg:
    maxItems: 1
  interrupts:
    maxItems: 1

  spi-max-frequency: true

  compatible:
    items:
      # Entries are sorted alphanumerically by the compatible
      - enum:
            # Acbel fsg032 power supply
          - acbel,fsg032
            # SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin
          - ad,ad7414  # Deprecated, use adi,ad7414
          - adi,ad7414
            # ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems
          - ad,adm9240
            # AD5110 - Nonvolatile Digital Potentiometer
          - adi,ad5110
            # Analog Devices ADP5589 Keypad Decoder and I/O Expansion
          - adi,adp5589
            # Analog Devices LT7182S Dual Channel 6A, 20V PolyPhase Step-Down Silent Switcher
          - adi,lt7182s
            # AMS iAQ-Core VOC Sensor
          - ams,iaq-core
            # Temperature monitoring of Astera Labs PT5161L PCIe retimer
          - asteralabs,pt5161l
            # i2c h/w elliptic curve crypto module
          - atmel,atecc508a
            # ATSHA204 - i2c h/w symmetric crypto module
          - atmel,atsha204
            # ATSHA204A - i2c h/w symmetric crypto module
          - atmel,atsha204a
            # BPA-RS600: Power Supply
          - blutek,bpa-rs600
            # Bosch Sensortec pressure, temperature, humididty and VOC sensor
          - bosch,bme680
            # CM32181: Ambient Light Sensor
          - capella,cm32181
            # CM3232: Ambient Light Sensor
          - capella,cm3232
            # CM3323: Ambient Light Sensor
          - capella,cm3323
            # Cisco SPI Petra
          - cisco,spi-petra
            # High-Precision Digital Thermometer
          - dallas,ds1631
            # Total-Elapsed-Time Recorder with Alarm
          - dallas,ds1682
            # CPU Peripheral Monitor
          - dallas,ds1780
            # CPU Supervisor with Nonvolatile Memory and Programmable I/O
          - dallas,ds4510
            # Delta AHE-50DC Open19 power shelf fan control module
          - delta,ahe50dc-fan
            # Delta Electronics DPS-650-AB power supply
          - delta,dps650ab
            # Delta Electronics DPS920AB 920W 54V Power Supply
          - delta,dps920ab
            # 1/4 Brick DC/DC Regulated Power Module
          - delta,q54sj108a2
            # Devantech SRF02 ultrasonic ranger in I2C mode
          - devantech,srf02
            # Devantech SRF08 ultrasonic ranger
          - devantech,srf08
            # Devantech SRF10 ultrasonic ranger
          - devantech,srf10
            # DH electronics GmbH on-board CPLD trivial SPI device
          - dh,dhcom-board
            # DA9053: flexible system level PMIC with multicore support
          - dlg,da9053
            # DMARD05: 3-axis I2C Accelerometer
          - domintech,dmard05
            # DMARD06: 3-axis I2C Accelerometer
          - domintech,dmard06
            # DMARD05: 3-axis I2C Accelerometer
          - domintech,dmard07
            # DMARD09: 3-axis Accelerometer
          - domintech,dmard09
            # DMARD10: 3-axis Accelerometer
          - domintech,dmard10
            # MMA7660FC: 3-Axis Orientation/Motion Detection Sensor
          - fsl,mma7660
            # MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
          - fsl,mma8450
            # MPL3115: Absolute Digital Pressure Sensor
          - fsl,mpl3115
            # MPR121: Proximity Capacitive Touch Sensor Controller
          - fsl,mpr121
            # Honeywell Humidicon HIH-6130 humidity/temperature sensor
          - honeywell,hi6130
            # IBM Common Form Factor Power Supply Versions (all versions)
          - ibm,cffps
            # IBM Common Form Factor Power Supply Versions 1
          - ibm,cffps1
            # IBM Common Form Factor Power Supply Versions 2
          - ibm,cffps2
            # IBM On-Chip Controller hwmon device
          - ibm,p8-occ-hwmon
            # Infineon barometric pressure and temperature sensor
          - infineon,dps310
            # Infineon IR36021 digital POL buck controller
          - infineon,ir36021
            # Infineon IRPS5401 Voltage Regulator (PMIC)
          - infineon,irps5401
            # Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor
          - infineon,tlv493d-a1b6
            # Infineon Hot-swap controller xdp710
          - infineon,xdp710
            # Infineon Multi-phase Digital VR Controller xdpe11280
          - infineon,xdpe11280
            # Infineon Multi-phase Digital VR Controller xdpe12254
          - infineon,xdpe12254
            # Infineon Multi-phase Digital VR Controller xdpe12284
          - infineon,xdpe12284
            # Infineon Multi-phase Digital VR Controller xdpe15284
          - infineon,xdpe15284
            # Infineon Multi-phase Digital VR Controller xdpe152c4
          - infineon,xdpe152c4
            # Injoinic IP5108 2.0A Power Bank IC with I2C
          - injoinic,ip5108
            # Injoinic IP5109 2.1A Power Bank IC with I2C
          - injoinic,ip5109
            # Injoinic IP5207 1.2A Power Bank IC with I2C
          - injoinic,ip5207
            # Injoinic IP5209 2.4A Power Bank IC with I2C
          - injoinic,ip5209
            # Inspur Power System power supply unit version 1
          - inspur,ipsps1
            # Intersil ISL29028 Ambient Light and Proximity Sensor
          - isil,isl29028
            # Intersil ISL29030 Ambient Light and Proximity Sensor
          - isil,isl29030
            # Intersil ISL68137 Digital Output Configurable PWM Controller
          - isil,isl68137
            # Intersil ISL69260 PMBus Voltage Regulator
          - isil,isl69260
            # Intersil ISL69269 PMBus Voltage Regulator
          - isil,isl69269
            # Intersil ISL76682 Ambient Light Sensor
          - isil,isl76682
            # JEDEC JESD300 (SPD5118) Hub and Serial Presence Detect
          - jedec,spd5118
            # Linear Technology LTC2488
          - lineartechnology,ltc2488
            # 5 Bit Programmable, Pulse-Width Modulator
          - maxim,ds1050
            # 10 kOhm digital potentiometer with I2C interface
          - maxim,ds1803-010
            # 50 kOhm digital potentiometer with I2C interface
          - maxim,ds1803-050
            # 100 kOhm digital potentiometer with I2C interface
          - maxim,ds1803-100
            # 10 kOhm digital potentiometer with I2C interface
          - maxim,ds3502
            # Temperature Sensor, I2C interface
          - maxim,max1619
            # 3-Channel Remote Temperature Sensor
          - maxim,max31730
            # 10-bit 10 kOhm linear programmable voltage divider
          - maxim,max5481
            # 10-bit 50 kOhm linear programmable voltage divider
          - maxim,max5482
            # 10-bit 10 kOhm linear programmable variable resistor
          - maxim,max5483
            # 10-bit 50 kOhm linear programmable variable resistor
          - maxim,max5484
            # PECI-to-I2C translator for PECI-to-SMBus/I2C protocol conversion
          - maxim,max6621
            # mCube 3-axis 8-bit digital accelerometer
          - mcube,mc3230
            # Measurement Specialities I2C temperature and humidity sensor
          - meas,htu21
            # Measurement Specialities I2C pressure and temperature sensor
          - meas,ms5637
            # Measurement Specialities I2C pressure and temperature sensor
          - meas,ms5803
            # Measurement Specialities I2C pressure and temperature sensor
          - meas,ms5805
            # Measurement Specialities I2C pressure and temperature sensor
          - meas,ms5837
            # Measurement Specialities temp and humidity part of ms8607 device
          - meas,ms8607-humidity
            # Measurement Specialities temp and pressure part of ms8607 device
          - meas,ms8607-temppressure
            # Measurement Specialties temperature sensor
          - meas,tsys01
            # MEMSIC magnetometer
          - memsic,mmc35240
            # MEMSIC 3-axis accelerometer
          - memsic,mxc4005
            # MEMSIC 2-axis 8-bit digital accelerometer
          - memsic,mxc6225
            # MEMSIC 2-axis 8-bit digital accelerometer
          - memsic,mxc6255
            # MEMSIC 3-axis accelerometer
          - memsic,mxc6655
            # Menlo on-board CPLD trivial SPI device
          - menlo,m53cpld
            # Microchip differential I2C ADC, 1 Channel, 18 bit
          - microchip,mcp3421
            # Microchip differential I2C ADC, 2 Channel, 18 bit
          - microchip,mcp3422
            # Microchip differential I2C ADC, 2 Channel, 18 bit
          - microchip,mcp3423
            # Microchip differential I2C ADC, 4 Channel, 18 bit
          - microchip,mcp3424
            # Microchip differential I2C ADC, 1 Channel, 16 bit
          - microchip,mcp3425
            # Microchip differential I2C ADC, 2 Channel, 16 bit
          - microchip,mcp3426
            # Microchip differential I2C ADC, 2 Channel, 16 bit
          - microchip,mcp3427
            # Microchip differential I2C ADC, 4 Channel, 16 bit
          - microchip,mcp3428
            # Microchip 7-bit Single I2C Digital POT (10k)
          - microchip,mcp4017-103
            # Microchip 7-bit Single I2C Digital POT (100k)
          - microchip,mcp4017-104
            # Microchip 7-bit Single I2C Digital POT (5k)
          - microchip,mcp4017-502
            # Microchip 7-bit Single I2C Digital POT (50k)
          - microchip,mcp4017-503
            # Microchip 7-bit Single I2C Digital POT (10k)
          - microchip,mcp4018-103
            # Microchip 7-bit Single I2C Digital POT (100k)
          - microchip,mcp4018-104
            # Microchip 7-bit Single I2C Digital POT (5k)
          - microchip,mcp4018-502
            # Microchip 7-bit Single I2C Digital POT (50k)
          - microchip,mcp4018-503
            # Microchip 7-bit Single I2C Digital POT (10k)
          - microchip,mcp4019-103
            # Microchip 7-bit Single I2C Digital POT (100k)
          - microchip,mcp4019-104
            # Microchip 7-bit Single I2C Digital POT (5k)
          - microchip,mcp4019-502
            # Microchip 7-bit Single I2C Digital POT (50k)
          - microchip,mcp4019-503
            # PWM Fan Speed Controller With Fan Fault Detection
          - microchip,tc654
            # PWM Fan Speed Controller With Fan Fault Detection
          - microchip,tc655
            # Micron SPI NOR Authenta
          - micron,spi-authenta
            # MiraMEMS DA226 2-axis 14-bit digital accelerometer
          - miramems,da226
            # MiraMEMS DA280 3-axis 14-bit digital accelerometer
          - miramems,da280
            # MiraMEMS DA311 3-axis 12-bit digital accelerometer
          - miramems,da311
            # Monolithic Power Systems Inc. multi-phase controller mp2856
          - mps,mp2856
            # Monolithic Power Systems Inc. multi-phase controller mp2857
          - mps,mp2857
            # Monolithic Power Systems Inc. multi-phase controller mp2888
          - mps,mp2888
            # Monolithic Power Systems Inc. multi-phase controller mp2891
          - mps,mp2891
            # Monolithic Power Systems Inc. multi-phase controller mp2971
          - mps,mp2971
            # Monolithic Power Systems Inc. multi-phase controller mp2973
          - mps,mp2973
            # Monolithic Power Systems Inc. multi-phase controller mp2975
          - mps,mp2975
            # Monolithic Power Systems Inc. multi-phase controller mp2993
          - mps,mp2993
            # Monolithic Power Systems Inc. multi-phase hot-swap controller mp5920
          - mps,mp5920
            # Monolithic Power Systems Inc. multi-phase hot-swap controller mp5990
          - mps,mp5990
            # Monolithic Power Systems Inc. digital step-down converter mp9941
          - mps,mp9941
            # Monolithic Power Systems Inc. synchronous step-down converter mpq8785
          - mps,mpq8785
            # Temperature sensor with integrated fan control
          - national,lm63
            # Serial Interface ACPI-Compatible Microprocessor System Hardware Monitor
          - national,lm80
            # Serial Interface ACPI-Compatible Microprocessor System Hardware Monitor
          - national,lm81
            # Temperature sensor with integrated fan control
          - national,lm85
            # I2C ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator
          - national,lm92
            # Nuvoton Temperature Sensor
          - nuvoton,w83773g
            # OKI ML86V7667 video decoder
          - oki,ml86v7667
            # 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
          - plx,pex8648
            # Pulsedlight LIDAR range-finding sensor
          - pulsedlight,lidar-lite-v2
            # Renesas HS3001 Temperature and Relative Humidity Sensors
          - renesas,hs3001
            # Renesas ISL29501 time-of-flight sensor
          - renesas,isl29501
            # Rohm BH2228FV 8 channel DAC
          - rohm,bh2228fv
            # Rohm DH2228FV - This device does not exist, use rohm,bh2228fv instead.
          - rohm,dh2228fv
            # S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power)
          - samsung,24ad0xd1
            # Samsung Exynos SoC SATA PHY I2C device
          - samsung,exynos-sataphy-i2c
            # Semtech sx1301 baseband processor
          - semtech,sx1301
            # Sensirion multi-pixel gas sensor with I2C interface
          - sensirion,sgp30
            # Sensirion gas sensor with I2C interface
          - sensirion,sgp40
            # Sensirion low power multi-pixel gas sensor with I2C interface
          - sensirion,sgpc3
            # Sensirion temperature & humidity sensor with I2C interface
          - sensirion,sht4x
            # Sensortek 3 axis accelerometer
          - sensortek,stk8312
            # Sensortek 3 axis accelerometer
          - sensortek,stk8ba50
            # SGX Sensortech VZ89X Sensors
          - sgx,vz89x
            # Silicon Labs EM3581 Zigbee SoC with SPI interface
          - silabs,em3581
            # Silicon Labs SI3210 Programmable CMOS SLIC/CODEC with SPI interface
          - silabs,si3210
            # Relative Humidity and Temperature Sensors
          - silabs,si7005
            # Relative Humidity and Temperature Sensors
          - silabs,si7020
            # Skyworks SKY81452: Six-Channel White LED Driver with Touch Panel Bias Supply
          - skyworks,sky81452
            # SparkFun Qwiic Joystick (COM-15168) with i2c interface
          - sparkfun,qwiic-joystick
            # Sierra Wireless mangOH Green SPI IoT interface
          - swir,mangoh-iotport-spi
            # Ambient Light Sensor with SMBUS/Two Wire Serial Interface
          - taos,tsl2550
            # Temperature Monitoring and Fan Control
          - ti,amc6821
            # Temperature and humidity sensor with i2c interface
          - ti,hdc1000
            # Temperature and humidity sensor with i2c interface
          - ti,hdc1008
            # Temperature and humidity sensor with i2c interface
          - ti,hdc1010
            # Temperature and humidity sensor with i2c interface
          - ti,hdc1050
            # Temperature and humidity sensor with i2c interface
          - ti,hdc1080
            # Thermometer with SPI interface
          - ti,lm70
          - ti,lm71
            # Temperature sensor with 2-wire interface
          - ti,lm73
            # Thermometer with SPI interface
          - ti,lm74
            # Temperature sensor with integrated fan control
          - ti,lm96000
            # Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface
          - ti,tmp103
            # Thermometer with SPI interface
          - ti,tmp121
          - ti,tmp122
          - ti,tmp125
            # TI DC-DC converter on PMBus
          - ti,tps40400
            # TI Dual channel DCAP+ multiphase controller TPS53676 with AVSBus
          - ti,tps53676
            # TI Dual channel DCAP+ multiphase controller TPS53679
          - ti,tps53679
            # TI Dual channel DCAP+ multiphase controller TPS53688
          - ti,tps53688
            # TI DC-DC converters on PMBus
          - ti,tps544b20
          - ti,tps544b25
          - ti,tps544c20
          - ti,tps544c25
          - ti,tps546d24
            # I2C Touch-Screen Controller
          - ti,tsc2003
            # Vicor Corporation Digital Supervisor
          - vicor,pli1209bc
            # Winbond/Nuvoton H/W Monitor
          - winbond,w83793

required:
  - compatible
  - reg

additionalProperties: false

...
