uboot-mt623x/arch/arm/include/asm/arch-mtk/bsi.h

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 */