/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* drivers/tdm/line_ctrl/slic_ds26522.h
*
* Copyright 2016 Freescale Semiconductor, Inc.
*
* Author: Zhao Qiang <[email protected]>
*/
#define DS26522_RF_ADDR_START 0x00
#define DS26522_RF_ADDR_END 0xef
#define DS26522_GLB_ADDR_START 0xf0
#define DS26522_GLB_ADDR_END 0xff
#define DS26522_TF_ADDR_START 0x100
#define DS26522_TF_ADDR_END 0x1ef
#define DS26522_LIU_ADDR_START 0x1000
#define DS26522_LIU_ADDR_END 0x101f
#define DS26522_TEST_ADDR_START 0x1008
#define DS26522_TEST_ADDR_END 0x101f
#define DS26522_BERT_ADDR_START 0x1100
#define DS26522_BERT_ADDR_END 0x110f
#define DS26522_RMMR_ADDR 0x80
#define DS26522_RCR1_ADDR 0x81
#define DS26522_RCR3_ADDR 0x83
#define DS26522_RIOCR_ADDR 0x84
#define DS26522_GTCR1_ADDR 0xf0
#define DS26522_GFCR_ADDR 0xf1
#define DS26522_GTCR2_ADDR 0xf2
#define DS26522_GTCCR_ADDR 0xf3
#define DS26522_GLSRR_ADDR 0xf5
#define DS26522_GFSRR_ADDR 0xf6
#define DS26522_IDR_ADDR 0xf8
#define DS26522_E1TAF_ADDR 0x164
#define DS26522_E1TNAF_ADDR 0x165
#define DS26522_TMMR_ADDR 0x180
#define DS26522_TCR1_ADDR 0x181
#define DS26522_TIOCR_ADDR 0x184
#define DS26522_LTRCR_ADDR 0x1000
#define DS26522_LTITSR_ADDR 0x1001
#define DS26522_LMCR_ADDR 0x1002
#define DS26522_LRISMR_ADDR 0x1007
#define MAX_NUM_OF_CHANNELS 8
#define PQ_MDS_8E1T1_BRD_REV 0x00
#define PQ_MDS_8E1T1_PLD_REV 0x00
#define DS26522_GTCCR_BPREFSEL_REFCLKIN 0xa0
#define DS26522_GTCCR_BFREQSEL_1544KHZ 0x08
#define DS26522_GTCCR_FREQSEL_1544KHZ 0x04
#define DS26522_GTCCR_BFREQSEL_2048KHZ 0x00
#define DS26522_GTCCR_FREQSEL_2048KHZ 0x00
#define DS26522_GFCR_BPCLK_2048KHZ 0x00
#define DS26522_GTCR2_TSSYNCOUT 0x02
#define DS26522_GTCR1 0x00
#define DS26522_GFSRR_RESET 0x01
#define DS26522_GFSRR_NORMAL 0x00
#define DS26522_GLSRR_RESET 0x01
#define DS26522_GLSRR_NORMAL 0x00
#define DS26522_RMMR_SFTRST 0x02
#define DS26522_RMMR_FRM_EN 0x80
#define DS26522_RMMR_INIT_DONE 0x40
#define DS26522_RMMR_T1 0x00
#define DS26522_RMMR_E1 0x01
#define DS26522_E1TAF_DEFAULT 0x1b
#define DS26522_E1TNAF_DEFAULT 0x40
#define DS26522_TMMR_SFTRST 0x02
#define DS26522_TMMR_FRM_EN 0x80
#define DS26522_TMMR_INIT_DONE 0x40
#define DS26522_TMMR_T1 0x00
#define DS26522_TMMR_E1 0x01
#define DS26522_RCR1_T1_SYNCT 0x80
#define DS26522_RCR1_T1_RB8ZS 0x40
#define DS26522_RCR1_T1_SYNCC 0x08
#define DS26522_RCR1_E1_HDB3 0x40
#define DS26522_RCR1_E1_CCS 0x20
#define DS26522_RIOCR_1544KHZ 0x00
#define DS26522_RIOCR_2048KHZ 0x10
#define DS26522_RIOCR_RSIO_OUT 0x00
#define DS26522_RCR3_FLB 0x01
#define DS26522_TIOCR_1544KHZ 0x00
#define DS26522_TIOCR_2048KHZ 0x10
#define DS26522_TIOCR_TSIO_OUT 0x04
#define DS26522_TCR1_TB8ZS 0x04
#define DS26522_LTRCR_T1 0x02
#define DS26522_LTRCR_E1 0x00
#define DS26522_LTITSR_TLIS_75OHM 0x00
#define DS26522_LTITSR_LBOS_75OHM 0x00
#define DS26522_LTITSR_TLIS_100OHM 0x10
#define DS26522_LTITSR_TLIS_0DB_CSU 0x00
#define DS26522_LRISMR_75OHM 0x00
#define DS26522_LRISMR_100OHM 0x10
#define DS26522_LRISMR_MAX 0x03
#define DS26522_LMCR_TE 0x01
enum line_rate {
LINE_RATE_T1, /* T1 line rate (1.544 Mbps) */
LINE_RATE_E1 /* E1 line rate (2.048 Mbps) */
};
enum tdm_trans_mode {
NORMAL = 0,
FRAMER_LB
};
enum card_support_type {
LM_CARD = 0,
DS26522_CARD,
NO_CARD
};