From e726476423fce336eb343215ee2c81046493bdd1 Mon Sep 17 00:00:00 2001 From: Patrick Yavitz Date: Fri, 3 Oct 2025 17:11:54 -0400 Subject: [PATCH] SpacemiT: K1-X: Forward port 6.6.y DTSI Signed-off-by: Patrick Yavitz --- ...pacemiT-K1-X-Forward-port-6.6.y-DTSI.patch | 158 ++++++++++++++++++ .../spacemit-6.16/dt/k1-bananapi-f3.dts | 4 +- 2 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 patch/kernel/archive/spacemit-6.16/004-SpacemiT-K1-X-Forward-port-6.6.y-DTSI.patch diff --git a/patch/kernel/archive/spacemit-6.16/004-SpacemiT-K1-X-Forward-port-6.6.y-DTSI.patch b/patch/kernel/archive/spacemit-6.16/004-SpacemiT-K1-X-Forward-port-6.6.y-DTSI.patch new file mode 100644 index 0000000000..636612e78f --- /dev/null +++ b/patch/kernel/archive/spacemit-6.16/004-SpacemiT-K1-X-Forward-port-6.6.y-DTSI.patch @@ -0,0 +1,158 @@ +From e2ac8e7fddb7ca0a18a7466bf2dc37547ec72d30 Mon Sep 17 00:00:00 2001 +From: Patrick Yavitz +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 +--- + 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 = <ð0>,<ð1>; ++ 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 + diff --git a/patch/kernel/archive/spacemit-6.16/dt/k1-bananapi-f3.dts b/patch/kernel/archive/spacemit-6.16/dt/k1-bananapi-f3.dts index 3bdb7a3ffb..3e48eadb14 100644 --- a/patch/kernel/archive/spacemit-6.16/dt/k1-bananapi-f3.dts +++ b/patch/kernel/archive/spacemit-6.16/dt/k1-bananapi-f3.dts @@ -167,7 +167,7 @@ bt_pwrseq: bt-pwrseq { compatible = "spacemit,bt-pwrseq"; - reset-gpios = <&gpio 63 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio 63 0>; }; }; @@ -903,7 +903,7 @@ pinctrl-0 = <&pinctrl_rcpu>; mboxes = <&mailbox 0>, <&mailbox 1>; mbox-names = "vq0", "vq1"; - memory-region = <&rcpu_mem_0>, <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>, <&rsc_table>, <&rcpu_mem_snapshots>; + memory-region = <&rcpu_mem_0>, <&rcpu_mem_heap>, <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>, <&rsc_table>, <&rcpu_mem_snapshots>; status = "okay"; };