|
|
@ -45,15 +45,15 @@ struct NS16550 { |
|
|
|
} __attribute__ ((packed)); |
|
|
|
} __attribute__ ((packed)); |
|
|
|
#elif (CFG_NS16550_REG_SIZE == 4) |
|
|
|
#elif (CFG_NS16550_REG_SIZE == 4) |
|
|
|
struct NS16550 { |
|
|
|
struct NS16550 { |
|
|
|
unsigned long rbr; /* 0 */ |
|
|
|
unsigned long rbr; /* 0 r */ |
|
|
|
unsigned long ier; /* 1 */ |
|
|
|
unsigned long ier; /* 1 rw */ |
|
|
|
unsigned long fcr; /* 2 */ |
|
|
|
unsigned long fcr; /* 2 w */ |
|
|
|
unsigned long lcr; /* 3 */ |
|
|
|
unsigned long lcr; /* 3 rw */ |
|
|
|
unsigned long mcr; /* 4 */ |
|
|
|
unsigned long mcr; /* 4 rw */ |
|
|
|
unsigned long lsr; /* 5 */ |
|
|
|
unsigned long lsr; /* 5 r */ |
|
|
|
unsigned long msr; /* 6 */ |
|
|
|
unsigned long msr; /* 6 r */ |
|
|
|
unsigned long scr; /* 7 */ |
|
|
|
unsigned long scr; /* 7 rw */ |
|
|
|
} __attribute__ ((packed)); |
|
|
|
}; /* No need to pack an already aligned struct */ |
|
|
|
#elif (CFG_NS16550_REG_SIZE == -4) |
|
|
|
#elif (CFG_NS16550_REG_SIZE == -4) |
|
|
|
struct NS16550 { |
|
|
|
struct NS16550 { |
|
|
|
unsigned char rbr; /* 0 */ |
|
|
|
unsigned char rbr; /* 0 */ |
|
|
@ -102,7 +102,7 @@ typedef volatile struct NS16550 *NS16550_t; |
|
|
|
#define MCR_DMA_EN 0x04 |
|
|
|
#define MCR_DMA_EN 0x04 |
|
|
|
#define MCR_TX_DFR 0x08 |
|
|
|
#define MCR_TX_DFR 0x08 |
|
|
|
|
|
|
|
|
|
|
|
#define LCR_WLS_MSK 0x03 /* character length slect mask */ |
|
|
|
#define LCR_WLS_MSK 0x03 /* character length select mask */ |
|
|
|
#define LCR_WLS_5 0x00 /* 5 bit character length */ |
|
|
|
#define LCR_WLS_5 0x00 /* 5 bit character length */ |
|
|
|
#define LCR_WLS_6 0x01 /* 6 bit character length */ |
|
|
|
#define LCR_WLS_6 0x01 /* 6 bit character length */ |
|
|
|
#define LCR_WLS_7 0x02 /* 7 bit character length */ |
|
|
|
#define LCR_WLS_7 0x02 /* 7 bit character length */ |
|
|
|