1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Definitions for the KLSI KL5KUSB105 serial port adapter 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun /* vendor/product pairs that are known to contain this chipset */ 7*4882a593Smuzhiyun #define PALMCONNECT_VID 0x0830 8*4882a593Smuzhiyun #define PALMCONNECT_PID 0x0080 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* Vendor commands: */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* port table -- the chip supports up to 4 channels */ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* baud rates */ 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun enum { 18*4882a593Smuzhiyun kl5kusb105a_sio_b115200 = 0, 19*4882a593Smuzhiyun kl5kusb105a_sio_b57600 = 1, 20*4882a593Smuzhiyun kl5kusb105a_sio_b38400 = 2, 21*4882a593Smuzhiyun kl5kusb105a_sio_b19200 = 4, 22*4882a593Smuzhiyun kl5kusb105a_sio_b14400 = 5, 23*4882a593Smuzhiyun kl5kusb105a_sio_b9600 = 6, 24*4882a593Smuzhiyun kl5kusb105a_sio_b4800 = 8, /* unchecked */ 25*4882a593Smuzhiyun kl5kusb105a_sio_b2400 = 9, /* unchecked */ 26*4882a593Smuzhiyun kl5kusb105a_sio_b1200 = 0xa, /* unchecked */ 27*4882a593Smuzhiyun kl5kusb105a_sio_b600 = 0xb /* unchecked */ 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun /* data bits */ 31*4882a593Smuzhiyun #define kl5kusb105a_dtb_7 7 32*4882a593Smuzhiyun #define kl5kusb105a_dtb_8 8 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun /* requests: */ 37*4882a593Smuzhiyun #define KL5KUSB105A_SIO_SET_DATA 1 38*4882a593Smuzhiyun #define KL5KUSB105A_SIO_POLL 2 39*4882a593Smuzhiyun #define KL5KUSB105A_SIO_CONFIGURE 3 40*4882a593Smuzhiyun /* values used for request KL5KUSB105A_SIO_CONFIGURE */ 41*4882a593Smuzhiyun #define KL5KUSB105A_SIO_CONFIGURE_READ_ON 3 42*4882a593Smuzhiyun #define KL5KUSB105A_SIO_CONFIGURE_READ_OFF 2 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* Interpretation of modem status lines */ 45*4882a593Smuzhiyun /* These need sorting out by individually connecting pins and checking 46*4882a593Smuzhiyun * results. FIXME! 47*4882a593Smuzhiyun * When data is being sent we see 0x30 in the lower byte; this must 48*4882a593Smuzhiyun * contain DSR and CTS ... 49*4882a593Smuzhiyun */ 50*4882a593Smuzhiyun #define KL5KUSB105A_DSR ((1<<4) | (1<<5)) 51*4882a593Smuzhiyun #define KL5KUSB105A_CTS ((1<<5) | (1<<4)) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun #define KL5KUSB105A_WANTS_TO_SEND 0x30 54*4882a593Smuzhiyun #if 0 55*4882a593Smuzhiyun #define KL5KUSB105A_DTR /* Data Terminal Ready */ 56*4882a593Smuzhiyun #define KL5KUSB105A_CTS /* Clear To Send */ 57*4882a593Smuzhiyun #define KL5KUSB105A_CD /* Carrier Detect */ 58*4882a593Smuzhiyun #define KL5KUSB105A_DSR /* Data Set Ready */ 59*4882a593Smuzhiyun #define KL5KUSB105A_RxD /* Receive pin */ 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun #define KL5KUSB105A_LE 62*4882a593Smuzhiyun #define KL5KUSB105A_RTS 63*4882a593Smuzhiyun #define KL5KUSB105A_ST 64*4882a593Smuzhiyun #define KL5KUSB105A_SR 65*4882a593Smuzhiyun #define KL5KUSB105A_RI /* Ring Indicator */ 66*4882a593Smuzhiyun #endif 67