Skip to contentSkip to conversation

Add Basic SoC support for MT7622

PATCH Superseded [email protected] 3 participants 10 messages May 29, 2017 – May 30, 2017

Subsystems (4)

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

v2 cover Add Basic SoC support for MT7622

From: Sean Wang <[email protected]>

Changes since v1:
- update SPDX-License-Identifier
- remove next-level-cache property since cache geometry detection was removed since 4.12

This patch set adds basic SoC support for MediaTek MT7622 SoC based on 4.12-rc1.

Sean Wang (4):
dt-bindings: mediatek: add bindings for MediaTek MT7622 SoC
arm64: dts: mt7622: add basic nodes to the mt7622.dtsi file
arm64: dts: mt7622: add dts file for MT7622 reference board variant 1
arm64: dts: mt7622: group clock DT nodes into separate DT file

 Documentation/devicetree/bindings/arm/mediatek.txt |  4 +
 .../interrupt-controller/mediatek,sysirq.txt       |  3 +-
 .../devicetree/bindings/serial/mtk-uart.txt        |  1 +
 arch/arm64/boot/dts/mediatek/Makefile              |  1 +
 arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi     | 20 +++++
 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts       | 27 ++++++
 arch/arm64/boot/dts/mediatek/mt7622.dtsi           | 98 ++++++++++++++++++++++
 7 files changed, 153 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi
 create mode 100644 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
 create mode 100644 arch/arm64/boot/dts/mediatek/mt7622.dtsi
Signature · 1 line
1.9.1
#1 lore raw

PATCH v2 1/4 dt-bindings: mediatek: add bindings for MediaTek MT7622 SoC

From: Sean Wang <[email protected]>

This adds dt-binding documentation for MediaTek MT7622 SoC which currently only includes basic items such as ARM CPU, MediaTek SYSIRQ and UART.

---
 Documentation/devicetree/bindings/arm/mediatek.txt                    | 4 ++++
 .../devicetree/bindings/interrupt-controller/mediatek,sysirq.txt      | 3 ++-
 Documentation/devicetree/bindings/serial/mtk-uart.txt                 | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/arm/mediatek.txt +4 -0
index c860b24..fc68570 100644
@@ -12,6 +12,7 @@ compatible: Must contain one of
    "mediatek,mt6592"
    "mediatek,mt6755"
    "mediatek,mt6795"
+   "mediatek,mt7622"
    "mediatek,mt7623"
    "mediatek,mt8127"
    "mediatek,mt8135"
@@ -38,6 +39,9 @@ Supported boards:
 - Evaluation board for MT6795(Helio X10):
     Required root node properties:
       - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";
+- Reference board variant 1 for MT7622:
+    Required root node properties:
+      - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
 - Evaluation board for MT7623:
     Required root node properties:
       - compatible = "mediatek,mt7623-evb", "mediatek,mt7623";
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +2 -1
index a89c03b..eda1183 100644
@@ -1,4 +1,4 @@
-+Mediatek 65xx/67xx/81xx sysirq
++Mediatek MT65xx/MT67xx/MT762x/MT81xx sysirq
 
 Mediatek SOCs sysirq support controllable irq inverter for each GIC SPI
 interrupt.
@@ -15,6 +15,7 @@ Required properties:
 	"mediatek,mt6582-sysirq"
 	"mediatek,mt6580-sysirq"
 	"mediatek,mt6577-sysirq"
+	"mediatek,mt7622-sysirq"
 	"mediatek,mt2701-sysirq"
 - interrupt-controller : Identifies the node as an interrupt controller
 - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
Documentation/devicetree/bindings/serial/mtk-uart.txt +1 -0
index 0015c72..daa1eef 100644
@@ -8,6 +8,7 @@ Required properties:
   * "mediatek,mt6589-uart" for MT6589 compatible UARTS
   * "mediatek,mt6755-uart" for MT6755 compatible UARTS
   * "mediatek,mt6795-uart" for MT6795 compatible UARTS
+  * "mediatek,mt7622-uart" for MT7622 compatible UARTS
   * "mediatek,mt7623-uart" for MT7623 compatible UARTS
   * "mediatek,mt8127-uart" for MT8127 compatible UARTS
   * "mediatek,mt8135-uart" for MT8135 compatible UARTS
Signature · 1 line
1.9.1
maintainer
#2 lore raw

