回覆: [PATCH 1/8] dt-bindings: i3c: Document the AST2700 I3C controller
Billy Tsai
billy_tsai at aspeedtech.com
Wed Sep 23 22:39:47 PDT 2026
> I guess we need to make them generic. Probably nobody needed them yet
> and not all the controllers will have support anyway.
> However, I would like to make sure we get enough commonality between
> controllers that support setting the timings individually, can you
> check?
I went through dw-i3c-master, i3c-master-cdns, and the AMD/Xilinx AXI
I3C driver. Every property in this set has a direct counterpart in at
least one of them:
- Open-drain and push-pull SCL high/low: dw-i3c-master has
SCL_I3C_OD_TIMING/SCL_I3C_PP_TIMING (high/low count each); the
AMD/Xilinx driver has separate SCL high/low and OD SCL high/low
registers.
- SDA/data hold time: the AMD/Xilinx driver has its own hold-time
register computed as a percentage of the low period; cdns has a
data hold delay explicitly there to meet the MIPI I3C tHD_PP
minimum "regardless of PCB balancing", their words for the same
board-variance concern we have.
- tCAS: dw-i3c-master's own comment says its MST_FREE register
represents tCAS in pure I3C mode; the AMD/Xilinx driver computes an
explicit tCAS minimum from the spec value.
None of the three expose any of this through a DT property today.
They either derive it purely from the bus rate, or hardcode one fixed
value per compatible (cdns's data hold delay is a flat 10ns baked
into its per-SoC match data, the same default we picked
independently). So there's no existing naming convention to be
consistent with, but the underlying quantities are clearly common
across implementations, not something specific to our controller.
Thanks
Billy
More information about the linux-i3c
mailing list