# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/i2c-atr.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Common i2c address translator properties

maintainers:
  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

description:
  An I2C Address Translator (ATR) is a device with an I2C slave parent
  ("upstream") port and N I2C master child ("downstream") ports, and
  forwards transactions from upstream to the appropriate downstream port
  with a modified slave address. The address used on the parent bus is
  called the "alias" and is (potentially) different from the physical
  slave address of the child bus. Address translation is done by the
  hardware.

properties:
  i2c-alias-pool:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description:
      I2C alias pool is a pool of I2C addresses on the main I2C bus that can be
      used to access the remote peripherals on the serializer's I2C bus. The
      addresses must be available, not used by any other peripheral. Each
      remote peripheral is assigned an alias from the pool, and transactions to
      that address will be forwarded to the remote peripheral, with the address
      translated to the remote peripheral's real address. This property is not
      needed if there are no I2C addressable remote peripherals.

additionalProperties: true
...