.../boot/dts/amlogic/meson-g12b-radxa-zero2.dts | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+)
From: Ricardo Pardini <ricardo@pardini.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@pardini.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@pardini.net>
Hi,
On Thu, 15 Jan 2026 18:52:46 +0100, Ricardo Pardini wrote:
> The Radxa Zero2 has an FUSB302 controller on i2c3 at address 0x22 and
> INT# wired to GPIOA-13; include a minimal connector.
>
>
Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.20/arm64-dt)
[1/1] arm64: dts: amlogic: add the type-c controller on Radxa Zero 2
https://git.kernel.org/amlogic/c/2afef25cc448ada7c9a7771fbfe4087a9e1a6d03
These changes has been applied on the intermediate git tree [1].
The v6.20/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.
In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].
The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.
If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
--
Neil
On 1/15/26 18:52, Ricardo Pardini via B4 Relay wrote:
> From: Ricardo Pardini <ricardo@pardini.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@pardini.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,
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
© 2016 - 2026 Red Hat, Inc.