ARM: mediatek: Add basic support for mt6592
Subsystems (5)
PATCH v2 1/3 ARM: mediatek: Add basic support for mt6592
* A dtsi for boards based on Mediatek MT6592 SoCs
* Compatible string in arch/arm/mach-mediatek/mediatek.c
Signed-off-by Howard Chen <[email protected]>
--- arch/arm/boot/dts/mt6592.dtsi | 148 ++++++++++++++++++++++++++++++++++++++ arch/arm/mach-mediatek/mediatek.c | 1 + 2 files changed, 149 insertions(+) create mode 100644 arch/arm/boot/dts/mt6592.dtsi
arch/arm/boot/dts/mt6592.dtsi new file +148 -0
@@ -0,0 +1,148 @@ +/* + * Copyright (c) 2014 Mediatek + * Author: Howard Chen <[email protected]> + * + * 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>; + }; + cpu at 4 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x4>; + }; + cpu at 5 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x5>; + }; + cpu at 6 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x6>; + }; + cpu at 7 { + device_type = "cpu"; + compatible = "arm,cortex-a7"; + reg = <0x7>; + }; + }; + + 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"; + 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"; + 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"; + 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"; + reg = <0x11005000 0x400>; + reg-shift = <2>; + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&uart_clk>; + status = "disabled"; + }; + }; +};
arch/arm/mach-mediatek/mediatek.c +1 -0
@@ -19,6 +19,7 @@static const char *const mediatek_board_dt_compat[] = {"mediatek,mt6589" , +"mediatek,mt6592" ,NULL , };
Signature · 1 line
1.9.1
PATCH v2 2/3 ARM: mediatek: add dts for mt6592-evb
The mt6592-evb is an evaluation board based on the MT6592 SoC.
Signed-off-by Howard Chen <[email protected]>
--- arch/arm/boot/dts/mt6592-evb.dts | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 arch/arm/boot/dts/mt6592-evb.dts
arch/arm/boot/dts/mt6592-evb.dts new file +47 -0
@@ -0,0 +1,47 @@ +/* + * Copyright (c) 2014 Mediatek + * Author: Howard Chen <[email protected]> + * + * 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 = "console=ttyS0,921600n8"; + linux,stdout-path=&uart0; + }; + + memory { + reg = <0x80000000 0x08000000>; + }; +}; + +&uart0 { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&uart3 { + status = "okay"; +};
Signature · 1 line
1.9.1
PATCH v2 3/3 dt-bindings: add documentation for Mediatek SoC
In reply to Howard ChenThis adds a DT binding documentation for the MT6592 SoC from Mediatek.
Signed-off-by Howard Chen <[email protected]>
--- Documentation/devicetree/bindings/arm/mediatek.txt | 7 +++++-- Documentation/devicetree/bindings/serial/mtk-uart.txt | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/arm/mediatek.txt +5 -2
@@ -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";
Documentation/devicetree/bindings/serial/mtk-uart.txt +2 -1
@@ -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.
Signature · 1 line
1.9.1