Add MusePi Pro DTS and fixup linux patching

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
This commit is contained in:
Patrick Yavitz 2025-12-12 10:38:29 -05:00 committed by c0rnelius
parent e2ba02a797
commit aee1cbb759
29 changed files with 1811 additions and 2242 deletions

View File

@ -1,40 +0,0 @@
From d77e410afa4ee896a00335f268f37b59c6f44ea1 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Sat, 17 Aug 2024 11:49:20 -0400
Subject: [PATCH] rtl8852bs: Turn off DEBUG and remove RTW_WARN_LM
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
drivers/net/wireless/realtek/rtl8852bs/Makefile | 2 +-
drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtl8852bs/Makefile b/drivers/net/wireless/realtek/rtl8852bs/Makefile
index 2af36254f..181d9320b 100644
--- a/drivers/net/wireless/realtek/rtl8852bs/Makefile
+++ b/drivers/net/wireless/realtek/rtl8852bs/Makefile
@@ -138,7 +138,7 @@ EXTRA_CFLAGS += -DCONFIG_RTW_ANDROID=$(CONFIG_RTW_ANDROID)
endif
########################## Debug ###########################
-CONFIG_RTW_DEBUG = y
+CONFIG_RTW_DEBUG = n
# default log level is _DRV_INFO_ = 4,
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
CONFIG_RTW_LOG_LEVEL = 2
diff --git a/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c b/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c
index f50926762..5310587f4 100644
--- a/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c
+++ b/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c
@@ -6677,7 +6677,7 @@ static void fill_txreq_list_skb(_adapter *padapter,
if (skb_total_frag_nr(head_skb) > NUM_PKT_LIST_PER_TXREQ - 2) {
rtw_skb_linearize(head_skb);
- RTW_WARN_LMT("skb total frag nr over %d\n", NUM_PKT_LIST_PER_TXREQ - 2);
+ //RTW_WARN_LMT("skb total frag nr over %d\n", NUM_PKT_LIST_PER_TXREQ - 2);
}
_fill_txreq_list_skb(padapter, txreq, pkt_list, head_skb, &req_sz, &offset);
--
2.39.2

View File

@ -1,58 +0,0 @@
From 4698d0e59f66da7282bd8c9e46e353d1ca64a92e Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Thu, 9 Jan 2025 10:14:18 -0500
Subject: [PATCH] Max freq limitation 1.8GHz
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
drivers/cpufreq/spacemit-cpufreq.c | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/drivers/cpufreq/spacemit-cpufreq.c b/drivers/cpufreq/spacemit-cpufreq.c
index 745844e9d2b2..f784e8fe545b 100644
--- a/drivers/cpufreq/spacemit-cpufreq.c
+++ b/drivers/cpufreq/spacemit-cpufreq.c
@@ -49,7 +49,7 @@ of_hotplug_cooling_register(struct cpufreq_policy *policy);
#define FILTER_POINTS_0 (135)
#define FILTER_POINTS_1 (142)
-#define K1_MAX_FREQ_LIMITATION (1600000)
+#define K1_MAX_FREQ_LIMITATION (1800000)
#define M1_MAX_FREQ_LIMITATION (1800000)
#endif
@@ -427,18 +427,8 @@ int spacmeit_cpufreq_veritfy(struct cpufreq_policy_data *policy)
if (!policy->freq_table)
return -ENODEV;
- if ((wafer_prop << 16 | product_prop) == PRODUCT_ID_M1) {
- /* M1 */
- /* can update to 1.8G */
- cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
- policy->cpuinfo.max_freq);
- } else {
- /* K1 */
- /* only 1.6G allowed max */
- policy->max = policy->max > K1_MAX_FREQ_LIMITATION ? K1_MAX_FREQ_LIMITATION : policy->max;
- cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
- K1_MAX_FREQ_LIMITATION);
- }
+ cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
+ policy->cpuinfo.max_freq);
cpufreq_for_each_valid_entry(pos, policy->freq_table) {
freq = pos->frequency;
@@ -470,9 +460,7 @@ void spacemit_cpufreq_ready(struct cpufreq_policy *policy)
if ((wafer_prop << 16 | product_prop) == PRODUCT_ID_M1) {
/* M1 */
} else {
- /* K1 or other */
- remove_policy_boost_sysfs_file(policy);
- remove_boost_sysfs_file();
+ /* K1 */
}
}
--
2.39.5

View File

@ -1,33 +0,0 @@
From 64346ab82c7ff0f4ad5ba7140d205e22f8278960 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Fri, 8 Aug 2025 19:47:21 -0400
Subject: [PATCH] Add spacemit k1x-spi support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
drivers/spi/spidev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index 6108959c28d9..b25aff873cc5 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -717,6 +717,7 @@ static const struct spi_device_id spidev_spi_ids[] = {
{ .name = /* semtech */ "sx1301" },
{ .name = /* silabs */ "em3581" },
{ .name = /* silabs */ "si3210" },
+ { .name = /* spacemit */ "k1x-spi" },
{},
};
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
@@ -749,6 +750,7 @@ static const struct of_device_id spidev_dt_ids[] = {
{ .compatible = "semtech,sx1301", .data = &spidev_of_check },
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
{ .compatible = "silabs,si3210", .data = &spidev_of_check },
+ { .compatible = "spacemit,k1x-spi", .data = &spidev_of_check },
{},
};
MODULE_DEVICE_TABLE(of, spidev_dt_ids);
--
2.43.0

View File

