Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v3.17-next-mediatek-support' of https://github.com/mbgg/linux-mediatek into next/soc

Merge basic support for the Mediatek Cortex-A7 SoCs from Matthias Brugger:

Support is quite basic, as the only component working up to now are the
timers.

* tag 'v3.17-next-mediatek-support' of https://github.com/mbgg/linux-mediatek:
arm: mediatek: add dts for Aquaris5 mobile phone
dt-bindings: add documentation for Mediatek SoC
arm: add basic support for Mediatek MT6589 boards

Signed-off-by: Matthias Brugger matthias.bgg@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+164
+8
Documentation/devicetree/bindings/arm/mediatek.txt
··· 1 + Mediatek MT6589 Platforms Device Tree Bindings 2 + 3 + Boards with a SoC of the Mediatek MT6589 shall have the following property: 4 + 5 + Required root node property: 6 + 7 + compatible: must contain "mediatek,mt6589" 8 +
+2
arch/arm/Kconfig
··· 946 946 947 947 source "arch/arm/mach-imx/Kconfig" 948 948 949 + source "arch/arm/mach-mediatek/Kconfig" 950 + 949 951 source "arch/arm/mach-mxs/Kconfig" 950 952 951 953 source "arch/arm/mach-netx/Kconfig"
+1
arch/arm/Makefile
··· 171 171 machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0 172 172 machine-$(CONFIG_ARCH_MVEBU) += mvebu 173 173 machine-$(CONFIG_ARCH_MXC) += imx 174 + machine-$(CONFIG_ARCH_MEDIATEK) += mediatek 174 175 machine-$(CONFIG_ARCH_MXS) += mxs 175 176 machine-$(CONFIG_ARCH_NETX) += netx 176 177 machine-$(CONFIG_ARCH_NOMADIK) += nomadik
+25
arch/arm/boot/dts/mt6589-aquaris5.dts
··· 1 + /* 2 + * Copyright (c) 2014 MundoReader S.L. 3 + * Author: Matthias Brugger <matthias.bgg@gmail.com> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License as published by 7 + * the Free Software Foundation; either version 2 of the License, or 8 + * (at your option) any later version. 9 + * 10 + * This program is distributed in the hope that it will be useful, 11 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 + * GNU General Public License for more details. 14 + */ 15 + 16 + /dts-v1/; 17 + #include "mt6589.dtsi" 18 + 19 + / { 20 + model = "bq Aquaris5"; 21 + 22 + memory { 23 + reg = <0x80000000 0x40000000>; 24 + }; 25 + };
+94
arch/arm/boot/dts/mt6589.dtsi
··· 1 + /* 2 + * Copyright (c) 2014 MundoReader S.L. 3 + * Author: Matthias Brugger <matthias.bgg@gmail.com> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License as published by 7 + * the Free Software Foundation; either version 2 of the License, or 8 + * (at your option) any later version. 9 + * 10 + * This program is distributed in the hope that it will be useful, 11 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 + * GNU General Public License for more details. 14 + */ 15 + 16 + #include <dt-bindings/interrupt-controller/irq.h> 17 + #include <dt-bindings/interrupt-controller/arm-gic.h> 18 + #include "skeleton.dtsi" 19 + 20 + / { 21 + compatible = "mediatek,mt6589"; 22 + interrupt-parent = <&gic>; 23 + 24 + cpus { 25 + #address-cells = <1>; 26 + #size-cells = <0>; 27 + 28 + cpu@0 { 29 + device_type = "cpu"; 30 + compatible = "arm,cortex-a7"; 31 + reg = <0x0>; 32 + }; 33 + cpu@1 { 34 + device_type = "cpu"; 35 + compatible = "arm,cortex-a7"; 36 + reg = <0x1>; 37 + }; 38 + cpu@2 { 39 + device_type = "cpu"; 40 + compatible = "arm,cortex-a7"; 41 + reg = <0x2>; 42 + }; 43 + cpu@3 { 44 + device_type = "cpu"; 45 + compatible = "arm,cortex-a7"; 46 + reg = <0x3>; 47 + }; 48 + 49 + }; 50 + 51 + clocks { 52 + #address-cells = <1>; 53 + #size-cells = <1>; 54 + compatible = "simple-bus"; 55 + ranges; 56 + 57 + system_clk: dummy13m { 58 + compatible = "fixed-clock"; 59 + clock-frequency = <13000000>; 60 + #clock-cells = <0>; 61 + }; 62 + 63 + rtc_clk: dummy32k { 64 + compatible = "fixed-clock"; 65 + clock-frequency = <32000>; 66 + #clock-cells = <0>; 67 + }; 68 + }; 69 + 70 + soc { 71 + #address-cells = <1>; 72 + #size-cells = <1>; 73 + compatible = "simple-bus"; 74 + ranges; 75 + 76 + timer: timer@10008000 { 77 + compatible = "mediatek,mt6577-timer"; 78 + reg = <0x10008000 0x80>; 79 + interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>; 80 + clocks = <&system_clk>, <&rtc_clk>; 81 + clock-names = "system-clk", "rtc-clk"; 82 + }; 83 + 84 + gic: interrupt-controller@10212000 { 85 + compatible = "arm,cortex-a15-gic"; 86 + interrupt-controller; 87 + #interrupt-cells = <3>; 88 + reg = <0x10211000 0x1000>, 89 + <0x10212000 0x1000>, 90 + <0x10214000 0x2000>, 91 + <0x10216000 0x2000>; 92 + }; 93 + }; 94 + };
+6
arch/arm/mach-mediatek/Kconfig
··· 1 + config ARCH_MEDIATEK 2 + bool "Mediatek MT6589 SoC" if ARCH_MULTI_V7 3 + select ARM_GIC 4 + select MTK_TIMER 5 + help 6 + Support for Mediatek Cortex-A7 Quad-Core-SoC MT6589.
+1
arch/arm/mach-mediatek/Makefile
··· 1 + obj-$(CONFIG_ARCH_MEDIATEK) += mediatek.o
+27
arch/arm/mach-mediatek/mediatek.c
··· 1 + /* 2 + * Device Tree support for Mediatek SoCs 3 + * 4 + * Copyright (c) 2014 MundoReader S.L. 5 + * Author: Matthias Brugger <matthias.bgg@gmail.com> 6 + * 7 + * This program is free software; you can redistribute it and/or modify 8 + * it under the terms of the GNU General Public License as published by 9 + * the Free Software Foundation; either version 2 of the License, or 10 + * (at your option) any later version. 11 + * 12 + * This program is distributed in the hope that it will be useful, 13 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 + * GNU General Public License for more details. 16 + */ 17 + #include <linux/init.h> 18 + #include <asm/mach/arch.h> 19 + 20 + static const char * const mediatek_board_dt_compat[] = { 21 + "mediatek,mt6589", 22 + NULL, 23 + }; 24 + 25 + DT_MACHINE_START(MEDIATEK_DT, "Mediatek Cortex-A7 (Device Tree)") 26 + .dt_compat = mediatek_board_dt_compat, 27 + MACHINE_END