linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ARM: mediatek: Add basic support for mt6592
@ 2014-10-08  9:36 Howard Chen
  2014-10-08  9:36 ` [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb Howard Chen
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Howard Chen @ 2014-10-08  9:36 UTC (permalink / raw)
  To: linux-arm-kernel

* A dtsi for boards based on Mediatek MT6592 SoCs
* Compatible string in arch/arm/mach-mediatek/mediatek.c

Signed-off-by: Howard Chen <ibanezchen@gmail.com>
---
 arch/arm/boot/dts/mt6592.dtsi     | 136 ++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-mediatek/mediatek.c |   1 +
 2 files changed, 137 insertions(+)
 create mode 100644 arch/arm/boot/dts/mt6592.dtsi

diff --git a/arch/arm/boot/dts/mt6592.dtsi b/arch/arm/boot/dts/mt6592.dtsi
new file mode 100644
index 0000000..3cf9072
--- /dev/null
+++ b/arch/arm/boot/dts/mt6592.dtsi
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2014 Mediatek
+ * Author: Howard Chen <ibanezchen@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "skeleton.dtsi"
+
+/ {
+	compatible = "mediatek,mt6592";
+	interrupt-parent = <&gic>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu at 0 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x0>;
+		};
+		cpu at 1 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x1>;
+		};
+		cpu at 2 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x2>;
+		};
+		cpu at 3 {
+			device_type = "cpu";
+			compatible = "arm,cortex-a7";
+			reg = <0x3>;
+		};
+
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		ranges;
+
+		system_clk: dummy13m {
+			compatible = "fixed-clock";
+			clock-frequency = <13000000>;
+			#clock-cells = <0>;
+		};
+
+		rtc_clk: dummy32k {
+			compatible = "fixed-clock";
+			clock-frequency = <32000>;
+			#clock-cells = <0>;
+		};
+
+		uart_clk: uart_clk {
+			compatible = "fixed-clock";
+			clock-frequency = <26000000>;
+			#clock-cells = <0>;
+		};
+	};
+
+	soc {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		ranges;
+
+		timer: timer at 10008000 {
+			compatible = "mediatek,mt6577-timer";
+			reg = <0x10008000 0x80>;
+			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&system_clk>, <&rtc_clk>;
+			clock-names = "system-clk", "rtc-clk";
+		};
+
+		gic: interrupt-controller at 10211000 {
+			compatible = "arm,cortex-a7-gic";
+			interrupt-controller;
+			#interrupt-cells = <3>;
+			reg = <0x10211000 0x1000>,
+			      <0x10212000 0x1000>,
+			      <0x10214000 0x2000>,
+			      <0x10216000 0x2000>;
+		};
+
+		uart0: serial at 11002000 {
+			compatible = "mediatek,mt6592-uart", "mediatek,mt6577-uart";
+			reg = <0x11002000 0x400>;
+			reg-shift = <2>;
+			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&uart_clk>;
+			status = "disabled";
+		};
+
+		uart1: serial at 11003000 {
+			compatible = "mediatek,mt6592-uart", "mediatek,mt6577-uart";
+			reg = <0x11003000 0x400>;
+			reg-shift = <2>;
+			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&uart_clk>;
+			status = "disabled";
+		};
+
+		uart2: serial at 11004000 {
+			compatible = "mediatek,mt6592-uart", "mediatek,mt6577-uart";
+			reg = <0x11004000 0x400>;
+			reg-shift = <2>;
+			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&uart_clk>;
+			status = "disabled";
+		};
+
+		uart3: serial at 11005000 {
+			compatible = "mediatek,mt6592-uart", "mediatek,mt6577-uart";
+			reg = <0x11005000 0x400>;
+			reg-shift = <2>;
+			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&uart_clk>;
+			status = "disabled";
+		};
+	};
+};
diff --git a/arch/arm/mach-mediatek/mediatek.c b/arch/arm/mach-mediatek/mediatek.c
index f2acf07..88e4626 100644
--- a/arch/arm/mach-mediatek/mediatek.c
+++ b/arch/arm/mach-mediatek/mediatek.c
@@ -19,6 +19,7 @@
 
 static const char * const mediatek_board_dt_compat[] = {
 	"mediatek,mt6589",
+	"mediatek,mt6592",
 	NULL,
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb
  2014-10-08  9:36 [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Howard Chen
@ 2014-10-08  9:36 ` Howard Chen
  2014-10-08 19:23   ` Arnd Bergmann
  2014-10-08  9:36 ` [PATCH 3/3] dt-bindings: add documentation for Mediatek SoC Howard Chen
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Howard Chen @ 2014-10-08  9:36 UTC (permalink / raw)
  To: linux-arm-kernel

