All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@grandegger.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [PATCH] Added support for multiple serial for MPC8XX (resubmit)
Date: Fri, 15 Jun 2007 21:38:21 +0200	[thread overview]
Message-ID: <4672EAAD.70709@grandegger.com> (raw)
In-Reply-To: <m2ejkdtdat.fsf@sowhat.denx.de>

Detlev Zundel wrote:
> Hi Stefano,
> 
>> The following patch provides support for multiple interface on MPC8xx based 
>> boards as already provided for other cpus (ppc4xx,MPC5200).
>>
>> More information in doc/README.serial_multi
>>
>> In the patch there is also a minor problem solved for the IP860 board 
>> (CONFIG_IP86x missing), that does not allow u-boot 1.2 to run.
>>
>> Signed-off-by:	stefano babic <sbabic@denx.de>
> 
> I am not able to apply this patch, it seems it got mangled by your
> mailer.  Can you please repost as an inline attachment?
> 
> Apart from that, does anyone expect problems if I apply that to the
> repository?

It does not compile for MPC823. Stefano, could you please build it for 
TQM823L as well. To fix it, I changed in cpu/mpc8xx/serial.c:

   #if (!defined(CONFIG_8xx_CONS_SMC1)) && (defined(CONFIG_MPC823) || 
defined(CONFIG_MPC850))
	volatile iop8xx_t *ip = (iop8xx_t *)&(im->im_ioport);
   #endif

into

   #if defined(CONFIG_8xx_CONS_SMC2) && (defined(CONFIG_MPC823) || 
defined(CONFIG_MPC850))
	volatile iop8xx_t *ip = (iop8xx_t *)&(im->im_ioport);
   #endif

Furthermore, to get reduce the #ifdef mess, I would use another method 
to handle compile and run time selection of the serial port. Instead of:

   #ifdef CONFIG_SERIAL_MULTI
	if (smc_index == SMC1_INDEX) {
   #endif
   #if defined(CONFIG_8xx_CONS_SMC1)
		/* Use Port B for SMC1 instead of other functions.
		*/
		cp->cp_pbpar |=  0x000000c0;
		cp->cp_pbdir &= ~0x000000c0;
		cp->cp_pbodr &= ~0x000000c0;
   #endif
   #ifdef CONFIG_SERIAL_MULTI
	}
   #endif

you could simple write:

   if (smc_index == SMC1_INDEX) {
	/* Use Port B for SMC1 instead of other functions.
	*/
	cp->cp_pbpar |=  0x000000c0;
	cp->cp_pbdir &= ~0x000000c0;
	cp->cp_pbodr &= ~0x000000c0;
   }

For the static case, just define smc_index somewhere in a header file:

#ifndef CONFIG_SERIAL_MULTI
#if defined(CONFIG_8xx_CONS_SMC1)
#define smc_index SMC1_INDEX
#elif defined(CONFIG_8xx_CONS_SMC2)
#define smc_index SMC2_INDEX
#endif

The optimizer will then eliminate the unused code. This makes the code 
much more readable, apart from checking the syntax.

Any comments?

Wolfgang.

  reply	other threads:[~2007-06-15 19:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-05 12:47 [U-Boot-Users] [PATCH] Added support for multiple serial for MPC8XX Stefano Babic
2007-06-05 13:53 ` Wolfgang Denk
2007-06-05 19:39   ` Stefano Babic
2007-06-05 23:49     ` Wolfgang Denk
2007-06-06  5:08       ` Stefan Roese
2007-06-06 13:03       ` Stefano Babic
2007-06-06 13:13         ` Stefan Roese
2007-06-06 13:27           ` Stefano Babic
2007-06-06 13:55         ` Wolfgang Denk
2007-06-06 14:20           ` Stefano Babic
2007-06-06 21:35           ` [U-Boot-Users] [PATCH] Added support for multiple serial for MPC8XX (resubmit) Stefano Babic
2007-06-15 16:03             ` Detlev Zundel
2007-06-15 19:38               ` Wolfgang Grandegger [this message]
2007-06-17 13:31                 ` Stefano Babic
2007-06-17 21:16                   ` Wolfgang Denk
2007-06-18  5:18                   ` Wolfgang Grandegger
2007-06-17 11:35               ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4672EAAD.70709@grandegger.com \
    --to=wg@grandegger.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.