Re: [PATCH v2 1/4] dt-bindings: mediatek: add bindings for MediaTek MT7622 SoC

Quoted 46 lines · sean.wang at mediatek.com

From: Sean Wang <[email protected]>

This adds dt-binding documentation for MediaTek MT7622 SoC which currently only includes basic items such as ARM CPU, MediaTek SYSIRQ and UART.

---
  Documentation/devicetree/bindings/arm/mediatek.txt                    | 4 ++++
  .../devicetree/bindings/interrupt-controller/mediatek,sysirq.txt      | 3 ++-
  Documentation/devicetree/bindings/serial/mtk-uart.txt                 | 1 +
  3 files changed, 7 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/arm/mediatek.txt +4 -0
index c860b24..fc68570 100644
@@ -12,6 +12,7 @@ compatible: Must contain one of
     "mediatek,mt6592"
     "mediatek,mt6755"
     "mediatek,mt6795"
+   "mediatek,mt7622"
     "mediatek,mt7623"
     "mediatek,mt8127"
     "mediatek,mt8135"
@@ -38,6 +39,9 @@ Supported boards:
  - Evaluation board for MT6795(Helio X10):
      Required root node properties:
        - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";
+- Reference board variant 1 for MT7622:
+    Required root node properties:
+      - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
  - Evaluation board for MT7623:
      Required root node properties:
        - compatible = "mediatek,mt7623-evb", "mediatek,mt7623";
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +1 -1
index a89c03b..eda1183 100644
@@ -1,4 +1,4 @@
-+Mediatek 65xx/67xx/81xx sysirq
++Mediatek MT65xx/MT67xx/MT762x/MT81xx sysirq
 
  Mediatek SOCs sysirq support controllable irq inverter for each GIC SPI
  interrupt.

Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt Required properties: · line 19

Quoted 5 lines
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +1 -0
@@ -15,6 +15,7 @@ Required properties:
  	"mediatek,mt6582-sysirq"
  	"mediatek,mt6580-sysirq"
  	"mediatek,mt6577-sysirq"
+	"mediatek,mt7622-sysirq"
  	"mediatek,mt2701-sysirq"

This file is a mess and I posted some cleanups on the mailinglist. No need for you to resubmit. If the DT maintainers are fine with my cleanups, I cann change the line accordingly.

Regards,
Matthias

Quoted 15 lines
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +0 -0
  - interrupt-controller : Identifies the node as an interrupt controller
  - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
Documentation/devicetree/bindings/serial/mtk-uart.txt +1 -0
index 0015c72..daa1eef 100644
@@ -8,6 +8,7 @@ Required properties:
    * "mediatek,mt6589-uart" for MT6589 compatible UARTS
    * "mediatek,mt6755-uart" for MT6755 compatible UARTS
    * "mediatek,mt6795-uart" for MT6795 compatible UARTS
+  * "mediatek,mt7622-uart" for MT7622 compatible UARTS
    * "mediatek,mt7623-uart" for MT7623 compatible UARTS
    * "mediatek,mt8127-uart" for MT8127 compatible UARTS
    * "mediatek,mt8135-uart" for MT8135 compatible UARTS
maintainer Reviewed-by
#3 lore raw

Re: [PATCH v2 1/4] dt-bindings: mediatek: add bindings for MediaTek MT7622 SoC

Quoted 56 lines · Matthias Brugger
Quoted 53 lines · sean.wang at mediatek.com

From: Sean Wang <[email protected]>

This adds dt-binding documentation for MediaTek MT7622 SoC which currently only includes basic items such as ARM CPU, MediaTek SYSIRQ and UART.

---

Documentation/devicetree/bindings/arm/mediatek.txt | 4 ++++

.../devicetree/bindings/interrupt-controller/mediatek,sysirq.txt | 3 ++-

Documentation/devicetree/bindings/serial/mtk-uart.txt | 1 +

  3 files changed, 7 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/arm/mediatek.txt +4 -0
index c860b24..fc68570 100644
@@ -12,6 +12,7 @@ compatible: Must contain one of
     "mediatek,mt6592"
     "mediatek,mt6755"
     "mediatek,mt6795"
+   "mediatek,mt7622"
     "mediatek,mt7623"
     "mediatek,mt8127"
     "mediatek,mt8135"
@@ -38,6 +39,9 @@ Supported boards:
  - Evaluation board for MT6795(Helio X10):
      Required root node properties:
        - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";
