diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-06 15:39:39 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-06 15:39:39 -0400 |
| commit | 7644a448ccf200d95ad4426e84a486dec5cc1703 (patch) | |
| tree | 2743ee79bd0b42b96c4c2d6f7194e2e2ccfc8572 | |
| parent | 16984ce15ea43e17d964ece55ce336a8a4f40750 (diff) | |
| parent | c20eb0f1d0918c019fb2674a104e6ab59d8e62ac (diff) | |
Merge tag 'metag-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull Metag architecture changes from James Hogan:
- Infrastructure and DT files for TZ1090 SoC (pin control drivers
already merged via pinctrl tree).
- Panic on boot instead of just warning if cache aliasing possible.
- Various SMP/hotplug fixes.
- Various other randconfig/sparse fixes.
* tag 'metag-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: (24 commits)
metag: move EXPORT_SYMBOL(csum_partial) to metag_ksyms.c
metag: cpu hotplug: route_irq: preserve irq mask
metag: kick: add missing irq_enter/exit to kick_handler()
metag: smp: don't spin waiting for CPU to start
metag: smp: enable irqs after set_cpu_online
metag: use clear_tasks_mm_cpumask()
metag: tz1090: select and instantiate pinctrl-tz1090-pdc
metag: tz1090: select and instantiate pinctrl-tz1090
metag: don't check for cache aliasing on smp cpu boot
metag: panic if cache aliasing possible
metag: *.dts: include using preprocessor
metag: add <dt-bindings/> symlink
metag/.gitignore: Extend the *.dtb pattern to match the dtb.S files
metag/traps: include setup.h for the per_cpu_trap_init declaration
metag/traps: Mark die() as __noreturn to match the declaration.
metag/processor.h: Add missing cpuinfo_op declaration.
metag/setup: Restrict scope for the capabilities variable
metag/mm/cache: Restrict scope for metag_lnkget_probe
metag/asm/irq.h: Declare init_IRQ
metag/kernel/irq.c: Declare root_domain as static
...
27 files changed, 276 insertions, 52 deletions
diff --git a/Documentation/devicetree/bindings/metag/meta.txt b/Documentation/devicetree/bindings/metag/meta.txt new file mode 100644 index 000000000000..f4457f57ab08 --- /dev/null +++ b/Documentation/devicetree/bindings/metag/meta.txt | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | * Meta Processor Binding | ||
| 2 | |||
| 3 | This binding specifies what properties must be available in the device tree | ||
| 4 | representation of a Meta Processor Core, which is the root node in the tree. | ||
| 5 | |||
| 6 | Required properties: | ||
| 7 | |||
| 8 | - compatible: Specifies the compatibility list for the Meta processor. | ||
| 9 | The type shall be <string> and the value shall include "img,meta". | ||
| 10 | |||
| 11 | Optional properties: | ||
| 12 | |||
| 13 | - clocks: Clock consumer specifiers as described in | ||
| 14 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
| 15 | |||
| 16 | - clock-names: Clock consumer names as described in | ||
| 17 | Documentation/devicetree/bindings/clock/clock-bindings.txt. | ||
| 18 | |||
| 19 | Clocks are identified by name. Valid clocks are: | ||
| 20 | |||
| 21 | - "core": The Meta core clock from which the Meta timers are derived. | ||
| 22 | |||
| 23 | * Examples | ||
| 24 | |||
| 25 | / { | ||
| 26 | compatible = "toumaz,tz1090", "img,meta"; | ||
| 27 | |||
| 28 | clocks = <&meta_core_clk>; | ||
| 29 | clock-names = "core"; | ||
| 30 | }; | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index db0457d61682..948f61561ffa 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
| @@ -58,6 +58,7 @@ snps Synopsys, Inc. | |||
| 58 | st STMicroelectronics | 58 | st STMicroelectronics |
| 59 | ste ST-Ericsson | 59 | ste ST-Ericsson |
| 60 | stericsson ST-Ericsson | 60 | stericsson ST-Ericsson |
| 61 | toumaz Toumaz | ||
| 61 | ti Texas Instruments | 62 | ti Texas Instruments |
| 62 | toshiba Toshiba Corporation | 63 | toshiba Toshiba Corporation |
| 63 | v3 V3 Semiconductor | 64 | v3 V3 Semiconductor |
diff --git a/arch/metag/Kconfig.soc b/arch/metag/Kconfig.soc index ec079cfb7c6a..2a3c860c7525 100644 --- a/arch/metag/Kconfig.soc +++ b/arch/metag/Kconfig.soc | |||
| @@ -14,6 +14,18 @@ config META21_FPGA | |||
| 14 | help | 14 | help |
| 15 | This is a Meta 2.1 FPGA bitstream, just a bare CPU. | 15 | This is a Meta 2.1 FPGA bitstream, just a bare CPU. |
| 16 | 16 | ||
| 17 | config SOC_TZ1090 | ||
| 18 | bool "Toumaz Xenif TZ1090 SoC (Comet)" | ||
| 19 | select METAG_LNKGET_AROUND_CACHE | ||
| 20 | select METAG_META21 | ||
| 21 | select METAG_SMP_WRITE_REORDERING | ||
| 22 | select PINCTRL | ||
| 23 | select PINCTRL_TZ1090 | ||
| 24 | select PINCTRL_TZ1090_PDC | ||
| 25 | help | ||
| 26 | This is a Toumaz Technology Xenif TZ1090 (A.K.A. Comet) SoC containing | ||
| 27 | a 2-threaded HTP. | ||
| 28 | |||
| 17 | endchoice | 29 | endchoice |
| 18 | 30 | ||
| 19 | menu "SoC configuration" | 31 | menu "SoC configuration" |
diff --git a/arch/metag/Makefile b/arch/metag/Makefile index b566116b171b..9739857bdedc 100644 --- a/arch/metag/Makefile +++ b/arch/metag/Makefile | |||
| @@ -20,7 +20,7 @@ checkflags-$(CONFIG_METAG_META12) += -DMETAC_1_2 | |||
| 20 | checkflags-$(CONFIG_METAG_META21) += -DMETAC_2_1 | 20 | checkflags-$(CONFIG_METAG_META21) += -DMETAC_2_1 |
| 21 | CHECKFLAGS += -D__metag__ $(checkflags-y) | 21 | CHECKFLAGS += -D__metag__ $(checkflags-y) |
| 22 | 22 | ||
| 23 | KBUILD_DEFCONFIG := meta2_defconfig | 23 | KBUILD_DEFCONFIG := tz1090_defconfig |
| 24 | 24 | ||
| 25 | sflags-$(CONFIG_METAG_META12) += -mmetac=1.2 | 25 | sflags-$(CONFIG_METAG_META12) += -mmetac=1.2 |
| 26 | ifeq ($(CONFIG_METAG_META12),y) | 26 | ifeq ($(CONFIG_METAG_META12),y) |
diff --git a/arch/metag/boot/.gitignore b/arch/metag/boot/.gitignore index a021da201156..2d6c0c160884 100644 --- a/arch/metag/boot/.gitignore +++ b/arch/metag/boot/.gitignore | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | vmlinux* | 1 | vmlinux* |
| 2 | uImage* | 2 | uImage* |
| 3 | ramdisk.* | 3 | ramdisk.* |
| 4 | *.dtb | 4 | *.dtb* |
diff --git a/arch/metag/boot/dts/Makefile b/arch/metag/boot/dts/Makefile index dbd95217733a..72c121879426 100644 --- a/arch/metag/boot/dts/Makefile +++ b/arch/metag/boot/dts/Makefile | |||
| @@ -1,7 +1,9 @@ | |||
| 1 | dtb-y += skeleton.dtb | 1 | dtb-y += skeleton.dtb |
| 2 | dtb-y += tz1090_generic.dtb | ||
| 2 | 3 | ||
| 3 | # Built-in dtb | 4 | # Built-in dtb |
| 4 | builtindtb-y := skeleton | 5 | builtindtb-y := skeleton |
| 6 | builtindtb-$(CONFIG_SOC_TZ1090) := tz1090_generic | ||
| 5 | 7 | ||
| 6 | ifneq ($(CONFIG_METAG_BUILTIN_DTB_NAME),"") | 8 | ifneq ($(CONFIG_METAG_BUILTIN_DTB_NAME),"") |
| 7 | builtindtb-y := $(patsubst "%",%,$(CONFIG_METAG_BUILTIN_DTB_NAME)) | 9 | builtindtb-y := $(patsubst "%",%,$(CONFIG_METAG_BUILTIN_DTB_NAME)) |
diff --git a/arch/metag/boot/dts/include/dt-bindings b/arch/metag/boot/dts/include/dt-bindings new file mode 120000 index 000000000000..08c00e4972fa --- /dev/null +++ b/arch/metag/boot/dts/include/dt-bindings | |||
| @@ -0,0 +1 @@ | |||
| ../../../../../include/dt-bindings \ No newline at end of file | |||
diff --git a/arch/metag/boot/dts/skeleton.dts b/arch/metag/boot/dts/skeleton.dts index 7244d1f0d555..7a49aeb365d0 100644 --- a/arch/metag/boot/dts/skeleton.dts +++ b/arch/metag/boot/dts/skeleton.dts | |||
| @@ -7,4 +7,4 @@ | |||
| 7 | */ | 7 | */ |
| 8 | /dts-v1/; | 8 | /dts-v1/; |
| 9 | 9 | ||
| 10 | /include/ "skeleton.dtsi" | 10 | #include "skeleton.dtsi" |
diff --git a/arch/metag/boot/dts/tz1090.dtsi b/arch/metag/boot/dts/tz1090.dtsi new file mode 100644 index 000000000000..853744652b93 --- /dev/null +++ b/arch/metag/boot/dts/tz1090.dtsi | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2012 Imagination Technologies Ltd. | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #include "skeleton.dtsi" | ||
| 10 | |||
| 11 | / { | ||
| 12 | compatible = "toumaz,tz1090", "img,meta"; | ||
| 13 | |||
| 14 | interrupt-parent = <&intc>; | ||
| 15 | |||
| 16 | intc: interrupt-controller { | ||
| 17 | compatible = "img,meta-intc"; | ||
| 18 | interrupt-controller; | ||
| 19 | #interrupt-cells = <2>; | ||
| 20 | num-banks = <2>; | ||
| 21 | }; | ||
| 22 | |||
| 23 | soc { | ||
| 24 | compatible = "simple-bus"; | ||
| 25 | #address-cells = <1>; | ||
| 26 | #size-cells = <1>; | ||
| 27 | ranges; | ||
| 28 | |||
| 29 | pinctrl: pinctrl@02005800 { | ||
