162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Definitions for the KLSI KL5KUSB105 serial port adapter
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/* vendor/product pairs that are known to contain this chipset */
762306a36Sopenharmony_ci#define PALMCONNECT_VID		0x0830
862306a36Sopenharmony_ci#define PALMCONNECT_PID		0x0080
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/* Vendor commands: */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/* port table -- the chip supports up to 4 channels */
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/* baud rates */
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cienum {
1862306a36Sopenharmony_ci	kl5kusb105a_sio_b115200 = 0,
1962306a36Sopenharmony_ci	kl5kusb105a_sio_b57600  = 1,
2062306a36Sopenharmony_ci	kl5kusb105a_sio_b38400  = 2,
2162306a36Sopenharmony_ci	kl5kusb105a_sio_b19200  = 4,
2262306a36Sopenharmony_ci	kl5kusb105a_sio_b14400  = 5,
2362306a36Sopenharmony_ci	kl5kusb105a_sio_b9600   = 6,
2462306a36Sopenharmony_ci	kl5kusb105a_sio_b4800   = 8,	/* unchecked */
2562306a36Sopenharmony_ci	kl5kusb105a_sio_b2400   = 9,	/* unchecked */
2662306a36Sopenharmony_ci	kl5kusb105a_sio_b1200   = 0xa,	/* unchecked */
2762306a36Sopenharmony_ci	kl5kusb105a_sio_b600    = 0xb	/* unchecked */
2862306a36Sopenharmony_ci};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci/* data bits */
3162306a36Sopenharmony_ci#define kl5kusb105a_dtb_7   7
3262306a36Sopenharmony_ci#define kl5kusb105a_dtb_8   8
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci/* requests: */
3762306a36Sopenharmony_ci#define KL5KUSB105A_SIO_SET_DATA  1
3862306a36Sopenharmony_ci#define KL5KUSB105A_SIO_POLL      2
3962306a36Sopenharmony_ci#define KL5KUSB105A_SIO_CONFIGURE      3
4062306a36Sopenharmony_ci/* values used for request KL5KUSB105A_SIO_CONFIGURE */
4162306a36Sopenharmony_ci#define KL5KUSB105A_SIO_CONFIGURE_READ_ON      3
4262306a36Sopenharmony_ci#define KL5KUSB105A_SIO_CONFIGURE_READ_OFF     2
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci/* Interpretation of modem status lines */
4562306a36Sopenharmony_ci/* These need sorting out by individually connecting pins and checking
4662306a36Sopenharmony_ci * results. FIXME!
4762306a36Sopenharmony_ci * When data is being sent we see 0x30 in the lower byte; this must
4862306a36Sopenharmony_ci * contain DSR and CTS ...
4962306a36Sopenharmony_ci */
5062306a36Sopenharmony_ci#define KL5KUSB105A_DSR			((1<<4) | (1<<5))
5162306a36Sopenharmony_ci#define KL5KUSB105A_CTS			((1<<5) | (1<<4))
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci#define KL5KUSB105A_WANTS_TO_SEND	0x30
5462306a36Sopenharmony_ci#if 0
5562306a36Sopenharmony_ci#define KL5KUSB105A_DTR			/* Data Terminal Ready */
5662306a36Sopenharmony_ci#define KL5KUSB105A_CTS			/* Clear To Send */
5762306a36Sopenharmony_ci#define KL5KUSB105A_CD			/* Carrier Detect */
5862306a36Sopenharmony_ci#define KL5KUSB105A_DSR			/* Data Set Ready */
5962306a36Sopenharmony_ci#define KL5KUSB105A_RxD			/* Receive pin */
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci#define KL5KUSB105A_LE
6262306a36Sopenharmony_ci#define KL5KUSB105A_RTS
6362306a36Sopenharmony_ci#define KL5KUSB105A_ST
6462306a36Sopenharmony_ci#define KL5KUSB105A_SR
6562306a36Sopenharmony_ci#define KL5KUSB105A_RI			/* Ring Indicator */
6662306a36Sopenharmony_ci#endif
67