@ -1,158 +0,0 @@
From e2ac8e7fddb7ca0a18a7466bf2dc37547ec72d30 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Fri, 3 Oct 2025 15:54:47 -0400
Subject: [PATCH] SpacemiT: K1-X: Forward port 6.6.y DTSI
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
arch/riscv/boot/dts/spacemit/k1-x.dtsi | 66 ++++++++++++++++++++++----
1 file changed, 58 insertions(+), 8 deletions(-)
diff --git a/arch/riscv/boot/dts/spacemit/k1-x.dtsi b/arch/riscv/boot/dts/spacemit/k1-x.dtsi
index 8f411e7f01f3..24366372e064 100644
--- a/arch/riscv/boot/dts/spacemit/k1-x.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k1-x.dtsi
@@ -430,7 +430,7 @@ rcpu_mem_0: mem@c0800000 {
};
/* rcpu's heap */
- rcpu_mem_1: mem@30000000 {
+ rcpu_mem_heap: rcpu_mem_heap@30000000 {
reg = <0x0 0x30000000 0x0 0x200000>;
no-map;
};
@@ -465,6 +465,12 @@ rcpu_mem_snapshots: rcpu_mem_snapshots@30300000 {
reg = <0x0 0x30300000 0x0 0x40000>;
no-map;
};
+
+ /* the dtb file of rcpu */
+ rcpu_mem_dtb: rcpu_mem_dtb@30300000 {
+ reg = <0x0 0x30340000 0x0 0x40000>;
+ no-map;
+ };
};
soc: soc {
@@ -495,13 +501,13 @@ dram_range1: dram_range@1 {
status = "okay";
};
- /* dram mapping for pcie for ex. */
+ /* dram mapping for pcie0 for ex. */
dram_range2: dram_range@2 {
compatible = "spacemit-dram-bus";
#address-cells = <2>;
#size-cells = <2>;
dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
- <0x0 0xb8000000 0x1 0x38000000 0x3 0x48000000>;
+ <0x0 0x90000000 0x1 0x10000000 0x3 0x70000000>;
#interconnect-cells = <0>;
status = "okay";
};
@@ -539,6 +545,30 @@ dram_range5: dram_range@5 {
status = "okay";
};
+ /* dram mapping for pcie1 for ex. */
+ dram_range6: dram_range@6 {
+ compatible = "spacemit-dram-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
+ <0x0 0x80000000 0x1 0x00000000 0x0 0x10000000>,
+ <0x0 0xa0000000 0x1 0x20000000 0x3 0x60000000>;
+ #interconnect-cells = <0>;
+ status = "okay";
+ };
+
+ /* dram mapping for pcie2 for ex. */
+ dram_range7: dram_range@7 {
+ compatible = "spacemit-dram-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
+ <0x0 0x80000000 0x1 0x00000000 0x0 0x20000000>,
+ <0x0 0xb8000000 0x1 0x38000000 0x3 0x48000000>;
+ #interconnect-cells = <0>;
+ status = "okay";
+ };
+
clint0: clint@e4000000 {
compatible = "riscv,clint0";
interrupts-extended = <
@@ -615,7 +645,8 @@ &cpu7_intc 11 &cpu7_intc 9
pinctrl: pinctrl@d401e000 {
compatible = "pinconf-single-aib";
reg = <0x0 0xd401e000 0x0 0x250>,
- <0x0 0xd4019800 0x0 0x10>;
+ <0x0 0xd4019800 0x0 0x10>,
+ <0x0 0xd4019000 0x0 0x800>;
#address-cells = <1>;
#size-cells = <1>;
#pinctrl-cells = <2>;
@@ -1398,8 +1429,8 @@ ri2c0: ri2c@c0887000 {
spacemit,i2c-wcr = <0x142a>;
/* apb clock: 26MHz or 52MHz */
spacemit,apb_clock = <52000000>;
- power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
- cpuidle,pm-runtime,sleep;
+ power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
+ cpuidle,pm-runtime,sleep;
interconnects = <&dram_range4>;
interconnect-names = "dma-mem";
status = "okay";
@@ -1865,6 +1896,17 @@ gcb3: gpio3 {
};
};
+ ec_master: ethercat_master {
+ compatible = "igh,k1x-ec-master";
+ run-on-cpu = <1>;
+ debug-level = <0>;
+ master-count = <1>;
+ ec-devices = <&eth0>,<&eth1>;
+ master-indexes = <0>,<0>;
+ modes = "ec_main","ec_backup";
+ status = "disable";
+ };
+
eth0: ethernet@cac80000 {
compatible = "spacemit,k1x-emac";
reg = <0x00000000 0xCAC80000 0x00000000 0x00000420>;
@@ -2239,7 +2281,7 @@ pcie1_rc: pcie@ca400000 {
#size-cells = <2>;
ranges = <0x01000000 0x0 0x9f002000 0 0x9f002000 0x0 0x100000>,
<0x02000000 0x0 0x90000000 0 0x90000000 0x0 0x0f000000>;
- interconnects = <&dram_range2>;
+ interconnects = <&dram_range6>;
interconnect-names = "dma-mem";
interrupts = <142>, <146>;
@@ -2289,7 +2331,7 @@ pcie2_rc: pcie@ca800000 {
ranges = <0x01000000 0x0 0xb7002000 0 0xb7002000 0x0 0x100000>,
<0x42000000 0x0 0xa0000000 0 0xa0000000 0x0 0x10000000>,
<0x02000000 0x0 0xb0000000 0 0xb0000000 0x0 0x7000000>;
- interconnects = <&dram_range2>;
+ interconnects = <&dram_range7>;
interconnect-names = "dma-mem";
interrupts = <143>, <147>;
@@ -2486,6 +2528,14 @@ spacemit_crypto_engine@d8600000 {
status = "okay";
};
+ crng: crng@f0703800 {
+ compatible = "spacemit,hw_crng";
+ reg = <0x0 0xf0703800 0x0 0x100>;
+ clocks = <&ccu CLK_AES>;
+ resets = <&reset RESET_AES>;
+ status = "okay";
+ };
+
efuse: fuse@f0702800 {
compatible = "simple-mfd";
#address-cells = <1>;
--
2.43.0

View File

@ -1,45 +0,0 @@
config: # This is file 'patch/kernel/spacemit-legacy-6.1/0000.patching_config.yaml'
# PATCH NUMBERING INFO
#
# Patches should be ordered in such a way that general kernel patches are applied first, then SoC-related patches and at last board-specific patches
#
# Patch numbers in this folder are sorted by category:
#
# 000* for general patches
# 0** for Bianbu-Linux-related patches
# 1** for other SoC-related patches
# 5** for board specific patches
# Just some info stuff; not used by the patching scripts
name: spacemit-6.16
kind: kernel
type: vendor # or: edge
branch: linux-6.16.y
last-known-good-tag: v6.16
maintainers:
- { github: none, name: none, email: none, armbian-forum: none }
# .dts files in these directories will be copied as-is to the build tree; later ones overwrite earlier ones.
# This is meant to provide a way to "add a board DTS" without having to null-patch them in.
dts-directories:
- { source: "dt", target: "arch/riscv/boot/dts/spacemit" }
# Every file in these directories will be copied as-is to the build tree; later ones overwrite earlier ones
# This is meant as a way to have overlays, bare, in a directory, without having to null-patch them in.
# @TODO need a solution to auto-Makefile the overlays as well
overlay-directories:
- { source: "overlay", target: "arch/riscv/boot/dts/spacemit/overlay" }
# The Makefile in each of these directories will be magically patched to include the dts files copied
# or patched-in; overlay subdir will be included "-y" if it exists.
# No more Makefile patching needed, yay!
#auto-patch-dt-makefile:
# - { directory: "arch/riscv/boot/dts/spacemit", config-var: "CONFIG_SOC_SPACEMIT_K1X" }
# Configuration for when applying patches to git / auto-rewriting patches (development cycle helpers)
patches-to-git:
do-not-commit-files:
- "MAINTAINERS" # constant churn, drop them. sorry.
do-not-commit-regexes: # Python-style regexes
- "^arch/([a-zA-Z0-9]+)/boot/dts/([a-zA-Z0-9]+)/Makefile$" # ignore DT Makefile patches, we've an auto-patcher now

View File

@ -1,40 +0,0 @@
From 5e370980eaf7c4f6aa64bb27e755e57b9220212d Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Mon, 20 Oct 2025 08:07:16 -0400
Subject: [PATCH] rtl8852bs: Turn off DEBUG and remove RTW_WARN_LM
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
drivers/net/wireless/realtek/rtl8852bs/Makefile | 2 +-
drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtl8852bs/Makefile b/drivers/net/wireless/realtek/rtl8852bs/Makefile
index bdaf0097d..c2f8aeca9 100644
--- a/drivers/net/wireless/realtek/rtl8852bs/Makefile
+++ b/drivers/net/wireless/realtek/rtl8852bs/Makefile
@@ -142,7 +142,7 @@ ccflags-y += -DCONFIG_RTW_ANDROID=$(CONFIG_RTW_ANDROID)
endif
########################## Debug ###########################
-CONFIG_RTW_DEBUG = y
+CONFIG_RTW_DEBUG = n
# default log level is _DRV_INFO_ = 4,
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
CONFIG_RTW_LOG_LEVEL = 2
diff --git a/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c b/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c
index 5d41dc48f..dab9ac8ce 100644
--- a/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c
+++ b/drivers/net/wireless/realtek/rtl8852bs/core/rtw_xmit.c
@@ -6681,7 +6681,7 @@ static void fill_txreq_list_skb(_adapter *padapter,
if (skb_total_frag_nr(head_skb) > NUM_PKT_LIST_PER_TXREQ - 2) {
rtw_skb_linearize(head_skb);
- RTW_WARN_LMT("skb total frag nr over %d\n", NUM_PKT_LIST_PER_TXREQ - 2);
+ //RTW_WARN_LMT("skb total frag nr over %d\n", NUM_PKT_LIST_PER_TXREQ - 2);
}
_fill_txreq_list_skb(padapter, txreq, pkt_list, head_skb, &req_sz, &offset);
--
2.43.0

View File

@ -1,58 +0,0 @@
From 1abbdfc943e3bf7f1827c8bb092410342a5940ad Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Mon, 20 Oct 2025 08:08:50 -0400
Subject: [PATCH] Max freq limitation 1.8GHz
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
drivers/cpufreq/spacemit-cpufreq.c | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/drivers/cpufreq/spacemit-cpufreq.c b/drivers/cpufreq/spacemit-cpufreq.c
index 7b4df5fb7..69a712d36 100644
--- a/drivers/cpufreq/spacemit-cpufreq.c
+++ b/drivers/cpufreq/spacemit-cpufreq.c
@@ -51,7 +51,7 @@ of_hotplug_cooling_register(struct cpufreq_policy *policy);
#define FILTER_POINTS_0 (135)
#define FILTER_POINTS_1 (142)
-#define K1_MAX_FREQ_LIMITATION (1600000)
+#define K1_MAX_FREQ_LIMITATION (1800000)
#define M1_MAX_FREQ_LIMITATION (1800000)
#endif
@@ -429,18 +429,8 @@ int spacmeit_cpufreq_veritfy(struct cpufreq_policy_data *policy)
if (!policy->freq_table)
return -ENODEV;
- if ((wafer_prop << 16 | product_prop) == PRODUCT_ID_M1) {
- /* M1 */
- /* can update to 1.8G */
- cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
- policy->cpuinfo.max_freq);
- } else {
- /* K1 */
- /* only 1.6G allowed max */
- policy->max = policy->max > K1_MAX_FREQ_LIMITATION ? K1_MAX_FREQ_LIMITATION : policy->max;
- cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
- K1_MAX_FREQ_LIMITATION);
- }
+ cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
+ policy->cpuinfo.max_freq);
cpufreq_for_each_valid_entry(pos, policy->freq_table) {
freq = pos->frequency;
@@ -469,9 +459,7 @@ void spacemit_cpufreq_ready(struct cpufreq_policy *policy)
if ((wafer_prop << 16 | product_prop) == PRODUCT_ID_M1) {
/* M1 */
} else {
- /* K1 or other */
- remove_policy_boost_sysfs_file(policy);
- remove_boost_sysfs_file();
+ /* K1 */
}
}
--
2.43.0

View File

@ -1,33 +0,0 @@
From 7ab21f462be1275af4552df2bd3e87607fab1957 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Mon, 20 Oct 2025 08:09:31 -0400
Subject: [PATCH] Add spacemit k1x-spi support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
drivers/spi/spidev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index 5300c942a..6375c5cf9 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -718,6 +718,7 @@ static const struct spi_device_id spidev_spi_ids[] = {
{ .name = /* semtech */ "sx1301" },
{ .name = /* silabs */ "em3581" },
{ .name = /* silabs */ "si3210" },
+ { .name = /* spacemit */ "k1x-spi" },
{},
};
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
@@ -751,6 +752,7 @@ static const struct of_device_id spidev_dt_ids[] = {
{ .compatible = "semtech,sx1301", .data = &spidev_of_check },
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
{ .compatible = "silabs,si3210", .data = &spidev_of_check },
+ { .compatible = "spacemit,k1x-spi", .data = &spidev_of_check },
{},
};
MODULE_DEVICE_TABLE(of, spidev_dt_ids);
--
2.43.0

View File

@ -1,158 +0,0 @@
From e2ac8e7fddb7ca0a18a7466bf2dc37547ec72d30 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Fri, 3 Oct 2025 15:54:47 -0400
Subject: [PATCH] SpacemiT: K1-X: Forward port 6.6.y DTSI
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
arch/riscv/boot/dts/spacemit/k1-x.dtsi | 66 ++++++++++++++++++++++----
1 file changed, 58 insertions(+), 8 deletions(-)
diff --git a/arch/riscv/boot/dts/spacemit/k1-x.dtsi b/arch/riscv/boot/dts/spacemit/k1-x.dtsi
index 8f411e7f01f3..24366372e064 100644
--- a/arch/riscv/boot/dts/spacemit/k1-x.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k1-x.dtsi
@@ -430,7 +430,7 @@ rcpu_mem_0: mem@c0800000 {
};
/* rcpu's heap */
- rcpu_mem_1: mem@30000000 {
+ rcpu_mem_heap: rcpu_mem_heap@30000000 {
reg = <0x0 0x30000000 0x0 0x200000>;
no-map;
};
@@ -465,6 +465,12 @@ rcpu_mem_snapshots: rcpu_mem_snapshots@30300000 {
reg = <0x0 0x30300000 0x0 0x40000>;
no-map;
};
+
+ /* the dtb file of rcpu */
+ rcpu_mem_dtb: rcpu_mem_dtb@30300000 {
+ reg = <0x0 0x30340000 0x0 0x40000>;
+ no-map;
+ };
};
soc: soc {
@@ -495,13 +501,13 @@ dram_range1: dram_range@1 {
status = "okay";
};
- /* dram mapping for pcie for ex. */
+ /* dram mapping for pcie0 for ex. */
dram_range2: dram_range@2 {
compatible = "spacemit-dram-bus";
#address-cells = <2>;
#size-cells = <2>;
dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
- <0x0 0xb8000000 0x1 0x38000000 0x3 0x48000000>;
+ <0x0 0x90000000 0x1 0x10000000 0x3 0x70000000>;
#interconnect-cells = <0>;
status = "okay";
};
@@ -539,6 +545,30 @@ dram_range5: dram_range@5 {
status = "okay";
};
+ /* dram mapping for pcie1 for ex. */
+ dram_range6: dram_range@6 {
+ compatible = "spacemit-dram-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
+ <0x0 0x80000000 0x1 0x00000000 0x0 0x10000000>,
+ <0x0 0xa0000000 0x1 0x20000000 0x3 0x60000000>;
+ #interconnect-cells = <0>;
+ status = "okay";
+ };
+
+ /* dram mapping for pcie2 for ex. */
+ dram_range7: dram_range@7 {
+ compatible = "spacemit-dram-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
+ <0x0 0x80000000 0x1 0x00000000 0x0 0x20000000>,
+ <0x0 0xb8000000 0x1 0x38000000 0x3 0x48000000>;
+ #interconnect-cells = <0>;
+ status = "okay";
+ };
+
clint0: clint@e4000000 {
compatible = "riscv,clint0";
interrupts-extended = <
@@ -615,7 +645,8 @@ &cpu7_intc 11 &cpu7_intc 9
pinctrl: pinctrl@d401e000 {
compatible = "pinconf-single-aib";
reg = <0x0 0xd401e000 0x0 0x250>,
- <0x0 0xd4019800 0x0 0x10>;
+ <0x0 0xd4019800 0x0 0x10>,
+ <0x0 0xd4019000 0x0 0x800>;
#address-cells = <1>;
#size-cells = <1>;
#pinctrl-cells = <2>;
@@ -1398,8 +1429,8 @@ ri2c0: ri2c@c0887000 {
spacemit,i2c-wcr = <0x142a>;
/* apb clock: 26MHz or 52MHz */
spacemit,apb_clock = <52000000>;
- power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
- cpuidle,pm-runtime,sleep;
+ power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
+ cpuidle,pm-runtime,sleep;
interconnects = <&dram_range4>;
interconnect-names = "dma-mem";
status = "okay";
@@ -1865,6 +1896,17 @@ gcb3: gpio3 {
};
};
+ ec_master: ethercat_master {
+ compatible = "igh,k1x-ec-master";
+ run-on-cpu = <1>;
+ debug-level = <0>;
+ master-count = <1>;
+ ec-devices = <&eth0>,<&eth1>;
+ master-indexes = <0>,<0>;
+ modes = "ec_main","ec_backup";
+ status = "disable";
+ };
+
eth0: ethernet@cac80000 {
compatible = "spacemit,k1x-emac";
reg = <0x00000000 0xCAC80000 0x00000000 0x00000420>;
@@ -2239,7 +2281,7 @@ pcie1_rc: pcie@ca400000 {
#size-cells = <2>;
ranges = <0x01000000 0x0 0x9f002000 0 0x9f002000 0x0 0x100000>,
<0x02000000 0x0 0x90000000 0 0x90000000 0x0 0x0f000000>;
- interconnects = <&dram_range2>;
+ interconnects = <&dram_range6>;
interconnect-names = "dma-mem";
interrupts = <142>, <146>;
@@ -2289,7 +2331,7 @@ pcie2_rc: pcie@ca800000 {
ranges = <0x01000000 0x0 0xb7002000 0 0xb7002000 0x0 0x100000>,
<0x42000000 0x0 0xa0000000 0 0xa0000000 0x0 0x10000000>,
<0x02000000 0x0 0xb0000000 0 0xb0000000 0x0 0x7000000>;
- interconnects = <&dram_range2>;
+ interconnects = <&dram_range7>;
interconnect-names = "dma-mem";
interrupts = <143>, <147>;
@@ -2486,6 +2528,14 @@ spacemit_crypto_engine@d8600000 {
status = "okay";
};
+ crng: crng@f0703800 {
+ compatible = "spacemit,hw_crng";
+ reg = <0x0 0xf0703800 0x0 0x100>;
+ clocks = <&ccu CLK_AES>;
+ resets = <&reset RESET_AES>;
+ status = "okay";
+ };
+
efuse: fuse@f0702800 {
compatible = "simple-mfd";
#address-cells = <1>;
--
2.43.0

View File

@ -15,7 +15,7 @@ config: # This is file 'patch/kernel/spacemit-legacy-6.1/0000.patching_config.ya
name: spacemit-6.18
kind: kernel
type: vendor # or: edge
branch: linux-6.16.y
branch: linux-6.18.y
last-known-good-tag: v6.18
maintainers:
- { github: none, name: none, email: none, armbian-forum: none }

View File

@ -0,0 +1,66 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Wed, 2 Oct 2024 19:30:34 +0300
Subject: compile .scr and install overlays in right path
---
scripts/Makefile.dtbinst | 13 +++++++++-
scripts/Makefile.dtbs | 8 +++++-
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
index 111111111111..222222222222 100644
--- a/scripts/Makefile.dtbinst
+++ b/scripts/Makefile.dtbinst
@@ -33,7 +33,18 @@ endef
$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
-dtbs := $(notdir $(dtbs))
+# Very convoluted way to flatten all the device tree
+# directories, but keep the "/overlay/" directory
+
+# topmost directory (ie: from rockchip/overlay/rk322x-emmc.dtbo extracts rockchip)
+topmost_dir = $(firstword $(subst /, ,$(dtbs)))
+# collect dtbs entries which starts with "$topmost_dir/overlay/", then remove "$topmost_dir"
+dtbs_overlays = $(subst $(topmost_dir)/,,$(filter $(topmost_dir)/overlay/%, $(dtbs)))
+# collect the non-overlay dtbs
+dtbs_regular = $(filter-out $(topmost_dir)/overlay/%, $(dtbs))
+# compose the dtbs variable flattening all the non-overlays entries
+# and appending the overlays entries
+dtbs := $(notdir $(dtbs_regular)) $(dtbs_overlays)
endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
diff --git a/scripts/Makefile.dtbs b/scripts/Makefile.dtbs
index 111111111111..222222222222 100644
--- a/scripts/Makefile.dtbs
+++ b/scripts/Makefile.dtbs
@@ -123,17 +123,23 @@ dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
quiet_cmd_dtc = DTC $(quiet_dtb_check_tag) $@
cmd_dtc = \
$(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
- $(DTC) -o $@ -b 0 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) \
+ $(DTC) -@ -o $@ -b 0 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) \
$(DTC_FLAGS) -d $(depfile).dtc.tmp $(dtc-tmp) ; \
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) \
$(cmd_dtb_check)
+quiet_cmd_scr = MKIMAGE $@
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
+
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
$(call if_changed_dep,dtc)
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
$(call if_changed_dep,dtc)
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
+ $(call if_changed,scr)
+
# targets
# ---------------------------------------------------------------------------
--
Armbian

View File

@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
Date: Sat, 30 Aug 2025 10:33:14 +0800
Subject: general: spacemit overlays
Signed-off-by: retro98boy <retro98boy@qq.com>
---
scripts/Makefile.build | 3 +++
1 file changed, 3 insertions(+)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 111111111111..222222222222 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -107,6 +107,9 @@ always-y += $(hostprogs-always-y) $(hostprogs-always-m)
userprogs += $(userprogs-always-y) $(userprogs-always-m)
always-y += $(userprogs-always-y) $(userprogs-always-m)
+# Overlay targets
+extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y)
+
# Add subdir path
ifneq ($(obj),.)
--
Armbian

View File

@ -0,0 +1,17 @@
dtb-$(CONFIG_SOC_SPACEMIT_K1PRO) += k1-pro_sim.dtb k1-pro_fpga.dtb k1-pro_fpga_1x4.dtb \
k1-pro_fpga_2x2.dtb k1-pro_qemu.dtb k1-pro_verify.dtb
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-x_fpga.dtb k1-x_fpga_1x4.dtb k1-x_fpga_2x2.dtb k1-x_evb.dtb \
k1-x_deb2.dtb k1-x_deb1.dtb k1-x_hs450.dtb k1-x_kx312.dtb \
k1-x_MINI-PC.dtb k1-x_MUSE-N1.dtb k1-x_mingo.dtb \
k1-x_MUSE-Pi.dtb k1-x_milkv-jupiter.dtb m1-x_milkv-jupiter.dtb \
k1-x_MUSE-Book.dtb k1-x_lpi3a.dtb k1-x_MUSE-Card.dtb \
k1-x_MUSE-Paper.dtb k1-x_MUSE-Paper-mini-4g.dtb \
k1-x_baton-camera.dtb k1-x_FusionOne.dtb k1-x_orangepi-rv2.dtb \
k1-x_ZT001H.dtb k1-x_uav.dtb k1-x_bit-brick.dtb
obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-bananapi-f3.dtb
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-musepi-pro.dtb
subdir-y += overlay

View File

@ -1,11 +1,12 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/* Copyright (c) 2023 Spacemit, Inc */
/dts-v1/;
#include "k1-x.dtsi"
#include "k1-x-efuse.dtsi"
#include "k1-x_pinctrl.dtsi"
#include "lcd/lcd_gx09inx101_mipi.dtsi"
#include "lcd_tc358762xbg_dpi_800x480.dtsi"
#include "k1-x-hdmi.dtsi"
#include "k1-x-lcd.dtsi"
#include "k1-x-camera-sdk.dtsi"
@ -13,7 +14,8 @@
#include "k1-x_thermal_cooling.dtsi"
/ {
model = "BananaPi BPI-F3";
model = "SpacemiT MusePi Pro";
modules_usrload = "8852bs";
chosen {
bootargs = "earlycon=sbi console=ttyS0,115200n8 swiotlb=65536 rdinit=/init";
@ -91,14 +93,6 @@
regulator-max-microvolt = <12000000>;
};
fan: pwm-fan {
compatible = "pwm-fan";
pwms = <&rpwm2 10000>;
#cooling-cells = <2>;
cooling-levels = <0 64 128 192 255>;
status = "okay";
};
leds {
compatible = "gpio-leds";
@ -128,8 +122,8 @@
linux,cma {
compatible = "shared-dma-pool";
/* alloc memory from 0x40000000~0x80000000 */
alloc-ranges = <0 0x40000000 0 0x40000000>;
/* alloc memory from 0x40000000~0x70000000 */
alloc-ranges = <0 0x40000000 0 0x30000000>;
/* size of cma buffer is 384MByte */
size = <0 0x18000000>;
/* start address is 1Mbyte aligned */
@ -182,22 +176,32 @@
};
};
/* ov16a10 */
/* MIPI CSI1, clk lane1 */
&backsensor {
pwdn-gpios = <&gpio 113 0>;
dvdd-powen-gpios = <&gpio 115 0>;
mclk-disable;
status = "okay";
};
/* MIPI CSI3 data line2,3 clk lane2 */
&backsensor_aux {
af_2v8-supply = <&ldo_3>;
avdd_2v8-supply = <&ldo_2>;
dovdd_1v8-supply = <&ldo_7>;
dvdd_1v2-supply = <&ldo_6>;
pwdn-gpios = <&gpio 113 0>;
reset-gpios = <&gpio 111 0>;
pwdn-gpios = <&gpio 124 0>;
reset-gpios = <&gpio 97 0>;
status = "okay";
};
&backsensor_aux {
avdd_2v8-supply = <&ldo_2>;
dovdd_1v8-supply = <&ldo_7>;
pinmulti-enable;
twsi-index = <0>;
clocks = <&ccu CLK_CAMM0>;
clock-names = "cam_mclk0";
pinctrl-names = "mclk_multi";
pinctrl-0 = <&pinctrl_camera0>;
status = "disabled";
};
@ -220,12 +224,16 @@
status = "okay";
};
&csiphy0 {
&combphy {
status = "okay";
};
&combphy {
&cpp {
power-domains = <&power K1X_PMU_ISP_PWR_DOMAIN>;
};
&csiphy0 {
status = "okay";
};
@ -236,54 +244,169 @@
&csiphy2 {
spacemit,bifmode-enable;
status = "okay";
};
&cpp {
power-domains = <&power K1X_PMU_ISP_PWR_DOMAIN>;
};
&dpu_online2_dsi {
memory-region = <&dpu_resv>;
spacemit-dpu-bitclk = <1000000000>;
spacemit-dpu-bitclk = <700000000>;
spacemit-dpu-escclk = <76800000>;
dsi_1v2-supply = <&ldo_5>;
vin-supply-names = "dsi_1v2";
status = "disabled";
};
&dsi2 {
status = "disabled";
force-attached = "lcd_tc358762xbg_dpi_800x480";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dsi1_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&panel_in>;
};
};
};
dpi_panel: panel@0 {
status = "ok";
compatible = "raspberrypi,dpi-panel";
};
};
&dpu_online2_hdmi {
memory-region = <&dpu_resv>;
status = "okay";
};
&dsi2 {
&ehci {
spacemit,reset-on-resume;
spacemit,udc-mode = <MV_USB_MODE_OTG>;
status = "disabled";
};
panel2: panel2@0 {
status = "ok";
compatible = "spacemit,mipi-panel2";
reg = <0>;
&ehci1 {
spacemit,udc-mode = <MV_USB_MODE_HOST>;
spacemit,reset-on-resume;
status = "okay";
};
gpios-reset = <81>;
gpios-dc = <82 83>;
id = <2>;
delay-after-reset = <10>;
force-attached = "lcd_gx09inx101_mipi";
&eth0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gmac0>;
emac,reset-gpio = <&gpio 110 0>;
emac,reset-active-low;
emac,reset-delays-us = <0 10000 100000>;
/* store forward mode */
tx-threshold = <1518>;
rx-threshold = <12>;
tx-ring-num = <1024>;
rx-ring-num = <1024>;
dma-burst-len = <5>;
ref-clock-from-phy;
clk-tuning-enable;
clk-tuning-by-delayline;
tx-phase = <60>;
rx-phase = <73>;
nvmem-cells = <&mac_address0>;
nvmem-cell-names = "mac-address";
phy-handle = <&rgmii0>;
status = "okay";
mdio-bus {
#address-cells = <0x1>;
#size-cells = <0x0>;
rgmii0: phy@0 {
compatible = "ethernet-phy-id001c.c916";
device_type = "ethernet-phy";
reg = <0x1>;
phy-mode = "rgmii";
leds {
#address-cells = <1>;
#size-cells = <0>;
lan0-led1@1 {
reg = <1>;
linux,default-trigger = "netdev";
};
lan0-led2@2 {
reg = <2>;
linux,default-trigger = "netdev";
};
};
};
};
};
&hdmiaudio {
/* MIPI CSI3 data line0,1 clk lane3 */
&frontsensor {
pwdn-gpios = <&gpio 114 0>;
dvdd-powen-gpios = <&gpio 115 0>;
twsi-index = <1>;
//mclk can disable
mclk-disable;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_camera1>;
status = "okay";
};
&gpio{
gpio-ranges = <
&pinctrl 49 GPIO_49 2
&pinctrl 58 GPIO_58 1
&pinctrl 63 GPIO_63 1
&pinctrl 65 GPIO_65 1
&pinctrl 67 GPIO_67 1
&pinctrl 70 PRI_TDI 4
&pinctrl 74 GPIO_74 1
&pinctrl 79 GPIO_79 1
&pinctrl 80 GPIO_80 4
&pinctrl 90 GPIO_90 3
&pinctrl 96 DVL0 2
&pinctrl 110 GPIO_110 1
&pinctrl 111 GPIO_111 1
&pinctrl 113 GPIO_113 1
&pinctrl 114 GPIO_114 3
&pinctrl 118 GPIO_118 1
&pinctrl 123 GPIO_123 5
>;
};
&hdmi{
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi_0>;
status = "okay";
};
&hdmiaudio {
status = "okay";
};
&lcds {
status = "disabled";
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c0>;
@ -291,6 +414,13 @@
status = "okay";
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
spacemit,i2c-fast-mode;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2_0>;
@ -321,7 +451,6 @@
#sound-dai-cells = <0>;
interrupt-parent = <&gpio>;
interrupts = <126 1>;
spk-ctl-gpio = <&gpio 127 0>;
everest,mic1-src = [44];
everest,mic2-src = [66];
status = "okay";
@ -330,14 +459,39 @@
&i2c3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3_2>;
status = "disabled";
pinctrl-0 = <&pinctrl_i2c3_0>;
status = "okay";
};
&i2c4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c4_2>;
pinctrl-0 = <&pinctrl_i2c4_0>;
status = "okay";
};
&i2c5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c5_0>;
status = "disabled";
raspits-panel@45 {
status = "okay";
compatible = "raspberrypi,7inch-touchscreen-panel";
reg = <0x45>;
enable-gpio = <&gpio 83 0>;
port {
panel_in: endpoint {
remote-endpoint = <&dsi1_output>;
};
};
};
raspits-touch-ft5426@38 {
status = "okay";
compatible = "raspits_ft5426";
reg = <0x38>;
};
};
&i2c6 {
@ -425,6 +579,7 @@
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <5000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <3300000>;
@ -453,6 +608,8 @@
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
/* set the min voltage means will disable this vol in suspend for ldo */
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -463,6 +620,7 @@
regulator-name = "ldo2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -473,6 +631,7 @@
regulator-name = "ldo3";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -483,6 +642,7 @@
regulator-name = "ldo4";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -495,6 +655,7 @@
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -505,6 +666,7 @@
regulator-name = "ldo6";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -515,6 +677,7 @@
regulator-name = "ldo7";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3400000>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <500000>;
@ -581,152 +744,30 @@
};
};
&i2s0 {
&pcie1_rc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sspa0_0>;
pinctrl-0 = <&pinctrl_pcie1_3>;
status = "okay";
};
&ehci {
spacemit,reset-on-resume;
spacemit,udc-mode = <MV_USB_MODE_OTG>;
status = "disabled";
};
&ehci1 {
/*spacemit,udc-mode = <MV_USB_MODE_OTG>;*/
spacemit,reset-on-resume;
status = "okay";
};
&eth0 {
&pcie2_rc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gmac0>;
emac,reset-gpio = <&gpio 110 0>;
emac,reset-active-low;
emac,reset-delays-us = <0 10000 100000>;
/* store forward mode */
tx-threshold = <1518>;
rx-threshold = <12>;
tx-ring-num = <1024>;
rx-ring-num = <1024>;
dma-burst-len = <5>;
ref-clock-from-phy;
clk-tuning-enable;
clk-tuning-by-delayline;
tx-phase = <60>;
rx-phase = <73>;
nvmem-cells = <&mac_address0>;
nvmem-cell-names = "mac-address";
phy-handle = <&rgmii0>;
pinctrl-0 = <&pinctrl_pcie2_5>;
status = "okay";
mdio-bus {
#address-cells = <0x1>;
#size-cells = <0x0>;
rgmii0: phy@0 {
compatible = "ethernet-phy-id001c.c916";
device_type = "ethernet-phy";
reg = <0x1>;
phy-mode = "rgmii";
};
};
};
&eth1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gmac1>;
emac,reset-gpio = <&gpio 115 0>;
emac,reset-active-low;
emac,reset-delays-us = <0 10000 100000>;
/* store forward mode */
tx-threshold = <1518>;
rx-threshold = <12>;
tx-ring-num = <1024>;
rx-ring-num = <1024>;
dma-burst-len = <5>;
ref-clock-from-phy;
clk-tuning-enable;
clk-tuning-by-delayline;
tx-phase = <90>;
rx-phase = <73>;
nvmem-cells = <&mac_address1>;
nvmem-cell-names = "mac-address";
phy-handle = <&rgmii1>;
status = "okay";
mdio-bus {
#address-cells = <0x1>;
#size-cells = <0x0>;
rgmii1: phy@1 {
compatible = "ethernet-phy-id001c.c916";
device_type = "ethernet-phy";
reg = <0x1>;
phy-mode = "rgmii";
};
};
};
&frontsensor {
af_2v8-supply = <&ldo_3>;
avdd_2v8-supply = <&ldo_2>;
dovdd_1v8-supply = <&ldo_7>;
dvdd_1v2-supply = <&ldo_6>;
clocks = <&ccu CLK_CAMM1>;
clock-names = "cam_mclk1";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_camera1>;
pwdn-gpios = <&gpio 114 0>;
reset-gpios = <&gpio 112 0>;
status = "disabled";
};
&gpio{
gpio-ranges = <
&pinctrl 49 GPIO_49 2
&pinctrl 58 GPIO_58 1
&pinctrl 63 GPIO_63 3
&pinctrl 67 GPIO_67 1
&pinctrl 70 PRI_TDI 4
&pinctrl 74 GPIO_74 1
&pinctrl 80 GPIO_80 4
&pinctrl 90 GPIO_90 3
&pinctrl 96 DVL0 2
&pinctrl 110 GPIO_110 1
&pinctrl 111 GPIO_111 1
&pinctrl 113 GPIO_113 1
&pinctrl 114 GPIO_114 3
&pinctrl 118 GPIO_118 1
&pinctrl 123 GPIO_123 5
>;
};
&imggpu {
status = "okay";
};
&isp {
power-domains = <&power K1X_PMU_ISP_PWR_DOMAIN>;
&i2s0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sspa0_2>;
status = "okay";
};
&lcds {
status = "disabled";
&isp {
power-domains = <&power K1X_PMU_ISP_PWR_DOMAIN>;
};
&otg {
@ -747,31 +788,19 @@
status = "disabled";
};
&pcie1_rc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie1_3>;
status = "okay";
};
&pcie2_rc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie2_4>;
num-lanes = <1>;
status = "okay";
};
&pinctrl {
pinctrl-single,gpio-range = <
&range GPIO_49 2 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
&range GPIO_58 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_63 2 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_64 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_63 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_64 1 (MUX_MODE1 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_65 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_67 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
&range PRI_TDI 2 (MUX_MODE1 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range PRI_TCK 1 (MUX_MODE1 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
&range PRI_TDO 1 (MUX_MODE1 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_74 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_79 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_80 1 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_3V_DS4)
&range GPIO_81 3 (MUX_MODE0 | EDGE_NONE | PULL_UP | PAD_1V8_DS2)
&range GPIO_90 1 (MUX_MODE0 | EDGE_NONE | PULL_DOWN | PAD_1V8_DS2)
@ -797,6 +826,12 @@
>;
};
pinctrl_rpwm7_0: rpwm7_0_grp {
pinctrl-single,pins = <
K1X_PADCONF(GPIO_52, MUX_MODE3, (EDGE_NONE | PULL_UP | PAD_3V_DS4)) /* rcpu_pwm7 */
>;
};
pinctrl_gmac0: gmac0_grp {
pinctrl-single,pins =<
K1X_PADCONF(GPIO_00, MUX_MODE1, (EDGE_NONE | PULL_DIS | PAD_1V8_DS2)) /* gmac0_rxdv */
@ -844,18 +879,24 @@
K1X_PADCONF(GPIO_66, MUX_MODE0, (EDGE_FALL | PULL_DOWN | PAD_3V_DS2)) /* wifi edge detect */
>;
};
};
&pwm7 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm7_0>;
status = "disabled";
};
pinctrl_sspa0_2: sspa0_2_grp {
pinctrl-single,pins =<
K1X_PADCONF(GPIO_111, MUX_MODE2, (EDGE_NONE | PULL_UP | PAD_1V8_DS0)) /* sspa0_clk */
K1X_PADCONF(GPIO_112, MUX_MODE2, (EDGE_NONE | PULL_UP | PAD_1V8_DS0)) /* sspa0_frm */
K1X_PADCONF(GPIO_120, MUX_MODE3, (EDGE_NONE | PULL_UP | PAD_1V8_DS0)) /* sspa0_txd */
K1X_PADCONF(GPIO_121, MUX_MODE3, (EDGE_NONE | PULL_UP | PAD_1V8_DS0)) /* sspa0_rxd */
K1X_PADCONF(GPIO_122, MUX_MODE3, (EDGE_NONE | PULL_UP | PAD_1V8_DS0)) /* sspa0_sysclk */
>;
};
&pwm14 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm14_1>;
status = "okay";
pinctrl_pcie2_5: pcie2_5_grp {
pinctrl-single,pins =<
K1X_PADCONF(GPIO_62, MUX_MODE4, (EDGE_NONE | PULL_DIS | PAD_1V8_DS2)) /* PCIe2_perstn */
K1X_PADCONF(GPIO_36, MUX_MODE4, (EDGE_NONE | PULL_DIS | PAD_1V8_DS2)) /* PCIe2_waken */
K1X_PADCONF(GPIO_117, MUX_MODE4, (EDGE_NONE | PULL_DIS | PAD_1V8_DS2)) /* PCIe2_clkreqn */
>;
};
};
&pwm_bl {
@ -883,6 +924,18 @@
status = "okay";
};
&pwm4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm4_1>;
status = "okay";
};
&pwm14 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm14_1>;
status = "disabled";
};
&qspi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qspi>;
@ -907,12 +960,17 @@
status = "okay";
};
&rpwm2 {
&rpwm7 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rpwm2_0>;
pinctrl-0 = <&pinctrl_rpwm7_0>;
status = "okay";
};
/* &r_uart0 {
status = "okay";
};
*/
/* SD */
&sdhci0 {
pinctrl-names = "default","fast";
@ -920,7 +978,6 @@
pinctrl-1 = <&pinctrl_mmc1_fast>;
bus-width = <4>;
cd-gpios = <&gpio 80 0>;
cd-inverted;
vmmc-supply = <&dcdc_4>;
vqmmc-supply = <&ldo_1>;
no-mmc;
@ -944,7 +1001,7 @@
spacemit,apbc_assar_reg = <0xD4015054>;
spacemit,rx_dline_reg = <0x0>;
spacemit,tx_dline_reg = <0x0>;
spacemit,tx_delaycode = <0x5f>;
spacemit,tx_delaycode = <0x9f>;
spacemit,rx_tuning_limit = <50>;
spacemit,sdh-freq = <204800000>;
status = "okay";
@ -975,7 +1032,7 @@
SDHCI_QUIRK2_BROKEN_PHY_MODULE
)>;
spacemit,rx_dline_reg = <0x0>;
spacemit,tx_delaycode = <0x8f>;
spacemit,tx_delaycode = <0xa8 0x78>;
spacemit,rx_tuning_limit = <50>;
spacemit,sdh-freq = <375000000>;
status = "okay";
@ -1019,87 +1076,9 @@
&spi3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ssp3_0>;
status = "disabled";
spidev@0{
compatible = "spacemit,k1x-spi";
reg = <0>;
};
};
&thermal {
sensor_range = <0x1 0x4>;
};
&thermal_zones {
top_thermal {
polling-delay = <0>;
polling-delay-passive = <0>;
thermal-sensors = <&thermal 1>;
trips {
top_trip0: top-trip0 {
temperature = <40000>;
hysteresis = <5000>;
type = "passive";
};
top_trip1: top-trip1 {
temperature = <55000>;
hysteresis = <5000>;
type = "passive";
};
top_trip2: top-trip2 {
temperature = <70000>;
hysteresis = <5000>;
type = "passive";
};
top_trip3: top-trip3 {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&top_trip0>;
cooling-device = <&fan 0 1>;
};
map1 {
trip = <&top_trip1>;
cooling-device = <&fan 1 2>;
};
map2 {
trip = <&top_trip2>;
cooling-device = <&fan 2 3>;
};
map3 {
trip = <&top_trip3>;
cooling-device = <&fan 3 4>;
};
};
};
gpu_thermal {
polling-delay = <0>;
polling-delay-passive = <0>;
thermal-sensors = <&thermal 2>;
/* Just a placeholder */
trips {
gpu_trip0: gpu-trip0 {
temperature = <40000>;
hysteresis = <5000>;
type = "passive";
};
};
};
k1x,ssp-disable-dma;
status = "okay";
k1x,ssp-clock-rate = <25600000>;
};
&uart0 {
@ -1123,17 +1102,28 @@
};
&udc {
/*spacemit,udc-mode = <MV_USB_MODE_OTG>;*/
spacemit,udc-mode = <MV_USB_MODE_UDC>;
status = "okay";
};
&udc1 {
/*spacemit,udc-mode = <MV_USB_MODE_UDC>;*/
spacemit,udc-mode = <MV_USB_MODE_OTG>;
status = "disabled";
};
&usb2phy {
status = "okay";
};
&usb3hub {
hub-gpios = <
&gpio 127 0 /* usb3 hub en */
&gpio 123 0>; /* usb3 hub rst*/
vbus-gpios = <&gpio 79 0>; /* usb3 hub output vbus */
vbus_delay_ms = <200>;
status = "okay";
};
&usbdrd3 {
status = "okay";
reset-on-resume;
@ -1150,14 +1140,6 @@
};
};
&usb3hub {
hub-gpios = <
&gpio 123 0 /* usb3 hub en */
&gpio 124 0>; /* usb3 hub rst*/
vbus-gpios = <&gpio 97 0>; /* gpio_97 for usb3 hub output vbus */
status = "okay";
};
&usbphy {
status = "okay";
};
@ -1166,10 +1148,6 @@
status = "okay";
};
&usb2phy {
status = "okay";
};
&vi {
power-domains = <&power K1X_PMU_ISP_PWR_DOMAIN>;
};

