* [PATCH 0/3] arm64: dts: amlogic: add support for Orbbec Zora P1
@ 2026-07-26 18:21 Alberto Robazza
2026-07-26 18:21 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec Alberto Robazza
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Alberto Robazza @ 2026-07-26 18:21 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, neil.armstrong, khilman
Cc: robazza.alberto, jbrunet, martin.blumenstingl, devicetree,
linux-kernel, linux-arm-kernel, linux-amlogic
From: Alberto Robazza <robazza.alberto@proton.me>
The Orbbec Zora P1 is a vision development board based on the Amlogic
A311D (Meson G12B) SoC, with 2/4 GiB LPDDR4, an Ampak AP6256 combo
module (Broadcom BCM43456 Wi-Fi over SDIO and BCM4345C5 Bluetooth over
UART_A), HDMI output and Gigabit Ethernet.
According to specifications and how it advertise itself in the original
dts configuration, the board is a revised version of the ODROID-N2 with
WiFi/BT and Amlogic A311D instead of the original S922X, so the device
tree builds on meson-g12b-a311d.dtsi and meson-g12b-odroid-n2.dtsi
(mirroring meson-g12b-odroid-n2-plus.dts), extended with the
board-specific GPIO wiring for the AP6256 managing, the status led is
green instead of the original blue of the N2 and polarity is inverted.
This series consists of:
Patch 1: add the "orbbec" vendor prefix.
Patch 2: document the "orbbec,zora-p1" board compatible.
Patch 3: add the meson-g12b-zora-p1.dts board file and Makefile entry.
The DTW was built, validated against the amlogic.yaml binding
(DT_SCHEMA_FILES), and the resulting DTB was boot-tested on the board.
Alberto Robazza (3):
dt-bindings: vendor-prefixes: add Orbbec
dt-bindings: arm: amlogic: document Orbbec Zora P1 board compatible
arm64: dts: amlogic: add support for Orbbec Zora P1
.../devicetree/bindings/arm/amlogic.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../boot/dts/amlogic/meson-g12b-zora-p1.dts | 103 ++++++++++++++++++
4 files changed, 107 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts
--
2.55.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec
2026-07-26 18:21 [PATCH 0/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
@ 2026-07-26 18:21 ` Alberto Robazza
2026-07-26 18:24 ` sashiko-bot
2026-07-26 18:21 ` [PATCH 2/3] dt-bindings: arm: amlogic: document Orbbec Zora P1 board compatible Alberto Robazza
2026-07-26 18:21 ` [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
2 siblings, 1 reply; 6+ messages in thread
From: Alberto Robazza @ 2026-07-26 18:21 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, neil.armstrong, khilman
Cc: robazza.alberto, jbrunet, martin.blumenstingl, devicetree,
linux-kernel, linux-arm-kernel, linux-amlogic
From: Alberto Robazza <robazza.alberto@proton.me>
Add the "orbbec" vendor prefix for Orbbec Inc., a manufacturer of
3D depth cameras and embedded vision boards. The prefix is needed by
an upcoming board compatible string ("orbbec,zora-p1") introduced by
this series.
Link: https://www.orbbec.com/
Signed-off-by: Alberto Robazza <robazza.alberto@proton.me>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 396044f36..f205df64a 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1213,6 +1213,8 @@ patternProperties:
description: Orient Chip Technology Co., Ltd.
"^oct,.*":
description: Octavo Systems LLC
+ "^orbbec,.*":
+ description: Orbbec Inc.
"^okaya,.*":
description: Okaya Electric America, Inc.
"^oki,.*":
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] dt-bindings: arm: amlogic: document Orbbec Zora P1 board compatible
2026-07-26 18:21 [PATCH 0/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
2026-07-26 18:21 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec Alberto Robazza
@ 2026-07-26 18:21 ` Alberto Robazza
2026-07-26 18:21 ` [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
2 siblings, 0 replies; 6+ messages in thread
From: Alberto Robazza @ 2026-07-26 18:21 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, neil.armstrong, khilman
Cc: robazza.alberto, jbrunet, martin.blumenstingl, devicetree,
linux-kernel, linux-arm-kernel, linux-amlogic
From: Alberto Robazza <robazza.alberto@proton.me>
Document the "orbbec,zora-p1" compatible for the Orbbec Zora P1 board,
which is based on the Amlogic A311D (Meson G12B) SoC. The corresponding
device tree is added in the follow-up patch.
The "orbbec" vendor prefix used here is added in the first patch of this
series
Signed-off-by: Alberto Robazza <robazza.alberto@proton.me>
---
Documentation/devicetree/bindings/arm/amlogic.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 9f73a0054..2d6ecdada 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -167,6 +167,7 @@ properties:
- bananapi,bpi-m2s
- khadas,vim3
- libretech,aml-a311d-cc
+ - orbbec,zora-p1
- radxa,zero2
- const: amlogic,a311d
- const: amlogic,g12b
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1
2026-07-26 18:21 [PATCH 0/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
2026-07-26 18:21 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec Alberto Robazza
2026-07-26 18:21 ` [PATCH 2/3] dt-bindings: arm: amlogic: document Orbbec Zora P1 board compatible Alberto Robazza
@ 2026-07-26 18:21 ` Alberto Robazza
2026-07-26 18:29 ` sashiko-bot
2 siblings, 1 reply; 6+ messages in thread
From: Alberto Robazza @ 2026-07-26 18:21 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, neil.armstrong, khilman
Cc: robazza.alberto, jbrunet, martin.blumenstingl, devicetree,
linux-kernel, linux-arm-kernel, linux-amlogic
From: Alberto Robazza <robazza.alberto@proton.me>
The Orbbec Zora P1 is an A311D (Meson G12B) board with 2/4 GiB DDR4,
an Ampak AP6256 combo module (Broadcom BCM43456 Wi-Fi over SDIO and
BCM4345C5 Bluetooth over UART_A), HDMI audio output.
According to the original Linux dts, the board is a modded version
of the ODROID-N2, with Amlogic A311D instead of the original S922X
and WiFi and Bluetooth support.
So the device tree builds on meson-g12b-a311d.dtsi and
meson-g12b-odroid-n2.dtsi (using same vddcpu values of N2+),
extended with the board-specific GPIO wiring for the AP6256 handling,
and some modifications for the led, GPIO_ACTIVE_LOW instead of
GPIO_ACTIVE_HIGH and different label (it is a green led, not blue as
in the Odroid N2).
Add the "orbbec,zora-p1" compatible to the amlogic.yaml board binding
(the "orbbec" vendor prefix is already registered) and the new DTB to
the Makefile.
Signed-off-by: Alberto Robazza <robazza.alberto@proton.me>
---
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../boot/dts/amlogic/meson-g12b-zora-p1.dts | 103 ++++++++++++++++++
2 files changed, 104 insertions(+)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 57bc440fa..95e9071e0 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -36,6 +36,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2l.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-zora-p1.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-bananapi-m2s.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts
new file mode 100644
index 000000000..fe20d39a8
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts
@@ -0,0 +1,103 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2026 Alberto Robazza <robazza.alberto@proton.me>
+ */
+
+/dts-v1/;
+
+#include "meson-g12b-a311d.dtsi"
+#include "meson-g12b-odroid-n2.dtsi"
+
+/ {
+ compatible = "orbbec,zora-p1", "amlogic,a311d", "amlogic,g12b";
+ model = "Orbbec Zora P1";
+
+ leds {
+ //The status led on Zora is actually green, same pin as N2, but reversed polarity
+ led-blue {
+ label = "p1:green";
+ gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>;
+ clocks = <&wifi32k>;
+ clock-names = "ext_clock";
+ };
+
+ wifi32k: wifi32k {
+ compatible = "pwm-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ pwms = <&pwm_ef 0 30518 0>;
+ };
+
+ sound {
+ model = "ZORA-P1";
+ };
+};
+
+&pwm_ef {
+ status = "okay";
+ pinctrl-0 = <&pwm_e_pins>;
+ pinctrl-names = "default";
+};
+
+/* AP6256 Wi-Fi: Broadcom BCM43456 over SDIO. */
+&sd_emmc_a {
+ status = "okay";
+ pinctrl-0 = <&sdio_pins>;
+ pinctrl-1 = <&sdio_clk_gate_pins>;
+ pinctrl-names = "default", "clk-gate";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bus-width = <4>;
+ cap-sd-highspeed;
+ max-frequency = <100000000>;
+ non-removable;
+ disable-wp;
+ keep-power-in-suspend;
+
+ mmc-pwrseq = <&sdio_pwrseq>;
+ vmmc-supply = <&tflash_vdd>;
+ vqmmc-supply = <&vddao_1v8>;
+
+ wifi@1 {
+ compatible = "brcm,bcm4329-fmac";
+ reg = <1>;
+ };
+};
+
+/* AP6256 Bluetooth: Broadcom BCM4345C5 over UART_A. */
+&uart_A {
+ status = "okay";
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+
+ bluetooth {
+ compatible = "brcm,bcm4345c5";
+ shutdown-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>;
+ max-speed = <2000000>;
+ clocks = <&wifi32k>;
+ clock-names = "lpo";
+ };
+};
+
+//vddcpu regulators same as Odroid N2+
+&vddcpu_a {
+ regulator-min-microvolt = <680000>;
+ regulator-max-microvolt = <1040000>;
+
+ pwms = <&pwm_ab 0 1500 0>;
+};
+
+&vddcpu_b {
+ regulator-min-microvolt = <680000>;
+ regulator-max-microvolt = <1040000>;
+
+ pwms = <&pwm_AO_cd 1 1500 0>;
+};
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec
2026-07-26 18:21 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec Alberto Robazza
@ 2026-07-26 18:24 ` sashiko-bot
0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-07-26 18:24 UTC (permalink / raw)
To: Alberto Robazza; +Cc: devicetree, robh, neil.armstrong, conor+dt, linux-amlogic
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The new vendor prefix 'orbbec' is inserted out of alphabetical order.
--
--- Patch [1]: [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec ---
commit 55024190d5a9225c41b52b0372720d44cc6a4378
Author: Alberto Robazza <robazza.alberto@proton.me>
dt-bindings: vendor-prefixes: add Orbbec
This commit adds the "orbbec" vendor prefix for Orbbec Inc., which is
needed to support an upcoming board compatible string.
Link: https://www.orbbec.com/
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 396044f368e7c..f205df64a0a89 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -1213,6 +1213,8 @@ patternProperties:
> description: Orient Chip Technology Co., Ltd.
> "^oct,.*":
> description: Octavo Systems LLC
> + "^orbbec,.*":
> + description: Orbbec Inc.
[Severity: Low]
This isn't a bug, but it appears the new vendor prefix was inserted out of
alphabetical order before okaya. Should orbbec be moved further down the
list to maintain the file's sorting convention?
> "^okaya,.*":
> description: Okaya Electric America, Inc.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260726182158.249449-1-robazzalberto@gmail.com?part=1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1
2026-07-26 18:21 ` [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
@ 2026-07-26 18:29 ` sashiko-bot
0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-07-26 18:29 UTC (permalink / raw)
To: Alberto Robazza; +Cc: linux-amlogic, neil.armstrong, robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Hardware pin multiplexing conflict on GPIOX_16 between the SDIO power sequence reset and the 32kHz PWM clock.
- [Low] The new DTB entry in the Makefile is inserted out of alphabetical order.
--
--- Patch [3]: [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1 ---
commit b7b88d4be9916c5079a86c04ae237d1db4d39b9b
Author: Alberto Robazza <robazza.alberto@proton.me>
arm64: dts: amlogic: add support for Orbbec Zora P1
This patch adds device tree support for the Orbbec Zora P1 board, an A311D
(Meson G12B) based board. It builds upon the ODROID-N2 device tree, adding
specific configurations for the AP6256 Wi-Fi/Bluetooth module and modifying
the LED settings.
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> index 57bc440fa55cc..95e9071e0885c 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -36,6 +36,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-go-ultra.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2-plus.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2l.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-g12b-zora-p1.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
[Severity: Low]
Is this inserted out of alphabetical order? The list appears to be sorted
alphabetically, so should "meson-g12b-zora-p1.dtb" be placed at the end of
the meson-g12b block?
> dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-bananapi-m2s.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
[ ... ]
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts
> new file mode 100644
> index 0000000000000..fe20d39a82072
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-zora-p1.dts
> @@ -0,0 +1,103 @@
[ ... ]
> + sdio_pwrseq: sdio-pwrseq {
> + compatible = "mmc-pwrseq-simple";
> + reset-gpios = <&gpio GPIOX_16 GPIO_ACTIVE_LOW>;
> + clocks = <&wifi32k>;
> + clock-names = "ext_clock";
> + };
[ ... ]
> +&pwm_ef {
> + status = "okay";
> + pinctrl-0 = <&pwm_e_pins>;
[Severity: High]
Will this cause a pin multiplexing conflict?
The sdio_pwrseq node requests GPIOX_16 as a standard GPIO for reset-gpios,
but the pwm_ef node claims pwm_e_pins, which strictly multiplexes the exact
same GPIOX_16 pin for hardware PWM.
When the second driver attempts to request the pin during boot, won't it
receive a -EBUSY error and fail to probe, breaking the Wi-Fi functionality?
> + pinctrl-names = "default";
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260726182158.249449-1-robazzalberto@gmail.com?part=3
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-07-26 18:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-26 18:21 [PATCH 0/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
2026-07-26 18:21 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Orbbec Alberto Robazza
2026-07-26 18:24 ` sashiko-bot
2026-07-26 18:21 ` [PATCH 2/3] dt-bindings: arm: amlogic: document Orbbec Zora P1 board compatible Alberto Robazza
2026-07-26 18:21 ` [PATCH 3/3] arm64: dts: amlogic: add support for Orbbec Zora P1 Alberto Robazza
2026-07-26 18:29 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox