diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-05-27 20:02:58 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-05-27 20:02:58 -0400 |
commit | b9d800959e87e538595a723f07dd3829c2f85d85 (patch) | |
tree | dc6de56a838d91e7f1f973ad16eedcf84c680d37 /arch/powerpc/platforms | |
parent | 872aa779bcdd26bbe2d538c36e2c2072b3f03c8c (diff) | |
parent | e83eb028bb980cecc85b050aa626df384723aff2 (diff) |
Merge remote-tracking branch 'scott/next' into next
<<
Highlights include a few new boards, a device tree binding for CCF
(including backwards-compatible device tree updates to distinguish
incompatible versions), and some fixes.
>>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/85xx/Kconfig | 19 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/Makefile | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/bsc913x_qds.c | 74 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/corenet_generic.c | 9 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/p1023_rdb.c (renamed from arch/powerpc/platforms/85xx/p1023_rds.c) | 36 |
5 files changed, 104 insertions, 37 deletions
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig index c17aae80e7ff..f442120e0033 100644 --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig | |||
@@ -38,6 +38,15 @@ config C293_PCIE | |||
38 | help | 38 | help |
39 | This option enables support for the C293PCIE board | 39 | This option enables support for the C293PCIE board |
40 | 40 | ||
41 | config BSC9132_QDS | ||
42 | bool "Freescale BSC9132QDS" | ||
43 | select DEFAULT_UIMAGE | ||
44 | help | ||
45 | This option enables support for the Freescale BSC9132 QDS board. | ||
46 | BSC9132 is a heterogeneous SoC containing dual e500v2 powerpc cores | ||
47 | and dual StarCore SC3850 DSP cores. | ||
48 | Manufacturer : Freescale Semiconductor, Inc | ||
49 | |||
41 | config MPC8540_ADS | 50 | config MPC8540_ADS |
42 | bool "Freescale MPC8540 ADS" | 51 | bool "Freescale MPC8540 ADS" |
43 | select DEFAULT_UIMAGE | 52 | select DEFAULT_UIMAGE |
@@ -117,11 +126,11 @@ config P1022_RDK | |||
117 | This option enables support for the Freescale / iVeia P1022RDK | 126 | This option enables support for the Freescale / iVeia P1022RDK |
118 | reference board. | 127 | reference board. |
119 | 128 | ||
120 | config P1023_RDS | 129 | config P1023_RDB |
121 | bool "Freescale P1023 RDS/RDB" | 130 | bool "Freescale P1023 RDB" |
122 | select DEFAULT_UIMAGE | 131 | select DEFAULT_UIMAGE |
123 | help | 132 | help |
124 | This option enables support for the P1023 RDS and RDB boards | 133 | This option enables support for the P1023 RDB board. |
125 | 134 | ||
126 | config TWR_P102x | 135 | config TWR_P102x |
127 | bool "Freescale TWR-P102x" | 136 | bool "Freescale TWR-P102x" |
@@ -263,11 +272,11 @@ config CORENET_GENERIC | |||
263 | help | 272 | help |
264 | This option enables support for the FSL CoreNet based boards. | 273 | This option enables support for the FSL CoreNet based boards. |
265 | For 32bit kernel, the following boards are supported: | 274 | For 32bit kernel, the following boards are supported: |
266 | P2041 RDB, P3041 DS and P4080 DS | 275 | P2041 RDB, P3041 DS, P4080 DS, kmcoge4, and OCA4080 |
267 | For 64bit kernel, the following boards are supported: | 276 | For 64bit kernel, the following boards are supported: |
268 | T4240 QDS and B4 QDS | 277 | T4240 QDS and B4 QDS |
269 | The following boards are supported for both 32bit and 64bit kernel: | 278 | The following boards are supported for both 32bit and 64bit kernel: |
270 | P5020 DS and P5040 DS | 279 | P5020 DS, P5040 DS and T104xQDS |
271 | 280 | ||
272 | endif # FSL_SOC_BOOKE | 281 | endif # FSL_SOC_BOOKE |
273 | 282 | ||
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile index 25cebe74ac46..730326046625 100644 --- a/arch/powerpc/platforms/85xx/Makefile +++ b/arch/powerpc/platforms/85xx/Makefile | |||
@@ -6,6 +6,7 @@ obj-$(CONFIG_SMP) += smp.o | |||
6 | obj-y += common.o | 6 | obj-y += common.o |
7 | 7 | ||
8 | obj-$(CONFIG_BSC9131_RDB) += bsc913x_rdb.o | 8 | obj-$(CONFIG_BSC9131_RDB) += bsc913x_rdb.o |
9 | obj-$(CONFIG_BSC9132_QDS) += bsc913x_qds.o | ||
9 | obj-$(CONFIG_C293_PCIE) += c293pcie.o | 10 | obj-$(CONFIG_C293_PCIE) += c293pcie.o |
10 | obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o | 11 | obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o |
11 | obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o | 12 | obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o |
@@ -17,7 +18,7 @@ obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o | |||
17 | obj-$(CONFIG_P1010_RDB) += p1010rdb.o | 18 | obj-$(CONFIG_P1010_RDB) += p1010rdb.o |
18 | obj-$(CONFIG_P1022_DS) += p1022_ds.o | 19 | obj-$(CONFIG_P1022_DS) += p1022_ds.o |
19 | obj-$(CONFIG_P1022_RDK) += p1022_rdk.o | 20 | obj-$(CONFIG_P1022_RDK) += p1022_rdk.o |
20 | obj-$(CONFIG_P1023_RDS) += p1023_rds.o | 21 | obj-$(CONFIG_P1023_RDB) += p1023_rdb.o |
21 | obj-$(CONFIG_TWR_P102x) += twr_p102x.o | 22 | obj-$(CONFIG_TWR_P102x) += twr_p102x.o |
22 | obj-$(CONFIG_CORENET_GENERIC) += corenet_generic.o | 23 | obj-$(CONFIG_CORENET_GENERIC) += corenet_generic.o |
23 | obj-$(CONFIG_STX_GP3) += stx_gp3.o | 24 | obj-$(CONFIG_STX_GP3) += stx_gp3.o |
diff --git a/arch/powerpc/platforms/85xx/bsc913x_qds.c b/arch/powerpc/platforms/85xx/bsc913x_qds.c new file mode 100644 index 000000000000..f0927e58af25 --- /dev/null +++ b/arch/powerpc/platforms/85xx/bsc913x_qds.c | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * BSC913xQDS Board Setup | ||
3 | * | ||
4 | * Author: | ||
5 | * Harninder Rai <harninder.rai@freescale.com> | ||
6 | * Priyanka Jain <Priyanka.Jain@freescale.com> | ||
7 | * | ||
8 | * Copyright 2014 Freescale Semiconductor Inc. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | */ | ||
15 | |||
16 | #include <linux/of_platform.h> | ||
17 | #include <linux/pci.h> | ||
18 | #include <asm/mpic.h> | ||
19 | #include <sysdev/fsl_soc.h> | ||
20 | #include <asm/udbg.h> | ||
21 | |||
22 | #include "mpc85xx.h" | ||
23 | #include "smp.h" | ||
24 | |||
25 | void __init bsc913x_qds_pic_init(void) | ||
26 | { | ||
27 | struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | | ||
28 | MPIC_SINGLE_DEST_CPU, | ||
29 | 0, 256, " OpenPIC "); | ||
30 | |||
31 | if (!mpic) | ||
32 | pr_err("bsc913x: Failed to allocate MPIC structure\n"); | ||
33 | else | ||
34 | mpic_init(mpic); | ||
35 | } | ||
36 | |||
37 | /* | ||
38 | * Setup the architecture | ||
39 | */ | ||
40 | static void __init bsc913x_qds_setup_arch(void) | ||
41 | { | ||
42 | if (ppc_md.progress) | ||
43 | ppc_md.progress("bsc913x_qds_setup_arch()", 0); | ||
44 | |||
45 | #if defined(CONFIG_SMP) | ||
46 | mpc85xx_smp_init(); | ||
47 | #endif | ||
48 | |||
49 | pr_info("bsc913x board from Freescale Semiconductor\n"); | ||
50 | } | ||
51 | |||
52 | machine_device_initcall(bsc9132_qds, mpc85xx_common_publish_devices); | ||
53 | |||
54 | /* | ||
55 | * Called very early, device-tree isn't unflattened | ||
56 | */ | ||
57 | |||
58 | static int __init bsc9132_qds_probe(void) | ||
59 | { | ||
60 | unsigned long root = of_get_flat_dt_root(); | ||
61 | |||
62 | return of_flat_dt_is_compatible(root, "fsl,bsc9132qds"); | ||
63 | } | ||
64 | |||
65 | define_machine(bsc9132_qds) { | ||
66 | .name = "BSC9132 QDS", | ||
67 | .probe = bsc9132_qds_probe, | ||
68 | .setup_arch = bsc913x_qds_setup_arch, | ||
69 | .init_IRQ = bsc913x_qds_pic_init, | ||
70 | .get_irq = mpic_get_irq, | ||
71 | .restart = fsl_rstcr_restart, | ||
72 | .calibrate_decr = generic_calibrate_decr, | ||
73 | .progress = udbg_progress, | ||
74 | }; | ||
diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c index 8e4b1e1a4911..5db1e117fdde 100644 --- a/arch/powerpc/platforms/85xx/corenet_generic.c +++ b/arch/powerpc/platforms/85xx/corenet_generic.c | |||
@@ -67,7 +67,7 @@ void __init corenet_gen_setup_arch(void) | |||
67 | 67 | ||
68 | swiotlb_detect_4g(); | 68 | swiotlb_detect_4g(); |
69 | 69 | ||
70 | pr_info("%s board from Freescale Semiconductor\n", ppc_md.name); | 70 | pr_info("%s board\n", ppc_md.name); |
71 | 71 | ||
72 | mpc85xx_qe_init(); | 72 | mpc85xx_qe_init(); |
73 | } | 73 | } |
@@ -115,6 +115,7 @@ int __init corenet_gen_publish_devices(void) | |||
115 | static const char * const boards[] __initconst = { | 115 | static const char * const boards[] __initconst = { |
116 | "fsl,P2041RDB", | 116 | "fsl,P2041RDB", |
117 | "fsl,P3041DS", | 117 | "fsl,P3041DS", |
118 | "fsl,OCA4080", | ||
118 | "fsl,P4080DS", | 119 | "fsl,P4080DS", |
119 | "fsl,P5020DS", | 120 | "fsl,P5020DS", |
120 | "fsl,P5040DS", | 121 | "fsl,P5040DS", |
@@ -122,12 +123,16 @@ static const char * const boards[] __initconst = { | |||
122 | "fsl,B4860QDS", | 123 | "fsl,B4860QDS", |
123 | "fsl,B4420QDS", | 124 | "fsl,B4420QDS", |
124 | "fsl,B4220QDS", | 125 | "fsl,B4220QDS", |
126 | "fsl,T1040QDS", | ||
127 | "fsl,T1042QDS", | ||
128 | "keymile,kmcoge4", | ||
125 | NULL | 129 | NULL |
126 | }; | 130 | }; |
127 | 131 | ||
128 | static const char * const hv_boards[] __initconst = { | 132 | static const char * const hv_boards[] __initconst = { |
129 | "fsl,P2041RDB-hv", | 133 | "fsl,P2041RDB-hv", |
130 | "fsl,P3041DS-hv", | 134 | "fsl,P3041DS-hv", |
135 | "fsl,OCA4080-hv", | ||
131 | "fsl,P4080DS-hv", | 136 | "fsl,P4080DS-hv", |
132 | "fsl,P5020DS-hv", | 137 | "fsl,P5020DS-hv", |
133 | "fsl,P5040DS-hv", | 138 | "fsl,P5040DS-hv", |
@@ -135,6 +140,8 @@ static const char * const hv_boards[] __initconst = { | |||
135 | "fsl,B4860QDS-hv", | 140 | "fsl,B4860QDS-hv", |
136 | "fsl,B4420QDS-hv", | 141 | "fsl,B4420QDS-hv", |
137 | "fsl,B4220QDS-hv", | 142 | "fsl,B4220QDS-hv", |
143 | "fsl,T1040QDS-hv", | ||
144 | "fsl,T1042QDS-hv", | ||
138 | NULL | 145 | NULL |
139 | }; | 146 | }; |
140 | 147 | ||
diff --git a/arch/powerpc/platforms/85xx/p1023_rds.c b/arch/powerpc/platforms/85xx/p1023_rdb.c index 0e614007acfb..d5b7509825de 100644 --- a/arch/powerpc/platforms/85xx/p1023_rds.c +++ b/arch/powerpc/platforms/85xx/p1023_rdb.c | |||
@@ -4,7 +4,7 @@ | |||
4 | * Author: Roy Zang <tie-fei.zang@freescale.com> | 4 | * Author: Roy Zang <tie-fei.zang@freescale.com> |
5 | * | 5 | * |
6 | * Description: | 6 | * Description: |
7 | * P1023 RDS Board Setup | 7 | * P1023 RDB Board Setup |
8 | * | 8 | * |
9 | * This program is free software; you can redistribute it and/or modify it | 9 | * This program is free software; you can redistribute it and/or modify it |
10 | * under the terms of the GNU General Public License as published by the | 10 | * under the terms of the GNU General Public License as published by the |
@@ -41,12 +41,12 @@ | |||
41 | * Setup the architecture | 41 | * Setup the architecture |
42 | * | 42 | * |
43 | */ | 43 | */ |
44 | static void __init mpc85xx_rds_setup_arch(void) | 44 | static void __init mpc85xx_rdb_setup_arch(void) |
45 | { | 45 | { |
46 | struct device_node *np; | 46 | struct device_node *np; |
47 | 47 | ||
48 | if (ppc_md.progress) | 48 | if (ppc_md.progress) |
49 | ppc_md.progress("p1023_rds_setup_arch()", 0); | 49 | ppc_md.progress("p1023_rdb_setup_arch()", 0); |
50 | 50 | ||
51 | /* Map BCSR area */ | 51 | /* Map BCSR area */ |
52 | np = of_find_node_by_name(NULL, "bcsr"); | 52 | np = of_find_node_by_name(NULL, "bcsr"); |
@@ -85,10 +85,9 @@ static void __init mpc85xx_rds_setup_arch(void) | |||
85 | fsl_pci_assign_primary(); | 85 | fsl_pci_assign_primary(); |
86 | } | 86 | } |
87 | 87 | ||
88 | machine_arch_initcall(p1023_rds, mpc85xx_common_publish_devices); | ||
89 | machine_arch_initcall(p1023_rdb, mpc85xx_common_publish_devices); | 88 | machine_arch_initcall(p1023_rdb, mpc85xx_common_publish_devices); |
90 | 89 | ||
91 | static void __init mpc85xx_rds_pic_init(void) | 90 | static void __init mpc85xx_rdb_pic_init(void) |
92 | { | 91 | { |
93 | struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | | 92 | struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN | |
94 | MPIC_SINGLE_DEST_CPU, | 93 | MPIC_SINGLE_DEST_CPU, |
@@ -99,14 +98,6 @@ static void __init mpc85xx_rds_pic_init(void) | |||
99 | mpic_init(mpic); | 98 | mpic_init(mpic); |
100 | } | 99 | } |
101 | 100 | ||
102 | static int __init p1023_rds_probe(void) | ||
103 | { | ||
104 | unsigned long root = of_get_flat_dt_root(); | ||
105 | |||
106 | return of_flat_dt_is_compatible(root, "fsl,P1023RDS"); | ||
107 | |||
108 | } | ||
109 | |||
110 | static int __init p1023_rdb_probe(void) | 101 | static int __init p1023_rdb_probe(void) |
111 | { | 102 | { |
112 | unsigned long root = of_get_flat_dt_root(); | 103 | unsigned long root = of_get_flat_dt_root(); |
@@ -115,26 +106,11 @@ static int __init p1023_rdb_probe(void) | |||
115 | 106 | ||
116 | } | 107 | } |
117 | 108 | ||
118 | define_machine(p1023_rds) { | ||
119 | .name = "P1023 RDS", | ||
120 | .probe = p1023_rds_probe, | ||
121 | .setup_arch = mpc85xx_rds_setup_arch, | ||
122 | .init_IRQ = mpc85xx_rds_pic_init, | ||
123 | .get_irq = mpic_get_irq, | ||
124 | .restart = fsl_rstcr_restart, | ||
125 | .calibrate_decr = generic_calibrate_decr, | ||
126 | .progress = udbg_progress, | ||
127 | #ifdef CONFIG_PCI | ||
128 | .pcibios_fixup_bus = fsl_pcibios_fixup_bus, | ||
129 | .pcibios_fixup_phb = fsl_pcibios_fixup_phb, | ||
130 | #endif | ||
131 | }; | ||
132 | |||
133 | define_machine(p1023_rdb) { | 109 | define_machine(p1023_rdb) { |
134 | .name = "P1023 RDB", | 110 | .name = "P1023 RDB", |
135 | .probe = p1023_rdb_probe, | 111 | .probe = p1023_rdb_probe, |
136 | .setup_arch = mpc85xx_rds_setup_arch, | 112 | .setup_arch = mpc85xx_rdb_setup_arch, |
137 | .init_IRQ = mpc85xx_rds_pic_init, | 113 | .init_IRQ = mpc85xx_rdb_pic_init, |
138 | .get_irq = mpic_get_irq, | 114 | .get_irq = mpic_get_irq, |
139 | .restart = fsl_rstcr_restart, | 115 | .restart = fsl_rstcr_restart, |
140 | .calibrate_decr = generic_calibrate_decr, | 116 | .calibrate_decr = generic_calibrate_decr, |