aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/fsl_soc.c
diff options
context:
space:
mode:
authorVitaly Bordug <vbordug@ru.mvista.com>2006-09-21 14:38:05 -0400
committerVitaly Bordug <vbordug@ru.mvista.com>2006-09-21 14:38:05 -0400
commitd3465c921f79cfef0a4a8ceeeef9a3721bbbb57d (patch)
tree73d602a02efd3f358990dcfa9231131e69318d3b /arch/powerpc/sysdev/fsl_soc.c
parentfc8e50e349aa722d9f97ed9ba30e324ede8fa408 (diff)
POWERPC: overhaul with cpm2_map mechanism
Incorporating the new way of cpm2 immr access, introduced in the previous patch, into CPM2 peripheral devices (fs_enet and cpm_uart). Both ppc and powerpc approved working( real actions taken in powerpc only, ppc just has a wrapper to keep init stuff consistent). Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Diffstat (limited to 'arch/powerpc/sysdev/fsl_soc.c')
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 0b8a03cc3042..4e72bb983636 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -36,6 +36,7 @@
36#include <mm/mmu_decl.h> 36#include <mm/mmu_decl.h>
37#include <asm/cpm2.h> 37#include <asm/cpm2.h>
38 38
39extern void init_fcc_ioports(struct fs_platform_info*);
39static phys_addr_t immrbase = -1; 40static phys_addr_t immrbase = -1;
40 41
41phys_addr_t get_immrbase(void) 42phys_addr_t get_immrbase(void)
@@ -630,6 +631,9 @@ static int __init fs_enet_of_init(void)
630 goto unreg; 631 goto unreg;
631 } 632 }
632 633
634 fs_enet_data.clk_rx = *((u32 *) get_property(np, "rx-clock", NULL));
635 fs_enet_data.clk_tx = *((u32 *) get_property(np, "tx-clock", NULL));
636
633 if (strstr(model, "FCC")) { 637 if (strstr(model, "FCC")) {
634 int fcc_index = fs_get_fcc_index(*id); 638 int fcc_index = fs_get_fcc_index(*id);
635 639
@@ -646,6 +650,7 @@ static int __init fs_enet_of_init(void)
646 snprintf((char*)&bus_id[(*id)], BUS_ID_SIZE, "%x:%02x", 650 snprintf((char*)&bus_id[(*id)], BUS_ID_SIZE, "%x:%02x",
647 (u32)res.start, fs_enet_data.phy_addr); 651 (u32)res.start, fs_enet_data.phy_addr);
648 fs_enet_data.bus_id = (char*)&bus_id[(*id)]; 652 fs_enet_data.bus_id = (char*)&bus_id[(*id)];
653 fs_enet_data.init_ioports = init_fcc_ioports;
649 } 654 }
650 655
651 of_node_put(phy); 656 of_node_put(phy);
@@ -717,6 +722,8 @@ static int __init cpm_uart_of_init(void)
717 cpm_uart_data.tx_buf_size = 32; 722 cpm_uart_data.tx_buf_size = 32;
718 cpm_uart_data.rx_num_fifo = 4; 723 cpm_uart_data.rx_num_fifo = 4;
719 cpm_uart_data.rx_buf_size = 32; 724 cpm_uart_data.rx_buf_size = 32;
725 cpm_uart_data.clk_rx = *((u32 *) get_property(np, "rx-clock", NULL));
726 cpm_uart_data.clk_tx = *((u32 *) get_property(np, "tx-clock", NULL));
720 727
721 ret = 728 ret =
722 platform_device_add_data(cpm_uart_dev, &cpm_uart_data, 729 platform_device_add_data(cpm_uart_dev, &cpm_uart_data,