Re: [PATCH 2/2] arm64: dts: amlogic: add the type-c controller on Radxa Zero 2
From: Neil Armstrong
Date: Thu Jan 15 2026 - 08:00:08 EST
Hi,
On 1/14/26 23:48, Ricardo Pardini via B4 Relay wrote:
From: Ricardo Pardini <ricardo@xxxxxxxxxxx>
The Radxa Zero2 has an FUSB302 controller on i2c3 at address 0x22 and
INT# wired to GPIOA-13.
Signed-off-by: Ricardo Pardini <ricardo@xxxxxxxxxxx>
---
.../boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 32 ++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
index a37776d22b09e..125b064a15c1e 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
@@ -364,12 +364,44 @@ hdmi_tx_tmds_out: endpoint {
};
};
+/* Also exposed on the 40-pin header: SDA pin 3, SCL pin 5 */
+&i2c3 {
+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ fusb302@22 {
+ compatible = "fcs,fusb302";
+ reg = <0x22>;
+
+ pinctrl-0 = <&fusb302_irq_pins>;
+ pinctrl-names = "default";
+ interrupt-parent = <&gpio_intc>;
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
OK it seems I did read too fast, this should be 74 !
S922X Datasheet (same as A311D for this)
Table 6-32 GPIO Interrupt Sources
---------------------------------------------
| Input Mux Location | Description |
---------------------------------------------
| [76:61] | gpioA[15:0] |
---------------------------------------------
So gpioA13 ==> 74
+
+ vbus-supply = <&ao_5v>;
+
+ status = "okay";
And I get:
DTC [C] arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dtb
arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dtb: fusb302@22 (fcs,fusb302): 'connector' is a required property
from schema $id: http://devicetree.org/schemas/usb/fcs,fusb302.yaml#
Please add a minimal connector, like:
+ connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ data-role = "host";
+ power-role = "source";
+ source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
+ };
I'll drop this change from my tree.
And you may also add support for the superspeed mux to switch the USB3 polarity.
I have a prototype at https://gitlab.com/superna9999/linux/-/tree/topic/amlogic/radxa-zero2/fusb302?ref_type=heads
Neil
+ };
+};
+
&ir {
status = "disabled";
pinctrl-0 = <&remote_input_ao_pins>;
pinctrl-names = "default";
};
+&periphs_pinctrl {
+ fusb302_irq_pins: fusb302-irq {
+ mux {
+ groups = "GPIOA_13";
+ function = "gpio_periphs";
+ bias-pull-up;
+ output-disable;
+ };
+ };
+};
+
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";