PERFORCE change 112523 for review

Marcel Moolenaar marcel at FreeBSD.org
Thu Jan 4 19:21:13 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=112523

Change 112523 by marcel at marcel_xcllnt on 2007/01/05 03:20:18

	Work-around a bug in the Apple hardware.

Affected files ...

.. //depot/projects/uart/dev/uart/uart_dev_z8530.c#34 edit

Differences ...

==== //depot/projects/uart/dev/uart/uart_dev_z8530.c#34 (text+ko) ====

@@ -162,6 +162,33 @@
 	if (bas->rclk == 0)
 		bas->rclk = DEFAULT_RCLK;
 
+	switch (bas->chan) {
+	case 1:
+		uart_setmreg(bas, WR_MIC, MIC_NV | MIC_CRA);
+                break;
+        case 2:
+                uart_setmreg(bas, WR_MIC, MIC_NV | MIC_CRB);
+                break;
+        }
+        uart_barrier(bas);
+	uart_setmreg(bas, WR_MPM, MPM_CM1 | MPM_MONO | MPM_SYNC);
+	uart_setmreg(bas, WR_RPC, RPC_RB8);
+	uart_setmreg(bas, WR_TPC, TPC_TB8 | TPC_RTS);
+	uart_setmreg(bas, WR_CMC, CMC_RC_BRG | CMC_TC_BRG);
+	uart_setmreg(bas, WR_TCL, 0);
+	uart_setmreg(bas, WR_TCH, 0);
+	uart_setmreg(bas, WR_MCB2, MCB2_LL | UART_PCLK);
+	uart_setmreg(bas, WR_MCB2, MCB2_LL | UART_PCLK | MCB2_BRGE);
+	uart_setmreg(bas, WR_RPC, RPC_RB8 | RPC_RXE);
+	uart_setreg(bas, REG_CTRL, CR_RSTXSI);
+	uart_setreg(bas, REG_CTRL, CR_RSTXSI);
+	uart_setreg(bas, REG_CTRL, CR_RSTXSI);
+	uart_setmreg(bas, WR_MPM, MPM_CM16 | MPM_SB2);
+	uart_setmreg(bas, WR_RPC, RPC_RB8);
+	uart_getreg(bas, REG_DATA);
+	uart_setreg(bas, REG_CTRL, CR_RSTXSI);
+	uart_setreg(bas, REG_CTRL, CR_RSTERR);
+
 	/* Assume we don't need to perform a full hardware reset. */
 	switch (bas->chan) {
 	case 1:


More information about the p4-projects mailing list