Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f682a218 authored by Matthias Brugger's avatar Matthias Brugger
Browse files

arm: add basic support for Mediatek MT6589 boards



This adds a generic devicetree board file and a dtsi for boards
based on MT6589 SoCs from Mediatek.

Apart from the generic parts (gic, clocks) the only component
currently supported are the timers.

Signed-off-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
parent 7171511e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -978,6 +978,8 @@ source "arch/arm/mach-mv78xx0/Kconfig"

source "arch/arm/mach-imx/Kconfig"

source "arch/arm/mach-mediatek/Kconfig"

source "arch/arm/mach-mxs/Kconfig"

source "arch/arm/mach-netx/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@ machine-$(CONFIG_ARCH_MSM) += msm
machine-$(CONFIG_ARCH_MV78XX0)		+= mv78xx0
machine-$(CONFIG_ARCH_MVEBU)		+= mvebu
machine-$(CONFIG_ARCH_MXC)		+= imx
machine-$(CONFIG_ARCH_MEDIATEK)		+= mediatek
machine-$(CONFIG_ARCH_MXS)		+= mxs
machine-$(CONFIG_ARCH_NETX)		+= netx
machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
+94 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2014 MundoReader S.L.
 * Author: Matthias Brugger <matthias.bgg@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,mt6589";
	interrupt-parent = <&gic>;

	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>;
		};

	};

	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>;
		};
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges;

		timer: timer@10008000 {
			compatible = "mediatek,mt6577-timer";
			reg = <0x10008000 0x80>;
			interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
			clocks = <&system_clk>, <&rtc_clk>;
			clock-names = "system-clk", "rtc-clk";
		};

		gic: interrupt-controller@10212000 {
			compatible = "arm,cortex-a15-gic";
			interrupt-controller;
			#interrupt-cells = <3>;
			reg = <0x10211000 0x1000>,
			      <0x10212000 0x1000>,
			      <0x10214000 0x2000>,
			      <0x10216000 0x2000>;
		};
	};
};
+6 −0
Original line number Diff line number Diff line
config ARCH_MEDIATEK
	bool "Mediatek MT6589 SoC" if ARCH_MULTI_V7
	select ARM_GIC
	select MTK_TIMER
	help
	  Support for Mediatek Cortex-A7 Quad-Core-SoC MT6589.
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_ARCH_MEDIATEK) += mediatek.o
Loading