0001
0002
0003
0004
0005
0006
0007 #ifndef DRIVERS_GPU_DRM_INGENIC_INGENIC_IPU_H
0008 #define DRIVERS_GPU_DRM_INGENIC_INGENIC_IPU_H
0009
0010 #include <linux/bitops.h>
0011
0012 #define JZ_REG_IPU_CTRL 0x00
0013 #define JZ_REG_IPU_STATUS 0x04
0014 #define JZ_REG_IPU_D_FMT 0x08
0015 #define JZ_REG_IPU_Y_ADDR 0x0c
0016 #define JZ_REG_IPU_U_ADDR 0x10
0017 #define JZ_REG_IPU_V_ADDR 0x14
0018 #define JZ_REG_IPU_IN_GS 0x18
0019 #define JZ_REG_IPU_Y_STRIDE 0x1c
0020 #define JZ_REG_IPU_UV_STRIDE 0x20
0021 #define JZ_REG_IPU_OUT_ADDR 0x24
0022 #define JZ_REG_IPU_OUT_GS 0x28
0023 #define JZ_REG_IPU_OUT_STRIDE 0x2c
0024 #define JZ_REG_IPU_RSZ_COEF_INDEX 0x30
0025 #define JZ_REG_IPU_CSC_C0_COEF 0x34
0026 #define JZ_REG_IPU_CSC_C1_COEF 0x38
0027 #define JZ_REG_IPU_CSC_C2_COEF 0x3c
0028 #define JZ_REG_IPU_CSC_C3_COEF 0x40
0029 #define JZ_REG_IPU_CSC_C4_COEF 0x44
0030 #define JZ_REG_IPU_HRSZ_COEF_LUT 0x48
0031 #define JZ_REG_IPU_VRSZ_COEF_LUT 0x4c
0032 #define JZ_REG_IPU_CSC_OFFSET 0x50
0033 #define JZ_REG_IPU_Y_PHY_T_ADDR 0x54
0034 #define JZ_REG_IPU_U_PHY_T_ADDR 0x58
0035 #define JZ_REG_IPU_V_PHY_T_ADDR 0x5c
0036 #define JZ_REG_IPU_OUT_PHY_T_ADDR 0x60
0037
0038 #define JZ_IPU_CTRL_ADDR_SEL BIT(20)
0039 #define JZ_IPU_CTRL_ZOOM_SEL BIT(18)
0040 #define JZ_IPU_CTRL_DFIX_SEL BIT(17)
0041 #define JZ_IPU_CTRL_LCDC_SEL BIT(11)
0042 #define JZ_IPU_CTRL_SPKG_SEL BIT(10)
0043 #define JZ_IPU_CTRL_VSCALE BIT(9)
0044 #define JZ_IPU_CTRL_HSCALE BIT(8)
0045 #define JZ_IPU_CTRL_STOP BIT(7)
0046 #define JZ_IPU_CTRL_RST BIT(6)
0047 #define JZ_IPU_CTRL_FM_IRQ_EN BIT(5)
0048 #define JZ_IPU_CTRL_CSC_EN BIT(4)
0049 #define JZ_IPU_CTRL_VRSZ_EN BIT(3)
0050 #define JZ_IPU_CTRL_HRSZ_EN BIT(2)
0051 #define JZ_IPU_CTRL_RUN BIT(1)
0052 #define JZ_IPU_CTRL_CHIP_EN BIT(0)
0053
0054 #define JZ_IPU_STATUS_OUT_END BIT(0)
0055
0056 #define JZ_IPU_IN_GS_H_LSB 0x0
0057 #define JZ_IPU_IN_GS_W_LSB 0x10
0058 #define JZ_IPU_OUT_GS_H_LSB 0x0
0059 #define JZ_IPU_OUT_GS_W_LSB 0x10
0060
0061 #define JZ_IPU_Y_STRIDE_Y_LSB 0
0062 #define JZ_IPU_UV_STRIDE_U_LSB 16
0063 #define JZ_IPU_UV_STRIDE_V_LSB 0
0064
0065 #define JZ_IPU_D_FMT_IN_FMT_LSB 0
0066 #define JZ_IPU_D_FMT_IN_FMT_RGB555 (0x0 << JZ_IPU_D_FMT_IN_FMT_LSB)
0067 #define JZ_IPU_D_FMT_IN_FMT_YUV420 (0x0 << JZ_IPU_D_FMT_IN_FMT_LSB)
0068 #define JZ_IPU_D_FMT_IN_FMT_YUV422 (0x1 << JZ_IPU_D_FMT_IN_FMT_LSB)
0069 #define JZ_IPU_D_FMT_IN_FMT_RGB888 (0x2 << JZ_IPU_D_FMT_IN_FMT_LSB)
0070 #define JZ_IPU_D_FMT_IN_FMT_YUV444 (0x2 << JZ_IPU_D_FMT_IN_FMT_LSB)
0071 #define JZ_IPU_D_FMT_IN_FMT_RGB565 (0x3 << JZ_IPU_D_FMT_IN_FMT_LSB)
0072
0073 #define JZ_IPU_D_FMT_YUV_FMT_LSB 2
0074 #define JZ_IPU_D_FMT_YUV_Y1UY0V (0x0 << JZ_IPU_D_FMT_YUV_FMT_LSB)
0075 #define JZ_IPU_D_FMT_YUV_Y1VY0U (0x1 << JZ_IPU_D_FMT_YUV_FMT_LSB)
0076 #define JZ_IPU_D_FMT_YUV_UY1VY0 (0x2 << JZ_IPU_D_FMT_YUV_FMT_LSB)
0077 #define JZ_IPU_D_FMT_YUV_VY1UY0 (0x3 << JZ_IPU_D_FMT_YUV_FMT_LSB)
0078 #define JZ_IPU_D_FMT_IN_FMT_YUV411 (0x3 << JZ_IPU_D_FMT_IN_FMT_LSB)
0079
0080 #define JZ_IPU_D_FMT_OUT_FMT_LSB 19
0081 #define JZ_IPU_D_FMT_OUT_FMT_RGB555 (0x0 << JZ_IPU_D_FMT_OUT_FMT_LSB)
0082 #define JZ_IPU_D_FMT_OUT_FMT_RGB565 (0x1 << JZ_IPU_D_FMT_OUT_FMT_LSB)
0083 #define JZ_IPU_D_FMT_OUT_FMT_RGB888 (0x2 << JZ_IPU_D_FMT_OUT_FMT_LSB)
0084 #define JZ_IPU_D_FMT_OUT_FMT_YUV422 (0x3 << JZ_IPU_D_FMT_OUT_FMT_LSB)
0085 #define JZ_IPU_D_FMT_OUT_FMT_RGBAAA (0x4 << JZ_IPU_D_FMT_OUT_FMT_LSB)
0086
0087 #define JZ_IPU_D_FMT_RGB_OUT_OFT_LSB 22
0088 #define JZ_IPU_D_FMT_RGB_OUT_OFT_RGB (0x0 << JZ_IPU_D_FMT_RGB_OUT_OFT_LSB)
0089 #define JZ_IPU_D_FMT_RGB_OUT_OFT_RBG (0x1 << JZ_IPU_D_FMT_RGB_OUT_OFT_LSB)
0090 #define JZ_IPU_D_FMT_RGB_OUT_OFT_GBR (0x2 << JZ_IPU_D_FMT_RGB_OUT_OFT_LSB)
0091 #define JZ_IPU_D_FMT_RGB_OUT_OFT_GRB (0x3 << JZ_IPU_D_FMT_RGB_OUT_OFT_LSB)
0092 #define JZ_IPU_D_FMT_RGB_OUT_OFT_BRG (0x4 << JZ_IPU_D_FMT_RGB_OUT_OFT_LSB)
0093 #define JZ_IPU_D_FMT_RGB_OUT_OFT_BGR (0x5 << JZ_IPU_D_FMT_RGB_OUT_OFT_LSB)
0094
0095 #define JZ4725B_IPU_RSZ_LUT_COEF_LSB 2
0096 #define JZ4725B_IPU_RSZ_LUT_COEF_MASK 0x7ff
0097 #define JZ4725B_IPU_RSZ_LUT_IN_EN BIT(1)
0098 #define JZ4725B_IPU_RSZ_LUT_OUT_EN BIT(0)
0099
0100 #define JZ4760_IPU_RSZ_COEF20_LSB 6
0101 #define JZ4760_IPU_RSZ_COEF31_LSB 17
0102 #define JZ4760_IPU_RSZ_COEF_MASK 0x7ff
0103 #define JZ4760_IPU_RSZ_OFFSET_LSB 1
0104 #define JZ4760_IPU_RSZ_OFFSET_MASK 0x1f
0105
0106 #define JZ_IPU_CSC_OFFSET_CHROMA_LSB 16
0107 #define JZ_IPU_CSC_OFFSET_LUMA_LSB 16
0108
0109 #endif