View File

@ -0,0 +1,61 @@
// SPDX-License-Identifier: GPL-2.0
/ { lcds: lcds {
lcd_tc358762xbg_dpi_800x480: lcd_tc358762xbg_dpi_800x480 {
dsi-work-mode = <1>; /* video burst mode*/
dsi-lane-number = <1>;
dsi-color-format = "rgb888";
width-mm = <95>;
height-mm = <53>;
use-dcs-write;
/*mipi info*/
height = <480>;
width = <800>;
hfp = <1>;
hbp = <46>;
hsync = <2>;
vfp = <7>;
vbp = <21>;
vsync = <2>;
fps = <55>;
work-mode = <0>;
rgb-mode = <3>;
lane-number = <1>;
phy-bit-clock = <700000000>;
split-enable = <0>;
eotp-enable = <0>;
burst-mode = <2>;
esd-check-enable = <0>;
/* DSI_CMD, DSI_MODE, timeout, len, cmd */
initial-command = [
39 01 F0 01 11
39 01 28 01 29
];
sleep-in-command = [
39 01 78 01 28
39 01 78 01 10
];
sleep-out-command = [
39 01 96 01 11
39 01 32 01 29
];
display-timings {
timing0 {
clock-frequency = <25000000>;
hactive = <800>;
hfront-porch = <1>;
hback-porch = <46>;
hsync-len = <2>;
vactive = <480>;
vfront-porch = <7>;
vback-porch = <21>;
vsync-len = <2>;
vsync-active = <1>;
hsync-active = <1>;
};
};
};
};};

