]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
i3c: master: Improve initialization of numbered I2C adapters
authorDefa Li <defa.li@mediatek.com>
Thu, 12 Dec 2024 09:17:53 +0000 (17:17 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 12 Jan 2025 23:01:42 +0000 (00:01 +0100)
commit5eb6d3561f6cb6d59887be6da764417e437f6afa
treea43a551f0f833635d80a4ac513a51133f8f7cd41
parentb266e0d4dac00eecdfaf50ec3f708fd0c3b39637
i3c: master: Improve initialization of numbered I2C adapters

Add logic to initialize I2C adapters with a specific ID if available,
improving device identification and configuration.

For mixed buses, in addition to the i3c alias, an i2c alias can be added to
assign a fixed bus number to the i2c adapter.

This allows an alias node such as:
    aliases {
        i2c2 = &mixed_bus_a,
        i3c2 = &mixed_bus_a,
        i3c4 = &mixed_bus_b,
    };

    /* assigned "i3c-2" and "i2c-2" */
    mixed_bus_a: i3c-master {
    };

If there is no i2c alias for a mixed bus, the i2c adapter numbers will
remain as is and will be assigned starting after the highest fixed bus
number.

    /* assigned "i3c-4" and likely assigned "i2c-3" */
    mixed_bus_b: i3c-master {
    };

Signed-off-by: Defa Li <defa.li@mediatek.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20241212091818.8591-1-defa.li@mediatek.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master.c