1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*aa1a8ff2SEmmanuel Vadot%YAML 1.2 3*aa1a8ff2SEmmanuel Vadot--- 4*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/i2c/i2c-atr.yaml# 5*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*aa1a8ff2SEmmanuel Vadot 7*aa1a8ff2SEmmanuel Vadottitle: Common i2c address translator properties 8*aa1a8ff2SEmmanuel Vadot 9*aa1a8ff2SEmmanuel Vadotmaintainers: 10*aa1a8ff2SEmmanuel Vadot - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> 11*aa1a8ff2SEmmanuel Vadot 12*aa1a8ff2SEmmanuel Vadotdescription: 13*aa1a8ff2SEmmanuel Vadot An I2C Address Translator (ATR) is a device with an I2C slave parent 14*aa1a8ff2SEmmanuel Vadot ("upstream") port and N I2C master child ("downstream") ports, and 15*aa1a8ff2SEmmanuel Vadot forwards transactions from upstream to the appropriate downstream port 16*aa1a8ff2SEmmanuel Vadot with a modified slave address. The address used on the parent bus is 17*aa1a8ff2SEmmanuel Vadot called the "alias" and is (potentially) different from the physical 18*aa1a8ff2SEmmanuel Vadot slave address of the child bus. Address translation is done by the 19*aa1a8ff2SEmmanuel Vadot hardware. 20*aa1a8ff2SEmmanuel Vadot 21*aa1a8ff2SEmmanuel Vadotproperties: 22*aa1a8ff2SEmmanuel Vadot i2c-alias-pool: 23*aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 24*aa1a8ff2SEmmanuel Vadot description: 25*aa1a8ff2SEmmanuel Vadot I2C alias pool is a pool of I2C addresses on the main I2C bus that can be 26*aa1a8ff2SEmmanuel Vadot used to access the remote peripherals on the serializer's I2C bus. The 27*aa1a8ff2SEmmanuel Vadot addresses must be available, not used by any other peripheral. Each 28*aa1a8ff2SEmmanuel Vadot remote peripheral is assigned an alias from the pool, and transactions to 29*aa1a8ff2SEmmanuel Vadot that address will be forwarded to the remote peripheral, with the address 30*aa1a8ff2SEmmanuel Vadot translated to the remote peripheral's real address. This property is not 31*aa1a8ff2SEmmanuel Vadot needed if there are no I2C addressable remote peripherals. 32*aa1a8ff2SEmmanuel Vadot 33*aa1a8ff2SEmmanuel VadotadditionalProperties: true 34*aa1a8ff2SEmmanuel Vadot... 35