View File

@ -0,0 +1,11 @@
# SPDX-License-Identifier: GPL-2.0
dtbo-$(CONFIG_SOC_SPACEMIT_K1X) += \
k1-spacemit-disable-qspi.dtbo \
k1-spacemit-i2c4-pwm7-spi3-uart5.dtbo
scr-$(CONFIG_SOC_SPACEMIT_K1X) += \
spacemit-fixup.scr
dtb-y += $(dtbo-y) $(scr-y) $(dtbotxt-y)
clean-files := *.dtbo *.scr

View File

@ -0,0 +1,13 @@
/dts-v1/;
/plugin/;
/ {
compatible = "spacemit,k1-x";
fragment@0 {
target = <&qspi>;
__overlay__ {
status = "disabled";
};
};
};

View File

@ -0,0 +1,37 @@
/dts-v1/;
/plugin/;
// Enable 26pin I2C4, PWM7, SPI3 and UART5
// https://forum.banana-pi.org/t/bananapif3-gpio-wiringpi-gpiod-python3-periphery-adafruit-blinka-and-luma-examples/18948
/ {
compatible = "spacemit,k1-x";
fragment@0 {
target = <&i2c4>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&pwm7>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&spi3>;
__overlay__ {
status = "okay";
};
};
fragment@3 {
target = <&uart5>;
__overlay__ {
status = "okay";
};
};
};

