| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * PKUnity UNIGFX Registers |
| */ |
| |
| #define UDE_BASE (PKUNITY_UNIGFX_BASE + 0x1400) |
| #define UGE_BASE (PKUNITY_UNIGFX_BASE + 0x0000) |
| |
| /* |
| * command reg for UNIGFX DE |
| */ |
| /* |
| * control reg UDE_CFG |
| */ |
| #define UDE_CFG (UDE_BASE + 0x0000) |
| /* |
| * framebuffer start address reg UDE_FSA |
| */ |
| #define UDE_FSA (UDE_BASE + 0x0004) |
| /* |
| * line size reg UDE_LS |
| */ |
| #define UDE_LS (UDE_BASE + 0x0008) |
| /* |
| * pitch size reg UDE_PS |
| */ |
| #define UDE_PS (UDE_BASE + 0x000C) |
| /* |
| * horizontal active time reg UDE_HAT |
| */ |
| #define UDE_HAT (UDE_BASE + 0x0010) |
| /* |
| * horizontal blank time reg UDE_HBT |
| */ |
| #define UDE_HBT (UDE_BASE + 0x0014) |
| /* |
| * horizontal sync time reg UDE_HST |
| */ |
| #define UDE_HST (UDE_BASE + 0x0018) |
| /* |
| * vertival active time reg UDE_VAT |
| */ |
| #define UDE_VAT (UDE_BASE + 0x001C) |
| /* |
| * vertival blank time reg UDE_VBT |
| */ |
| #define UDE_VBT (UDE_BASE + 0x0020) |
| /* |
| * vertival sync time reg UDE_VST |
| */ |
| #define UDE_VST (UDE_BASE + 0x0024) |
| /* |
| * cursor position UDE_CXY |
| */ |
| #define UDE_CXY (UDE_BASE + 0x0028) |
| /* |
| * cursor front color UDE_CC0 |
| */ |
| #define UDE_CC0 (UDE_BASE + 0x002C) |
| /* |
| * cursor background color UDE_CC1 |
| */ |
| #define UDE_CC1 (UDE_BASE + 0x0030) |
| /* |
| * video position UDE_VXY |
| */ |
| #define UDE_VXY (UDE_BASE + 0x0034) |
| /* |
| * video start address reg UDE_VSA |
| */ |
| #define UDE_VSA (UDE_BASE + 0x0040) |
| /* |
| * video size reg UDE_VS |
| */ |
| #define UDE_VS (UDE_BASE + 0x004C) |
| |
| /* |
| * command reg for UNIGFX GE |
| */ |
| /* |
| * src xy reg UGE_SRCXY |
| */ |
| #define UGE_SRCXY (UGE_BASE + 0x0000) |
| /* |
| * dst xy reg UGE_DSTXY |
| */ |
| #define UGE_DSTXY (UGE_BASE + 0x0004) |
| /* |
| * pitch reg UGE_PITCH |
| */ |
| #define UGE_PITCH (UGE_BASE + 0x0008) |
| /* |
| * src start reg UGE_SRCSTART |
| */ |
| #define UGE_SRCSTART (UGE_BASE + 0x000C) |
| /* |
| * dst start reg UGE_DSTSTART |
| */ |
| #define UGE_DSTSTART (UGE_BASE + 0x0010) |
| /* |
| * width height reg UGE_WIDHEIGHT |
| */ |
| #define UGE_WIDHEIGHT (UGE_BASE + 0x0014) |
| /* |
| * rop alpah reg UGE_ROPALPHA |
| */ |
| #define UGE_ROPALPHA (UGE_BASE + 0x0018) |
| /* |
| * front color UGE_FCOLOR |
| */ |
| #define UGE_FCOLOR (UGE_BASE + 0x001C) |
| /* |
| * background color UGE_BCOLOR |
| */ |
| #define UGE_BCOLOR (UGE_BASE + 0x0020) |
| /* |
| * src color key for high value UGE_SCH |
| */ |
| #define UGE_SCH (UGE_BASE + 0x0024) |
| /* |
| * dst color key for high value UGE_DCH |
| */ |
| #define UGE_DCH (UGE_BASE + 0x0028) |
| /* |
| * src color key for low value UGE_SCL |
| */ |
| #define UGE_SCL (UGE_BASE + 0x002C) |
| /* |
| * dst color key for low value UGE_DCL |
| */ |
| #define UGE_DCL (UGE_BASE + 0x0030) |
| /* |
| * clip 0 reg UGE_CLIP0 |
| */ |
| #define UGE_CLIP0 (UGE_BASE + 0x0034) |
| /* |
| * clip 1 reg UGE_CLIP1 |
| */ |
| #define UGE_CLIP1 (UGE_BASE + 0x0038) |
| /* |
| * command reg UGE_COMMAND |
| */ |
| #define UGE_COMMAND (UGE_BASE + 0x003C) |
| /* |
| * pattern 0 UGE_P0 |
| */ |
| #define UGE_P0 (UGE_BASE + 0x0040) |
| #define UGE_P1 (UGE_BASE + 0x0044) |
| #define UGE_P2 (UGE_BASE + 0x0048) |
| #define UGE_P3 (UGE_BASE + 0x004C) |
| #define UGE_P4 (UGE_BASE + 0x0050) |
| #define UGE_P5 (UGE_BASE + 0x0054) |
| #define UGE_P6 (UGE_BASE + 0x0058) |
| #define UGE_P7 (UGE_BASE + 0x005C) |
| #define UGE_P8 (UGE_BASE + 0x0060) |
| #define UGE_P9 (UGE_BASE + 0x0064) |
| #define UGE_P10 (UGE_BASE + 0x0068) |
| #define UGE_P11 (UGE_BASE + 0x006C) |
| #define UGE_P12 (UGE_BASE + 0x0070) |
| #define UGE_P13 (UGE_BASE + 0x0074) |
| #define UGE_P14 (UGE_BASE + 0x0078) |
| #define UGE_P15 (UGE_BASE + 0x007C) |
| #define UGE_P16 (UGE_BASE + 0x0080) |
| #define UGE_P17 (UGE_BASE + 0x0084) |
| #define UGE_P18 (UGE_BASE + 0x0088) |
| #define UGE_P19 (UGE_BASE + 0x008C) |
| #define UGE_P20 (UGE_BASE + 0x0090) |
| #define UGE_P21 (UGE_BASE + 0x0094) |
| #define UGE_P22 (UGE_BASE + 0x0098) |
| #define UGE_P23 (UGE_BASE + 0x009C) |
| #define UGE_P24 (UGE_BASE + 0x00A0) |
| #define UGE_P25 (UGE_BASE + 0x00A4) |
| #define UGE_P26 (UGE_BASE + 0x00A8) |
| #define UGE_P27 (UGE_BASE + 0x00AC) |
| #define UGE_P28 (UGE_BASE + 0x00B0) |
| #define UGE_P29 (UGE_BASE + 0x00B4) |
| #define UGE_P30 (UGE_BASE + 0x00B8) |
| #define UGE_P31 (UGE_BASE + 0x00BC) |
| |
| #define UDE_CFG_DST_MASK FMASK(2, 8) |
| #define UDE_CFG_DST8 FIELD(0x0, 2, 8) |
| #define UDE_CFG_DST16 FIELD(0x1, 2, 8) |
| #define UDE_CFG_DST24 FIELD(0x2, 2, 8) |
| #define UDE_CFG_DST32 FIELD(0x3, 2, 8) |
| |
| /* |
| * GDEN enable UDE_CFG_GDEN_ENABLE |
| */ |
| #define UDE_CFG_GDEN_ENABLE FIELD(1, 1, 3) |
| /* |
| * VDEN enable UDE_CFG_VDEN_ENABLE |
| */ |
| #define UDE_CFG_VDEN_ENABLE FIELD(1, 1, 4) |
| /* |
| * CDEN enable UDE_CFG_CDEN_ENABLE |
| */ |
| #define UDE_CFG_CDEN_ENABLE FIELD(1, 1, 5) |
| /* |
| * TIMEUP enable UDE_CFG_TIMEUP_ENABLE |
| */ |
| #define UDE_CFG_TIMEUP_ENABLE FIELD(1, 1, 6) |