# 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
            # ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems
          - ad,adm9240
            # AD5110 - Nonvolatile Digital Potentiometer
          - adi,ad5110
            # Analog Devices ADP5585 Keypad Decoder and I/O Expansion
          - adi,adp5585
            # Analog Devices ADP5585 Keypad Decoder and I/O Expansion with support for Row5
          - adi,adp5585-02
            # 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 serial eeprom (24cxx)
          - at,24c08
            # 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
            # Tiny Digital Thermometer and Thermostat
          - dallas,ds1775
            # CPU Peripheral Monitor
          - dallas,ds1780
            # CPU Supervisor with Nonvolatile Memory and Programmable I/O
          - dallas,ds4510
            # Digital Thermometer and Thermostat
          - dallas,ds75
            # 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
            # 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 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 ISL76682 Ambient Light Sensor
          - isil,isl76682
            # 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
            # Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
          - maxim,max1237
            # 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
            # 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface
          - maxim,max6625
            # 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 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 hot-swap controller mp5990
          - mps,mp5990
            # 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 DH2228FV
          - 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
            # i2c serial eeprom (24cxx)
          - st,24c256
            # 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
            # Digital Temperature Sensor
          - ti,tmp275
            # 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
            # I2C Touch-Screen Controller
          - ti,tsc2003
            # Vicor Corporation Digital Supervisor
          - vicor,pli1209bc
            # Winbond/Nuvoton H/W Monitor
          - winbond,w83793

required:
  - compatible
  - reg

additionalProperties: false

...
