diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/pti.h | 42 | ||||
| -rw-r--r-- | include/linux/serial_core.h | 6 | ||||
| -rw-r--r-- | include/linux/serial_reg.h | 2 | ||||
| -rw-r--r-- | include/linux/tty.h | 4 | ||||
| -rw-r--r-- | include/linux/tty_ldisc.h | 9 |
5 files changed, 58 insertions, 5 deletions
diff --git a/include/linux/pti.h b/include/linux/pti.h new file mode 100644 index 000000000000..81af667bb2d5 --- /dev/null +++ b/include/linux/pti.h | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) Intel 2011 | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 14 | * | ||
| 15 | * The PTI (Parallel Trace Interface) driver directs trace data routed from | ||
| 16 | * various parts in the system out through the Intel Penwell PTI port and | ||
| 17 | * out of the mobile device for analysis with a debugging tool | ||
| 18 | * (Lauterbach, Fido). This is part of a solution for the MIPI P1149.7, | ||
| 19 | * compact JTAG, standard. | ||
| 20 | * | ||
| 21 | * This header file will allow other parts of the OS to use the | ||
| 22 | * interface to write out it's contents for debugging a mobile system. | ||
| 23 | */ | ||
| 24 | |||
| 25 | #ifndef PTI_H_ | ||
| 26 | #define PTI_H_ | ||
| 27 | |||
| 28 | /* offset for last dword of any PTI message. Part of MIPI P1149.7 */ | ||
| 29 | #define PTI_LASTDWORD_DTS 0x30 | ||
| 30 | |||
| 31 | /* basic structure used as a write address to the PTI HW */ | ||
| 32 | struct pti_masterchannel { | ||
| 33 | u8 master; | ||
| 34 | u8 channel; | ||
| 35 | }; | ||
| 36 | |||
| 37 | /* the following functions are defined in misc/pti.c */ | ||
| 38 | void pti_writedata(struct pti_masterchannel *mc, u8 *buf, int count); | ||
| 39 | struct pti_masterchannel *pti_request_masterchannel(u8 type); | ||
| 40 | void pti_release_masterchannel(struct pti_masterchannel *mc); | ||
| 41 | |||
| 42 | #endif /*PTI_H_*/ | ||
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 758c5b0c6fd3..a5c31146a337 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
| @@ -45,7 +45,8 @@ | |||
| 45 | #define PORT_OCTEON 17 /* Cavium OCTEON internal UART */ | 45 | #define PORT_OCTEON 17 /* Cavium OCTEON internal UART */ |
| 46 | #define PORT_AR7 18 /* Texas Instruments AR7 internal UART */ | 46 | #define PORT_AR7 18 /* Texas Instruments AR7 internal UART */ |
| 47 | #define PORT_U6_16550A 19 /* ST-Ericsson U6xxx internal UART */ | 47 | #define PORT_U6_16550A 19 /* ST-Ericsson U6xxx internal UART */ |
| 48 | #define PORT_MAX_8250 19 /* max port ID */ | 48 | #define PORT_TEGRA 20 /* NVIDIA Tegra internal UART */ |
| 49 | #define PORT_MAX_8250 20 /* max port ID */ | ||
| 49 | 50 | ||
| 50 | /* | 51 | /* |
| 51 | * ARM specific type numbers. These are not currently guaranteed | 52 | * ARM specific type numbers. These are not currently guaranteed |
| @@ -202,6 +203,9 @@ | |||
| 202 | /* VIA VT8500 SoC */ | 203 | /* VIA VT8500 SoC */ |
| 203 | #define PORT_VT8500 97 | 204 | #define PORT_VT8500 97 |
| 204 | 205 | ||
| 206 | /* Xilinx PSS UART */ | ||
| 207 | #define PORT_XUARTPS 98 | ||
| 208 | |||
| 205 | #ifdef __KERNEL__ | 209 | #ifdef __KERNEL__ |
| 206 | 210 | ||
| 207 | #include <linux/compiler.h> | 211 | #include <linux/compiler.h> |
diff --git a/include/linux/serial_reg.h b/include/linux/serial_reg.h index 3ecb71a9e505..c75bda37c18e 100644 --- a/include/linux/serial_reg.h +++ b/include/linux/serial_reg.h | |||
| @@ -57,6 +57,7 @@ | |||
| 57 | * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654 | 57 | * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654 |
| 58 | * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750 | 58 | * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750 |
| 59 | * TI16C752: 8 16 56 60 8 16 32 56 | 59 | * TI16C752: 8 16 56 60 8 16 32 56 |
| 60 | * Tegra: 1 4 8 14 16 8 4 1 PORT_TEGRA | ||
| 60 | */ | 61 | */ |
| 61 | #define UART_FCR_R_TRIG_00 0x00 | 62 | #define UART_FCR_R_TRIG_00 0x00 |
| 62 | #define UART_FCR_R_TRIG_01 0x40 | 63 | #define UART_FCR_R_TRIG_01 0x40 |
| @@ -118,6 +119,7 @@ | |||
| 118 | #define UART_MCR_DTR 0x01 /* DTR complement */ | 119 | #define UART_MCR_DTR 0x01 /* DTR complement */ |
| 119 | 120 | ||
| 120 | #define UART_LSR 5 /* In: Line Status Register */ | 121 | #define UART_LSR 5 /* In: Line Status Register */ |
| 122 | #define UART_LSR_FIFOE 0x80 /* Fifo error */ | ||
| 121 | #define UART_LSR_TEMT 0x40 /* Transmitter empty */ | 123 | #define UART_LSR_TEMT 0x40 /* Transmitter empty */ |
| 122 | #define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ | 124 | #define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */ |
| 123 | #define UART_LSR_BI 0x10 /* Break interrupt indicator */ | 125 | #define UART_LSR_BI 0x10 /* Break interrupt indicator */ |
diff --git a/include/linux/tty.h b/include/linux/tty.h index 9f469c700550..d6f05292e456 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
| @@ -50,6 +50,8 @@ | |||
| 50 | #define N_CAIF 20 /* CAIF protocol for talking to modems */ | 50 | #define N_CAIF 20 /* CAIF protocol for talking to modems */ |
| 51 | #define N_GSM0710 21 /* GSM 0710 Mux */ | 51 | #define N_GSM0710 21 /* GSM 0710 Mux */ |
| 52 | #define N_TI_WL 22 /* for TI's WL BT, FM, GPS combo chips */ | 52 | #define N_TI_WL 22 /* for TI's WL BT, FM, GPS combo chips */ |
| 53 | #define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */ | ||
| 54 | #define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */ | ||
| 53 | 55 | ||
| 54 | /* | 56 | /* |
| 55 | * This character is the same as _POSIX_VDISABLE: it cannot be used as | 57 | * This character is the same as _POSIX_VDISABLE: it cannot be used as |
| @@ -472,6 +474,7 @@ extern int tty_add_file(struct tty_struct *tty, struct file *file); | |||
| 472 | extern void free_tty_struct(struct tty_struct *tty); | 474 | extern void free_tty_struct(struct tty_struct *tty); |
| 473 | extern void initialize_tty_struct(struct tty_struct *tty, | 475 | extern void initialize_tty_struct(struct tty_struct *tty, |
| 474 | struct tty_driver *driver, int idx); | 476 | struct tty_driver *driver, int idx); |
| 477 | extern void deinitialize_tty_struct(struct tty_struct *tty); | ||
| 475 | extern struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx, | 478 | extern struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx, |
| 476 | int first_ok); | 479 | int first_ok); |
| 477 | extern int tty_release(struct inode *inode, struct file *filp); | 480 | extern int tty_release(struct inode *inode, struct file *filp); |
| @@ -525,6 +528,7 @@ extern int tty_set_ldisc(struct tty_struct *tty, int ldisc); | |||
| 525 | extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); | 528 | extern int tty_ldisc_setup(struct tty_struct *tty, struct tty_struct *o_tty); |
| 526 | extern void tty_ldisc_release(struct tty_struct *tty, struct tty_struct *o_tty); | 529 | extern void tty_ldisc_release(struct tty_struct *tty, struct tty_struct *o_tty); |
| 527 | extern void tty_ldisc_init(struct tty_struct *tty); | 530 | extern void tty_ldisc_init(struct tty_struct *tty); |
| 531 | extern void tty_ldisc_deinit(struct tty_struct *tty); | ||
| 528 | extern void tty_ldisc_begin(void); | 532 | extern void tty_ldisc_begin(void); |
| 529 | /* This last one is just for the tty layer internals and shouldn't be used elsewhere */ | 533 | /* This last one is just for the tty layer internals and shouldn't be used elsewhere */ |
| 530 | extern void tty_ldisc_enable(struct tty_struct *tty); | 534 | extern void tty_ldisc_enable(struct tty_struct *tty); |
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h index ff7dc08696a8..5b07792ccb46 100644 --- a/include/linux/tty_ldisc.h +++ b/include/linux/tty_ldisc.h | |||
| @@ -76,7 +76,7 @@ | |||
| 76 | * tty device. It is solely the responsibility of the line | 76 | * tty device. It is solely the responsibility of the line |
| 77 | * discipline to handle poll requests. | 77 | * discipline to handle poll requests. |
| 78 | * | 78 | * |
| 79 | * void (*receive_buf)(struct tty_struct *, const unsigned char *cp, | 79 | * unsigned int (*receive_buf)(struct tty_struct *, const unsigned char *cp, |
| 80 | * char *fp, int count); | 80 | * char *fp, int count); |
| 81 | * | 81 | * |
| 82 | * This function is called by the low-level tty driver to send | 82 | * This function is called by the low-level tty driver to send |
| @@ -84,7 +84,8 @@ | |||
| 84 | * processing. <cp> is a pointer to the buffer of input | 84 | * processing. <cp> is a pointer to the buffer of input |
| 85 | * character received by the device. <fp> is a pointer to a | 85 | * character received by the device. <fp> is a pointer to a |
| 86 | * pointer of flag bytes which indicate whether a character was | 86 | * pointer of flag bytes which indicate whether a character was |
| 87 | * received with a parity error, etc. | 87 | * received with a parity error, etc. Returns the amount of bytes |
| 88 | * received. | ||
| 88 | * | 89 | * |
| 89 | * void (*write_wakeup)(struct tty_struct *); | 90 | * void (*write_wakeup)(struct tty_struct *); |
| 90 | * | 91 | * |
| @@ -140,8 +141,8 @@ struct tty_ldisc_ops { | |||
| 140 | /* | 141 | /* |
| 141 | * The following routines are called from below. | 142 | * The following routines are called from below. |
| 142 | */ | 143 | */ |
| 143 | void (*receive_buf)(struct tty_struct *, const unsigned char *cp, | 144 | unsigned int (*receive_buf)(struct tty_struct *, |
| 144 | char *fp, int count); | 145 | const unsigned char *cp, char *fp, int count); |
| 145 | void (*write_wakeup)(struct tty_struct *); | 146 | void (*write_wakeup)(struct tty_struct *); |
| 146 | void (*dcd_change)(struct tty_struct *, unsigned int, | 147 | void (*dcd_change)(struct tty_struct *, unsigned int, |
| 147 | struct pps_event_time *); | 148 | struct pps_event_time *); |
