Commit 4e9ab195 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'v4.4-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt

Add regulators to the scpsys binding.

Move the include of the reset contoller to include/dt-bindings/reset.

Add basic support for mt2701 SoC and evaluation board.

* tag 'v4.4-next-dts' of https://github.com/mbgg/linux-mediatek:
  dt-bindings: soc: Add supplies for Mediatek SCPSYS unit
  ARM: mediatek: DT: Move reset controller constants into common location
  ARM: dts: mediatek: add MT2701 basic support
  Document: DT: Add bindings for mediatek MT2701 SoC Platform
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 2ea698c6 eb0fc0d6
...@@ -6,6 +6,7 @@ following property: ...@@ -6,6 +6,7 @@ following property:
Required root node property: Required root node property:
compatible: Must contain one of compatible: Must contain one of
"mediatek,mt2701"
"mediatek,mt6580" "mediatek,mt6580"
"mediatek,mt6589" "mediatek,mt6589"
"mediatek,mt6592" "mediatek,mt6592"
...@@ -17,6 +18,9 @@ compatible: Must contain one of ...@@ -17,6 +18,9 @@ compatible: Must contain one of
Supported boards: Supported boards:
- Evaluation board for MT2701:
Required root node properties:
- compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
- Evaluation board for MT6580: - Evaluation board for MT6580:
Required root node properties: Required root node properties:
- compatible = "mediatek,mt6580-evbp1", "mediatek,mt6580"; - compatible = "mediatek,mt6580-evbp1", "mediatek,mt6580";
......
...@@ -18,7 +18,7 @@ The available clocks are defined in dt-bindings/clock/mt*-clk.h. ...@@ -18,7 +18,7 @@ The available clocks are defined in dt-bindings/clock/mt*-clk.h.
Also it uses the common reset controller binding from Also it uses the common reset controller binding from
Documentation/devicetree/bindings/reset/reset.txt. Documentation/devicetree/bindings/reset/reset.txt.
The available reset outputs are defined in The available reset outputs are defined in
dt-bindings/reset-controller/mt*-resets.h dt-bindings/reset/mt*-resets.h
Example: Example:
......
...@@ -18,7 +18,7 @@ The available clocks are defined in dt-bindings/clock/mt*-clk.h. ...@@ -18,7 +18,7 @@ The available clocks are defined in dt-bindings/clock/mt*-clk.h.
Also it uses the common reset controller binding from Also it uses the common reset controller binding from
Documentation/devicetree/bindings/reset/reset.txt. Documentation/devicetree/bindings/reset/reset.txt.
The available reset outputs are defined in The available reset outputs are defined in
dt-bindings/reset-controller/mt*-resets.h dt-bindings/reset/mt*-resets.h
Example: Example:
......
...@@ -14,6 +14,7 @@ Required properties: ...@@ -14,6 +14,7 @@ Required properties:
"mediatek,mt6582-sysirq" "mediatek,mt6582-sysirq"
"mediatek,mt6580-sysirq" "mediatek,mt6580-sysirq"
"mediatek,mt6577-sysirq" "mediatek,mt6577-sysirq"
"mediatek,mt2701-sysirq"
- interrupt-controller : Identifies the node as an interrupt controller - interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Use the same format as specified by GIC in - #interrupt-cells : Use the same format as specified by GIC in
Documentation/devicetree/bindings/arm/gic.txt Documentation/devicetree/bindings/arm/gic.txt
......
...@@ -2,15 +2,15 @@ ...@@ -2,15 +2,15 @@
Required properties: Required properties:
- compatible should contain: - compatible should contain:
* "mediatek,mt8135-uart" for MT8135 compatible UARTS * "mediatek,mt2701-uart" for MT2701 compatible UARTS
* "mediatek,mt6580-uart" for MT6580 compatible UARTS
* "mediatek,mt6582-uart" for MT6582 compatible UARTS
* "mediatek,mt6589-uart" for MT6589 compatible UARTS
* "mediatek,mt6795-uart" for MT6795 compatible UARTS
* "mediatek,mt8127-uart" for MT8127 compatible UARTS * "mediatek,mt8127-uart" for MT8127 compatible UARTS
* "mediatek,mt8135-uart" for MT8135 compatible UARTS
* "mediatek,mt8173-uart" for MT8173 compatible UARTS * "mediatek,mt8173-uart" for MT8173 compatible UARTS
* "mediatek,mt6795-uart" for MT6795 compatible UARTS * "mediatek,mt6577-uart" for MT6577 and all of the above
* "mediatek,mt6589-uart" for MT6589 compatible UARTS
* "mediatek,mt6582-uart" for MT6582 compatible UARTS
* "mediatek,mt6580-uart" for MT6580 compatible UARTS
* "mediatek,mt6577-uart" for all compatible UARTS (MT8173, MT6795,
MT6589, MT6582, MT6580, MT6577)
- reg: The base address of the UART register bank. - reg: The base address of the UART register bank.
......
...@@ -21,6 +21,18 @@ Required properties: ...@@ -21,6 +21,18 @@ Required properties:
These are the clocks which hardware needs to be enabled These are the clocks which hardware needs to be enabled
before enabling certain power domains. before enabling certain power domains.
Optional properties:
- vdec-supply: Power supply for the vdec power domain
- venc-supply: Power supply for the venc power domain
- isp-supply: Power supply for the isp power domain
- mm-supply: Power supply for the mm power domain
- venc_lt-supply: Power supply for the venc_lt power domain
- audio-supply: Power supply for the audio power domain
- usb-supply: Power supply for the usb power domain
- mfg_async-supply: Power supply for the mfg_async power domain
- mfg_2d-supply: Power supply for the mfg_2d power domain
- mfg-supply: Power supply for the mfg power domain
Example: Example:
scpsys: scpsys@10006000 { scpsys: scpsys@10006000 {
......
...@@ -3,6 +3,7 @@ Mediatek MT6577, MT6572 and MT6589 Timers ...@@ -3,6 +3,7 @@ Mediatek MT6577, MT6572 and MT6589 Timers
Required properties: Required properties:
- compatible should contain: - compatible should contain:
* "mediatek,mt2701-timer" for MT2701 compatible timers
* "mediatek,mt6580-timer" for MT6580 compatible timers * "mediatek,mt6580-timer" for MT6580 compatible timers
* "mediatek,mt6589-timer" for MT6589 compatible timers * "mediatek,mt6589-timer" for MT6589 compatible timers
* "mediatek,mt8127-timer" for MT8127 compatible timers * "mediatek,mt8127-timer" for MT8127 compatible timers
......
...@@ -2,7 +2,11 @@ Mediatek SoCs Watchdog timer ...@@ -2,7 +2,11 @@ Mediatek SoCs Watchdog timer
Required properties: Required properties:
- compatible : should be "mediatek,mt6589-wdt" - compatible should contain:
* "mediatek,mt2701-wdt" for MT2701 compatible watchdog timers
* "mediatek,mt6589-wdt" for all compatible watchdog timers (MT2701,
MT6589)
- reg : Specifies base physical address and size of the registers. - reg : Specifies base physical address and size of the registers.
Example: Example:
......
...@@ -791,6 +791,7 @@ dtb-$(CONFIG_MACH_DOVE) += \ ...@@ -791,6 +791,7 @@ dtb-$(CONFIG_MACH_DOVE) += \
dove-dove-db.dtb \ dove-dove-db.dtb \
dove-sbc-a510.dtb dove-sbc-a510.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += \ dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt2701-evb.dtb \
mt6580-evbp1.dtb \ mt6580-evbp1.dtb \
mt6589-aquaris5.dtb \ mt6589-aquaris5.dtb \
mt6592-evb.dtb \ mt6592-evb.dtb \
......
/*
* Copyright (c) 2015 MediaTek Inc.
* Author: Erin Lo <erin.lo@mediatek.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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 "mt2701.dtsi"
/ {
model = "MediaTek MT2701 evaluation board";
compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
memory {
reg = <0 0x80000000 0 0x40000000>;
};
};
&uart0 {
status = "okay";
};
/*
* Copyright (c) 2015 MediaTek Inc.
* Author: Erin.Lo <erin.lo@mediatek.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* 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 "skeleton64.dtsi"
/ {
compatible = "mediatek,mt2701";
interrupt-parent = <&sysirq>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x0>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x1>;
};
cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x2>;
};
cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a7";
reg = <0x3>;
};
};
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: dummy26m {
compatible = "fixed-clock";
clock-frequency = <26000000>;
#clock-cells = <0>;
};
timer {
compatible = "arm,armv7-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)>;
};
watchdog: watchdog@10007000 {
compatible = "mediatek,mt2701-wdt",
"mediatek,mt6589-wdt";
reg = <0 0x10007000 0 0x100>;
};
timer: timer@10008000 {
compatible = "mediatek,mt2701-timer",
"mediatek,mt6577-timer";
reg = <0 0x10008000 0 0x80>;
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
clocks = <&system_clk>, <&rtc_clk>;
clock-names = "system-clk", "rtc-clk";
};
sysirq: interrupt-controller@10200100 {
compatible = "mediatek,mt2701-sysirq",
"mediatek,mt6577-sysirq";
interrupt-controller;
#interrupt-cells = <3>;
interrupt-parent = <&gic>;
reg = <0 0x10200100 0 0x1c>;
};
gic: interrupt-controller@10211000 {
compatible = "arm,cortex-a7-gic";
interrupt-controller;
#interrupt-cells = <3>;
interrupt-parent = <&gic>;
reg = <0 0x10211000 0 0x1000>,
<0 0x10212000 0 0x1000>,
<0 0x10214000 0 0x2000>,
<0 0x10216000 0 0x2000>;
};
uart0: serial@11002000 {
compatible = "mediatek,mt2701-uart",
"mediatek,mt6577-uart";
reg = <0 0x11002000 0 0x400>;
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
clocks = <&uart_clk>;
status = "disabled";
};
uart1: serial@11003000 {
compatible = "mediatek,mt2701-uart",
"mediatek,mt6577-uart";
reg = <0 0x11003000 0 0x400>;
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
clocks = <&uart_clk>;
status = "disabled";
};
uart2: serial@11004000 {
compatible = "mediatek,mt2701-uart",
"mediatek,mt6577-uart";
reg = <0 0x11004000 0 0x400>;
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
clocks = <&uart_clk>;
status = "disabled";
};
uart3: serial@11005000 {
compatible = "mediatek,mt2701-uart",
"mediatek,mt6577-uart";
reg = <0 0x11005000 0 0x400>;
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
clocks = <&uart_clk>;
status = "disabled";
};
};
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <dt-bindings/clock/mt8135-clk.h> #include <dt-bindings/clock/mt8135-clk.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset-controller/mt8135-resets.h> #include <dt-bindings/reset/mt8135-resets.h>
#include "skeleton64.dtsi" #include "skeleton64.dtsi"
#include "mt8135-pinfunc.h" #include "mt8135-pinfunc.h"
......
...@@ -44,6 +44,7 @@ static void __init mediatek_timer_init(void) ...@@ -44,6 +44,7 @@ static void __init mediatek_timer_init(void)
}; };
static const char * const mediatek_board_dt_compat[] = { static const char * const mediatek_board_dt_compat[] = {
"mediatek,mt2701",
"mediatek,mt6589", "mediatek,mt6589",
"mediatek,mt6592", "mediatek,mt6592",
"mediatek,mt8127", "mediatek,mt8127",
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/mt8173-power.h> #include <dt-bindings/power/mt8173-power.h>
#include <dt-bindings/reset-controller/mt8173-resets.h> #include <dt-bindings/reset/mt8173-resets.h>
#include "mt8173-pinfunc.h" #include "mt8173-pinfunc.h"
/ { / {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment