* [PATCH 0/2] Introduce Airoha AN7583 SoC and AN7583 Evaluation Board
@ 2026-05-09 17:38 Lorenzo Bianconi
2026-05-09 17:38 ` [PATCH 1/2] dt-bindings: arm64: dts: airoha: Add an7583 entry Lorenzo Bianconi
2026-05-09 17:38 ` [PATCH 2/2] arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
0 siblings, 2 replies; 4+ messages in thread
From: Lorenzo Bianconi @ 2026-05-09 17:38 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Felix Fietkau,
John Crispin, Matthias Brugger, AngeloGioacchino Del Regno
Cc: devicetree, linux-arm-kernel, linux-mediatek, Lorenzo Bianconi
Introduce the Airoha AN7583 SoC's dtsi and the Airoha AN7583 Evaluation
Board's dts file.
---
Lorenzo Bianconi (2):
dt-bindings: arm64: dts: airoha: Add an7583 entry
arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board
Documentation/devicetree/bindings/arm/airoha.yaml | 4 +
arch/arm64/boot/dts/airoha/Makefile | 2 +-
arch/arm64/boot/dts/airoha/an7583-evb.dts | 23 ++++
arch/arm64/boot/dts/airoha/an7583.dtsi | 137 ++++++++++++++++++++++
4 files changed, 165 insertions(+), 1 deletion(-)
---
base-commit: e6490a169f6d5f5bdea7a2e8a673890d43afadc0
change-id: 20260509-airoha-7583-145246084016
Best regards,
--
Lorenzo Bianconi <lorenzo@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] dt-bindings: arm64: dts: airoha: Add an7583 entry
2026-05-09 17:38 [PATCH 0/2] Introduce Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
@ 2026-05-09 17:38 ` Lorenzo Bianconi
2026-05-09 17:38 ` [PATCH 2/2] arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
1 sibling, 0 replies; 4+ messages in thread
From: Lorenzo Bianconi @ 2026-05-09 17:38 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Felix Fietkau,
John Crispin, Matthias Brugger, AngeloGioacchino Del Regno
Cc: devicetree, linux-arm-kernel, linux-mediatek, Lorenzo Bianconi
Introduce Airoha AN7583 entry in Airoha dts binding.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
Documentation/devicetree/bindings/arm/airoha.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/airoha.yaml b/Documentation/devicetree/bindings/arm/airoha.yaml
index 7c38c08dbf3f..6506c64af4f3 100644
--- a/Documentation/devicetree/bindings/arm/airoha.yaml
+++ b/Documentation/devicetree/bindings/arm/airoha.yaml
@@ -26,6 +26,10 @@ properties:
- enum:
- airoha,en7581-evb
- const: airoha,en7581
+ - items:
+ - enum:
+ - airoha,an7583-evb
+ - const: airoha,an7583
additionalProperties: true
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board
2026-05-09 17:38 [PATCH 0/2] Introduce Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
2026-05-09 17:38 ` [PATCH 1/2] dt-bindings: arm64: dts: airoha: Add an7583 entry Lorenzo Bianconi
@ 2026-05-09 17:38 ` Lorenzo Bianconi
2026-05-09 18:10 ` sashiko-bot
1 sibling, 1 reply; 4+ messages in thread
From: Lorenzo Bianconi @ 2026-05-09 17:38 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Felix Fietkau,
John Crispin, Matthias Brugger, AngeloGioacchino Del Regno
Cc: devicetree, linux-arm-kernel, linux-mediatek, Lorenzo Bianconi
Introduce the Airoha AN7583 SoC's dtsi and the Airoha AN7583 Evaluation
Board's dts file.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
arch/arm64/boot/dts/airoha/Makefile | 2 +-
arch/arm64/boot/dts/airoha/an7583-evb.dts | 23 +++++
arch/arm64/boot/dts/airoha/an7583.dtsi | 137 ++++++++++++++++++++++++++++++
3 files changed, 161 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/airoha/Makefile b/arch/arm64/boot/dts/airoha/Makefile
index ebea112ce1d7..6027978a35c2 100644
--- a/arch/arm64/boot/dts/airoha/Makefile
+++ b/arch/arm64/boot/dts/airoha/Makefile
@@ -1,2 +1,2 @@
# SPDX-License-Identifier: GPL-2.0-only
-dtb-$(CONFIG_ARCH_AIROHA) += en7581-evb.dtb
+dtb-$(CONFIG_ARCH_AIROHA) += en7581-evb.dtb an7583-evb.dtb
diff --git a/arch/arm64/boot/dts/airoha/an7583-evb.dts b/arch/arm64/boot/dts/airoha/an7583-evb.dts
new file mode 100644
index 000000000000..76b3d94434f6
--- /dev/null
+++ b/arch/arm64/boot/dts/airoha/an7583-evb.dts
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/dts-v1/;
+
+#include "an7583.dtsi"
+
+/ {
+ model = "Airoha AN7583 Evaluation Board";
+ compatible = "airoha,an7583-evb", "airoha,an7583";
+
+ aliases {
+ serial0 = &uart1;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200 earlycon";
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x0 0x80000000 0x2 0x00000000>;
+ };
+};
diff --git a/arch/arm64/boot/dts/airoha/an7583.dtsi b/arch/arm64/boot/dts/airoha/an7583.dtsi
new file mode 100644
index 000000000000..64b2c7533aff
--- /dev/null
+++ b/arch/arm64/boot/dts/airoha/an7583.dtsi
@@ -0,0 +1,137 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ atf@80000000 {
+ no-map;
+ reg = <0x0 0x80000000 0x0 0x200000>;
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu0>;
+ };
+
+ core1 {
+ cpu = <&cpu1>;
+ };
+ };
+ };
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x0>;
+ enable-method = "psci";
+ next-level-cache = <&l2>;
+ #cooling-cells = <2>;
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x1>;
+ enable-method = "psci";
+ next-level-cache = <&l2>;
+ #cooling-cells = <2>;
+ };
+
+ l2: l2-cache {
+ compatible = "cache";
+ cache-size = <0x80000>;
+ cache-line-size = <64>;
+ cache-level = <2>;
+ cache-unified;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ };
+
+ clk25m: clock-25000000 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <25000000>;
+ clock-output-names = "clkxtal";
+ };
+
+ i2c_clock: clock-20000000 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <20000000>;
+ clock-output-names = "i2c_clock";
+ };
+
+ sys_hclk: clock-100000000 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <100000000>;
+ clock-output-names = "sys_hclk";
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ gic: interrupt-controller@9000000 {
+ compatible = "arm,gic-v3";
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x0 0x09000000 0x0 0x20000>,
+ <0x0 0x09080000 0x0 0x80000>,
+ <0x0 0x09400000 0x0 0x2000>,
+ <0x0 0x09500000 0x0 0x2000>,
+ <0x0 0x09600000 0x0 0x20000>;
+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
+ };
+
+ uart1: serial@1fbf0000 {
+ compatible = "ns16550";
+ reg = <0x0 0x1fbf0000 0x0 0x30>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <1843200>;
+ };
+
+ watchdog@1fbf0100 {
+ compatible = "airoha,en7581-wdt";
+ reg = <0x0 0x1fbf0100 0x0 0x38>;
+
+ clocks = <&sys_hclk>;
+ clock-names = "bus";
+ };
+ };
+};
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board
2026-05-09 17:38 ` [PATCH 2/2] arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
@ 2026-05-09 18:10 ` sashiko-bot
0 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-05-09 18:10 UTC (permalink / raw)
To: Lorenzo Bianconi; +Cc: krzk+dt, conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 6 potential issue(s) to consider:
- [High] The memory node specifies a physical size of 8GB, which is a typo that will cause a fatal boot panic.
- [Medium] The UART compatible string 'ns16550' will disable hardware FIFOs.
- [Medium] The GIC maintenance interrupt polarity is incorrectly specified as active-low.
- [Low] Missing SoC-specific compatible string for the watchdog timer.
- [Low] Unnecessary address and size cells in the GIC node will trigger compiler warnings.
- [Low] CPU nodes declare cooling capabilities but lack required frequency scaling properties.
--
commit f0ce6065ddf4c46b3e0a82baac122d34553f5f4c
Author: Lorenzo Bianconi <lorenzo@kernel.org>
arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board
Introduce the Airoha AN7583 SoC's dtsi and the Airoha AN7583 Evaluation
Board's dts file.
> diff --git a/arch/arm64/boot/dts/airoha/an7583-evb.dts b/arch/arm64/boot/dts/airoha/an7583-evb.dts
> new file mode 100644
> index 0000000000000..76b3d94434f63
> --- /dev/null
> +++ b/arch/arm64/boot/dts/airoha/an7583-evb.dts
[ ... ]
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x0 0x80000000 0x2 0x00000000>;
> + };
Because #size-cells = <2>, the size array <0x2 0x00000000> sets the upper
32 bits to 0x2, which evaluates to an enormous 8GB memory range.
Is this a typo for 512MB (<0x0 0x20000000>) or 2GB (<0x0 0x80000000>)?
While an identical value exists in the predecessor board's DT, it was
safely masked there by a restrictive linux,usable-memory-range property
in the chosen node.
Since this board lacks that protective limit, will the kernel attempt to
map and access the full 8GB of memory and trigger unbacked physical
memory accesses, resulting in a fatal bus fault during early boot?
> diff --git a/arch/arm64/boot/dts/airoha/an7583.dtsi b/arch/arm64/boot/dts/airoha/an7583.dtsi
> new file mode 100644
> index 0000000000000..64b2c7533aff6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/airoha/an7583.dtsi
[ ... ]
> + cpu0: cpu@0 {
> + device_type = "cpu";
> + compatible = "arm,cortex-a53";
> + reg = <0x0>;
> + enable-method = "psci";
> + next-level-cache = <&l2>;
> + #cooling-cells = <2>;
> + };
Are required frequency scaling properties missing here?
Both CPU nodes define #cooling-cells, but the cpufreq_cooling subsystem
requires properties like clocks or operating-points-v2 to bind. Without
them, is this cooling declaration functionally dead code that generates
validation warnings?
[ ... ]
> + gic: interrupt-controller@9000000 {
> + compatible = "arm,gic-v3";
> + interrupt-controller;
> + #interrupt-cells = <3>;
> + #address-cells = <1>;
> + #size-cells = <1>;
Do we need these address and size cells here? According to device tree
compiler rules, specifying them without any children or a ranges property
causes an avoid_unnecessary_addr_size warning.
> + reg = <0x0 0x09000000 0x0 0x20000>,
> + <0x0 0x09080000 0x0 0x80000>,
> + <0x0 0x09400000 0x0 0x2000>,
> + <0x0 0x09500000 0x0 0x2000>,
> + <0x0 0x09600000 0x0 0x20000>;
> + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
Should this maintenance interrupt be active-high?
The ARM Generic Interrupt Controller architecture specification explicitly
mandates that the GIC maintenance interrupt is an active-high,
level-sensitive interrupt (IRQ_TYPE_LEVEL_HIGH).
Incorrect polarity might prevent it from firing properly and break
hardware virtualization support.
> + };
> +
> + uart1: serial@1fbf0000 {
> + compatible = "ns16550";
Could this compatible string unintentionally disable hardware FIFOs?
In the Linux 8250 serial driver, ns16550 restricts the fifo_size to 1
byte due to known hardware bugs in the original 16550 chip. Since modern
UART IPs include working FIFOs, should this be declared as ns16550a to
avoid excessive interrupt load?
> + reg = <0x0 0x1fbf0000 0x0 0x30>;
> + reg-io-width = <4>;
> + reg-shift = <2>;
> + interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
> + clock-frequency = <1843200>;
> + };
> +
> + watchdog@1fbf0100 {
> + compatible = "airoha,en7581-wdt";
Would it be better to include the SoC-specific compatible string alongside
the fallback?
The dt-binding schema typically dictates using a string like
"airoha,an7583-wdt", "airoha,en7581-wdt" to accurately describe the
specific SoC and ensure any future platform-specific driver quirks can be
cleanly applied.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260509-airoha-7583-v1-0-e5ad085b258e@kernel.org?part=2
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-05-09 18:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-09 17:38 [PATCH 0/2] Introduce Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
2026-05-09 17:38 ` [PATCH 1/2] dt-bindings: arm64: dts: airoha: Add an7583 entry Lorenzo Bianconi
2026-05-09 17:38 ` [PATCH 2/2] arm64: dts: Add Airoha AN7583 SoC and AN7583 Evaluation Board Lorenzo Bianconi
2026-05-09 18:10 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox