From: Kumar Gala <galak@freescale.com>

Base addess register for SMC 1 and 2 are never initialized.  This means
that they will not work unless a bootloader already configured them.

The DPRAM already have space reserved, this patch just makes sure the base
addess register is updated correctly on initialization.

Signed-off-by: Rune Torgersen <runet@innovsys.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/serial/cpm_uart/cpm_uart_cpm2.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN drivers/serial/cpm_uart/cpm_uart_cpm2.c~cpm_uart-fix-baseaddress-for-smc-1-and-2 drivers/serial/cpm_uart/cpm_uart_cpm2.c
--- devel/drivers/serial/cpm_uart/cpm_uart_cpm2.c~cpm_uart-fix-baseaddress-for-smc-1-and-2	2005-08-30 00:15:05.000000000 -0700
+++ devel-akpm/drivers/serial/cpm_uart/cpm_uart_cpm2.c	2005-08-30 00:15:05.000000000 -0700
@@ -266,6 +266,7 @@ int cpm_uart_init_portdesc(void)
 	cpm_uart_ports[UART_SMC1].smcp = (smc_t *) & cpm2_immr->im_smc[0];
 	cpm_uart_ports[UART_SMC1].smcup =
 	    (smc_uart_t *) & cpm2_immr->im_dprambase[PROFF_SMC1];
+	*(u16 *)(&cpm2_immr->im_dprambase[PROFF_SMC1_BASE]) = PROFF_SMC1;
 	cpm_uart_ports[UART_SMC1].port.mapbase =
 	    (unsigned long)&cpm2_immr->im_smc[0];
 	cpm_uart_ports[UART_SMC1].smcp->smc_smcm |= (SMCM_RX | SMCM_TX);
@@ -278,6 +279,7 @@ int cpm_uart_init_portdesc(void)
 	cpm_uart_ports[UART_SMC2].smcp = (smc_t *) & cpm2_immr->im_smc[1];
 	cpm_uart_ports[UART_SMC2].smcup =
 	    (smc_uart_t *) & cpm2_immr->im_dprambase[PROFF_SMC2];
+	*(u16 *)(&cpm2_immr->im_dprambase[PROFF_SMC2_BASE]) = PROFF_SMC2;
 	cpm_uart_ports[UART_SMC2].port.mapbase =
 	    (unsigned long)&cpm2_immr->im_smc[1];
 	cpm_uart_ports[UART_SMC2].smcp->smc_smcm |= (SMCM_RX | SMCM_TX);
_