Re: [PATCH 2/2] arm64: dts: amlogic: add the type-c controller on Radxa Zero 2
From: Neil Armstrong <neil.armstrong@linaro.org>
Date: 2026-01-15 13:00:08
Also in:
linux-amlogic, linux-arm-kernel, lkml
Hi, On 1/14/26 23:48, Ricardo Pardini via B4 Relay wrote:
quoted hunk ↗ jump to hunk
From: Ricardo Pardini <redacted> The Radxa Zero2 has an FUSB302 controller on i2c3 at address 0x22 and INT# wired to GPIOA-13. Signed-off-by: Ricardo Pardini <redacted> --- .../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";