diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-16 18:11:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-16 18:11:04 -0400 |
commit | e6bee325e49f17c65c1fd66e9e8b348c85788341 (patch) | |
tree | bcc9e5d8e82efa9009edd481a837cc3626360091 /drivers/misc/pch_phub.c | |
parent | a5e6b135bdff649e4330f98e2e80dbb1984f7e77 (diff) | |
parent | 6ae705b23be8da52d3163be9d81e9b767876aaf9 (diff) |
Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
* 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (76 commits)
pch_uart: reference clock on CM-iTC
pch_phub: add new device ML7213
n_gsm: fix UIH control byte : P bit should be 0
n_gsm: add a documentation
serial: msm_serial_hs: Add MSM high speed UART driver
tty_audit: fix tty_audit_add_data live lock on audit disabled
tty: move cd1865.h to drivers/staging/tty/
Staging: tty: fix build with epca.c driver
pcmcia: synclink_cs: fix prototype for mgslpc_ioctl()
Staging: generic_serial: fix double locking bug
nozomi: don't use flush_scheduled_work()
tty/serial: Relax the device_type restriction from of_serial
MAINTAINERS: Update HVC file patterns
tty: phase out of ioctl file pointer for tty3270 as well
tty: forgot to remove ipwireless from drivers/char/pcmcia/Makefile
pch_uart: Fix DMA channel miss-setting issue.
pch_uart: fix exclusive access issue
pch_uart: fix auto flow control miss-setting issue
pch_uart: fix uart clock setting issue
pch_uart : Use dev_xxx not pr_xxx
...
Fix up trivial conflicts in drivers/misc/pch_phub.c (same patch applied
twice, then changes to the same area in one branch)
Diffstat (limited to 'drivers/misc/pch_phub.c')
-rw-r--r-- | drivers/misc/pch_phub.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/misc/pch_phub.c b/drivers/misc/pch_phub.c index 98bffc471b17..380ba806495d 100644 --- a/drivers/misc/pch_phub.c +++ b/drivers/misc/pch_phub.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/mutex.h> | 27 | #include <linux/mutex.h> |
28 | #include <linux/if_ether.h> | 28 | #include <linux/if_ether.h> |
29 | #include <linux/ctype.h> | 29 | #include <linux/ctype.h> |
30 | #include <linux/dmi.h> | ||
30 | 31 | ||
31 | #define PHUB_STATUS 0x00 /* Status Register offset */ | 32 | #define PHUB_STATUS 0x00 /* Status Register offset */ |
32 | #define PHUB_CONTROL 0x04 /* Control Register offset */ | 33 | #define PHUB_CONTROL 0x04 /* Control Register offset */ |
@@ -46,6 +47,17 @@ | |||
46 | #define PCH_MINOR_NOS 1 | 47 | #define PCH_MINOR_NOS 1 |
47 | #define CLKCFG_CAN_50MHZ 0x12000000 | 48 | #define CLKCFG_CAN_50MHZ 0x12000000 |
48 | #define CLKCFG_CANCLK_MASK 0xFF000000 | 49 | #define CLKCFG_CANCLK_MASK 0xFF000000 |
50 | #define CLKCFG_UART_MASK 0xFFFFFF | ||
51 | |||
52 | /* CM-iTC */ | ||
53 | #define CLKCFG_UART_48MHZ (1 << 16) | ||
54 | #define CLKCFG_BAUDDIV (2 << 20) | ||
55 | #define CLKCFG_PLL2VCO (8 << 9) | ||
56 | #define CLKCFG_UARTCLKSEL (1 << 18) | ||
57 | |||
58 | /* Macros for ML7213 */ | ||
59 | #define PCI_VENDOR_ID_ROHM 0x10db | ||
60 | #define PCI_DEVICE_ID_ROHM_ML7213_PHUB 0x801A | ||
49 | 61 | ||
50 | /* Macros for ML7213 */ | 62 | /* Macros for ML7213 */ |
51 | #define PCI_VENDOR_ID_ROHM 0x10db | 63 | #define PCI_VENDOR_ID_ROHM 0x10db |
@@ -618,6 +630,14 @@ static int __devinit pch_phub_probe(struct pci_dev *pdev, | |||
618 | CLKCFG_CAN_50MHZ, | 630 | CLKCFG_CAN_50MHZ, |
619 | CLKCFG_CANCLK_MASK); | 631 | CLKCFG_CANCLK_MASK); |
620 | 632 | ||
633 | /* quirk for CM-iTC board */ | ||
634 | if (strstr(dmi_get_system_info(DMI_BOARD_NAME), "CM-iTC")) | ||
635 | pch_phub_read_modify_write_reg(chip, | ||
636 | (unsigned int)CLKCFG_REG_OFFSET, | ||
637 | CLKCFG_UART_48MHZ | CLKCFG_BAUDDIV | | ||
638 | CLKCFG_PLL2VCO | CLKCFG_UARTCLKSEL, | ||
639 | CLKCFG_UART_MASK); | ||
640 | |||
621 | /* set the prefech value */ | 641 | /* set the prefech value */ |
622 | iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14); | 642 | iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14); |
623 | /* set the interrupt delay value */ | 643 | /* set the interrupt delay value */ |