+- Reference board variant 1 for MT7622:
+    Required root node properties:
+      - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
  - Evaluation board for MT7623:
      Required root node properties:
        - compatible = "mediatek,mt7623-evb", "mediatek,mt7623";
(quoted diff) +0 -0

a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt

index a89c03b..eda1183 100644
---
a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt

+++
b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt

Quoted 16 lines

Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt Required properties: · line 19

Quoted 11 lines
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +2 -1
@@ -1,4 +1,4 @@
-+Mediatek 65xx/67xx/81xx sysirq
++Mediatek MT65xx/MT67xx/MT762x/MT81xx sysirq
  Mediatek SOCs sysirq support controllable irq inverter for each GIC SPI
  interrupt.
@@ -15,6 +15,7 @@ Required properties:
      "mediatek,mt6582-sysirq"
      "mediatek,mt6580-sysirq"
      "mediatek,mt6577-sysirq"
+    "mediatek,mt7622-sysirq"
      "mediatek,mt2701-sysirq"

This file is a mess and I posted some cleanups on the mailinglist. No need for you to resubmit. If the DT maintainers are fine with my cleanups, I cann change the line accordingly.

I forgot:

Quoted 20 lines

Regards,
Matthias

Quoted 17 lines
(quoted diff) +0 -0
  - interrupt-controller : Identifies the node as an interrupt controller
  - #interrupt-cells : Use the same format as specified by GIC in 

arm,gic.txt.

Documentation/devicetree/bindings/serial/mtk-uart.txt +1 -0
index 0015c72..daa1eef 100644
@@ -8,6 +8,7 @@ Required properties:
    * "mediatek,mt6589-uart" for MT6589 compatible UARTS
    * "mediatek,mt6755-uart" for MT6755 compatible UARTS
    * "mediatek,mt6795-uart" for MT6795 compatible UARTS
+  * "mediatek,mt7622-uart" for MT7622 compatible UARTS
    * "mediatek,mt7623-uart" for MT7623 compatible UARTS
    * "mediatek,mt8127-uart" for MT8127 compatible UARTS
    * "mediatek,mt8135-uart" for MT8135 compatible UARTS
#4 lore raw

PATCH v2 2/4 arm64: dts: mt7622: add basic nodes to the mt7622.dtsi file

In reply to [email protected]

From: Sean Wang <[email protected]>

add basic nodes into the mt7622.dtsi for the system bring-up which includes ARM CPU, GIC, timer, MediaTek UART, SYSIRQ and one reserved memory region for ATF.

---
 arch/arm64/boot/dts/mediatek/mt7622.dtsi | 97 ++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)
 create mode 100644 arch/arm64/boot/dts/mediatek/mt7622.dtsi
arch/arm64/boot/dts/mediatek/mt7622.dtsi new file +97 -0
new file mode 100644
index 0000000..3a729d9
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2017 MediaTek Inc.
+ * Author: Ming Huang <[email protected]>
+ *	   Sean Wang <[email protected]>
+ *
+ * SPDX-License-Identifier: (GPL-2.0 OR MIT)
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "mediatek,mt7622";
+	interrupt-parent = <&sysirq>;
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <2>;
+		#size-cells = <0>;
+
+		cpu0: cpu at 0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x0>;
+			enable-method = "psci";
+			clock-frequency = <1300000000>;
+		};
+
+		cpu1: cpu at 1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a53", "arm,armv8";
+			reg = <0x0 0x1>;
+			enable-method = "psci";
+			clock-frequency = <1300000000>;
+		};
+	};
+
+	psci {
+		compatible  = "arm,psci-0.2";
+		method      = "smc";
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		/* 192 KiB reserved for ARM Trusted Firmware (BL31) */
+		secmon_reserved: secmon at 43000000 {
+			reg = <0 0x43000000 0 0x30000>;
+			no-map;
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupt-parent = <&gic>;
+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
+			      IRQ_TYPE_LEVEL_HIGH)>,
+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
+			      IRQ_TYPE_LEVEL_HIGH)>,
+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
+			      IRQ_TYPE_LEVEL_HIGH)>,
+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
+			      IRQ_TYPE_LEVEL_HIGH)>;
+	};
+
+	sysirq: interrupt-controller at 10200620 {
+		compatible = "mediatek,mt7622-sysirq",
+			     "mediatek,mt6577-sysirq";
+		interrupt-controller;
+		#interrupt-cells = <3>;
+		interrupt-parent = <&gic>;
+		reg = <0 0x10200620 0 0x20>;
+	};
+
+	gic: interrupt-controller at 10300000 {
+		compatible = "arm,gic-400";
+		interrupt-controller;
+		#interrupt-cells = <3>;
+		interrupt-parent = <&gic>;
+		reg = <0 0x10310000 0 0x1000>,
+		      <0 0x10320000 0 0x1000>,
+		      <0 0x10340000 0 0x2000>,
+		      <0 0x10360000 0 0x2000>;
+	};
+
+	uart0: serial at 11002000 {
+		compatible = "mediatek,mt7622-uart",
+			     "mediatek,mt6577-uart";
+		reg = <0 0x11002000 0 0x400>;
+		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
+		clocks = <&uart_clk>;
+		status = "disabled";
+	};
+};
Signature · 1 line
1.9.1
#5 lore raw

