|
|
|
|
|
|
|
|
#define PMU_MISC2_REG0_BO_OFFSET(n) ((uint32_t)(((n) & 0x07) << 0)) |
|
|
#define PMU_MISC2_REG0_BO_OFFSET(n) ((uint32_t)(((n) & 0x07) << 0)) |
|
|
|
|
|
|
|
|
// 36.8: page 1923 |
|
|
// 36.8: page 1923 |
|
|
#define IMXRT_PXP (*(IMXRT_REGISTER32_t *)0x402B4000) |
|
|
|
|
|
#define IMXRT_PXP_b (*(IMXRT_REGISTER32_t *)0x402B4400) |
|
|
|
|
|
#define PXP_CTRL (IMXRT_PXP.offset000) |
|
|
|
|
|
#define PXP_CTRL_SET (IMXRT_PXP.offset004) |
|
|
|
|
|
#define PXP_CTRL_CLR (IMXRT_PXP.offset008) |
|
|
|
|
|
#define PXP_CTRL_TOG (IMXRT_PXP.offset00C) |
|
|
|
|
|
#define PXP_STAT (IMXRT_PXP.offset010) |
|
|
|
|
|
#define PXP_STAT_SET (IMXRT_PXP.offset014) |
|
|
|
|
|
#define PXP_STAT_CLR (IMXRT_PXP.offset018) |
|
|
|
|
|
#define PXP_STAT_TOG (IMXRT_PXP.offset01C) |
|
|
|
|
|
#define PXP_OUT_CTRL (IMXRT_PXP.offset020) |
|
|
|
|
|
#define PXP_OUT_CTRL_SET (IMXRT_PXP.offset024) |
|
|
|
|
|
#define PXP_OUT_CTRL_CLR (IMXRT_PXP.offset028) |
|
|
|
|
|
#define PXP_OUT_CTRL_TOG (IMXRT_PXP.offset02C) |
|
|
|
|
|
#define PXP_OUT_BUF (IMXRT_PXP.offset030) |
|
|
|
|
|
#define PXP_OUT_BUF2 (IMXRT_PXP.offset040) |
|
|
|
|
|
#define PXP_OUT_PITCH (IMXRT_PXP.offset050) |
|
|
|
|
|
#define PXP_OUT_LRC (IMXRT_PXP.offset060) |
|
|
|
|
|
#define PXP_OUT_PS_ULC (IMXRT_PXP.offset070) |
|
|
|
|
|
#define PXP_OUT_PS_LRC (IMXRT_PXP.offset080) |
|
|
|
|
|
#define PXP_OUT_AS_ULC (IMXRT_PXP.offset090) |
|
|
|
|
|
#define PXP_OUT_AS_LRC (IMXRT_PXP.offset0A0) |
|
|
|
|
|
#define PXP_PS_CTRL (IMXRT_PXP.offset0B0) |
|
|
|
|
|
#define PXP_PS_CTRL_SET (IMXRT_PXP.offset0B4) |
|
|
|
|
|
#define PXP_PS_CTRL_CLR (IMXRT_PXP.offset0B8) |
|
|
|
|
|
#define PXP_PS_CTRL_TOG (IMXRT_PXP.offset0BC) |
|
|
|
|
|
#define PXP_PS_BUF (IMXRT_PXP.offset0C0) |
|
|
|
|
|
#define PXP_PS_UBUF (IMXRT_PXP.offset0D0) |
|
|
|
|
|
#define PXP_PS_VBUF (IMXRT_PXP.offset0E0) |
|
|
|
|
|
#define PXP_PS_PITCH (IMXRT_PXP.offset0F0) |
|
|
|
|
|
#define PXP_PS_BACKGROUND_0 (IMXRT_PXP.offset100) |
|
|
|
|
|
#define PXP_PS_SCALE (IMXRT_PXP.offset110) |
|
|
|
|
|
#define PXP_PS_OFFSET (IMXRT_PXP.offset120) |
|
|
|
|
|
#define PXP_PS_CLRKEYLOW_0 (IMXRT_PXP.offset130) |
|
|
|
|
|
#define PXP_PS_CLRKEYHIGH_0 (IMXRT_PXP.offset140) |
|
|
|
|
|
#define PXP_AS_CTRL (IMXRT_PXP.offset150) |
|
|
|
|
|
#define PXP_AS_BUF (IMXRT_PXP.offset160) |
|
|
|
|
|
#define PXP_AS_PITCH (IMXRT_PXP.offset170) |
|
|
|
|
|
#define PXP_AS_CLRKEYLOW_0 (IMXRT_PXP.offset180) |
|
|
|
|
|
#define PXP_AS_CLRKEYHIGH_0 (IMXRT_PXP.offset190) |
|
|
|
|
|
#define PXP_CSC1_COEF0 (IMXRT_PXP.offset1A0) |
|
|
|
|
|
#define PXP_CSC1_COEF1 (IMXRT_PXP.offset1B0) |
|
|
|
|
|
#define PXP_CSC1_COEF2 (IMXRT_PXP.offset1C0) |
|
|
|
|
|
#define PXP_POWER (IMXRT_PXP_b.offset000) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL (IMXRT_PXP_b.offset040) |
|
|
|
|
|
|
|
|
typedef struct |
|
|
|
|
|
{ |
|
|
|
|
|
volatile uint32_t CTRL; |
|
|
|
|
|
volatile uint32_t CTRL_SET; |
|
|
|
|
|
volatile uint32_t CTRL_CLR; |
|
|
|
|
|
volatile uint32_t CTLR_TOG; |
|
|
|
|
|
volatile uint32_t STAT; |
|
|
|
|
|
volatile uint32_t STAT_SET; |
|
|
|
|
|
volatile uint32_t STAT_CLR; |
|
|
|
|
|
volatile uint32_t STAT_TOG; |
|
|
|
|
|
volatile uint32_t OUT_CTRL; |
|
|
|
|
|
volatile uint32_t OUT_CTRL_SET; |
|
|
|
|
|
volatile uint32_t OUT_CTRL_CLR; |
|
|
|
|
|
volatile uint32_t OUT_CTRL_TOG; |
|
|
|
|
|
volatile void* OUT_BUF; |
|
|
|
|
|
volatile uint32_t unused1[3]; |
|
|
|
|
|
volatile void* OUT_BUF2; |
|
|
|
|
|
volatile uint32_t unused2[3]; |
|
|
|
|
|
volatile uint32_t OUT_PITCH; |
|
|
|
|
|
volatile uint32_t unused3[3]; |
|
|
|
|
|
volatile uint32_t OUT_LRC; |
|
|
|
|
|
volatile uint32_t unused4[3]; |
|
|
|
|
|
volatile uint32_t OUT_PS_ULC; |
|
|
|
|
|
volatile uint32_t unused5[3]; |
|
|
|
|
|
volatile uint32_t OUT_PS_LRC; |
|
|
|
|
|
volatile uint32_t unused6[3]; |
|
|
|
|
|
volatile uint32_t OUT_AS_ULC; |
|
|
|
|
|
volatile uint32_t unused7[3]; |
|
|
|
|
|
volatile uint32_t OUT_AS_LRC; |
|
|
|
|
|
volatile uint32_t unused8[3]; |
|
|
|
|
|
volatile uint32_t PS_CTRL; |
|
|
|
|
|
volatile uint32_t PS_CTRL_SET; |
|
|
|
|
|
volatile uint32_t PS_CTRL_CLR; |
|
|
|
|
|
volatile uint32_t PS_CTRL_TOG; |
|
|
|
|
|
volatile void* PS_BUF; |
|
|
|
|
|
volatile uint32_t unused9[3]; |
|
|
|
|
|
volatile void* PS_UBUF; |
|
|
|
|
|
volatile uint32_t unused10[3]; |
|
|
|
|
|
volatile void* PS_VBUF; |
|
|
|
|
|
volatile uint32_t unused11[3]; |
|
|
|
|
|
volatile uint32_t PS_PITCH; |
|
|
|
|
|
volatile uint32_t unused12[3]; |
|
|
|
|
|
volatile uint32_t PS_BACKGROUND; |
|
|
|
|
|
volatile uint32_t unused13[3]; |
|
|
|
|
|
volatile uint32_t PS_SCALE; |
|
|
|
|
|
volatile uint32_t unused14[3]; |
|
|
|
|
|
volatile uint32_t PS_OFFSET; |
|
|
|
|
|
volatile uint32_t unused15[3]; |
|
|
|
|
|
volatile uint32_t PS_CLRKEYLOW; |
|
|
|
|
|
volatile uint32_t unused16[3]; |
|
|
|
|
|
volatile uint32_t PS_CLRKEYHIGH; |
|
|
|
|
|
volatile uint32_t unused17[3]; |
|
|
|
|
|
volatile uint32_t AS_CTRL; |
|
|
|
|
|
volatile uint32_t unused18[3]; |
|
|
|
|
|
volatile void* AS_BUF; |
|
|
|
|
|
volatile uint32_t unused19[3]; |
|
|
|
|
|
volatile uint32_t AS_PITCH; |
|
|
|
|
|
volatile uint32_t unused20[3]; |
|
|
|
|
|
volatile uint32_t AS_CLRKEYLOW; |
|
|
|
|
|
volatile uint32_t unused21[3]; |
|
|
|
|
|
volatile uint32_t AS_CLRKEYHIGH; |
|
|
|
|
|
volatile uint32_t unused22[3]; |
|
|
|
|
|
volatile uint32_t CSC1_COEF0; |
|
|
|
|
|
volatile uint32_t unused23[3]; |
|
|
|
|
|
volatile uint32_t CSC1_COEF1; |
|
|
|
|
|
volatile uint32_t unused24[3]; |
|
|
|
|
|
volatile uint32_t CSC1_COEF2; |
|
|
|
|
|
volatile uint32_t unused25[87]; |
|
|
|
|
|
volatile uint32_t POWER; |
|
|
|
|
|
volatile uint32_t unused26[55]; |
|
|
|
|
|
volatile uint32_t NEXT; |
|
|
|
|
|
volatile uint32_t unused27[15]; |
|
|
|
|
|
volatile uint32_t PORTER_DUFF_CTRL; |
|
|
|
|
|
} IMXRT_PXP_t; |
|
|
|
|
|
#define IMXRT_PXP (*(IMXRT_PXP_t *)0x402B4000) |
|
|
|
|
|
#define PXP_CTRL (IMXRT_PXP.CTRL) |
|
|
|
|
|
#define PXP_CTRL_SET (IMXRT_PXP.CTRL_SET) |
|
|
|
|
|
#define PXP_CTRL_CLR (IMXRT_PXP.CTRL_CLR) |
|
|
|
|
|
#define PXP_CTRL_TOG (IMXRT_PXP.CTRL_TOG) |
|
|
|
|
|
#define PXP_STAT (IMXRT_PXP.STAT) |
|
|
|
|
|
#define PXP_STAT_SET (IMXRT_PXP.STAT_SET) |
|
|
|
|
|
#define PXP_STAT_CLR (IMXRT_PXP.STAT_CLR) |
|
|
|
|
|
#define PXP_STAT_TOG (IMXRT_PXP.STAT_TOG) |
|
|
|
|
|
#define PXP_OUT_CTRL (IMXRT_PXP.OUT_CTRL) |
|
|
|
|
|
#define PXP_OUT_CTRL_SET (IMXRT_PXP.OUT_CTRL_SET) |
|
|
|
|
|
#define PXP_OUT_CTRL_CLR (IMXRT_PXP.OUT_CTRL_CLR) |
|
|
|
|
|
#define PXP_OUT_CTRL_TOG (IMXRT_PXP.OUT_CTRL_TOG) |
|
|
|
|
|
#define PXP_OUT_BUF (IMXRT_PXP.OUT_BUF) |
|
|
|
|
|
#define PXP_OUT_BUF2 (IMXRT_PXP.OUT_BUF2) |
|
|
|
|
|
#define PXP_OUT_PITCH (IMXRT_PXP.OUT_PITCH) |
|
|
|
|
|
#define PXP_OUT_LRC (IMXRT_PXP.OUT_LRC) |
|
|
|
|
|
#define PXP_OUT_PS_ULC (IMXRT_PXP.OUT_PS_ULC) |
|
|
|
|
|
#define PXP_OUT_PS_LRC (IMXRT_PXP.OUT_PS_LRC) |
|
|
|
|
|
#define PXP_OUT_AS_ULC (IMXRT_PXP.OUT_AS_ULC) |
|
|
|
|
|
#define PXP_OUT_AS_LRC (IMXRT_PXP.OUT_AS_LRC) |
|
|
|
|
|
#define PXP_PS_CTRL (IMXRT_PXP.PS_CTRL) |
|
|
|
|
|
#define PXP_PS_CTRL_SET (IMXRT_PXP.PS_CTRL_SET) |
|
|
|
|
|
#define PXP_PS_CTRL_CLR (IMXRT_PXP.PS_CTRL_CLR) |
|
|
|
|
|
#define PXP_PS_CTRL_TOG (IMXRT_PXP.PS_CTRL_TOG) |
|
|
|
|
|
#define PXP_PS_BUF (IMXRT_PXP.PS_BUF) |
|
|
|
|
|
#define PXP_PS_UBUF (IMXRT_PXP.PS_UBUF) |
|
|
|
|
|
#define PXP_PS_VBUF (IMXRT_PXP.PS_VBUF) |
|
|
|
|
|
#define PXP_PS_PITCH (IMXRT_PXP.PS_PITCH) |
|
|
|
|
|
#define PXP_PS_BACKGROUND_0 (IMXRT_PXP.PS_BACKGROUND) |
|
|
|
|
|
#define PXP_PS_SCALE (IMXRT_PXP.PS_SCALE) |
|
|
|
|
|
#define PXP_PS_OFFSET (IMXRT_PXP.PS_OFFSET) |
|
|
|
|
|
#define PXP_PS_CLRKEYLOW_0 (IMXRT_PXP.PS_CLRKEYLOW) |
|
|
|
|
|
#define PXP_PS_CLRKEYHIGH_0 (IMXRT_PXP.PS_CLRKEYHIGH) |
|
|
|
|
|
#define PXP_AS_CTRL (IMXRT_PXP.AS_CTRL) |
|
|
|
|
|
#define PXP_AS_BUF (IMXRT_PXP.AS_BUF) |
|
|
|
|
|
#define PXP_AS_PITCH (IMXRT_PXP.AS_PITCH) |
|
|
|
|
|
#define PXP_AS_CLRKEYLOW_0 (IMXRT_PXP.AS_CLRKEYLOW) |
|
|
|
|
|
#define PXP_AS_CLRKEYHIGH_0 (IMXRT_PXP.AS_CLRKEYHIGH) |
|
|
|
|
|
#define PXP_CSC1_COEF0 (IMXRT_PXP.CSC1_COEF0) |
|
|
|
|
|
#define PXP_CSC1_COEF1 (IMXRT_PXP.CSC1_COEF1) |
|
|
|
|
|
#define PXP_CSC1_COEF2 (IMXRT_PXP.CSC1_COEF2) |
|
|
|
|
|
#define PXP_POWER (IMXRT_PXP.POWER) |
|
|
|
|
|
#define PXP_NEXT (IMXRT_PXP.NEXT) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL (IMXRT_PXP.PORTER_DUFF_CTRL) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define PXP_ARGB8888 0x0 //32-bit pixels with alpha |
|
|
|
|
|
#define PXP_RGBA888 0x1 //32-bit pixel with alpha at low 8 bits |
|
|
|
|
|
#define PXP_RGB888 0x4 //32-bit pixels without alpha (unpacked 24-bit format) |
|
|
|
|
|
#define PXP_RGB888P 0x5 //24-bit pixels (packed 24-bit format) |
|
|
|
|
|
#define PXP_ARGB1555 0x8 //16-bit pixels with alpha at low 1 bit |
|
|
|
|
|
#define PXP_ARGB4444 0x9 //16-bit pixels with alpha at low 4 bits |
|
|
|
|
|
#define PXP_RGB555 0xC //16-bit pixels without alpha |
|
|
|
|
|
#define PXP_RGB444 0xD //16-bit pixels without alpha |
|
|
|
|
|
#define PXP_RGB565 0xE //16-bit pixels without alpha |
|
|
|
|
|
#define PXP_YUV1P444 0x10 //32-bit pixels (1-plane XYUV unpacked) |
|
|
|
|
|
#define PXP_UYVY1P422 0x12 //16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes) |
|
|
|
|
|
#define PXP_VYUY1P422 0x13 //16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes) |
|
|
|
|
|
#define PXP_Y8 0x14 //8-bit monochrome pixels (1-plane Y luma output) |
|
|
|
|
|
#define PXP_Y4 0x15 //4-bit monochrome pixels (1-plane Y luma, 4 bit truncation) |
|
|
|
|
|
#define PXP_YUV2P422 0x18 //16-bit pixels (2-plane UV interleaved bytes) |
|
|
|
|
|
#define PXP_YUV2P420 0x19 //16-bit pixels (2-plane UV) |
|
|
|
|
|
#define PXP_YVU2P422 0x1A //16-bit pixels (2-plane VU interleaved bytes) |
|
|
|
|
|
#define PXP_YVU2P420 0x1B //16-bit pixels (2-plane VU) |
|
|
|
|
|
#define PXP_YUV422 0x1E //16-bit pixels (3-plane format) |
|
|
|
|
|
#define PXP_YUV420 0x1F //16-bit pixels (3-plane format) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_MASKAS 0x0 |
|
|
|
|
|
#define PXP_MASKNOTAS 0x1 |
|
|
|
|
|
#define PXP_MASKASNOT 0x2 |
|
|
|
|
|
#define PXP_MERGEAS 0x3 |
|
|
|
|
|
#define PXP_MERGENOTAS 0x4 |
|
|
|
|
|
#define PXP_MERGEASNOT 0x5 |
|
|
|
|
|
#define PXP_NOTCOPYAS 0x6 |
|
|
|
|
|
#define PXP_NOT 0x7 |
|
|
|
|
|
#define PXP_NOTMASKAS 0x8 |
|
|
|
|
|
#define PXP_NOTMERGEAS 0x9 |
|
|
|
|
|
#define PXP_XORAS 0xA |
|
|
|
|
|
#define PXP_NOTXORAS 0xB |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_CTRL_ENABLE ((uint32_t)(1)) |
|
|
|
|
|
#define PXP_CTRL_IRQ_ENABLE ((uint32_t)(1<<1)) |
|
|
|
|
|
#define PXP_CTRL_NEXT_IRQ_ENABLE ((uint32_t)(1<<2)) |
|
|
|
|
|
#define PXP_CTRL_ENABLE_LCD_HANDSHAKE ((uint32_t)(1<<4)) |
|
|
|
|
|
#define PXP_CTRL_ROTATE(n) ((uint32_t)(((n) & 0x03) << 8)) |
|
|
|
|
|
#define PXP_CTRL_HFLIP ((uint32_t)(1<<10)) |
|
|
|
|
|
#define PXP_CTRL_VFLIP ((uint32_t)(1<<11)) |
|
|
|
|
|
#define PXP_CTRL_ROT_POS ((uint32_t)(1<<22)) |
|
|
|
|
|
#define PXP_CTRL_BLOCK_SIZE ((uint32_t)(1<<23)) |
|
|
|
|
|
#define PXP_CTRL_EN_REPEAT ((uint32_t)(1<<28)) |
|
|
|
|
|
#define PXP_CTRL_CLKGATE ((uint32_t)(1<<30)) |
|
|
|
|
|
#define PXP_CTRL_SFTRST ((uint32_t)(1<<31)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_STAT_IRQ ((uint32_t)(1)) |
|
|
|
|
|
#define PXP_STAT_AXI_WRITE_ERROR ((uint32_t)(1<<1)) |
|
|
|
|
|
#define PXP_STAT_AXI_READ_ERROR ((uint32_t)(1<<2)) |
|
|
|
|
|
#define PXP_STAT_NEXT_IRQ ((uint32_t)(1<<3)) |
|
|
|
|
|
#define PXP_STAT_AXI_ERROR_ID ((uint32_t)((PXP_STAT>>4) & 0xF)) |
|
|
|
|
|
#define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ ((uint32_t)(1<<8)) |
|
|
|
|
|
#define PXP_STAT_BLOCKY ((uint32_t)((PXP_STAT>>16) & 0xFF)) |
|
|
|
|
|
#define PXP_STAT_BLOCKX ((uint32_t)((PXP_STAT>>24) & 0xFF)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_OUT_CTRL_FORMAT(n) ((uint32_t)(((n) & 0x1F))) |
|
|
|
|
|
#define PXP_OUT_CTRL_INTERLACED_OUTPUT(n) ((uint32_t)(((n) & 0x3) << 8)) |
|
|
|
|
|
#define PXP_OUT_CTRL_ALPHA_OUTPUT ((uint32_t)(1<<23)) |
|
|
|
|
|
#define PXP_OUT_CTRL_ALPHA(n) ((uint32_t)(((n) & 0xFF) << 24)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_PS_CTRL_FORMAT(n) ((uint32_t)(((n) & 0x1F))) |
|
|
|
|
|
#define PXP_PS_CTRL_WB_SWAP ((uint32_t)(1<<5)) |
|
|
|
|
|
#define PXP_PS_CTRL_DECY(n) ((uint32_t)(((n) & 0x3) << 8)) |
|
|
|
|
|
#define PXP_PS_CTRL_DECX(n) ((uint32_t)(((n) & 0x3) << 10)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_AS_CTRL_ALPHA_CTRL(n) ((uint32_t)(((n) & 0x3) << 1)) |
|
|
|
|
|
#define PXP_AS_CTRL_ENABLE_COLORKEY ((uint32_t)(1<<3)) |
|
|
|
|
|
#define PXP_AS_CTRL_FORMAT(n) ((uint32_t)(((n) & 0xF) << 4)) |
|
|
|
|
|
#define PXP_AS_CTRL_ALPHA(n) ((uint32_t)(((n) & 0xFF) << 8)) |
|
|
|
|
|
#define PXP_AS_CTRL_ROP(n) ((uint32_t)(((n) & 0xF) << 16)) |
|
|
|
|
|
#define PXP_AS_CTRL_ALPHA_INVERT ((uint32_t)(1<<20)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_COEF0_Y_OFFSET(n) ((uint32_t)(((n) & 0x1FF))) |
|
|
|
|
|
#define PXP_COEF0_UV_OFFSET(n) ((uint32_t)(((n) & 0x1FF) << 9)) |
|
|
|
|
|
#define PXP_COEF0_C0(n) ((uint32_t)(((n) & 0x7FF) << 18)) |
|
|
|
|
|
#define PXP_COEF0_BYPASS ((uint32_t)(1<<30)) |
|
|
|
|
|
#define PXP_COEF0_YCBCR_MODE ((uint32_t)(1<<31)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_COEF1_C4(n) ((uint32_t)(((n) & 0x7FF))) |
|
|
|
|
|
#define PXP_COEF1_C1(n) ((uint32_t)(((n) & 0x7FF) << 16)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_COEF2_C3(n) ((uint32_t)(((n) & 0x7FF))) |
|
|
|
|
|
#define PXP_COEF2_C2(n) ((uint32_t)(((n) & 0x7FF) << 16)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_POWER_ROT_MEM_LP_STATE(n) ((uint32_t)(((n) & 0x7) << 9)) |
|
|
|
|
|
#define PXP_POWER_CTRL(n) ((uint32_t)(((n) & 0xFFFFF) << 12)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_NEXT_ENABLED ((uint32_t)(1)) |
|
|
|
|
|
#define PXP_NEXT_POINTER(n) ((uint32_t)(((n) & 0xFFFFFFFC))) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE ((uint32_t)(1)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE(n) ((uint32_t)(((n) & 0x3) << 1)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE(n) ((uint32_t)(((n) & 0x3) << 3)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE ((uint32_t)(1<<5)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE ((uint32_t)(1<<6)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE(n) ((uint32_t)(((n) & 0x3) << 8)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE(n) ((uint32_t)(((n) & 0x3) << 10)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE ((uint32_t)(1<<12)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE ((uint32_t)(1<<13)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA(n) ((uint32_t)(((n) & 0xFF) << 16)) |
|
|
|
|
|
#define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA(n) ((uint32_t)(((n) & 0xFF) << 24)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_PITCH(n) ((uint32_t)(((n) & 0xFFFF))) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_XCOORD(n) ((uint32_t)(((n) & 0x3FFFFFFF) << 16)) |
|
|
|
|
|
#define PXP_YCOORD(n) ((uint32_t)(((n) & 0x3FFFFFFF))) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_XSCALE(n) ((uint32_t)(((n) & 0x7FFFFFFF))) |
|
|
|
|
|
#define PXP_YSCALE(n) ((uint32_t)(((n) & 0x7FFFFFFF) << 16)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_XOFFSET(n) ((uint32_t)(((n) & 0xFFFFFFF))) |
|
|
|
|
|
#define PXP_YOFFSET(n) ((uint32_t)(((n) & 0xFFFFFFF) << 16)) |
|
|
|
|
|
|
|
|
|
|
|
#define PXP_COLOR(n) ((uint32_t)(((n) & 0xFFFFFF))) |
|
|
|
|
|
|
|
|
// 54.6: page 2990 |
|
|
// 54.6: page 2990 |
|
|
typedef struct |
|
|
typedef struct |