* [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