The mt6592-evb is an evaluation board based on the MT6592 SoC.

Signed-off-by: Howard Chen <ibanezchen@gmail.com>
---
 arch/arm/boot/dts/mt6592-evb.dts | 46 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 arch/arm/boot/dts/mt6592-evb.dts

diff --git a/arch/arm/boot/dts/mt6592-evb.dts b/arch/arm/boot/dts/mt6592-evb.dts
new file mode 100644
index 0000000..38f2560
--- /dev/null
+++ b/arch/arm/boot/dts/mt6592-evb.dts
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2014 Mediatek
+ * Author: Howard Chen <ibanezchen@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+#include "mt6592.dtsi"
+
+/ {
+	model = "mt6592 evb";
+	compatible = "mediatek,mt6592-evb", "mediatek,mt6592";
+
+	chosen {
+		bootargs = "earlyprintk console=ttyS0,921600n8";
+	};
+
+	memory {
+		reg = <0x80000000 0x08000000>;
+	};
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&uart3 {
+	status = "okay";
+};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/3] dt-bindings: add documentation for Mediatek SoC
  2014-10-08  9:36 [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Howard Chen
  2014-10-08  9:36 ` [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb Howard Chen
@ 2014-10-08  9:36 ` Howard Chen
  2014-10-08 19:25   ` Arnd Bergmann
  2014-10-08 19:26 ` [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Arnd Bergmann
  2014-10-09 10:03 ` Mark Rutland
  3 siblings, 1 reply; 8+ messages in thread
From: Howard Chen @ 2014-10-08  9:36 UTC (permalink / raw)
  To: linux-arm-kernel

This adds a DT binding documentation for the MT6592 SoC from Mediatek.

Signed-off-by: Howard Chen <ibanezchen@gmail.com>
---
 Documentation/devicetree/bindings/arm/mediatek.txt    | 7 +++++--
 Documentation/devicetree/bindings/serial/mtk-uart.txt | 3 ++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/mediatek.txt b/Documentation/devicetree/bindings/arm/mediatek.txt
index fa25226..1d2d151 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek.txt
@@ -1,10 +1,10 @@
 Mediatek MT6589 Platforms Device Tree Bindings
 
-Boards with a SoC of the Mediatek MT6589 shall have the following property:
+Boards with a SoC from Mediatek shall have the following property:
 
 Required root node property:
 
-compatible: must contain "mediatek,mt6589"
+compatible: must contain one of "mediatek,mt6589", "mediatek,mt6592"
 
 
 Supported boards:
@@ -12,3 +12,6 @@ Supported boards:
 - bq Aquaris5 smart phone:
     Required root node properties:
       - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589";
+
+- Evaluation board for MT6592:
+      - compatible = "mediatek,mt6592-evb", "mediatek,mt6592";
diff --git a/Documentation/devicetree/bindings/serial/mtk-uart.txt b/Documentation/devicetree/bindings/serial/mtk-uart.txt
index 48358a3..e2864b7 100644
--- a/Documentation/devicetree/bindings/serial/mtk-uart.txt
+++ b/Documentation/devicetree/bindings/serial/mtk-uart.txt
@@ -2,9 +2,10 @@
 
 Required properties:
 - compatible should contain:
+  * "mediatek,mt6592-uart" for MT6592 compatible UARTS
   * "mediatek,mt6589-uart" for MT6589 compatible UARTS
   * "mediatek,mt6582-uart" for MT6582 compatible UARTS
-  * "mediatek,mt6577-uart" for all compatible UARTS (MT6589, MT6582, MT6577)
+  * "mediatek,mt6577-uart" for all compatible UARTS on MT65xx
 
 - reg: The base address of the UART register bank.
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb
  2014-10-08  9:36 ` [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb Howard Chen
@ 2014-10-08 19:23   ` Arnd Bergmann
  2014-10-09  9:39     ` Howard Chen
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2014-10-08 19:23 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 08 October 2014 17:36:26 Howard Chen wrote:
> +/ {
> +       model = "mt6592 evb";
> +       compatible = "mediatek,mt6592-evb", "mediatek,mt6592";
> +
> +       chosen {
> +               bootargs = "earlyprintk console=ttyS0,921600n8";
> +       };
> +

We're trying to get more people to use the DT earlyprintk method.
Can you move this into a stdout-path property instead of the
bootargs and make sure the driver supports it?

	Arnd

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 3/3] dt-bindings: add documentation for Mediatek SoC
  2014-10-08  9:36 ` [PATCH 3/3] dt-bindings: add documentation for Mediatek SoC Howard Chen
@ 2014-10-08 19:25   ` Arnd Bergmann
  0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2014-10-08 19:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 08 October 2014 17:36:27 Howard Chen wrote:
> This adds a DT binding documentation for the MT6592 SoC from Mediatek.
> 
> Signed-off-by: Howard Chen <ibanezchen@gmail.com>
> 

mt6592 is closely related to mt6572 and mt6582, right?

Maybe you can add all three here, at least to the documentation?
I don't know how significant the differences really are, but you
could also have an mt65x2.dtsi file that contains the common parts
and that gets included by these three, or any other variants such
as mt6582m.

	Arnd

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] ARM: mediatek: Add basic support for mt6592
  2014-10-08  9:36 [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Howard Chen
  2014-10-08  9:36 ` [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb Howard Chen
  2014-10-08  9:36 ` [PATCH 3/3] dt-bindings: add documentation for Mediatek SoC Howard Chen
@ 2014-10-08 19:26 ` Arnd Bergmann
  2014-10-09 10:03 ` Mark Rutland
  3 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2014-10-08 19:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 08 October 2014 17:36:25 Howard Chen wrote:
> +
> +       cpus {
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +
> +               cpu at 0 {
> +                       device_type = "cpu";
> +                       compatible = "arm,cortex-a7";
> +                       reg = <0x0>;
> +               };
> +               cpu at 1 {
> +                       device_type = "cpu";
> +                       compatible = "arm,cortex-a7";
> +                       reg = <0x1>;
> +               };
> +               cpu at 2 {
> +                       device_type = "cpu";
> +                       compatible = "arm,cortex-a7";
> +                       reg = <0x2>;
> +               };
> +               cpu at 3 {
> +                       device_type = "cpu";
> +                       compatible = "arm,cortex-a7";
> +                       reg = <0x3>;
> +               };
> +
> +       };
> 

Shouldn't there be eight cpu nodes for mt6592?

	Arnd

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb
  2014-10-08 19:23   ` Arnd Bergmann
@ 2014-10-09  9:39     ` Howard Chen
  0 siblings, 0 replies; 8+ messages in thread
From: Howard Chen @ 2014-10-09  9:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Oct 9, 2014 at 3:23 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday 08 October 2014 17:36:26 Howard Chen wrote:
>> +/ {
>> +       model = "mt6592 evb";
>> +       compatible = "mediatek,mt6592-evb", "mediatek,mt6592";
>> +
>> +       chosen {
>> +               bootargs = "earlyprintk console=ttyS0,921600n8";
>> +       };
>> +
>
> We're trying to get more people to use the DT earlyprintk method.
> Can you move this into a stdout-path property instead of the
> bootargs and make sure the driver supports it?

OK, It requires another patch on drivers/tty/serial/8250/8250_mtk.c.
I will discuss with Mathias, the author, about this new feature.

Thanks,
Howard

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] ARM: mediatek: Add basic support for mt6592
  2014-10-08  9:36 [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Howard Chen
                   ` (2 preceding siblings ...)
  2014-10-08 19:26 ` [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Arnd Bergmann
@ 2014-10-09 10:03 ` Mark Rutland
  3 siblings, 0 replies; 8+ messages in thread
From: Mark Rutland @ 2014-10-09 10:03 UTC (permalink / raw)
  To: linux-arm-kernel

[...]

> +	clocks {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "simple-bus";
> +		ranges;
> +
> +		system_clk: dummy13m {
> +			compatible = "fixed-clock";
> +			clock-frequency = <13000000>;
> +			#clock-cells = <0>;
> +		};
> +
> +		rtc_clk: dummy32k {
> +			compatible = "fixed-clock";
> +			clock-frequency = <32000>;
> +			#clock-cells = <0>;
> +		};
> +
> +		uart_clk: uart_clk {
> +			compatible = "fixed-clock";
> +			clock-frequency = <26000000>;
> +			#clock-cells = <0>;
> +		};
> +	};

There is no need for a clocks node. Please just put these directly under
the root node.

Mark.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-10-09 10:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-08  9:36 [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Howard Chen
2014-10-08  9:36 ` [PATCH 2/3] ARM: mediatek: add dts for mt6592-evb Howard Chen
2014-10-08 19:23   ` Arnd Bergmann
2014-10-09  9:39     ` Howard Chen
2014-10-08  9:36 ` [PATCH 3/3] dt-bindings: add documentation for Mediatek SoC Howard Chen
2014-10-08 19:25   ` Arnd Bergmann
2014-10-08 19:26 ` [PATCH 1/3] ARM: mediatek: Add basic support for mt6592 Arnd Bergmann
2014-10-09 10:03 ` Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).