[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20260115-arm64-dts-amlogic-radxa-zero2-additions-v2-1-948bb0479a45@pardini.net>
Date: Thu, 15 Jan 2026 18:52:46 +0100
From: Ricardo Pardini via B4 Relay <devnull+ricardo.pardini.net@...nel.org>
To: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>,
Kevin Hilman <khilman@...libre.com>, Jerome Brunet <jbrunet@...libre.com>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Cc: devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-amlogic@...ts.infradead.org, linux-kernel@...r.kernel.org,
Ricardo Pardini <ricardo@...dini.net>
Subject: [PATCH v2] arm64: dts: amlogic: add the type-c controller on Radxa
Zero 2
From: Ricardo Pardini <ricardo@...dini.net>
The Radxa Zero2 has an FUSB302 controller on i2c3 at address 0x22 and
INT# wired to GPIOA-13; include a minimal connector.
Signed-off-by: Ricardo Pardini <ricardo@...dini.net>
---
This series adds a few things missing from the Radxa Zero 2:
1) NPU (etnaviv), just enable the node, similar to what was done for VIM3
(dropped as was already picked up in [1])
2) i2c3 (also exposed on the 40-pin header) and the FUSB302 at 0x22.
Describes it minimally, adding no functionality, but reserving the 0x22
address since i2c3 is also exposed on user-accessible 40-pin header.
Krzysztof: v1 followed the node name I had found used in amlogic; I've
looked around more broadly and found 'fusb0: typec-portc@22'
to be quite popular, so went with this. Hope it is acceptable.
Neil: I've fixed the interrupts pin, and described the required connector
even more minimally than you suggested, as to avoid including pd.h.
It is also done this way in a few other boards, hope it's correct.
I've rebased your/Christian's full-enablement patches on top of this,
tested with an r8152 which then works both ways, it's available at [2]
[1] https://git.kernel.org/amlogic/c/29deec49146162d06b17739c627d062191e03814
[2] https://github.com/rpardini/linux/tree/radxa-zero2-fusb302-minimal-plus-full-impl-rebase
---
Changes in v2:
- npu: dropped NPU enablement patch as it was already picked up by Neil
- fusb302: dropped 'status = "okay"'
- fusb302: declare as 'fusb0: typec-portc@22' instead of 'fusb302@22'
- fusb302: use correct pin (74 -> gpioA13) for interrupts
- fusb302: add a (very minimal) connector so dtbs_check passes
- Link to v1: https://lore.kernel.org/r/20260114-arm64-dts-amlogic-radxa-zero2-additions-v1-0-8b5cdf328fde@pardini.net
---
.../boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 34 ++++++++++++++++++++++
1 file changed, 34 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 1e5c6f9849456..5d32c04de938e 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,46 @@ 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";
+
+ fusb0: typec-portc@22 {
+ compatible = "fcs,fusb302";
+ reg = <0x22>;
+
+ pinctrl-0 = <&fusb302_irq_pins>;
+ pinctrl-names = "default";
+ interrupt-parent = <&gpio_intc>;
+ interrupts = <74 IRQ_TYPE_LEVEL_LOW>;
+
+ vbus-supply = <&ao_5v>;
+
+ connector {
+ compatible = "usb-c-connector";
+ };
+ };
+};
+
&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";
---
base-commit: 0f61b1860cc3f52aef9036d7235ed1f017632193
change-id: 20260114-arm64-dts-amlogic-radxa-zero2-additions-905549fbed3e
Best regards,
--
Ricardo Pardini <ricardo@...dini.net>
Powered by blists - more mailing lists