[U-Boot-Users] at91rm9200 serial frequency fix

Fix CD calcutation on serial device.
Signed-off-by: Trimarchi Michael trimarchimichael@yahoo.it ---
--- cpu/arm920t/at91rm9200/serial.c.orig 2007-08-19 19:26:23.000000000 +0200 +++ cpu/arm920t/at91rm9200/serial.c 2007-08-19 19:29:50.000000000 +0200 @@ -50,14 +50,18 @@ AT91PS_USART us = (AT91PS_USART) AT91C_B AT91PS_USART us = (AT91PS_USART) AT91C_BASE_US1; #endif
+#define BAUDRATE(mck, baud) \ + ((((mck) * 10) % ((baud) * 16)) >= 5) ? \ + (mck / (baud * 16) + 1) : ((mck) / (baud * 16)) + void serial_setbrg (void) { int baudrate;
if ((baudrate = gd->baudrate) <= 0) baudrate = CONFIG_BAUDRATE; - /* MASTER_CLOCK/(16 * baudrate) */ - us->US_BRGR = (AT91C_MASTER_CLOCK >> 4) / (unsigned)baudrate; + + us->US_BRGR = BOUDRATE(AT91C_MASTER_CLOCK, (unsigned)baudrate); }
int serial_init (void)

+#define BAUDRATE(mck, baud) \
- ((((mck) * 10) % ((baud) * 16)) >= 5) ? \
- (mck / (baud * 16) + 1) : ((mck) / (baud * 16))
void serial_setbrg (void) { int baudrate;
if ((baudrate = gd->baudrate) <= 0) baudrate = CONFIG_BAUDRATE;
- /* MASTER_CLOCK/(16 * baudrate) */
- us->US_BRGR = (AT91C_MASTER_CLOCK >> 4) / (unsigned)baudrate;
- us->US_BRGR = BOUDRATE(AT91C_MASTER_CLOCK, (unsigned)baudrate);
}
int serial_init (void)
Excuse me I take the wrong diff file, containg and error on macro name. I will send the right one soon.
Regards Michael

sön 2007-08-19 klockan 18:35 +0200 skrev michael trimarchi:
Fix CD calcutation on serial device.
Signed-off-by: Trimarchi Michael trimarchimichael@yahoo.it
--- cpu/arm920t/at91rm9200/serial.c.orig 2007-08-19 19:26:23.000000000 +0200 +++ cpu/arm920t/at91rm9200/serial.c 2007-08-19 19:29:50.000000000 +0200 @@ -50,14 +50,18 @@ AT91PS_USART us = (AT91PS_USART) AT91C_B AT91PS_USART us = (AT91PS_USART) AT91C_BASE_US1; #endif
+#define BAUDRATE(mck, baud) \
- ((((mck) * 10) % ((baud) * 16)) >= 5) ? \
- (mck / (baud * 16) + 1) : ((mck) / (baud * 16))
void serial_setbrg (void) { int baudrate;
if ((baudrate = gd->baudrate) <= 0) baudrate = CONFIG_BAUDRATE;
- /* MASTER_CLOCK/(16 * baudrate) */
- us->US_BRGR = (AT91C_MASTER_CLOCK >> 4) / (unsigned)baudrate;
- us->US_BRGR = BOUDRATE(AT91C_MASTER_CLOCK, (unsigned)baudrate);
}
You should read the part of the documentation where is says that you should test any patch before sending it to the list.
You have obviously not tested your patch before use, since there is a spelling error. BAUDRATE != BOUDRATE
Pls reject this patch.
BR Ulf Samuelsson

On Sun, Aug 19, 2007 at 08:32:52PM +0200, Ulf Samuelsson wrote:
sön 2007-08-19 klockan 18:35 +0200 skrev michael trimarchi:
Fix CD calcutation on serial device.
Signed-off-by: Trimarchi Michael trimarchimichael@yahoo.it
--- cpu/arm920t/at91rm9200/serial.c.orig 2007-08-19 19:26:23.000000000 +0200 +++ cpu/arm920t/at91rm9200/serial.c 2007-08-19 19:29:50.000000000 +0200 @@ -50,14 +50,18 @@ AT91PS_USART us = (AT91PS_USART) AT91C_B AT91PS_USART us = (AT91PS_USART) AT91C_BASE_US1; #endif
you should test any patch before sending it to the list.
You have obviously not tested your patch before use, since there is a spelling error. BAUDRATE != BOUDRATE
Pls reject this patch.
BR Ulf Samuelsson
I'm so sorry! I test this code on my at91 but when I prepare the patch from the last git, I does't notice the error in the integration. The next time I test again my code.
Regards Michael

In message 20070819163547.GA21765@gandalf.sssup.it you wrote:
Fix CD calcutation on serial device.
Signed-off-by: Trimarchi Michael trimarchimichael@yahoo.it
--- cpu/arm920t/at91rm9200/serial.c.orig 2007-08-19 19:26:23.000000000 +0200 +++ cpu/arm920t/at91rm9200/serial.c 2007-08-19 19:29:50.000000000 +0200 @@ -50,14 +50,18 @@ AT91PS_USART us = (AT91PS_USART) AT91C_B AT91PS_USART us = (AT91PS_USART) AT91C_BASE_US1; #endif
+#define BAUDRATE(mck, baud) \
^^^^^^^^
- us->US_BRGR = BOUDRATE(AT91C_MASTER_CLOCK, (unsigned)baudrate);
^^^^^^^^ Spelling...
Best regards,
Wolfgang Denk
participants (4)
-
Michael Trimarchi
-
michael trimarchi
-
Ulf Samuelsson
-
Wolfgang Denk