microchip,xec-i3c

Description

These nodes are “[‘i3c’, ‘i2c’]” bus nodes.

Microchip XEC I3C controller.

The MEC SoCs integrate the Synopsys DesignWare DWC_mipi_i3c IP behind an
XEC-specific wrapper, so this binding shares the i3c_dw.c driver with
snps,designware-i3c. The wrapper adds a HOST_CFG port-select register, and
routes the interrupt through the XEC Interrupt Aggregator (ECIA)

Properties

Properties not inherited from the base binding file.

Name

Type

Details

port-sel

int

I3C port selection written to HOST_CFG[2:0]. Selects which SoC pad group
the controller drives. Must agree with the pinctrl-0 pin group.

Default value: 0

i3c-scl-hz

int

Frequency of the SCL signal used for I3C transfers. When undefined,
use the controller default or as specified by the I3C specification.

i2c-scl-hz

int

Frequency of the SCL signal used for I2C transfers. When undefined
and there are I2C devices attached to the bus, look at the Legacy
Virtual Register (LVR) of all connected I2C devices to determine
the maximum allowed frequency.

primary-controller-da

int

This is the self assigned dynamic address of the I3C controller. This
is the address is used to communicate with itself after a handoff by
a secondary controller. This is only used if the controller is a primary
controller.

od-thigh-min-ns

int

Minimum high clock pulse length (ns) in Open-Drain mode for pure bus.
The default value is from Section 4.3.11.2 & Table 49 of the I3C
Basic Specification v1.2 (16-Dec-2024).

Default value: 24

od-tlow-min-ns

int

Minimum low clock pulse length (ns) in Open-Drain mode.
The default value is from Section 4.3.11.2 & Table 49 of the I3C
Basic Specification v1.2 (16-Dec-2024).

Default value: 200

disable-bus-init

boolean

If true, the I3C bus initialization (i3c_bus_init) will not be
performed during driver initialization. This allows the application
to perform bus initialization at a later time.

disable-hj-at-init

boolean

If true, Hot-Join ACKs will not be enabled at the end of bus
initialization. Hot-Join events will be NACKed until the
application explicitly enables them.

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

girqs

array

Many DEC/MEC periperals interrupt signals are direct capable. The signals are
connected to bits in a GIRQ. Each GIRQ is composed of 5 32-bit registers:
status(latched or r/w1-c), set-enable, clr-enable, and result (read-only).
The read-only result register bits are the bitwise AND of status and enable.
Direct mode routes the individual result register bits to NVIC inputs. If
direct mode is disable by setting direct mode bit to 0 in the EC subsystem
interrupt control register then the result register outputs are OR'd together
and the OR'd result is connected to an NVIC input based on GIRQ number.
To enable an interrupt a driver must know:
a. NVIC input number and priority from the interrupts property
b. GIRQ number and bit position from the girqs property
The number of entries in interrupts and girqs should be the same in a DT node.

This property is required.