Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: dt-bindings: i2c: Add I2C Address Translator (ATR)

Add bindings for I2C Address Translator. Only one property is added,
'i2c-alias-pool', which can be used in the bindings for the device that
supports ATR.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Acked-by: Wolfram Sang <wsa@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

authored by

Tomi Valkeinen and committed by
Mauro Carvalho Chehab
86251cf8 26ce7054

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