PATCH v2 3/4 arm64: dts: mt7622: add dts file for MT7622 reference board variant 1

In reply to [email protected]

From: Sean Wang <[email protected]>

Add the support for the MT7622 reference board variant 1 from MediaTek.

---
 arch/arm64/boot/dts/mediatek/Makefile        |  1 +
 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts | 27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
arch/arm64/boot/dts/mediatek/Makefile +1 -0
index 9fbfd32..e71456a2 100644
@@ -1,5 +1,6 @@
 dtb-$(CONFIG_ARCH_MEDIATEK) += mt6755-evb.dtb
 dtb-$(CONFIG_ARCH_MEDIATEK) += mt6795-evb.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb
 
 always		:= $(dtb-y)
arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts new file +27 -0
new file mode 100644
index 0000000..c08309d
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2017 MediaTek Inc.
+ * Author: Ming Huang <[email protected]>
+ *	   Sean Wang <[email protected]>
+ *
+ * SPDX-License-Identifier: (GPL-2.0 OR MIT)
+ */
+
+/dts-v1/;
+#include "mt7622.dtsi"
+
+/ {
+	model = "MediaTek MT7622 RFB1 board";
+	compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
+
+	chosen {
+		bootargs = "console=ttyS0,115200n1";
+	};
+
+	memory {
+		reg = <0 0x40000000 0 0x3F000000>;
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
Signature · 1 line
1.9.1
#6 lore raw

Re: [PATCH v2 3/4] arm64: dts: mt7622: add dts file for MT7622 reference board variant 1

reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross…

Hi Sean,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.12-rc3 next-20170529]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/sean-wang-mediatek-com/Add-Basic-SoC-support-for-MT7622/20170529-210756
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705

reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64

Note: the linux-review/sean-wang-mediatek-com/Add-Basic-SoC-support-for-MT7622/20170529-210756 HEAD c1f5996a1eaf50f9b321fe8c6cddbf24d4969703 builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

>> ERROR: Input tree has errors, aborting (use -f to force output)

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 34622 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170530/8d04e537/attachment-0001.gz>

#7 lore raw

PATCH v2 4/4 arm64: dts: mt7622: group clock DT nodes into separate DT file

In reply to [email protected]

From: Sean Wang <[email protected]>

For more readability and maintenance, all the clock related DT nodes for mt7622 SoC are grouped into a separate DT file. And currently mt7622-clock.dtsi only includes the fixed clock for uart0 and the oscillator which would be extended after MT7622 clock driver is introduced.

---
 arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi | 20 ++++++++++++++++++++
 arch/arm64/boot/dts/mediatek/mt7622.dtsi       |  1 +
 2 files changed, 21 insertions(+)
 create mode 100644 arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi
arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi new file +20 -0
new file mode 100644
index 0000000..264421d
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017 MediaTek Inc.
+ * Author: Sean Wang <[email protected]>
+ *
+ * SPDX-License-Identifier: (GPL-2.0 OR MIT)
+ */
+/ {
+	clk25m: oscillator at 0 {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+		clock-output-names = "clkxtal";
+	};
+
+	uart_clk: dummy26m {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+	};
+};
arch/arm64/boot/dts/mediatek/mt7622.dtsi +1 -0
index 3a729d9..3768c28 100644
@@ -8,6 +8,7 @@
 
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "mt7622-clock.dtsi"
 
 / {
 	compatible = "mediatek,mt7622";
Signature · 1 line
1.9.1
maintainer
#8 lore raw

Re: [PATCH v2 4/4] arm64: dts: mt7622: group clock DT nodes into separate DT file

Quoted 8 lines · sean.wang at mediatek.com

From: Sean Wang <[email protected]>

For more readability and maintenance, all the clock related DT nodes for mt7622 SoC are grouped into a separate DT file. And currently mt7622-clock.dtsi only includes the fixed clock for uart0 and the oscillator which would be extended after MT7622 clock driver is introduced.

We've not done this for any other Mediatek SoC at the moment. Do you expect the m7622 to have more clock nodes then for example mt7623? Apart from that this clock nodes are just dummy clocks which should disappear as soon as the clock driver got merged.
Last point, you break bisectability if add a clock node in a patch *after* the consumer was added.

So please add the clock nodes to the dtsi as we did up to now. If in the future we see that mt7622 has a whole bunch of clock nodes, we can still abstract them in an external dtsi file.

Thanks,
Matthias

Quoted 46 lines
---
  arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi | 20 ++++++++++++++++++++
  arch/arm64/boot/dts/mediatek/mt7622.dtsi       |  1 +
  2 files changed, 21 insertions(+)

create mode 100644 arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi

arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi new file +20 -0
new file mode 100644
index 0000000..264421d
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017 MediaTek Inc.
+ * Author: Sean Wang <[email protected]>
+ *
+ * SPDX-License-Identifier: (GPL-2.0 OR MIT)
+ */
+/ {
+	clk25m: oscillator at 0 {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+		clock-output-names = "clkxtal";
+	};
+
+	uart_clk: dummy26m {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+	};
+};
arch/arm64/boot/dts/mediatek/mt7622.dtsi +1 -0
index 3a729d9..3768c28 100644
@@ -8,6 +8,7 @@
 
  #include <dt-bindings/interrupt-controller/irq.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "mt7622-clock.dtsi"
 
  / {
  	compatible = "mediatek,mt7622";
author
#9 lore raw

Re: [PATCH v2 4/4] arm64: dts: mt7622: group clock DT nodes into separate DT file

Quoted 11 lines · Matthias Brugger
Quoted 8 lines · sean.wang at mediatek.com

From: Sean Wang <[email protected]>

For more readability and maintenance, all the clock related DT nodes for mt7622 SoC are grouped into a separate DT file. And currently mt7622-clock.dtsi only includes the fixed clock for uart0 and the oscillator which would be extended after MT7622 clock driver is introduced.

Quoted 2 lines

We've not done this for any other Mediatek SoC at the moment. Do you expect the m7622 to have more clock nodes then for example mt7623?

clocks on mt7622 has fewer nodes than mt7623

Quoted 9 lines

Apart from that this clock nodes are just dummy clocks which should disappear as soon as the clock driver got merged.
Last point, you break bisectability if add a clock node in a patch *after* the consumer was added.

So please add the clock nodes to the dtsi as we did up to now. If in the future we see that mt7622 has a whole bunch of clock nodes, we can still abstract them in an external dtsi file.

Okay, I will merge back them into the main dtsi files for those reasons in the next version.

Appreciate all your reviewing and suggestions

Sean

Quoted 49 lines

Thanks,
Matthias

Quoted 46 lines
---
  arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi | 20 ++++++++++++++++++++
  arch/arm64/boot/dts/mediatek/mt7622.dtsi       |  1 +
  2 files changed, 21 insertions(+)

create mode 100644 arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi

arch/arm64/boot/dts/mediatek/mt7622-clock.dtsi new file +20 -0
new file mode 100644
index 0000000..264421d
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2017 MediaTek Inc.
+ * Author: Sean Wang <[email protected]>
+ *
+ * SPDX-License-Identifier: (GPL-2.0 OR MIT)
+ */
+/ {
+	clk25m: oscillator at 0 {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+		clock-output-names = "clkxtal";
+	};
+
+	uart_clk: dummy26m {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+	};
+};
arch/arm64/boot/dts/mediatek/mt7622.dtsi +1 -0
index 3a729d9..3768c28 100644
@@ -8,6 +8,7 @@
 
  #include <dt-bindings/interrupt-controller/irq.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "mt7622-clock.dtsi"
 
  / {
  	compatible = "mediatek,mt7622";