View File

@ -0,0 +1,4 @@
# overlays fixup script
# implements (or rather substitutes) overlay arguments functionality
# using u-boot scripting, environment variables and "fdt" command

View File

@ -12,11 +12,11 @@ config: # This is file 'patch/kernel/spacemit-legacy-6.1/0000.patching_config.ya
# 5** for board specific patches
# Just some info stuff; not used by the patching scripts
name: spacemit-6.16
name: spacemit-6.6
kind: kernel
type: vendor # or: edge
branch: linux-6.16.y
last-known-good-tag: v6.16
branch: linux-6.6.y
last-known-good-tag: v6.6
maintainers:
- { github: none, name: none, email: none, armbian-forum: none }

View File

@ -1,107 +0,0 @@
From 1fd78e3e85d2f753909e3c9a9434c14d55762c1f Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@gmail.com>
Date: Sat, 15 Feb 2025 16:58:11 -0500
Subject: [PATCH] Add k1-bananapi-f3 overlays
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
---
arch/riscv/boot/dts/spacemit/Makefile | 2 +
arch/riscv/boot/dts/spacemit/overlay/Makefile | 10 +++++
.../overlay/k1-bananapi-f3-disable-qspi.dts | 13 +++++++
.../k1-bananapi-f3-i2c4-pwm7-spi3-uart5.dts | 37 +++++++++++++++++++
4 files changed, 62 insertions(+)
create mode 100644 arch/riscv/boot/dts/spacemit/overlay/Makefile
create mode 100644 arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-disable-qspi.dts
create mode 100644 arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-i2c4-pwm7-spi3-uart5.dts
diff --git a/arch/riscv/boot/dts/spacemit/Makefile b/arch/riscv/boot/dts/spacemit/Makefile
index 069722c63e3e..c342c1129922 100644
--- a/arch/riscv/boot/dts/spacemit/Makefile
+++ b/arch/riscv/boot/dts/spacemit/Makefile
@@ -12,3 +12,5 @@ dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-x_fpga.dtb k1-x_fpga_1x4.dtb k1-x_fpga_2x2.
obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-bananapi-f3.dtb
+
+subdir-y += overlay
diff --git a/arch/riscv/boot/dts/spacemit/overlay/Makefile b/arch/riscv/boot/dts/spacemit/overlay/Makefile
new file mode 100644
index 000000000000..5b6e0e38931f
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/overlay/Makefile
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: GPL-2.0
+dtbo-$(CONFIG_ARCH_RV64I) += \
+ k1-bananapi-f3-disable-qspi.dtbo \
+ k1-bananapi-f3-i2c4-pwm7-spi3-uart5.dtbo
+
+targets += dtbs dtbs_install
+targets += $(dtbo-y)
+
+always-y := $(dtbo-y)
+clean-files := *.dtbo
diff --git a/arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-disable-qspi.dts b/arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-disable-qspi.dts
new file mode 100644
index 000000000000..df23c4a4f80e
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-disable-qspi.dts
@@ -0,0 +1,13 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "spacemit,k1-x";
+
+ fragment@0 {
+ target = <&qspi>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+};
diff --git a/arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-i2c4-pwm7-spi3-uart5.dts b/arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-i2c4-pwm7-spi3-uart5.dts
new file mode 100644
index 000000000000..01e487b207d6
--- /dev/null
+++ b/arch/riscv/boot/dts/spacemit/overlay/k1-bananapi-f3-i2c4-pwm7-spi3-uart5.dts
@@ -0,0 +1,37 @@
+/dts-v1/;
+/plugin/;
+
+// Enable 26pin I2C4, PWM7, SPI3 and UART5
+// https://forum.banana-pi.org/t/bananapif3-gpio-wiringpi-gpiod-python3-periphery-adafruit-blinka-and-luma-examples/18948
+
+/ {
+ compatible = "spacemit,k1-x";
+
+ fragment@0 {
+ target = <&i2c4>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&pwm7>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@2 {
+ target = <&spi3>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@3 {
+ target = <&uart5>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
--
2.39.5

View File

@ -0,0 +1,17 @@
dtb-$(CONFIG_SOC_SPACEMIT_K1PRO) += k1-pro_sim.dtb k1-pro_fpga.dtb k1-pro_fpga_1x4.dtb \
k1-pro_fpga_2x2.dtb k1-pro_qemu.dtb k1-pro_verify.dtb
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-x_fpga.dtb k1-x_fpga_1x4.dtb k1-x_fpga_2x2.dtb k1-x_evb.dtb \
k1-x_deb2.dtb k1-x_deb1.dtb k1-x_hs450.dtb k1-x_kx312.dtb \
k1-x_MINI-PC.dtb k1-x_MUSE-N1.dtb k1-x_mingo.dtb \
k1-x_MUSE-Pi.dtb k1-x_milkv-jupiter.dtb m1-x_milkv-jupiter.dtb \
k1-x_MUSE-Book.dtb k1-x_lpi3a.dtb k1-x_MUSE-Card.dtb \
k1-x_MUSE-Paper.dtb k1-x_MUSE-Paper-mini-4g.dtb \
k1-x_baton-camera.dtb k1-x_FusionOne.dtb k1-x_orangepi-rv2.dtb \
k1-x_ZT001H.dtb k1-x_uav.dtb k1-x_MUSE-Paper2.dtb \
k1-x_bit-brick.dtb
obj-$(CONFIG_BUILTIN_DTB) += $(addsuffix .o, $(dtb-y))
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-bananapi-f3.dtb
dtb-$(CONFIG_SOC_SPACEMIT_K1X) += k1-musepi-pro.dtb
subdir-y += overlay

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,61 @@
// SPDX-License-Identifier: GPL-2.0
/ { lcds: lcds {
lcd_tc358762xbg_dpi_800x480: lcd_tc358762xbg_dpi_800x480 {
dsi-work-mode = <1>; /* video burst mode*/
dsi-lane-number = <1>;
dsi-color-format = "rgb888";
width-mm = <95>;
height-mm = <53>;
use-dcs-write;
/*mipi info*/
height = <480>;
width = <800>;
hfp = <1>;
hbp = <46>;
hsync = <2>;
vfp = <7>;
vbp = <21>;
vsync = <2>;
fps = <55>;
work-mode = <0>;
rgb-mode = <3>;
lane-number = <1>;
phy-bit-clock = <700000000>;
split-enable = <0>;
eotp-enable = <0>;
burst-mode = <2>;
esd-check-enable = <0>;
/* DSI_CMD, DSI_MODE, timeout, len, cmd */
initial-command = [
39 01 F0 01 11
39 01 28 01 29
];
sleep-in-command = [
39 01 78 01 28
39 01 78 01 10
];
sleep-out-command = [
39 01 96 01 11
39 01 32 01 29
];
display-timings {
timing0 {
clock-frequency = <25000000>;
hactive = <800>;
hfront-porch = <1>;
hback-porch = <46>;
hsync-len = <2>;
vactive = <480>;
vfront-porch = <7>;
vback-porch = <21>;
vsync-len = <2>;
vsync-active = <1>;
hsync-active = <1>;
};
};
};
};};

View File

@ -0,0 +1,10 @@
# SPDX-License-Identifier: GPL-2.0
dtbo-$(CONFIG_ARCH_RV64I) += \
k1-spacemit-disable-qspi.dtbo \
k1-spacemit-i2c4-pwm7-spi3-uart5.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
always-y := $(dtbo-y)
clean-files := *.dtbo

View File

@ -0,0 +1,13 @@
/dts-v1/;
/plugin/;
/ {
compatible = "spacemit,k1-x";
fragment@0 {
target = <&qspi>;
__overlay__ {
status = "disabled";
};
};
};

View File

@ -0,0 +1,37 @@
/dts-v1/;
/plugin/;
// Enable 26pin I2C4, PWM7, SPI3 and UART5
// https://forum.banana-pi.org/t/bananapif3-gpio-wiringpi-gpiod-python3-periphery-adafruit-blinka-and-luma-examples/18948
/ {
compatible = "spacemit,k1-x";
fragment@0 {
target = <&i2c4>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&pwm7>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&spi3>;
__overlay__ {
status = "okay";
};
};
fragment@3 {
target = <&uart5>;
__overlay__ {
status = "okay";
};
};
};