* [PATCH] USB: typec: tcpm: Add support for Etek ET7304 Controller
@ 2026-02-17 18:58 Yuanshen Cao
2026-02-18 7:25 ` Krzysztof Kozlowski
0 siblings, 1 reply; 2+ messages in thread
From: Yuanshen Cao @ 2026-02-17 18:58 UTC (permalink / raw)
To: Heikki Krogerus, Greg Kroah-Hartman, linux-usb; +Cc: Yuanshen Cao
The Etek ET7304 is a USB Type-C Port Controller with USB-PD used on
the Radxa Cubie A7Z.
According to the ET7304 datasheet [1] and the vendor BSP source code
provided by Radxa [2], this controller is the same device as RT1715
with a different VID.
Add support for the ET7304 by registering its VID in the driver.
Tested on Radxa Cubie A7Z.
[1] https://www.etekmicro.com/wp-content/uploads/datasheets/ET7304_datasheet.pdf
[2] https://github.com/radxa/allwinner-bsp/commit/156b6578cc173855b41ea311a229403ccbadb17c
Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
---
.../devicetree/bindings/usb/richtek,rt1711h.yaml | 3 ++-
drivers/usb/typec/tcpm/tcpci_rt1711h.c | 16 +++++++++++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/richtek,rt1711h.yaml b/Documentation/devicetree/bindings/usb/richtek,rt1711h.yaml
index ae611f7e57ca4..ed0802112eb9f 100644
--- a/Documentation/devicetree/bindings/usb/richtek,rt1711h.yaml
+++ b/Documentation/devicetree/bindings/usb/richtek,rt1711h.yaml
@@ -21,8 +21,9 @@ properties:
enum:
- richtek,rt1711h
- richtek,rt1715
+ - etek,et7304
description:
- RT1711H support PD20, RT1715 support PD30 except Fast Role Swap.
+ RT1711H support PD20, RT1715 and ET7304 support PD30 except Fast Role Swap.
reg:
maxItems: 1
diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 88c50b984e8a3..4848748a10dd2 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -19,9 +19,11 @@
#include <linux/regulator/consumer.h>
#define RT1711H_VID 0x29CF
+#define ET7304_VID 0x6DCF
#define RT1711H_PID 0x1711
#define RT1711H_DID 0x2171
#define RT1715_DID 0x2173
+#define ET7304_DID 0x2173
#define RT1711H_PHYCTRL1 0x80
#define RT1711H_PHYCTRL2 0x81
@@ -55,6 +57,7 @@
struct rt1711h_chip_info {
u32 rxdz_sel;
+ u16 vid;
u16 did;
bool enable_pd30_extended_message;
};
@@ -308,7 +311,7 @@ static int rt1711h_check_revision(struct i2c_client *i2c, struct rt1711h_chip *c
ret = i2c_smbus_read_word_data(i2c, TCPC_VENDOR_ID);
if (ret < 0)
return ret;
- if (ret != RT1711H_VID) {
+ if (ret != chip->info->vid) {
dev_err(&i2c->dev, "vid is not correct, 0x%04x\n", ret);
return -ENODEV;
}
@@ -406,18 +409,28 @@ static void rt1711h_remove(struct i2c_client *client)
}
static const struct rt1711h_chip_info rt1711h = {
+ .vid = RT1711H_VID,
.did = RT1711H_DID,
};
static const struct rt1711h_chip_info rt1715 = {
.rxdz_sel = RT1711H_BMCIO_RXDZSEL,
+ .vid = RT1711H_VID,
.did = RT1715_DID,
.enable_pd30_extended_message = true,
};
+static const struct rt1711h_chip_info et7304 = {
+ .rxdz_sel = RT1711H_BMCIO_RXDZSEL,
+ .vid = ET7304_VID,
+ .did = ET7304_DID,
+ .enable_pd30_extended_message = true,
+};
+
static const struct i2c_device_id rt1711h_id[] = {
{ "rt1711h", (kernel_ulong_t)&rt1711h },
{ "rt1715", (kernel_ulong_t)&rt1715 },
+ { "et7304", (kernel_ulong_t)&et7304 },
{}
};
MODULE_DEVICE_TABLE(i2c, rt1711h_id);
@@ -425,6 +438,7 @@ MODULE_DEVICE_TABLE(i2c, rt1711h_id);
static const struct of_device_id rt1711h_of_match[] = {
{ .compatible = "richtek,rt1711h", .data = &rt1711h },
{ .compatible = "richtek,rt1715", .data = &rt1715 },
+ { .compatible = "etek,et7304", .data = &et7304 },
{}
};
MODULE_DEVICE_TABLE(of, rt1711h_of_match);
--
2.53.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] USB: typec: tcpm: Add support for Etek ET7304 Controller
2026-02-17 18:58 [PATCH] USB: typec: tcpm: Add support for Etek ET7304 Controller Yuanshen Cao
@ 2026-02-18 7:25 ` Krzysztof Kozlowski
0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-18 7:25 UTC (permalink / raw)
To: Yuanshen Cao, Heikki Krogerus, Greg Kroah-Hartman, linux-usb
On 17/02/2026 19:58, Yuanshen Cao wrote:
> The Etek ET7304 is a USB Type-C Port Controller with USB-PD used on
> the Radxa Cubie A7Z.
> According to the ET7304 datasheet [1] and the vendor BSP source code
> provided by Radxa [2], this controller is the same device as RT1715
> with a different VID.
>
> Add support for the ET7304 by registering its VID in the driver.
> Tested on Radxa Cubie A7Z.
>
> [1] https://www.etekmicro.com/wp-content/uploads/datasheets/ET7304_datasheet.pdf
> [2] https://github.com/radxa/allwinner-bsp/commit/156b6578cc173855b41ea311a229403ccbadb17c
>
> Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
> ---
> .../devicetree/bindings/usb/richtek,rt1711h.yaml | 3 ++-
> drivers/usb/typec/tcpm/tcpci_rt1711h.c | 16 +++++++++++++++-
Please run scripts/checkpatch.pl on the patches and fix reported
warnings. After that, run also 'scripts/checkpatch.pl --strict' on the
patches and (probably) fix more warnings. Some warnings can be ignored,
especially from --strict run, but the code here looks like it needs a
fix. Feel free to get in touch if the warning is not clear.
Please use scripts/get_maintainers.pl to get a list of necessary people
and lists to CC. It might happen, that command when run on an older
kernel, gives you outdated entries. Therefore please be sure you base
your patches on recent Linux kernel.
Tools like b4 or scripts/get_maintainer.pl provide you proper list of
people, so fix your workflow. Tools might also fail if you work on some
ancient tree (don't, instead use mainline) or work on fork of kernel
(don't, instead use mainline). Just use b4 and everything should be
fine, although remember about `b4 prep --auto-to-cc` if you added new
patches to the patchset.
You missed at least devicetree list (maybe more), so this won't be
tested by automated tooling. Performing review on untested code might be
a waste of time.
Please kindly resend and include all necessary To/Cc entries.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-02-18 7:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-17 18:58 [PATCH] USB: typec: tcpm: Add support for Etek ET7304 Controller Yuanshen Cao
2026-02-18 7:25 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox