|
@@ -21,6 +21,7 @@
|
|
#define EXIT_KEY 0xAA
|
|
#define EXIT_KEY 0xAA
|
|
#define CHIP_ID1 0x20
|
|
#define CHIP_ID1 0x20
|
|
#define CHIP_ID2 0x21
|
|
#define CHIP_ID2 0x21
|
|
|
|
+#define CHIP_ID_F81865 0x0407
|
|
#define CHIP_ID_F81866 0x1010
|
|
#define CHIP_ID_F81866 0x1010
|
|
#define CHIP_ID_F81216AD 0x1602
|
|
#define CHIP_ID_F81216AD 0x1602
|
|
#define CHIP_ID_F81216H 0x0501
|
|
#define CHIP_ID_F81216H 0x0501
|
|
@@ -130,6 +131,7 @@ static int fintek_8250_check_id(struct fintek_8250 *pdata)
|
|
chip |= sio_read_reg(pdata, CHIP_ID2) << 8;
|
|
chip |= sio_read_reg(pdata, CHIP_ID2) << 8;
|
|
|
|
|
|
switch (chip) {
|
|
switch (chip) {
|
|
|
|
+ case CHIP_ID_F81865:
|
|
case CHIP_ID_F81866:
|
|
case CHIP_ID_F81866:
|
|
case CHIP_ID_F81216AD:
|
|
case CHIP_ID_F81216AD:
|
|
case CHIP_ID_F81216H:
|
|
case CHIP_ID_F81216H:
|
|
@@ -147,6 +149,7 @@ static int fintek_8250_get_ldn_range(struct fintek_8250 *pdata, int *min,
|
|
int *max)
|
|
int *max)
|
|
{
|
|
{
|
|
switch (pdata->pid) {
|
|
switch (pdata->pid) {
|
|
|
|
+ case CHIP_ID_F81865:
|
|
case CHIP_ID_F81866:
|
|
case CHIP_ID_F81866:
|
|
*min = F81866_LDN_LOW;
|
|
*min = F81866_LDN_LOW;
|
|
*max = F81866_LDN_HIGH;
|
|
*max = F81866_LDN_HIGH;
|
|
@@ -219,6 +222,8 @@ static void fintek_8250_set_irq_mode(struct fintek_8250 *pdata, bool is_level)
|
|
case CHIP_ID_F81866:
|
|
case CHIP_ID_F81866:
|
|
sio_write_mask_reg(pdata, F81866_FIFO_CTRL, F81866_IRQ_MODE1,
|
|
sio_write_mask_reg(pdata, F81866_FIFO_CTRL, F81866_IRQ_MODE1,
|
|
0);
|
|
0);
|
|
|
|
+ /* fall through */
|
|
|
|
+ case CHIP_ID_F81865:
|
|
sio_write_mask_reg(pdata, F81866_IRQ_MODE, F81866_IRQ_SHARE,
|
|
sio_write_mask_reg(pdata, F81866_IRQ_MODE, F81866_IRQ_SHARE,
|
|
F81866_IRQ_SHARE);
|
|
F81866_IRQ_SHARE);
|
|
sio_write_mask_reg(pdata, F81866_IRQ_MODE, F81866_IRQ_MODE0,
|
|
sio_write_mask_reg(pdata, F81866_IRQ_MODE, F81866_IRQ_MODE0,
|
|
@@ -311,6 +316,7 @@ static void fintek_8250_set_rs485_handler(struct uart_8250_port *uart)
|
|
case CHIP_ID_F81216AD:
|
|
case CHIP_ID_F81216AD:
|
|
case CHIP_ID_F81216H:
|
|
case CHIP_ID_F81216H:
|
|
case CHIP_ID_F81866:
|
|
case CHIP_ID_F81866:
|
|
|
|
+ case CHIP_ID_F81865:
|
|
uart->port.rs485_config = fintek_8250_rs485_config;
|
|
uart->port.rs485_config = fintek_8250_rs485_config;
|
|
break;
|
|
break;
|
|
|
|
|