[PATCH net-next 2/2] net: pse-pd: realtek-pse-mcu: add gen1 I2C transport

From: Sander Vanheule

Date: Sun Oct 18 2026 - 12:22:43 EST


Provide the required data for the gen1 raw I2C binding, which like for
gen2 is simply the gen1 protocol data with the native_i2c flag set.

Signed-off-by: Sander Vanheule <sander@xxxxxxxxxxxxx>
---
drivers/net/pse-pd/realtek-pse-mcu-core.c | 8 +++++++-
drivers/net/pse-pd/realtek-pse-mcu-i2c.c | 1 +
drivers/net/pse-pd/realtek-pse-mcu.h | 1 +
3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/net/pse-pd/realtek-pse-mcu-core.c b/drivers/net/pse-pd/realtek-pse-mcu-core.c
index e64f13ea6e4e..c70b09ca2012 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu-core.c
+++ b/drivers/net/pse-pd/realtek-pse-mcu-core.c
@@ -986,7 +986,13 @@ const struct rtpse_mcu_match_data rtpse_mcu_gen2_data = {
};
EXPORT_SYMBOL_GPL(rtpse_mcu_gen2_data);

-/* Same dialect as gen2, but the MCU expects raw-I2C framing. */
+/* Same dialects as above, but the MCU expects raw-I2C framing. */
+const struct rtpse_mcu_match_data rtpse_mcu_gen1_i2c_data = {
+ .dialect = &rtpse_mcu_dialect_gen1,
+ .native_i2c = true,
+};
+EXPORT_SYMBOL_GPL(rtpse_mcu_gen1_i2c_data);
+
const struct rtpse_mcu_match_data rtpse_mcu_gen2_i2c_data = {
.dialect = &rtpse_mcu_dialect_gen2,
.native_i2c = true,
diff --git a/drivers/net/pse-pd/realtek-pse-mcu-i2c.c b/drivers/net/pse-pd/realtek-pse-mcu-i2c.c
index b6769ac1d470..bbded772eddf 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu-i2c.c
+++ b/drivers/net/pse-pd/realtek-pse-mcu-i2c.c
@@ -128,6 +128,7 @@ static int rtpse_mcu_i2c_probe(struct i2c_client *client)

static const struct of_device_id rtpse_mcu_i2c_of_match[] = {
{ .compatible = "realtek,pse-mcu-gen1-smbus", .data = &rtpse_mcu_gen1_data },
+ { .compatible = "realtek,pse-mcu-gen1-i2c", .data = &rtpse_mcu_gen1_i2c_data },
{ .compatible = "realtek,pse-mcu-gen2-smbus", .data = &rtpse_mcu_gen2_data },
{ .compatible = "realtek,pse-mcu-gen2-i2c", .data = &rtpse_mcu_gen2_i2c_data },
{ /* sentinel */ }
diff --git a/drivers/net/pse-pd/realtek-pse-mcu.h b/drivers/net/pse-pd/realtek-pse-mcu.h
index d75e91669b8f..5e31dd0993dd 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu.h
+++ b/drivers/net/pse-pd/realtek-pse-mcu.h
@@ -88,6 +88,7 @@ struct rtpse_mcu_ctrl {
int rtpse_mcu_register(struct rtpse_mcu_ctrl *pse);

extern const struct rtpse_mcu_match_data rtpse_mcu_gen1_data;
+extern const struct rtpse_mcu_match_data rtpse_mcu_gen1_i2c_data;
extern const struct rtpse_mcu_match_data rtpse_mcu_gen2_data;
extern const struct rtpse_mcu_match_data rtpse_mcu_gen2_i2c_data;

--
2.56.0