aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2007-09-14 14:04:54 -0400
committerKumar Gala <galak@kernel.crashing.org>2007-10-03 21:35:43 -0400
commite631ae3b164158fbf486fbed5adb597696c4f0e5 (patch)
tree16e4c792462c228b0a8e896a5adb32681c5681eb /arch
parent6d817aa71fddea859ba02d1a0b326da930ce6b50 (diff)
[POWERPC] Introduce new CPM device bindings.
This introduces a new device binding for the CPM and other devices on these boards. Some of the changes include: 1. Proper namespace scoping for Freescale compatibles and properties. 2. Use compatible rather than things like device_type and model to determine which particular variant of a device is present. 3. Give the drivers the relevant CPM command word directly, rather than requiring it to have a lookup table based on device-id, SCC v. SMC, and CPM version. 4. Specify the CPCR and the usable DPRAM region in the CPM's reg property. Boards that do not require the legacy bindings should select CONFIG_PPC_CPM_NEW_BINDING to enable the of_platform CPM devices. Once all existing boards are converted and tested, the config option can become default y to prevent new boards from using the old model. Once arch/ppc is gone, the config option can be removed altogether. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/Kconfig11
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c2
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index 92fcd6e35b51..8a62ca533b30 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -279,6 +279,17 @@ config CPM2
279 you wish to build a kernel for a machine with a CPM2 coprocessor 279 you wish to build a kernel for a machine with a CPM2 coprocessor
280 on it (826x, 827x, 8560). 280 on it (826x, 827x, 8560).
281 281
282config PPC_CPM_NEW_BINDING
283 bool
284 depends on CPM1 || CPM2
285 help
286 Select this if your board has been converted to use the new
287 device tree bindings for CPM, and no longer needs the
288 ioport callbacks or the platform device glue code.
289
290 The fs_enet and cpm_uart drivers will be built as
291 of_platform devices.
292
282config AXON_RAM 293config AXON_RAM
283 tristate "Axon DDR2 memory device driver" 294 tristate "Axon DDR2 memory device driver"
284 depends on PPC_IBM_CELL_BLADE 295 depends on PPC_IBM_CELL_BLADE
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 30523667df4e..b465b30c9547 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -665,6 +665,7 @@ err:
665 665
666arch_initcall(fsl_usb_of_init); 666arch_initcall(fsl_usb_of_init);
667 667
668#ifndef CONFIG_PPC_CPM_NEW_BINDING
668#ifdef CONFIG_CPM2 669#ifdef CONFIG_CPM2
669 670
670extern void init_scc_ioports(struct fs_uart_platform_info*); 671extern void init_scc_ioports(struct fs_uart_platform_info*);
@@ -1204,6 +1205,7 @@ err:
1204arch_initcall(cpm_smc_uart_of_init); 1205arch_initcall(cpm_smc_uart_of_init);
1205 1206
1206#endif /* CONFIG_8xx */ 1207#endif /* CONFIG_8xx */
1208#endif /* CONFIG_PPC_CPM_NEW_BINDING */
1207 1209
1208int __init fsl_spi_init(struct spi_board_info *board_infos, 1210int __init fsl_spi_init(struct spi_board_info *board_infos,
1209 unsigned int num_board_infos, 1211 unsigned int num_board_infos,