OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [devs/] [serial/] [powerpc/] [quicc/] [v2_0/] [src/] [quicc_smc_serial.h] - Blame information for rev 27

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_POWERPC_QUICC_SMC_SERIAL_H
2
#define CYGONCE_POWERPC_QUICC_SMC_SERIAL_H
3
 
4
// ====================================================================
5
//
6
//      quicc_smc_serial.h
7
//
8
//      Device I/O - Description of PowerPC QUICC/SMC serial hardware
9
//
10
// ====================================================================
11
//####ECOSGPLCOPYRIGHTBEGIN####
12
// -------------------------------------------
13
// This file is part of eCos, the Embedded Configurable Operating System.
14
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15
//
16
// eCos is free software; you can redistribute it and/or modify it under
17
// the terms of the GNU General Public License as published by the Free
18
// Software Foundation; either version 2 or (at your option) any later version.
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23
// for more details.
24
//
25
// You should have received a copy of the GNU General Public License along
26
// with eCos; if not, write to the Free Software Foundation, Inc.,
27
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28
//
29
// As a special exception, if other files instantiate templates or use macros
30
// or inline functions from this file, or you compile this file and link it
31
// with other works to produce a work based on this file, this file does not
32
// by itself cause the resulting work to be covered by the GNU General Public
33
// License. However the source code for this file must still be made available
34
// in accordance with section (3) of the GNU General Public License.
35
//
36
// This exception does not invalidate any other reasons why a work based on
37
// this file might be covered by the GNU General Public License.
38
//
39
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40
// at http://sources.redhat.com/ecos/ecos-license/
41
// -------------------------------------------
42
//####ECOSGPLCOPYRIGHTEND####
43
// ====================================================================
44
//#####DESCRIPTIONBEGIN####
45
//
46
// Author(s):           gthomas
47
// Contributors:        gthomas
48
// Date:                1999-06-21
49
// Purpose:     Internal interfaces for serial I/O drivers
50
// Description:
51
//
52
//####DESCRIPTIONEND####
53
//
54
// ====================================================================
55
 
56
// Description of serial ports using QUICC/SMC
57
 
58
#include <cyg/hal/quicc/ppc8xx.h>                  // QUICC structure definitions
59
 
60
static unsigned int select_word_length[] = {
61
    QUICC_SMCMR_CLEN(5),  // 5 bits / word (char)
62
    QUICC_SMCMR_CLEN(6),
63
    QUICC_SMCMR_CLEN(7),
64
    QUICC_SMCMR_CLEN(8)
65
};
66
 
67
static unsigned int select_stop_bits[] = {
68
    0,
69
    QUICC_SMCMR_SB(1),   // 1 stop bit
70
    QUICC_SMCMR_SB(1),   // 1.5 stop bit
71
    QUICC_SMCMR_SB(2)    // 2 stop bits
72
};
73
 
74
static unsigned int select_parity[] = {
75
    QUICC_SMCMR_PE(0),                     // No parity
76
    QUICC_SMCMR_PE(1)|QUICC_SMCMR_PM(1),   // Even parity
77
    QUICC_SMCMR_PE(1)|QUICC_SMCMR_PM(0),   // Odd parity
78
    0,                                     // Mark parity
79
    0,                                     // Space parity
80
};
81
 
82
// Baud rate values, based on board clock
83
 
84
static cyg_int32 select_baud[] = {
85
    0,      // Unused
86
    50,     // 50
87
    75,     // 75
88
    110,    // 110
89
    0,      // 134.5
90
    150,    // 150
91
    200,    // 200
92
    300,    // 300
93
    600,    // 600
94
    1200,   // 1200
95
    1800,   // 1800
96
    2400,   // 2400
97
    3600,   // 3600
98
    4800,   // 4800
99
    7200,   // 7200
100
    9600,   // 9600
101
    14400,  // 14400
102
    19200,  // 19200
103
    38400,  // 38400
104
    57600,  // 57600
105
    115200, // 115200
106
    0,      // 230400
107
};
108
 
109
#define UART_BITRATE(n) (((CYGHWR_HAL_POWERPC_BOARD_SPEED*1000000)/16)/n)
110
#define UART_SLOW_BITRATE(n) ((CYGHWR_HAL_POWERPC_BOARD_SPEED*1000000)/n))
111
 
112
#endif // CYGONCE_POWERPC_QUICC_SMC_SERIAL_H

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.