blob: 22aa0ecbd9fdf24f46fc2180bcc53a4ba177ed35 [file] [log] [blame]
Zhao Qiangc37d4a02016-06-27 09:30:22 +08001/*
2 * drivers/tdm/line_ctrl/slic_ds26522.h
3 *
4 * Copyright 2016 Freescale Semiconductor, Inc.
5 *
6 * Author: Zhao Qiang <B45475@freescale.com>
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation; either version 2 of the License, or (at your
11 * option) any later version.
12 */
13
14#define DS26522_RF_ADDR_START 0x00
15#define DS26522_RF_ADDR_END 0xef
16#define DS26522_GLB_ADDR_START 0xf0
17#define DS26522_GLB_ADDR_END 0xff
18#define DS26522_TF_ADDR_START 0x100
19#define DS26522_TF_ADDR_END 0x1ef
20#define DS26522_LIU_ADDR_START 0x1000
21#define DS26522_LIU_ADDR_END 0x101f
22#define DS26522_TEST_ADDR_START 0x1008
23#define DS26522_TEST_ADDR_END 0x101f
24#define DS26522_BERT_ADDR_START 0x1100
25#define DS26522_BERT_ADDR_END 0x110f
26
27#define DS26522_RMMR_ADDR 0x80
28#define DS26522_RCR1_ADDR 0x81
29#define DS26522_RCR3_ADDR 0x83
30#define DS26522_RIOCR_ADDR 0x84
31
32#define DS26522_GTCR1_ADDR 0xf0
33#define DS26522_GFCR_ADDR 0xf1
34#define DS26522_GTCR2_ADDR 0xf2
35#define DS26522_GTCCR_ADDR 0xf3
36#define DS26522_GLSRR_ADDR 0xf5
37#define DS26522_GFSRR_ADDR 0xf6
38#define DS26522_IDR_ADDR 0xf8
39
40#define DS26522_E1TAF_ADDR 0x164
41#define DS26522_E1TNAF_ADDR 0x165
42#define DS26522_TMMR_ADDR 0x180
43#define DS26522_TCR1_ADDR 0x181
44#define DS26522_TIOCR_ADDR 0x184
45
46#define DS26522_LTRCR_ADDR 0x1000
47#define DS26522_LTITSR_ADDR 0x1001
48#define DS26522_LMCR_ADDR 0x1002
49#define DS26522_LRISMR_ADDR 0x1007
50
51#define MAX_NUM_OF_CHANNELS 8
52#define PQ_MDS_8E1T1_BRD_REV 0x00
53#define PQ_MDS_8E1T1_PLD_REV 0x00
54
55#define DS26522_GTCCR_BPREFSEL_REFCLKIN 0xa0
56#define DS26522_GTCCR_BFREQSEL_1544KHZ 0x08
57#define DS26522_GTCCR_FREQSEL_1544KHZ 0x04
58#define DS26522_GTCCR_BFREQSEL_2048KHZ 0x00
59#define DS26522_GTCCR_FREQSEL_2048KHZ 0x00
60
61#define DS26522_GFCR_BPCLK_2048KHZ 0x00
62
63#define DS26522_GTCR2_TSSYNCOUT 0x02
64#define DS26522_GTCR1 0x00
65
66#define DS26522_GFSRR_RESET 0x01
67#define DS26522_GFSRR_NORMAL 0x00
68
69#define DS26522_GLSRR_RESET 0x01
70#define DS26522_GLSRR_NORMAL 0x00
71
72#define DS26522_RMMR_SFTRST 0x02
73#define DS26522_RMMR_FRM_EN 0x80
74#define DS26522_RMMR_INIT_DONE 0x40
75#define DS26522_RMMR_T1 0x00
76#define DS26522_RMMR_E1 0x01
77
78#define DS26522_E1TAF_DEFAULT 0x1b
79#define DS26522_E1TNAF_DEFAULT 0x40
80
81#define DS26522_TMMR_SFTRST 0x02
82#define DS26522_TMMR_FRM_EN 0x80
83#define DS26522_TMMR_INIT_DONE 0x40
84#define DS26522_TMMR_T1 0x00
85#define DS26522_TMMR_E1 0x01
86
87#define DS26522_RCR1_T1_SYNCT 0x80
88#define DS26522_RCR1_T1_RB8ZS 0x40
89#define DS26522_RCR1_T1_SYNCC 0x08
90
91#define DS26522_RCR1_E1_HDB3 0x40
92#define DS26522_RCR1_E1_CCS 0x20
93
94#define DS26522_RIOCR_1544KHZ 0x00
95#define DS26522_RIOCR_2048KHZ 0x10
96#define DS26522_RIOCR_RSIO_OUT 0x00
97
98#define DS26522_RCR3_FLB 0x01
99
100#define DS26522_TIOCR_1544KHZ 0x00
101#define DS26522_TIOCR_2048KHZ 0x10
102#define DS26522_TIOCR_TSIO_OUT 0x04
103
104#define DS26522_TCR1_TB8ZS 0x04
105
106#define DS26522_LTRCR_T1 0x02
107#define DS26522_LTRCR_E1 0x00
108
109#define DS26522_LTITSR_TLIS_75OHM 0x00
110#define DS26522_LTITSR_LBOS_75OHM 0x00
111#define DS26522_LTITSR_TLIS_100OHM 0x10
112#define DS26522_LTITSR_TLIS_0DB_CSU 0x00
113
114#define DS26522_LRISMR_75OHM 0x00
115#define DS26522_LRISMR_100OHM 0x10
116#define DS26522_LRISMR_MAX 0x03
117
118#define DS26522_LMCR_TE 0x01
119
120enum line_rate {
121 LINE_RATE_T1, /* T1 line rate (1.544 Mbps) */
122 LINE_RATE_E1 /* E1 line rate (2.048 Mbps) */
123};
124
125enum tdm_trans_mode {
126 NORMAL = 0,
127 FRAMER_LB
128};
129
130enum card_support_type {
131 LM_CARD = 0,
132 DS26522_CARD,
133 NO_CARD
134};