51 lines
1.7 KiB
C
51 lines
1.7 KiB
C
#ifndef _MTK_BSI_H
|
|
#define _MTK_BSI_H
|
|
|
|
/* MTK Baseband Serial Interface */
|
|
|
|
#define BSI_CON (MTK_BSI_BASE + 0x0000)
|
|
#define BSI_D0_CON (MTK_BSI_BASE + 0x0004)
|
|
#define BSI_D0_DAT (MTK_BSI_BASE + 0x0008)
|
|
#define BSI_D40_CON (MTK_BSI_BASE + 0x0144)
|
|
#define BSI_D40_DAT2 (MTK_BSI_BASE + 0x0148)
|
|
#define BSI_D40_DAT1 (MTK_BSI_BASE + 0x014C)
|
|
#define BSI_D40_DAT0 (MTK_BSI_BASE + 0x0150)
|
|
#define BSI_ENA_0 (MTK_BSI_BASE + 0x0190)
|
|
#define BSI_ENA_1 (MTK_BSI_BASE + 0x0194)
|
|
#define BSI_IO_CON (MTK_BSI_BASE + 0x0198)
|
|
#define BSI_DOUT (MTK_BSI_BASE + 0x019c)
|
|
#define BSI_DIN (MTK_BSI_BASE + 0x01a0)
|
|
#define BSI_PAIR_NUM (MTK_BSI_BASE + 0x01a4)
|
|
|
|
/* Compute offset of BSI_D0_CON / BSI_D0_DAT registers */
|
|
#define BSI_Dn_32BIT_CON(x) (BSI_D0_CON + (x * 8))
|
|
#define BSI_Dn_32BIT_DAT(x) (BSI_D0_DAT + (x * 8))
|
|
#define BSI_Dn_78BIT_CON(x) (BSI_D40_CON + (x * 16))
|
|
#define BSI_Dn_78BIT_DAT0(x) (BSI_D40_DAT0 + (x * 16))
|
|
#define BSI_Dn_78BIT_DAT1(x) (BSI_D40_DAT1 + (x * 16))
|
|
#define BSI_Dn_78BIT_DAT2(x) (BSI_D40_DAT2 + (x * 16))
|
|
|
|
/* MT6235 Section 9.1.1 */
|
|
#define BSI_CON_CLK_POL_INV (1 << 0)
|
|
#define BSI_CON_CLK_SPD_52_2 (0 << 1) /* 26 MHz */
|
|
#define BSI_CON_CLK_SPD_52_4 (1 << 1) /* 13 MHz */
|
|
#define BSI_CON_CLK_SPD_52_6 (2 << 1) /* 8.67 MHz */
|
|
#define BSI_CON_CLK_SPD_52_8 (3 << 1) /* 6.50 MHz */
|
|
#define BSI_CON_IMOD (1 << 3)
|
|
#define BSI_CON_EN0_LEN_SHORT (1 << 4)
|
|
#define BSI_CON_EN0_POL_INV (1 << 5)
|
|
#define BSI_CON_EN1_LEN_SHORT (1 << 6)
|
|
#define BSI_CON_EN1_POL_INV (1 << 7)
|
|
#define BSI_CON_SETENV (1 << 8)
|
|
|
|
/* how the length is encoded in BSI_Dn_CON */
|
|
#define BSI_Dn_LEN(n) (((n-1) & 0x7f) << 8)
|
|
#define BSI_Dn_ISB 0x8000 /* select device 1 */
|
|
|
|
/* Immediate download EVENT ID */
|
|
#define BSI_EVENT_ID_IMMEDIATE 0x1F
|
|
|
|
#define BSI_EVENT_ID(n) (n)
|
|
|
|
#endif /* _MTK_BSI_H */
|