Subject: Assabet and IrDA

From: Chan Tak Shing Thomas <[email-masked]>
Date: Fri, 26 May 2000 20:26:24 +0800 (CST)

Hi Nicolas et al,

     I've tested the Linux IrDA driver (IrTTY) on Assabet and it
just works fine out of the box.  It can even beam files from/to a
Psion 5 using the irpsion5 utility from irda-utils-0.9.10.  But we
need to detach the LCD screen for this to work (there is some
kind of interference with the transceiver, my colleagues told me).

     Patch below (for those of you who can't wait).  ;)

Regards,
Tak-Shing Chan

--- /usr/src/linux-2.3.99-pre8-rmk1-np5/drivers/char/serial_sa1100.c	Fri May 26 19:54:37 2000
+++ serial_sa1100.c	Fri May 26 20:07:57 2000
@@ -2016,6 +2016,17 @@
 	    }
 	    break;
 #endif
+#ifdef CONFIG_SA1100_ASSABET
+	    case (int)&Ser2UTCR0:
+		BCR_clear(BCR_IRDA_FSEL);
+		BCR_clear(BCR_IRDA_MD1);
+		BCR_clear(BCR_IRDA_MD0);
+		BCR_clear(BCR_TV_IR_DEC);
+		Ser2UTCR4 = UTCR4_HSE;
+		Ser2HSCR0 = 0;
+		Ser2HSSR0 = HSSR0_EIF | HSSR0_TUR | HSSR0_RAB | HSSR0_FRE;
+		break;
+#endif
 	    default:
 		printk("ttyS%d: unsupported device\n", state->line);
 		restore_flags(flags);
@@ -2059,6 +2070,7 @@
 	serial_driver.subtype = SERIAL_TYPE_NORMAL;
 	serial_driver.init_termios = tty_std_termios;
 	if( machine_is_empeg() ||
+	    machine_is_assabet() ||
 	    machine_is_bitsy() ||
 	    machine_is_victor() ) {
 		/* Life in the fast lane */
@@ -2109,11 +2121,11 @@
 		panic("Couldn't register callout driver\n");
 	
 	if( machine_is_brutus() ||
-	    machine_is_assabet() ||
 	    machine_is_tifon() ) {
 		rs_table[0] = SA1100_UART1;
 		rs_table[1] = SA1100_UART3;
-	} else if( machine_is_empeg() ) {
+	} else if( machine_is_empeg() ||
+		   machine_is_assabet() ) {
 		rs_table[0] = SA1100_UART1;
 		rs_table[1] = SA1100_UART3;
 		rs_table[2] = SA1100_UART2;

unsubscribe: body of `unsubscribe linux-arm-kernel' to [email-masked]