[U-Boot] [PATCH] ZOOM2 Add serial support.

Tom Tom.Rix at windriver.com
Wed Apr 1 22:45:22 CEST 2009


Wolfgang Denk wrote:
> Dear Tom Rix,
>
> In message <1238602273-27252-4-git-send-email-Tom.Rix at windriver.com> you wrote:
>   
>> Zoom2 serial is in general supplied by one of the 4 UARTS on the debug board.
>> The default serial is from the USB connector on left side of the debug board.
>> The USB connector will produce 2 of the 4 UARTS.  On your host pick the first
>> enumeration.
>>
>> The serial port set up is the same with Zoom1.
>> Baud rate 115200, 8 bit data, no parity, 1 stop bit, no flow.
>>
>> The kernel bootargs are
>> console=ttyS3,115200n8
>>     
> ...
>   
>> diff --git a/board/omap3/zoom2/Makefile b/board/omap3/zoom2/Makefile
>> index b8fa5a7..d27990c 100644
>> --- a/board/omap3/zoom2/Makefile
>> +++ b/board/omap3/zoom2/Makefile
>> @@ -26,7 +26,8 @@ include $(TOPDIR)/config.mk
>>  LIB	= $(obj)lib$(BOARD).a
>>  
>>  COBJS	:= zoom2.o \
>> -	debug_board.o
>> +	debug_board.o \
>> +	zoom2_serial.o
>>     
>
> Please sort lists.
>
>   
This was fixed on the last patch for led support.
>>  SRCS	:= $(COBJS:.o=.c)
>>  OBJS	:= $(addprefix $(obj),$(COBJS))
>> diff --git a/board/omap3/zoom2/zoom2_serial.c b/board/omap3/zoom2/zoom2_serial.c
>> new file mode 100644
>> index 0000000..c1c4f4a
>> --- /dev/null
>> +++ b/board/omap3/zoom2/zoom2_serial.c
>>     
> ...
>   
>> +int quad_init_dev(unsigned long base)
>> +{
>> +	/* The Quad UART is on the debug board.
>> +	   Check if the debug board is attached before using the UART */
>>     
>
> Incorrect multiline comment style. Please fix globally.
>
>
>   
>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> index 397f5df..93a1bd2 100644
>> --- a/drivers/serial/ns16550.c
>> +++ b/drivers/serial/ns16550.c
>> @@ -14,9 +14,18 @@
>>  void NS16550_init (NS16550_t com_port, int baud_divisor)
>>  {
>>  	com_port->ier = 0x00;
>> -#ifdef CONFIG_OMAP
>> +#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
>>  	com_port->mdr1 = 0x7;	/* mode select reset TL16C750*/
>>  #endif
>> +#if defined(CONFIG_OMAP3_ZOOM2)
>> +	/* On Zoom2 board Set pre-scalar to 1
>> +	 * CLKSEL is GND => MCR[7] is 1 => preslr is 4
>> +	 * So change the prescl to 1
>> +	 */
>> +	com_port->lcr = 0xBF;
>> +	com_port->fcr |= 0x10;
>> +	com_port->mcr &= 0x7F;
>>     
>
> Please don't add such strictly board-specific code to global driver
> files.
>
>   
OK
I will move this.
>> diff --git a/include/serial.h b/include/serial.h
>> index e3d8b36..aca5221 100644
>> --- a/include/serial.h
>> +++ b/include/serial.h
>> @@ -42,6 +42,13 @@ extern struct serial_device s3c24xx_serial1_device;
>>  extern struct serial_device s3c24xx_serial2_device;
>>  #endif
>>  
>> +#if defined(CONFIG_OMAP3_ZOOM2)
>> +extern struct serial_device zoom2_serial_device0;
>> +extern struct serial_device zoom2_serial_device1;
>> +extern struct serial_device zoom2_serial_device2;
>> +extern struct serial_device zoom2_serial_device3;
>> +#endif
>> +
>>     
>
> Please don't add such strictly board-specific code to global header
> files.
>
>   
The other boards that do CONFIG_SERIAL_MULTI do the same thing.
Can I have a pass on this ?
> Best regards,
>
> Wolfgang Denk
>
>   



More information about the U-Boot mailing list