arm64: Add support for Airoha EN7581 Soc
Subsystems (4)
v3 cover arm64: Add support for Airoha EN7581 Soc
Introduce basic support for Airoha EN7581 Soc and EN7581 Evaluation Board.
Changes since v2:
- fix cpu-map definition
- add more cache info
- add missing soc node
- remove unnecessary definitions
Changes since v1:
- add missing en7581 entry in airoha binding
- fix checkpatch errors
Daniel Danzberger (3):
arm64: dts: Add Airoha EN7581 SoC and EN7581 Evaluation Board
arm64: add Airoha EN7581 platform
arm64: defconfig: enable Airoha platform
Lorenzo Bianconi (1):
dt-bindings: arm64: dts: airoha: Add en7581 entry
.../devicetree/bindings/arm/airoha.yaml | 4 + arch/arm64/Kconfig.platforms | 13 ++ arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/airoha/Makefile | 2 + arch/arm64/boot/dts/airoha/en7581-evb.dts | 26 +++ arch/arm64/boot/dts/airoha/en7581.dtsi | 154 ++++++++++++++++++ arch/arm64/configs/defconfig | 1 + 7 files changed, 201 insertions(+) create mode 100644 arch/arm64/boot/dts/airoha/Makefile create mode 100644 arch/arm64/boot/dts/airoha/en7581-evb.dts create mode 100644 arch/arm64/boot/dts/airoha/en7581.dtsi
Signature · 1 line
2.44.0
PATCH v3 1/4 dt-bindings: arm64: dts: airoha: Add en7581 entry
Introduce Airoha EN7581 entry in Airoha dts binding.
--- Documentation/devicetree/bindings/arm/airoha.yaml | 4 ++++ 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/arm/airoha.yaml +4 -0
@@ -22,6 +22,10 @@ properties: - enum: - airoha,en7523-evb - const: airoha,en7523 + - items: + - enum: + - airoha,en7581-evb + - const: airoha,en7581 additionalProperties: true
Signature · 1 line
2.44.0
PATCH v3 2/4 arm64: dts: Add Airoha EN7581 SoC and EN7581 Evaluation Board
In reply to Lorenzo BianconiFrom: Daniel Danzberger <[email protected]>
Introduce the Airoha EN7581 SoC's dtsi and the Airoha EN7581 Evaluation Board's dts file, as well as the required Makefiles.
--- arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/airoha/Makefile | 2 + arch/arm64/boot/dts/airoha/en7581-evb.dts | 26 ++++ arch/arm64/boot/dts/airoha/en7581.dtsi | 154 ++++++++++++++++++++++ 4 files changed, 183 insertions(+) create mode 100644 arch/arm64/boot/dts/airoha/Makefile create mode 100644 arch/arm64/boot/dts/airoha/en7581-evb.dts create mode 100644 arch/arm64/boot/dts/airoha/en7581.dtsi
arch/arm64/boot/dts/Makefile +1 -0
@@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 subdir-y += actions +subdir-y += airoha subdir-y += allwinner subdir-y += altera subdir-y += amazon
arch/arm64/boot/dts/airoha/Makefile new file +2 -0
@@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +dtb-$(CONFIG_ARCH_AIROHA) += en7581-evb.dtb
arch/arm64/boot/dts/airoha/en7581-evb.dts new file +26 -0
@@ -0,0 +1,26 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/dts-v1/; + +/* Bootloader installs ATF here */ +/memreserve/ 0x80000000 0x200000; + +#include "en7581.dtsi" + +/ { + model = "Airoha EN7581 Evaluation Board"; + compatible = "airoha,en7581-evb", "airoha,en7581"; + + aliases { + serial0 = &uart1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + linux,usable-memory-range = <0x0 0x80200000 0x0 0x1fe00000>; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x2 0x00000000>; + }; +};
arch/arm64/boot/dts/airoha/en7581.dtsi new file +154 -0
154 lines not on this page · raw message
Signature · 1 line
2.44.0
PATCH v3 3/4 arm64: add Airoha EN7581 platform
In reply to Lorenzo BianconiFrom: Daniel Danzberger <[email protected]>
Introduce the Kconfig entry for the Airoha EN7581 multicore architecture available in the Airoha EN7581 evaluation board.
--- arch/arm64/Kconfig.platforms | 13 +++++++++++++ 1 file changed, 13 insertions(+)
arch/arm64/Kconfig.platforms +13 -0
@@ -8,6 +8,19 @@ config ARCH_ACTIONS help This enables support for the Actions Semiconductor S900 SoC family. +config ARCH_AIROHA + bool "Airoha SoC Support" + select ARM_AMBA + select ARM_GIC + select ARM_GIC_V3 + select ARM_PSCI + select HAVE_ARM_ARCH_TIMER + select COMMON_CLK + help + This enables support for Airoha EN7581 multicore architecture + available on the following SoCs: + - Airoha EN7581 Evaluation Board + config ARCH_SUNXI bool "Allwinner sunxi 64-bit SoC Family" select ARCH_HAS_RESET_CONTROLLER
Signature · 1 line
2.44.0
PATCH v3 4/4 arm64: defconfig: enable Airoha platform
In reply to Lorenzo BianconiFrom: Daniel Danzberger <[email protected]>
Enables the ARCH_AIROHA config by default.
--- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm64/configs/defconfig +1 -0
@@ -34,6 +34,7 @@ CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y CONFIG_CRASH_DUMP=y CONFIG_ARCH_ACTIONS=y +CONFIG_ARCH_AIROHA=y CONFIG_ARCH_SUNXI=y CONFIG_ARCH_ALPINE=y CONFIG_ARCH_APPLE=y
Signature · 1 line
2.44.0
Re: [PATCH v3 2/4] arm64: dts: Add Airoha EN7581 SoC and EN7581 Evaluation Board
In reply to Lorenzo BianconiIl 07/03/24 01:11, Lorenzo Bianconi ha scritto:
Quoted 103 lines
From: Daniel Danzberger <[email protected]>
Introduce the Airoha EN7581 SoC's dtsi and the Airoha EN7581 Evaluation Board's dts file, as well as the required Makefiles.
Signed-off-by Daniel Danzberger <[email protected]>Co-developed-by Lorenzo Bianconi <[email protected]>Signed-off-by Lorenzo Bianconi <[email protected]>--- arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/airoha/Makefile | 2 + arch/arm64/boot/dts/airoha/en7581-evb.dts | 26 ++++ arch/arm64/boot/dts/airoha/en7581.dtsi | 154 ++++++++++++++++++++++ 4 files changed, 183 insertions(+)create mode 100644
arch/arm64/boot/dts/airoha/Makefilecreate mode 100644arch/arm64/boot/dts/airoha/en7581-evb.dtscreate mode 100644arch/arm64/boot/dts/airoha/en7581.dtsiarch/arm64/boot/dts/Makefile +1
-0@@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 subdir-y += actions +subdir-y += airoha subdir-y += allwinner subdir-y += altera subdir-y += amazonarch/arm64/boot/dts/airoha/Makefile new file +2
-0@@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +dtb-$(CONFIG_ARCH_AIROHA) += en7581-evb.dtbarch/arm64/boot/dts/airoha/en7581-evb.dts new file +26
-0@@ -0,0 +1,26 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/dts-v1/; + +/* Bootloader installs ATF here */ +/memreserve/ 0x80000000 0x200000; + +#include "en7581.dtsi" + +/ { + model = "Airoha EN7581 Evaluation Board"; + compatible = "airoha,en7581-evb", "airoha,en7581"; + + aliases { + serial0 = &uart1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + linux,usable-memory-range = <0x0 0x80200000 0x0 0x1fe00000>; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x2 0x00000000>; + }; +};arch/arm64/boot/dts/airoha/en7581.dtsi new file +28
-0@@ -0,0 +1,154 @@ +// 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; + + npu-binary@84000000 { + no-map; + reg = <0x0 0x84000000 0x0 0xA00000>; + }; + + npu-flag@84B0000 { + no-map; + reg = <0x0 0x84B00000 0x0 0x100000>; + }; + + npu-pkt@85000000 { + no-map; + reg = <0x0 0x85000000 0x0 0x1A00000>;
arch/arm64/boot/dts/airoha/en7581.dtsi line 38
Quoted 10 lines
arch/arm64/boot/dts/airoha/en7581.dtsi new file +10
-0+ }; + + npu-phyaddr@86B00000 { + no-map; + reg = <0x0 0x86B00000 0x0 0x100000>; + }; + + npu-rxdesc@86D00000 { + no-map; + reg = <0x0 0x86D00000 0x0 0x100000>;
Lower case hex please. Here and everywhere else.
Otherwise,
Cheers,
Angelo
Re: [PATCH v3 1/4] dt-bindings: arm64: dts: airoha: Add en7581 entry
In reply to Lorenzo BianconiIl 07/03/24 01:11, Lorenzo Bianconi ha scritto:
Quoted 4 lines
Introduce Airoha EN7581 entry in Airoha dts binding.
Signed-off-by Lorenzo Bianconi <[email protected]>
AngeloGioacchino Del Regno
maintainerRe: [PATCH v3 3/4] arm64: add Airoha EN7581 platform
In reply to Lorenzo BianconiIl 07/03/24 01:11, Lorenzo Bianconi ha scritto:
Quoted 16 lines
From: Daniel Danzberger <[email protected]>
Introduce the
Kconfigentry for the Airoha EN7581 multicore architecture available in the Airoha EN7581 evaluation board.Signed-off-by Daniel Danzberger <[email protected]>Signed-off-by Lorenzo Bianconi <[email protected]>--- arch/arm64/Kconfig.platforms | 13 +++++++++++++ 1 file changed, 13 insertions(+)arch/arm64/Kconfig.platforms +0
-0
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 13
Quoted 6 lines
arch/arm64/Kconfig.platforms +3
-0@@ -8,6 +8,19 @@ config ARCH_ACTIONS help This enables support for the Actions Semiconductor S900 SoC family. +config ARCH_AIROHA + bool "Airoha SoC Support" + select ARM_AMBA
ARM_AMBA is selected by ARM64 already, you don't need that one here.
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 15
Quoted 2 lines
arch/arm64/Kconfig.platforms +2
-0+ select ARM_GIC + select ARM_GIC_V3
ARM_GIC and ARM_GIC_v3 are also selected by ARM64
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 16
Quoted 1 line
arch/arm64/Kconfig.platforms +1
-0+ select ARM_PSCI
ARM64 selects ARM_PSCI_FW (which should select ARM_PSCI, please verify)
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 18
Quoted 2 lines
arch/arm64/Kconfig.platforms +2
-0+ select HAVE_ARM_ARCH_TIMER + select COMMON_CLK
ARM64 selects COMMON_CLK already.
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 22
Quoted 4 lines
arch/arm64/Kconfig.platforms +4
-0+ help + This enables support for Airoha EN7581 multicore architecture + available on the following SoCs: + - Airoha EN7581 Evaluation Board
You're not going to add one ARCH entry for each MTK Airoha platform, are you?
(if you are, that's wrong)
....so the help text must be refactored; you could say something like "This enables support for the ARM64 based Airoha SoCs"
...also, I'm undecided whether MTK should be mentioned or not, here, as those SoCs are (...at least the 7581 seems to be) really based on MediaTek router chips, in many instances, sharing the same IPs.
Cheers,
Angelo
Re: [PATCH v3 3/4] arm64: add Airoha EN7581 platform
Quoted 12 lines
Il 07/03/24 01:11, Lorenzo Bianconi ha scritto:
Quoted 11 lines
From: Daniel Danzberger <[email protected]>
Introduce the
Kconfigentry for the Airoha EN7581 multicore architecture available in the Airoha EN7581 evaluation board.Signed-off-by Daniel Danzberger <[email protected]>Signed-off-by Lorenzo Bianconi <[email protected]>--- arch/arm64/Kconfig.platforms | 13 +++++++++++++ 1 file changed, 13 insertions(+)
Quoted 12 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 12
Quoted 10 lines
arch/arm64/Kconfig.platforms +3
-0@@ -8,6 +8,19 @@ config ARCH_ACTIONS help This enables support for the Actions Semiconductor S900 SoC family. +config ARCH_AIROHA + bool "Airoha SoC Support" + select ARM_AMBA
ARM_AMBAis selected by ARM64 already, you don't need that one here.
ack, I will fix it in v4.
Quoted 5 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 15
Quoted 3 lines
arch/arm64/Kconfig.platforms +2
-0+ select ARM_GIC + select ARM_GIC_V3
ARM_GICandARM_GIC_v3are also selected by ARM64
ack, I will fix it in v4.
Quoted 4 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 16
Quoted 2 lines
arch/arm64/Kconfig.platforms +1
-0+ select ARM_PSCIARM64 selects
ARM_PSCI_FW(which should selectARM_PSCI, please verify)
ARM64 selects ARM_PSCI_FW but ARM_PSCI_FW does not seem to select ARM_PSCI. Am I missing something?
Quoted 5 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 18
Quoted 3 lines
arch/arm64/Kconfig.platforms +2
-0+ select HAVE_ARM_ARCH_TIMER + select COMMON_CLKARM64 selects
COMMON_CLKalready.
ack, I will fix it in v4.
Quoted 8 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 22
Quoted 5 lines
arch/arm64/Kconfig.platforms +4
-0+ help + This enables support for Airoha EN7581 multicore architecture + available on the following SoCs: + - Airoha EN7581 Evaluation BoardYou're not going to add one ARCH entry for each MTK Airoha platform, are you?
Quoted 4 lines
(if you are, that's wrong)
....so the help text must be refactored; you could say something like "This enables support for the ARM64 based Airoha SoCs"
ack, I will fix it in v4.
Quoted 4 lines
...also, I'm undecided whether MTK should be mentioned or not, here, as those SoCs are (...at least the 7581 seems to be) really based on MediaTek router chips, in many instances, sharing the same IPs.
Right, EN7581 is similar to mtk router but I do not know if this will be always true (maybe?? :))
Regards,
Lorenzo
Quoted 5 lines
Cheers,
Angelo
AngeloGioacchino Del Regno
maintainerRe: [PATCH v3 3/4] arm64: add Airoha EN7581 platform
Il 07/03/24 13:14, Lorenzo Bianconi ha scritto:
Quoted 36 lines
Quoted 12 lines
Il 07/03/24 01:11, Lorenzo Bianconi ha scritto:
Quoted 11 lines
From: Daniel Danzberger <[email protected]>
Introduce the
Kconfigentry for the Airoha EN7581 multicore architecture available in the Airoha EN7581 evaluation board.Signed-off-by Daniel Danzberger <[email protected]>Signed-off-by Lorenzo Bianconi <[email protected]>--- arch/arm64/Kconfig.platforms | 13 +++++++++++++ 1 file changed, 13 insertions(+)Quoted 12 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 12
Quoted 10 lines
arch/arm64/Kconfig.platforms +3
-0@@ -8,6 +8,19 @@ config ARCH_ACTIONS help This enables support for the Actions Semiconductor S900 SoC family. +config ARCH_AIROHA + bool "Airoha SoC Support" + select ARM_AMBA
ARM_AMBAis selected by ARM64 already, you don't need that one here.ack, I will fix it in v4.
Quoted 5 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 15
Quoted 3 lines
arch/arm64/Kconfig.platforms +2
-0+ select ARM_GIC + select ARM_GIC_V3
ARM_GICandARM_GIC_v3are also selected by ARM64ack, I will fix it in v4.
Quoted 1 line
Quoted 7 lines
Quoted 3 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 16
Quoted 1 line
arch/arm64/Kconfig.platforms +1
-0+ select ARM_PSCIARM64 selects
ARM_PSCI_FW(which should selectARM_PSCI, please verify)ARM64 selects
ARM_PSCI_FWbutARM_PSCI_FWdoes not seem to selectARM_PSCI. Am I missing something?
I asked you to verify because I didn't (and was making assumptions) - if it's not getting selected, keep the select here. I have no problem with that.
Quoted 24 lines
Quoted 5 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 18
Quoted 3 lines
arch/arm64/Kconfig.platforms +2
-0+ select HAVE_ARM_ARCH_TIMER + select COMMON_CLKARM64 selects
COMMON_CLKalready.ack, I will fix it in v4.
Quoted 8 lines
arch/arm64/Kconfig.platforms config ARCH_ACTIONS · line 22
Quoted 5 lines
arch/arm64/Kconfig.platforms +4
-0+ help + This enables support for Airoha EN7581 multicore architecture + available on the following SoCs: + - Airoha EN7581 Evaluation BoardYou're not going to add one ARCH entry for each MTK Airoha platform, are you?
Quoted 4 lines
(if you are, that's wrong)
....so the help text must be refactored; you could say something like "This enables support for the ARM64 based Airoha SoCs"
ack, I will fix it in v4.
Quoted 1 line
Quoted 7 lines
Quoted 3 lines
...also, I'm undecided whether MTK should be mentioned or not, here, as those SoCs are (...at least the 7581 seems to be) really based on MediaTek router chips, in many instances, sharing the same IPs.
Right, EN7581 is similar to mtk router but I do not know if this will be always true (maybe?? :))
I hoped you did know more... but even if logic says that it will be true for most probably a long time (since Airoha *is* [a subsidiary of] MediaTek), perhaps it's not a good idea to mention MTK?
I'm not sure either. Of course, mentioning MTK would for the sole purpose of making sure that whoever tries to port new Airoha SoCs has a pointer (as in: look at MTK SoCs, you can reuse stuff from there, don't lose time with reinventing the wheel), but at the same time if Airoha starts being different, that'd do the exact opposite of my intention...
Uhm.
Any advice from anyone else?
...otherwise just avoid the mention.
Cheers,
Angelo