summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-04-30 21:09:15 +0200
committerJerome Glisse <jglisse@redhat.com>2010-04-30 21:09:15 +0200
commitc1e091b2923a34b3c8bd32e15184dd28a9085547 (patch)
tree2ba2f87fd813a9642708c571793d5481c954a8a0
parent35c56944dfe5ca34677e39fdc0ebdab15c00b442 (diff)
radeondb: add r100 register dump support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
-rw-r--r--json/r100.json5177
-rw-r--r--json/rs600.json440
-rw-r--r--src/Makefile.am5
-rw-r--r--src/r100_reg.c81
-rw-r--r--src/radeon_pci.c9
-rw-r--r--src/radeon_priv.h1
-rw-r--r--src/radeon_reg.c88
-rw-r--r--src/radeon_reg.h10
-rw-r--r--src/rs600_reg.c140
-rw-r--r--tools/rdb.c39
-rw-r--r--tools/rdb_json.c1
-rw-r--r--tools/rdb_json.h5
12 files changed, 5751 insertions, 245 deletions
diff --git a/json/r100.json b/json/r100.json
new file mode 100644
index 0000000..7021dc4
--- /dev/null
+++ b/json/r100.json
@@ -0,0 +1,5177 @@
+{
+ "block": [
+ {
+ "0x00000001": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "OSC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "XTL_LOW_GAIN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "DONT_USE_XTALIN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "SLOW_CLOCK_SOURCE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 11,
+ "description": "",
+ "name": "CG_CLK_TO_OUTPIN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 12,
+ "description": "",
+ "name": "CG_COUNT_UP_TO_OUTPIN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "ACCESS_REGS_IN_SUSPEND",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "CG_SPARE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "SCLK_DYN_START_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CP_CLK_RUNNING",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 18,
+ "description": "",
+ "name": "CG_SPARE_RD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 31,
+ "description": "",
+ "name": "PWRSEQ_DELAY",
+ "value": []
+ }
+ ],
+ "name": "CLK_PIN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000002": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "PPLL_RESET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "PPLL_SLEEP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "PPLL_TST_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "PPLL_REFCLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "PPLL_FBCLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "PPLL_TCPOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "PPLL_TVCOMAX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 10,
+ "description": "",
+ "name": "PPLL_PCP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 13,
+ "description": "",
+ "name": "PPLL_PVG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 15,
+ "description": "",
+ "name": "PPLL_PDC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "PPLL_ATOMIC_UPDATE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "PPLL_VGA_ATOMIC_UPDATE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "PPLL_ATOMIC_UPDATE_SYNC",
+ "value": []
+ }
+ ],
+ "name": "PPLL_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000003": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 9,
+ "description": "",
+ "name": "PPLL_REF_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "PPLL_ATOMIC_UPDATE_W",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "PPLL_ATOMIC_UPDATE_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 17,
+ "description": "",
+ "name": "PPLL_REF_DIV_SRC",
+ "value": []
+ }
+ ],
+ "name": "PPLL_REF_DIV",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000007": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 10,
+ "description": "",
+ "name": "PPLL_FB3_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "PPLL_ATOMIC_UPDATE_W",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "PPLL_ATOMIC_UPDATE_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 18,
+ "description": "",
+ "name": "PPLL_POST3_DIV",
+ "value": []
+ }
+ ],
+ "name": "PPLL_DIV_3",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000008": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 1,
+ "description": "",
+ "name": "VCLK_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "VCLK_INVERT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 9,
+ "description": "",
+ "name": "ECP_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "ECP_FORCE_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "SUBCLK_FORCE_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 17,
+ "description": "",
+ "name": "BYTE_CLK_POST_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "BYTE_CLK_OUT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 26,
+ "description": "",
+ "name": "BYTE_CLK_SKEW",
+ "value": []
+ }
+ ],
+ "name": "VCLK_ECP_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000000A": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 7,
+ "description": "",
+ "name": "M_SPLL_REF_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 15,
+ "description": "",
+ "name": "MPLL_FB_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 23,
+ "description": "",
+ "name": "SPLL_FB_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "MPLL_REF_SRC_SEL",
+ "value": []
+ }
+ ],
+ "name": "M_SPLL_REF_FB_DIV",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000000C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "SPLL_SLEEP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "SPLL_RESET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "SPLL_TST_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "SPLL_REFCLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "SPLL_FBCLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "SPLL_TCPOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "SPLL_TVCOMAX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 10,
+ "description": "",
+ "name": "SPLL_PCP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 13,
+ "description": "",
+ "name": "SPLL_PVG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 15,
+ "description": "",
+ "name": "SPLL_PDC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 18,
+ "description": "",
+ "name": "SPLL_X1_CLK_SKEW",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 22,
+ "description": "",
+ "name": "SPLL_X2_CLK_SKEW",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 27,
+ "description": "",
+ "name": "SPLL_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 29,
+ "description": "",
+ "name": "MYCLK_SOURCED_FROM_SPLL_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "ENABLE_MYCLK_FROM_SPLL",
+ "value": []
+ }
+ ],
+ "name": "SPLL_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000000D": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 2,
+ "description": "",
+ "name": "SCLK_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 10,
+ "description": "",
+ "name": "TCLK_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "FORCE_CP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "FORCE_HDP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "FORCE_DISP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "FORCE_TOP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "FORCE_E2",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "FORCE_SE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 22,
+ "description": "",
+ "name": "FORCE_IDCT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "FORCE_VIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "FORCE_RE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "FORCE_PB",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "FORCE_TAM",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "FORCE_TDM",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "FORCE_RB",
+ "value": []
+ }
+ ],
+ "name": "SCLK_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000012": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 2,
+ "description": "",
+ "name": "MCLKA_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 6,
+ "description": "",
+ "name": "YCLKA_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 10,
+ "description": "",
+ "name": "MCLKB_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 14,
+ "description": "",
+ "name": "YCLKB_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "FORCE_MCLKA",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "FORCE_MCLKB",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "FORCE_YCLKA",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "FORCE_YCLKB",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "FORCE_MC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "FORCE_AIC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 25,
+ "description": "",
+ "name": "MRDCKA0_SOUTSEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 27,
+ "description": "",
+ "name": "MRDCKA1_SOUTSEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 29,
+ "description": "",
+ "name": "MRDCKB0_SOUTSEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 31,
+ "description": "",
+ "name": "MRDCKB1_SOUTSEL",
+ "value": []
+ }
+ ],
+ "name": "MCLK_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000014": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "MPLL_PWRMGT_OFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "SPLL_PWRMGT_OFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "PPLL_PWRMGT_OFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "MCLK_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "SCLK_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "PCLK_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "MC_CH_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "TEST_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "GLOBAL_PMAN_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 12,
+ "description": "",
+ "name": "ENGINE_DYNCLK_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "MC_BUSY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "MC_INT_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "MC_SWITCH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "DLL_READY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 31,
+ "description": "",
+ "name": "CG_NO1_DEBUG",
+ "value": []
+ }
+ ],
+ "name": "CLK_PWRMGT_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000015": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "MPLL_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "SPLL_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "PPLL_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 31,
+ "description": "",
+ "name": "CG_NO2_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "P2PLL_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "TVPLL_TURNOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 8,
+ "description": "",
+ "name": "AGPCLK_DYN_STOP_LAT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 10,
+ "description": "",
+ "name": "APM_POWER_STATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 12,
+ "description": "",
+ "name": "APM_PWRSTATE_RD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "PM_MODE_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "EN_PWRSEQ_DONE_COND",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "EN_DISP_PARKED_COND",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "MOBILE_SU",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "SU_SCLK_USE_BCLK",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "SU_MCLK_USE_BCLK",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "SU_SUSTAIN_DISABLE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "TCL_BYPASS_DISABLE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "TCL_CLOCK_ACTIVE_RD",
+ "value": []
+ }
+ ],
+ "name": "PLL_PWRMGT_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000001F": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 1,
+ "description": "",
+ "name": "SCLK_SOURCED_FROM_MPLL_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "MCLK_FROM_SPLL_DIV_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "ENABLE_SCLK_FROM_MPLL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DLL_READY_LAT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CGM_CLK_TO_OUTPIN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "CLK_OR_COUNT_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "EN_MCLK_TRISTATE_IN_SUSPEND",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 21,
+ "description": "",
+ "name": "CGM_SPARE_RD",
+ "value": []
+ }
+ ],
+ "name": "MCLK_MISC",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000002A": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "P2PLL_RESET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "P2PLL_SLEEP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "P2PLL_TST_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "P2PLL_REFCLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "P2PLL_FBCLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "P2PLL_TCPOFF",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "P2PLL_TVCOMAX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 10,
+ "description": "",
+ "name": "P2PLL_PCP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 13,
+ "description": "",
+ "name": "P2PLL_PVG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 15,
+ "description": "",
+ "name": "P2PLL_PDC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "P2PLL_ATOMIC_UPDATE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "P2PLL_ATOMIC_UPDATE_SYNC",
+ "value": []
+ }
+ ],
+ "name": "P2PLL_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000002B": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 9,
+ "description": "",
+ "name": "P2PLL_REF_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "P2PLL_ATOMIC_UPDATE_W",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "P2PLL_ATOMIC_UPDATE_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 17,
+ "description": "",
+ "name": "P2PLL_REF_DIV_SRC",
+ "value": []
+ }
+ ],
+ "name": "P2PLL_REF_DIV",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000002C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 10,
+ "description": "",
+ "name": "P2PLL_FB_DIV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "P2PLL_ATOMIC_UPDATE_W",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "P2PLL_ATOMIC_UPDATE_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 18,
+ "description": "",
+ "name": "P2PLL_POST_DIV",
+ "value": []
+ }
+ ],
+ "name": "P2PLL_DIV_0",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000002D": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 1,
+ "description": "",
+ "name": "PIX2CLK_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "PIX2CLK_INVERT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "PIXCLK_TV_SRC_SEL",
+ "value": []
+ }
+ ],
+ "name": "PIXCLKS_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "name": "CLK"
+ },
+ {
+ "0x00000008": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 4,
+ "description": "",
+ "name": "PLL_ADDR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "PLL_WR_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 9,
+ "description": "",
+ "name": "PPLL_DIV_SEL",
+ "value": []
+ }
+ ],
+ "name": "CLOCK_CNTL_INDEX",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000009": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 3,
+ "description": "",
+ "name": "HTOT_PIX_SLIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 11,
+ "description": "",
+ "name": "HTOT_VCLK_SLIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 18,
+ "description": "",
+ "name": "HTOT_PPLL_SLIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "HTOT_CNTL_EDGE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "HTOT_CNTL_VGA_EN",
+ "value": []
+ }
+ ],
+ "name": "HTOTAL_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000002E": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 3,
+ "description": "",
+ "name": "HTOT2_PIX_SLIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 11,
+ "description": "",
+ "name": "HTOT2_PIX2CLK_SLIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 18,
+ "description": "",
+ "name": "HTOT2_P2PLL_SLIP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "HTOT2_CNTL_EDGE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "HTOT2_CNTL_UPDATE",
+ "value": []
+ }
+ ],
+ "name": "HTOTAL2_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000050": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "CRTC_DBL_SCAN_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "CRTC_INTERLACE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "CRTC_C_SYNC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 11,
+ "description": "",
+ "name": "CRTC_PIX_WIDTH",
+ "value": [
+ {
+ "description": "",
+ "name": "4BPP",
+ "value": 256
+ },
+ {
+ "description": "",
+ "name": "8BPP",
+ "value": 512
+ },
+ {
+ "description": "",
+ "name": "15BPP",
+ "value": 768
+ },
+ {
+ "description": "",
+ "name": "16BPP",
+ "value": 1024
+ },
+ {
+ "description": "",
+ "name": "24BPP",
+ "value": 1280
+ },
+ {
+ "description": "",
+ "name": "34BPP",
+ "value": 1536
+ },
+ {
+ "description": "",
+ "name": "16BPP_4444",
+ "value": 1792
+ },
+ {
+ "description": "",
+ "name": "16BPP_88",
+ "value": 2048
+ }
+ ]
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "CRTC_ICON_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CRTC_CUR_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 18,
+ "description": "",
+ "name": "CRTC_VSTAT_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 22,
+ "description": "",
+ "name": "CRTC_CUR_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "CRTC_EXT_DISP_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "CRTC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "CRTC_DISP_REQ_EN_B",
+ "value": []
+ }
+ ],
+ "name": "CRTC_GEN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000054": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "CRTC_VGA_XOVERSCAN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 2,
+ "description": "",
+ "name": "VGA_BLINK_RATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "VGA_ATI_LINEAR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "VGA_128KAP_PAGING",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "VGA_TEXT_132",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "VGA_XCRT_CNT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "CRTC_HSYNC_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "CRTC_VSYNC_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "CRTC_DISPLAY_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 11,
+ "description": "",
+ "name": "CRTC_SYNC_TRISTATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 12,
+ "description": "",
+ "name": "CRTC_HSYNC_TRISTATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "CRTC_VSYNC_TRISTATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "CRT_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "VGA_CUR_B_TEST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "VGA_PACK_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "VGA_MEM_PS_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 30,
+ "description": "",
+ "name": "VCRTC_IDX_MASTER",
+ "value": []
+ }
+ ],
+ "name": "CRTC_EXT_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000058": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 1,
+ "description": "",
+ "name": "DAC_RANGE_CNTL",
+ "value": [
+ {
+ "description": "",
+ "name": "PS2",
+ "value": 2
+ }
+ ]
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "DAC_BLANKING",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "DAC_CMP_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "DAC_CMP_OUT_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "DAC_CMP_OUT_G",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "DAC_CMP_OUT_B",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "DAC_CMP_OUTPUT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DAC_8BIT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "DAC_4BPP_PIX_ORDER",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "DAC_TVO_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "DAC_VGA_ADR_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "DAC_EXPAND_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "DAC_PDWN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CRT_SENSE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "CRT_DETECTION_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "DAC_CRC_CONT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "DAC_CRC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "DAC_CRC_FIELD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 22,
+ "description": "",
+ "name": "DAC_LUT_COUNTER_LIMIT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "DAC_LUT_READ_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 31,
+ "description": "",
+ "name": "DAC_MASK",
+ "value": []
+ }
+ ],
+ "name": "DAC_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000007C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "DAC_CLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "DAC2_CLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "PALETTE_ACCESS_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "DAC2_CMP_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DAC2_CMP_OUT_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "DAC2_CMP_OUT_G",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "DAC2_CMP_OUT_B",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 11,
+ "description": "",
+ "name": "DAC2_CMP_OUTPUT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "DAC2_EXPAND_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CRT2_SENSE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "CRT2_DETECTION_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "DAC_CRC2_CONT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "DAC_CRC2_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "DAC_CRC2_FIELD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 22,
+ "description": "",
+ "name": "DAC2_LUT_COUNTER_LIMIT",
+ "value": []
+ }
+ ],
+ "name": "DAC_CNTL2",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000000B0": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 7,
+ "description": "",
+ "name": "PALETTE_W_INDEX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 23,
+ "description": "",
+ "name": "PALETTE_R_INDEX",
+ "value": []
+ }
+ ],
+ "name": "PALETTE_INDEX",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000000B8": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 9,
+ "description": "",
+ "name": "PALETTE_DATA_B",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 19,
+ "description": "",
+ "name": "PALETTE_DATA_G",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 29,
+ "description": "",
+ "name": "PALETTE_DATA_R",
+ "value": []
+ }
+ ],
+ "name": "PALETTE_30_DATA",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000000E0": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 5,
+ "description": "",
+ "name": "APER_REG_ENDIAN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "CFG_VGA_RAM_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "CFG_VGA_IO_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 19,
+ "description": "",
+ "name": "CFG_ATI_REV_ID",
+ "value": []
+ }
+ ],
+ "name": "CONFIG_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000140": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "MEM_NUM_CHANNELS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "MC_USE_B_CH_ONLY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "DISABLE_AP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "HALF_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 7,
+ "description": "",
+ "name": "MEM_BANK_MAPPING_A",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 15,
+ "description": "",
+ "name": "MEM_ADDR_MAPPING_A",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 23,
+ "description": "",
+ "name": "MEM_BANK_MAPPING_B",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 31,
+ "description": "",
+ "name": "MEM_ADDR_MAPPING_B",
+ "value": []
+ }
+ ],
+ "name": "MEM_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000019C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 13,
+ "description": "",
+ "name": "GPIO_A",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 16,
+ "description": "",
+ "name": "LTGIO_A",
+ "value": []
+ }
+ ],
+ "name": "GPIOPAD_A",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000200": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 9,
+ "description": "",
+ "name": "CRTC_H_TOTAL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 24,
+ "description": "",
+ "name": "CRTC_H_DISP",
+ "value": []
+ }
+ ],
+ "name": "CRTC_H_TOTAL_DISP",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000204": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 2,
+ "description": "",
+ "name": "CRTC_H_SYNC_STRT_PIX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 12,
+ "description": "",
+ "name": "CRTC_H_SYNC_STRT_CHAR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 21,
+ "description": "",
+ "name": "CRTC_H_SYNC_WID",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "CRTC_H_SYNC_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 26,
+ "description": "",
+ "name": "CRTC_H_SYNC_SKEW_TUNE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "CRTC_H_SYNC_SKEW_TUNE_MODE",
+ "value": []
+ }
+ ],
+ "name": "CRTC_H_SYNC_STRT_WID",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000208": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "CRTC_V_TOTAL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 27,
+ "description": "",
+ "name": "CRTC_V_DISP",
+ "value": []
+ }
+ ],
+ "name": "CRTC_V_TOTAL_DISP",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000020C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "CRTC_V_SYNC_STRT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 20,
+ "description": "",
+ "name": "CRTC_V_SYNC_WID",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "CRTC_V_SYNC_POL",
+ "value": []
+ }
+ ],
+ "name": "CRTC_V_SYNC_STRT_WID",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000224": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 26,
+ "description": "",
+ "name": "CRTC_OFFSET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "CRTC_GUI_TRIG_OFFSET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "CRTC_OFFSET_LOCK",
+ "value": []
+ }
+ ],
+ "name": "CRTC_OFFSET",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000228": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 3,
+ "description": "",
+ "name": "CRTC_TILE_LINE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 7,
+ "description": "",
+ "name": "CRTC_TILE_LINE_RIGHT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "CRTC_TILE_EN_RIGHT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "CRTC_TILE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CRTC_OFFSET_FLIP_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "CRTC_STEREO_OFFSET_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 19,
+ "description": "",
+ "name": "CRTC_STEREO_SYNC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "CRTC_STEREO_SYNC_OUT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "CRTC_STEREO_SYNC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "CRTC_GUI_TRIG_OFFSET_LEFT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "CRTC_GUI_TRIG_OFFSET_RIGHT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "CRTC_GUI_TRIG_OFFSET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "CRTC_OFFSET_LOCK",
+ "value": []
+ }
+ ],
+ "name": "CRTC_OFFSET_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000022C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 10,
+ "description": "",
+ "name": "CRTC_PITCH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 26,
+ "description": "",
+ "name": "CRTC_PITCH_RIGHT",
+ "value": []
+ }
+ ],
+ "name": "CRTC_PITCH",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000230": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 7,
+ "description": "",
+ "name": "OVR_CLR_B",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 15,
+ "description": "",
+ "name": "OVR_CLR_G",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 23,
+ "description": "",
+ "name": "OVR_CLR_R",
+ "value": []
+ }
+ ],
+ "name": "OVR_CLR",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000234": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 6,
+ "description": "",
+ "name": "OVR_WID_RIGHT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 22,
+ "description": "",
+ "name": "OVR_WID_LEFT",
+ "value": []
+ }
+ ],
+ "name": "OVR_WID_LEFT_RIGHT",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000238": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 9,
+ "description": "",
+ "name": "OVR_WID_BOTTOM",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 25,
+ "description": "",
+ "name": "OVR_WID_TOP",
+ "value": []
+ }
+ ],
+ "name": "OVR_WID_TOP_BOTTOM",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000023C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 31,
+ "description": "",
+ "name": "DISPLAY_BASE_ADDR",
+ "value": []
+ }
+ ],
+ "name": "DISPLAY_BASE_ADDR",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000250": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 9,
+ "description": "",
+ "name": "FP_CRTC_H_TOTAL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 24,
+ "description": "",
+ "name": "FP_CRTC_H_DISP",
+ "value": []
+ }
+ ],
+ "name": "FP_CRTC_H_TOTAL_DISP",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000254": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "FP_CRTC_V_TOTAL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 27,
+ "description": "",
+ "name": "FP_CRTC_V_DISP",
+ "value": []
+ }
+ ],
+ "name": "FP_CRTC_V_TOTAL_DISP",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000278": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "FP_VERT_ACTIVE_SIZE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 24,
+ "description": "",
+ "name": "FP_HORZ_ACTIVE_SIZE",
+ "value": []
+ }
+ ],
+ "name": "FP_HORZ_VERT_ACTIVE",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000027C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "CRTC_HORZ_BLANK_MODE_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "CRTC_VERT_BLANK_MODE_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "CRTC_AUTO_HORZ_CENTER_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "CRTC_AUTO_VERT_CENTER_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "CRTC_H_CUTOFF_ACTIVE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "CRTC_V_CUTOFF_ACTIVE_EN",
+ "value": []
+ }
+ ],
+ "name": "CRTC_MORE_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000280": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "DAC2_FORCE_BLANK_OFF_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "DAC2_FORCE_DATA_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "DAC_FORCE_BLANK_OFF_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "DAC_FORCE_DATA_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 7,
+ "description": "",
+ "name": "DAC_FORCE_DATA_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 17,
+ "description": "",
+ "name": "DAC_FORCE_DATA",
+ "value": []
+ }
+ ],
+ "name": "DAC_EXT_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000284": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "FP_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "FP_BLANK_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "TMDS_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "PANEL_FORMAT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 5,
+ "description": "",
+ "name": "NO_OF_GREY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "FP_RST_FM",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "FP_EN_TMDS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "FP_DETECT_SENSE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "FP_DETECT_INT_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 12,
+ "description": "",
+ "name": "FP_DETECT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "FP_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "FP_USE_VGA_HVSYNC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "FP_USE_VGA_SYNC_POLARITY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CRTC_DONT_SHADOW_VPAR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "CRTC_DONT_SHADOW_HEND",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "CRTC_USE_SHADOWED_VEND",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "CRTC_USE_SHADOWED_ROWCUR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "RMX_HVSYNC_CONTROL_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "DFP_SYNC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 22,
+ "description": "",
+ "name": "CRTC_LOCK_8DOT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "CRT_SYNC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "FP_USE_SHADOW_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "DONT_RST_CHAREN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "CRT_SYNC_ALT_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "CRTC_USE_NONSHADOW_HPARAMS_FOR_BLANK",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "CRTC_USE_NONSHADOW_VPARAMS_FOR_BLANK",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "CRTC_VGA_XOVERSCAN_COLOR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "CRTC_VGA_XOVERSCAN_DIVBY2_EN",
+ "value": []
+ }
+ ],
+ "name": "FP_GEN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000288": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "FP2_BLANK_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "FP2_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "FP2_PANEL_FORMAT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 5,
+ "description": "",
+ "name": "FP2_NO_OF_GREY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "FP2_RST_FM",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "FP2_DETECT_SENSE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "FP2_DETECT_INT_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "FP2_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "FP2_FP_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "FP2_LP_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "FP2_SCK_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 21,
+ "description": "",
+ "name": "FP2_LCD_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 22,
+ "description": "",
+ "name": "FP2_PAD_FLOP_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "FP2_CRC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "FP2_CRC_READ_EN",
+ "value": []
+ }
+ ],
+ "name": "FP2_GEN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000028C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 15,
+ "description": "",
+ "name": "FP_HORZ_STRETCH_RATIO",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 24,
+ "description": "",
+ "name": "FP_HORZ_PANEL_SIZE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "FP_HORZ_STRETCH_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "FP_HORZ_STRETCH_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "FP_AUTO_HORZ_RATIO",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 30,
+ "description": "",
+ "name": "FP_LOOP_STRETCH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "RMX_AUTO_RATIO_HORZ_INC",
+ "value": []
+ }
+ ],
+ "name": "FP_HORZ_STRETCH",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000290": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "FP_VERT_STRETCH_RATIO",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 23,
+ "description": "",
+ "name": "FP_VERT_PANEL_SIZE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "FP_VERT_STRETCH_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "FP_VERT_STRETCH_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "FP_AUTO_VERT_RATIO",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "RMX_AUTO_RATIO_VERT_INC",
+ "value": []
+ }
+ ],
+ "name": "FP_VERT_STRETCH",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002A4": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "TMDS_PLLEN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "TMDS_PLLRST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 3,
+ "description": "",
+ "name": "TMDS_MODE_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 5,
+ "description": "",
+ "name": "TMDS_REGSEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "TMDS_HALF_CLK_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "TMDS_RAN_PAT_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 17,
+ "description": "",
+ "name": "TMDS_TSTPIX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 27,
+ "description": "",
+ "name": "TMDS_REG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "ICHCSEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "ITCLKSEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "TMDS_RAN_PAT_SEL",
+ "value": []
+ }
+ ],
+ "name": "TMDS_TRANSMITTER_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002A8": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 2,
+ "description": "",
+ "name": "TMDS_PLLPCP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 5,
+ "description": "",
+ "name": "TMDS_PLLPVG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 7,
+ "description": "",
+ "name": "TMDS_PLLPDC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 11,
+ "description": "",
+ "name": "TMDS_PLLPVS",
+ "value": []
+ }
+ ],
+ "name": "TMDS_PLL_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002C4": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 2,
+ "description": "",
+ "name": "FP_H_SYNC_STRT_PIX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 12,
+ "description": "",
+ "name": "FP_H_SYNC_STRT_CHAR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 21,
+ "description": "",
+ "name": "FP_H_SYNC_WID",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "FP_H_SYNC_POL",
+ "value": []
+ }
+ ],
+ "name": "FP_H_SYNC_STRT_WID",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002C8": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "FP_V_SYNC_STRT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 20,
+ "description": "",
+ "name": "FP_V_SYNC_WID",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "FP_V_SYNC_POL",
+ "value": []
+ }
+ ],
+ "name": "FP_V_SYNC_STRT_WID",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002D0": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "LVDS_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "LVDS_DISPLAY_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "LVDS_PANEL_TYPE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "LVDS_PANEL_FORMAT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 5,
+ "description": "",
+ "name": "LVDS_NO_OF_GREY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "LVDS_RST_FM",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "LVDS_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 15,
+ "description": "",
+ "name": "LVDS_BL_MOD_LEVEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "LVDS_BL_MOD_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "LVDS_BL_CLK_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "LVDS_DIGON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "LVDS_BLON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "LVDS_FP_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "LVDS_LP_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 22,
+ "description": "",
+ "name": "LVDS_DTM_POL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "LVDS_SRC_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 26,
+ "description": "",
+ "name": "LVDS_RESERVED_BITS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "LVDS_FPDI_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 31,
+ "description": "",
+ "name": "LVDS_HSYNC_DELAY",
+ "value": []
+ }
+ ],
+ "name": "LVDS_GEN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002D4": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "LVDS_CRC_DE_ONLY",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 4,
+ "description": "",
+ "name": "LVDS_LVPVS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 7,
+ "description": "",
+ "name": "LVDS_LPPVG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 9,
+ "description": "",
+ "name": "LVDS_LPPDC",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 12,
+ "description": "",
+ "name": "LVDS_LPPCP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "LVDS_SS_DISP_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 15,
+ "description": "",
+ "name": "LVDS_PRG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "LVDS_PLL_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "LVDS_PLL_RESET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "LVDS_CRC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "LVDS_CRC_UP24",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 24,
+ "description": "",
+ "name": "LVDS_TEST_DATA_OUT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 26,
+ "description": "",
+ "name": "LVDS_TEST_DATA_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 31,
+ "description": "",
+ "name": "LCDENG_TEST_MODE",
+ "value": []
+ }
+ ],
+ "name": "LVDS_PLL_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000002EC": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "SS_EXT_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "SS_EXT_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "SS_BUF_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 10,
+ "description": "",
+ "name": "SS_BUF_OFFSET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 11,
+ "description": "",
+ "name": "SS_BUF_RESET_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 13,
+ "description": "",
+ "name": "SS_BUF_STRENGTH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 15,
+ "description": "",
+ "name": "LVDSPWR_STRENGTH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 19,
+ "description": "",
+ "name": "LVDS_PWRSEQ_DELAY1",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 23,
+ "description": "",
+ "name": "LVDS_PWRSEQ_DELAY2",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 30,
+ "description": "",
+ "name": "LVDS_CLK_PATTERN",
+ "value": []
+ }
+ ],
+ "name": "LVDS_SS_GEN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000003C4": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 2,
+ "description": "",
+ "name": "FP_H2_SYNC_STRT_PIX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 12,
+ "description": "",
+ "name": "FP_H2_SYNC_STRT_CHAR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 21,
+ "description": "",
+ "name": "FP_H2_SYNC_WID",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "FP_H2_SYNC_POL",
+ "value": []
+ }
+ ],
+ "name": "FP_H2_SYNC_STRT_WID",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000003C8": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 11,
+ "description": "",
+ "name": "FP_V2_SYNC_STRT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 20,
+ "description": "",
+ "name": "FP_V2_SYNC_WID",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "FP_V2_SYNC_POL",
+ "value": []
+ }
+ ],
+ "name": "FP_V2_SYNC_STRT_WID",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x000003F8": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "CRTC2_DBL_SCAN_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "CRTC2_INTERLACE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "CRTC2_SYNC_TRISTATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "CRTC2_HSYNC_TRISTATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "CRTC2_VSYNC_TRISTATE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "CRT2_ON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 11,
+ "description": "",
+ "name": "CRTC2_PIX_WIDTH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "CRTC2_ICON_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "CRTC2_CUR_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 22,
+ "description": "",
+ "name": "CRTC2_CUR_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "CRTC2_DISPLAY_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "CRTC2_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "CRTC2_DISP_REQ_EN_B",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "CRTC2_C_SYNC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "CRTC2_HSYNC_DIS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "CRTC2_VSYNC_DIS",
+ "value": []
+ }
+ ],
+ "name": "CRTC2_GEN_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000800": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "TV_ASYNC_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "CRT_ASYNC_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "RESTART_PHASE_FIX",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "TV_FIFO_ASYNC_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "MV_BP_LEVEL_FIX_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "EXTRA_BIT_ONE_0",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "CRT_FIFO_CE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "TV_FIFO_CE_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 15,
+ "description": "",
+ "name": "RE_SYNC_NOW_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "EXTRA_BIT_ZERO_1",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "EXTRA_BIT_ONE_1",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "EXTRA_BIT_ZERO_2",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "EXTRA_BIT_ONE_2",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "TV_ON",
+ "value": []
+ }
+ ],
+ "name": "TV_MASTER_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000888": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "Y_RED_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "C_GRN_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "CMP_BLU_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "DAC_DITHER_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 6,
+ "description": "",
+ "name": "RED_MX",
+ "value": [
+ {
+ "description": "",
+ "name": "FORCE_DAC_DATA_MASK",
+ "value": 96
+ }
+ ]
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 10,
+ "description": "",
+ "name": "GRN_MX",
+ "value": [
+ {
+ "description": "",
+ "name": "FORCE_DAC_DATA_MASK",
+ "value": 1536
+ }
+ ]
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 14,
+ "description": "",
+ "name": "BLU_MX",
+ "value": [
+ {
+ "description": "",
+ "name": "FORCE_DAC_DATA_MASK",
+ "value": 24576
+ }
+ ]
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 25,
+ "description": "",
+ "name": "FORCE_DAC_DATA",
+ "value": []
+ }
+ ],
+ "name": "TV_PRE_DAC_MUX_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x0000088C": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "NBLANK",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "NHOLD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "PEDESTAL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "DETECT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "CMPOUT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "BGSLEEP",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 9,
+ "description": "",
+ "name": "STD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 15,
+ "description": "",
+ "name": "MON",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 19,
+ "description": "",
+ "name": "BGADJ",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 23,
+ "description": "",
+ "name": "DACADJ",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "RDACPD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "GDACPD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "BDACPD",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "RDACDET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "GDACDET",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "BDACDET",
+ "value": []
+ }
+ ],
+ "name": "TV_DAC_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000D04": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 3,
+ "description": "",
+ "name": "DAC_WHITE_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 11,
+ "description": "",
+ "name": "DAC_BG_ADJ",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "DAC_PDWN_R",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "DAC_PDWN_G",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "DAC_PDWN_B",
+ "value": []
+ }
+ ],
+ "name": "DAC_MACRO_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000D08": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "DISP_PWR_MAN_D3_CRTC_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "DISP2_PWR_MAN_D3_CRTC2_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 9,
+ "description": "",
+ "name": "DISP_PWR_MAN_DPMS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "DISP_D3_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "DISP_D3_REG_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "DISP_D3_GRPH_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "DISP_D3_SUBPIC_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "DISP_D3_OV0_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "DISP_D1D2_GRPH_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 22,
+ "description": "",
+ "name": "DISP_D1D2_SUBPIC_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "DISP_D1D2_OV0_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "DIG_TMDS_ENABLE_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "TV_ENABLE_RST",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "AUTO_PWRUP_EN",
+ "value": []
+ }
+ ],
+ "name": "DISP_PWR_MAN",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000D14": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 0,
+ "description": "",
+ "name": "DISP_HW_0_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 1,
+ "bl": 1,
+ "description": "",
+ "name": "DISP_HW_1_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "DISP_HW_2_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "DISP_HW_3_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 4,
+ "description": "",
+ "name": "DISP_HW_4_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 5,
+ "bl": 5,
+ "description": "",
+ "name": "DISP_HW_5_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 6,
+ "bl": 6,
+ "description": "",
+ "name": "DISP_HW_6_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 7,
+ "bl": 7,
+ "description": "",
+ "name": "DISP_HW_7_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DISP_HW_8_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "DISP_HW_9_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "DISP_HW_A_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 11,
+ "bl": 11,
+ "description": "",
+ "name": "DISP_HW_B_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 12,
+ "bl": 12,
+ "description": "",
+ "name": "DISP_HW_C_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 13,
+ "bl": 13,
+ "description": "",
+ "name": "DISP_HW_D_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 14,
+ "bl": 14,
+ "description": "",
+ "name": "DISP_HW_E_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 15,
+ "bl": 15,
+ "description": "",
+ "name": "DISP_HW_F_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "DISP_HW_10_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 17,
+ "description": "",
+ "name": "DISP_HW_11_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 18,
+ "bl": 18,
+ "description": "",
+ "name": "DISP_HW_12_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "DISP_HW_13_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 20,
+ "bl": 20,
+ "description": "",
+ "name": "DISP_HW_14_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "DISP_HW_15_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 22,
+ "description": "",
+ "name": "DISP_HW_16_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 23,
+ "bl": 23,
+ "description": "",
+ "name": "DISP_HW_17_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "DISP_HW_18_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 25,
+ "description": "",
+ "name": "DISP_HW_19_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 26,
+ "bl": 26,
+ "description": "",
+ "name": "DISP_HW_1A_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 27,
+ "description": "",
+ "name": "DISP_HW_1B_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 28,
+ "bl": 28,
+ "description": "",
+ "name": "DISP_HW_1C_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "DISP_HW_1D_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "DISP_HW_1E_DEBUG",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 31,
+ "bl": 31,
+ "description": "",
+ "name": "DISP_HW_1F_DEBUG",
+ "value": []
+ }
+ ],
+ "name": "DISP_HW_DEBUG",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000D60": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 1,
+ "description": "",
+ "name": "DISP_ALPHA_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 2,
+ "bl": 2,
+ "description": "",
+ "name": "DISP_ALPHA_INV",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 3,
+ "bl": 3,
+ "description": "",
+ "name": "DISP_ALPHA_PREMULT",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DISP_RGB_OFFSET_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "DISP_LIN_TRANS_BYPASS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 23,
+ "description": "",
+ "name": "DISP_GRPH_ALPHA",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 31,
+ "description": "",
+ "name": "DISP_OV0_ALPHA",
+ "value": []
+ }
+ ],
+ "name": "DISP_MERGE_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000D64": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 1,
+ "description": "",
+ "name": "DISP_DAC_SOURCE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 4,
+ "bl": 5,
+ "description": "",
+ "name": "DISP_TRANS_MATRIX_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DISP_RMX_SOURCE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 9,
+ "bl": 9,
+ "description": "",
+ "name": "DISP_RMX_HTAP_SEL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 10,
+ "bl": 10,
+ "description": "",
+ "name": "DISP_RMX_DITH_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 16,
+ "bl": 16,
+ "description": "",
+ "name": "DISP_TV_SOURCE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 17,
+ "bl": 18,
+ "description": "",
+ "name": "DISP_TV_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 19,
+ "bl": 19,
+ "description": "",
+ "name": "DISP_TV_YG_DITH_EN",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 21,
+ "bl": 21,
+ "description": "",
+ "name": "DISP_TV_BIT_WIDTH",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 22,
+ "bl": 23,
+ "description": "",
+ "name": "DISP_TV_SYNC_MODE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 24,
+ "bl": 24,
+ "description": "",
+ "name": "DISP_TV_SYNC_FORCE",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 25,
+ "bl": 26,
+ "description": "",
+ "name": "DISP_TV_SYNC_COLOR",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 27,
+ "bl": 28,
+ "description": "",
+ "name": "DISP_TV_EVEN_FLAG_CNTL",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 29,
+ "bl": 29,
+ "description": "",
+ "name": "DISP_TV_SYNC_STATUS",
+ "value": []
+ },
+ {
+ "access": "RW",
+ "bf": 30,
+ "bl": 30,
+ "description": "",
+ "name": "DISP_TV_H_DOWNSCALE",
+ "value": []
+ }
+ ],
+ "name": "DISP_OUTPUT_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000D68": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 8,
+ "bl": 8,
+ "description": "",
+ "name": "DISP2_RGB_OFFSET_EN",
+ "value": []
+ }
+ ],
+ "name": "DISP2_MERGE_CNTL",
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "name": "MMIO"
+ }
+ ],
+ "unit": [
+ "DISP"
+ ]
+} \ No newline at end of file
diff --git a/json/rs600.json b/json/rs600.json
index 9bb7f90..a41e829 100644
--- a/json/rs600.json
+++ b/json/rs600.json
@@ -116,9 +116,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "GEN_INT_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00000044": {
"field": [
@@ -291,9 +293,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "GEN_INT_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x0000004C": {
"field": [
@@ -314,9 +318,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "BUS_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00000070": {
"field": [
@@ -401,9 +407,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "MC_IND_INDEX",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00000074": {
"field": [
@@ -416,9 +424,28 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "MC_IND_DATA",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
+ },
+ "0x00000134": {
+ "field": [
+ {
+ "access": "RW",
+ "bf": 0,
+ "bl": 15,
+ "description": "",
+ "name": "HDP_FB_START",
+ "value": []
+ }
+ ],
+ "name": "HDP_FB_LOCATION",
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x000007C0": {
"field": [
@@ -543,9 +570,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "CP_STAT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00000E40": {
"field": [
@@ -726,9 +755,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "RBBM_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x000060A4": {
"field": [
@@ -741,9 +772,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D1CRTC_STATUS_FRAME_COUNT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00006534": {
"field": [
@@ -780,9 +813,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D1MODE_VBLANK_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00006540": {
"field": [
@@ -835,9 +870,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DxMODE_INT_MASK",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00006548": {
"field": [
@@ -874,9 +911,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D1MODE_PRIORITY_A_CNT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x0000654C": {
"field": [
@@ -913,9 +952,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D1MODE_PRIORITY_B_CNT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x000068A4": {
"field": [
@@ -928,9 +969,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D2CRTC_STATUS_FRAME_COUNT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00006D34": {
"field": [
@@ -967,9 +1010,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D2MODE_VBLANK_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00006D48": {
"field": [
@@ -1006,9 +1051,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D2MODE_PRIORITY_A_CNT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00006D4C": {
"field": [
@@ -1045,9 +1092,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "D2MODE_PRIORITY_B_CNT",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007828": {
"field": [
@@ -1076,9 +1125,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DACA_AUTODETECT_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007838": {
"field": [
@@ -1099,9 +1150,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DACA_AUTODETECT_INT_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007A28": {
"field": [
@@ -1130,9 +1183,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DACB_AUTODETECT_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007A38": {
"field": [
@@ -1153,9 +1208,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DACB_AUTODETECT_INT_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007D00": {
"field": [
@@ -1168,9 +1225,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DC_HOT_PLUG_DETECT1_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007D04": {
"field": [
@@ -1191,9 +1250,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DC_HOT_PLUG_DETECT1_INT_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007D08": {
"field": [
@@ -1222,9 +1283,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DC_HOT_PLUG_DETECT1_INT_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007D10": {
"field": [
@@ -1237,9 +1300,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DC_HOT_PLUG_DETECT2_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007D14": {
"field": [
@@ -1260,9 +1325,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DC_HOT_PLUG_DETECT2_INT_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007D18": {
"field": [
@@ -1291,9 +1358,11 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DC_HOT_PLUG_DETECT2_INT_CONTROL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
"0x00007EDC": {
"field": [
@@ -1346,11 +1415,13 @@
"value": []
}
],
- "ioname": "MMIO",
"name": "DISP_INTERRUPT_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "DISP"
+ ]
},
- "name": "DISP"
+ "name": "MMIO"
},
{
"0x00000000": {
@@ -1364,9 +1435,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_STATUS",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000004": {
"field": [
@@ -1387,9 +1460,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_FB_LOCATION",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000005": {
"field": [
@@ -1410,9 +1485,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_AGP_LOCATION",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000006": {
"field": [
@@ -1425,9 +1502,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "AGP_BASE",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000007": {
"field": [
@@ -1440,9 +1519,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "AGP_BASE_2",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000009": {
"field": [
@@ -1455,9 +1536,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_CNTL1",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000100": {
"field": [
@@ -1502,9 +1585,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000102": {
"field": [
@@ -1531,9 +1616,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT0_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000103": {
"field": [
@@ -1560,9 +1647,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT1_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000104": {
"field": [
@@ -1589,9 +1678,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT2_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000105": {
"field": [
@@ -1618,9 +1709,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT3_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000106": {
"field": [
@@ -1647,9 +1740,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT4_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000107": {
"field": [
@@ -1676,9 +1771,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT5_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000108": {
"field": [
@@ -1705,9 +1802,11 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT6_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000109": {
"field": [
@@ -1734,60 +1833,59 @@
]
}
],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT7_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000112": {
"field": [],
- "ioname": "MC",
"name": "MC_PT0_SYSTEM_APERTURE_LOW_ADDR",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000114": {
"field": [],
- "ioname": "MC",
"name": "MC_PT0_SYSTEM_APERTURE_HIGH_ADDR",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000011C": {
"field": [],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT0_DEFAULT_READ_ADDR",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000012C": {
"field": [],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT0_FLAT_BASE_ADDR",
- "size": 32
- },
- "0x00000134": {
- "field": [
- {
- "access": "RW",
- "bf": 0,
- "bl": 15,
- "description": "",
- "name": "HDP_FB_START",
- "value": []
- }
- ],
- "ioname": "MMIO",
- "name": "HDP_FB_LOCATION",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000013C": {
"field": [],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT0_FLAT_START_ADDR",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000014C": {
"field": [],
- "ioname": "MC",
"name": "MC_PT0_CONTEXT0_FLAT_END_ADDR",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000016C": {
"field": [
@@ -1888,9 +1986,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT0_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000016D": {
"field": [
@@ -1991,9 +2091,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT1_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000016E": {
"field": [
@@ -2094,9 +2196,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT2_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000016F": {
"field": [
@@ -2197,9 +2301,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT3_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000170": {
"field": [
@@ -2300,9 +2406,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT4_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000171": {
"field": [
@@ -2403,9 +2511,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT5_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000172": {
"field": [
@@ -2506,9 +2616,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT6_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000173": {
"field": [
@@ -2609,9 +2721,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT7_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000174": {
"field": [
@@ -2712,9 +2826,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT8_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000175": {
"field": [
@@ -2815,9 +2931,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT9_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000176": {
"field": [
@@ -2918,9 +3036,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT10_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000177": {
"field": [
@@ -3021,9 +3141,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT11_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000178": {
"field": [
@@ -3124,9 +3246,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT12_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x00000179": {
"field": [
@@ -3227,9 +3351,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT13_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000017A": {
"field": [
@@ -3330,9 +3456,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT14_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000017B": {
"field": [
@@ -3433,9 +3561,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT15_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000017C": {
"field": [
@@ -3536,9 +3666,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT16_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000017D": {
"field": [
@@ -3639,9 +3771,11 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT17_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"0x0000017E": {
"field": [
@@ -3742,11 +3876,17 @@
"value": []
}
],
- "ioname": "MC",
"name": "MC_PT0_CLIENT18_CNTL",
- "size": 32
+ "size": 32,
+ "unit": [
+ "MC"
+ ]
},
"name": "MC"
}
+ ],
+ "unit": [
+ "MC",
+ "DISP"
]
} \ No newline at end of file
diff --git a/src/Makefile.am b/src/Makefile.am
index bb446ed..706d031 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,8 +30,11 @@ noinst_HEADER = radeon.h radeon_priv.h r600_states.h mode.h
radeondb_SOURCES = radeondb.c bof.c radeon_pciid.c radeon_ctx.c radeon_bof.c\
radeon_json.c r600_state.c r600_ctx.c mode.c radeon.c radeon_state.c\
radeon_draw.c radeon_bo.c radeon_pci.c radeon_reg.c rs600_reg.c\
- r600_disassembler.c
+ r600_disassembler.c r100_reg.c
radeondb_LDADD = $(LIBJANSSON_LIBS) $(LIBDRM_LIBS) $(LIBDRM_RADEON_LIBS) $(PCIACCESS_LIBS)
rs600_reg.c: ../json/rs600.json ../tools/rdb.c
../tools/rdb -j ../json/rs600.json -h rs600 > rs600_reg.c
+
+r100_reg.c: ../json/r100.json ../tools/rdb.c
+ ../tools/rdb -j ../json/r100.json -h r100 > r100_reg.c
diff --git a/src/r100_reg.c b/src/r100_reg.c
new file mode 100644
index 0000000..28ba1af
--- /dev/null
+++ b/src/r100_reg.c
@@ -0,0 +1,81 @@
+/* this file is autogenerated don't edit */
+#include "radeon_reg.h"
+
+struct reg_block r100_block[] = {
+ {0x00000001, "DISP"},
+};
+
+unsigned r100_nblock = 2;
+
+struct reg r100_reg[] = {
+ {0x00000001, 0x00000001, "CLK_PIN_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000000D, 0x00000001, "SCLK_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000007, 0x00000001, "PPLL_DIV_3", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000002, 0x00000001, "PPLL_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000008, 0x00000001, "VCLK_ECP_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000001F, 0x00000001, "MCLK_MISC", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000003, 0x00000001, "PPLL_REF_DIV", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000002D, 0x00000001, "PIXCLKS_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000000A, 0x00000001, "M_SPLL_REF_FB_DIV", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000000C, 0x00000001, "SPLL_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000012, 0x00000001, "MCLK_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000002A, 0x00000001, "P2PLL_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000014, 0x00000001, "CLK_PWRMGT_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000002B, 0x00000001, "P2PLL_REF_DIV", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000015, 0x00000001, "PLL_PWRMGT_CNTL", r100_CLK_rreg, r100_CLK_wreg},
+ {0x0000002C, 0x00000001, "P2PLL_DIV_0", r100_CLK_rreg, r100_CLK_wreg},
+ {0x00000050, 0x00000001, "CRTC_GEN_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000238, 0x00000001, "OVR_WID_TOP_BOTTOM", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000054, 0x00000001, "CRTC_EXT_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000284, 0x00000001, "FP_GEN_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000008, 0x00000001, "CLOCK_CNTL_INDEX", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000023C, 0x00000001, "DISPLAY_BASE_ADDR", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000250, 0x00000001, "FP_CRTC_H_TOTAL_DISP", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000000B0, 0x00000001, "PALETTE_INDEX", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000140, 0x00000001, "MEM_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000234, 0x00000001, "OVR_WID_LEFT_RIGHT", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000000B8, 0x00000001, "PALETTE_30_DATA", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000D14, 0x00000001, "DISP_HW_DEBUG", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000002E, 0x00000001, "HTOTAL2_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000290, 0x00000001, "FP_VERT_STRETCH", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000022C, 0x00000001, "CRTC_PITCH", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000204, 0x00000001, "CRTC_H_SYNC_STRT_WID", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000009, 0x00000001, "HTOTAL_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002C8, 0x00000001, "FP_V_SYNC_STRT_WID", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000280, 0x00000001, "DAC_EXT_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000000E0, 0x00000001, "CONFIG_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000020C, 0x00000001, "CRTC_V_SYNC_STRT_WID", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000058, 0x00000001, "DAC_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000088C, 0x00000001, "TV_DAC_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000007C, 0x00000001, "DAC_CNTL2", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000888, 0x00000001, "TV_PRE_DAC_MUX_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000019C, 0x00000001, "GPIOPAD_A", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000D08, 0x00000001, "DISP_PWR_MAN", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000200, 0x00000001, "CRTC_H_TOTAL_DISP", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000208, 0x00000001, "CRTC_V_TOTAL_DISP", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000224, 0x00000001, "CRTC_OFFSET", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000003F8, 0x00000001, "CRTC2_GEN_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000228, 0x00000001, "CRTC_OFFSET_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000230, 0x00000001, "OVR_CLR", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000254, 0x00000001, "FP_CRTC_V_TOTAL_DISP", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000278, 0x00000001, "FP_HORZ_VERT_ACTIVE", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000027C, 0x00000001, "CRTC_MORE_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000288, 0x00000001, "FP2_GEN_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x0000028C, 0x00000001, "FP_HORZ_STRETCH", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000D64, 0x00000001, "DISP_OUTPUT_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002A4, 0x00000001, "TMDS_TRANSMITTER_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000D68, 0x00000001, "DISP2_MERGE_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002A8, 0x00000001, "TMDS_PLL_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002C4, 0x00000001, "FP_H_SYNC_STRT_WID", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000003C4, 0x00000001, "FP_H2_SYNC_STRT_WID", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002D0, 0x00000001, "LVDS_GEN_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000003C8, 0x00000001, "FP_V2_SYNC_STRT_WID", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002D4, 0x00000001, "LVDS_PLL_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x000002EC, 0x00000001, "LVDS_SS_GEN_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000800, 0x00000001, "TV_MASTER_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000D04, 0x00000001, "DAC_MACRO_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+ {0x00000D60, 0x00000001, "DISP_MERGE_CNTL", r100_MMIO_rreg, r100_MMIO_wreg},
+};
+
+unsigned r100_nreg = 67;
+
diff --git a/src/radeon_pci.c b/src/radeon_pci.c
index 90b1106..bdad3a8 100644
--- a/src/radeon_pci.c
+++ b/src/radeon_pci.c
@@ -114,6 +114,15 @@ void radeon_mmio_wr32(struct radeon *radeon, u32 offset, u32 value)
*(u32 * volatile)(radeon->mmio + offset) = value;
}
+void radeon_mmio_wr8(struct radeon *radeon, u32 offset, u8 value)
+{
+ if (radeon->mmio == NULL) {
+ fprintf(stderr, "(%s:%d) internal error\n", __func__, __LINE__);
+ exit(1);
+ }
+ *(u8 * volatile)(radeon->mmio + offset) = value;
+}
+
struct radeon *radeon_new_from_pci(void)
{
struct radeon *radeon;
diff --git a/src/radeon_priv.h b/src/radeon_priv.h
index 0067998..dc6b058 100644
--- a/src/radeon_priv.h
+++ b/src/radeon_priv.h
@@ -225,6 +225,7 @@ extern void *copy_object(void *ptr, unsigned size);
extern u32 radeon_mmio_rd32(struct radeon *radeon, u32 offset);
extern void radeon_mmio_wr32(struct radeon *radeon, u32 offset, u32 value);
+extern void radeon_mmio_wr8(struct radeon *radeon, u32 offset, u8 value);
struct radeon *radeon_new_from_pci(void);
#define radeon_ctx_get_dst_surface(ctx, dst) (ctx)->radeon->asic->ctx_get_dst_surface((ctx), (dst))
diff --git a/src/radeon_reg.c b/src/radeon_reg.c
index 781794b..a2aef70 100644
--- a/src/radeon_reg.c
+++ b/src/radeon_reg.c
@@ -24,6 +24,7 @@
* Jerome Glisse
*/
#include <string.h>
+#include <unistd.h>
#include "radeon_priv.h"
#include "radeon_reg.h"
@@ -41,6 +42,20 @@ void radeon_register_dump(const char *bname)
return;
}
switch (radeon->family) {
+ case CHIP_R100:
+ case CHIP_RV100:
+ case CHIP_RS100:
+ case CHIP_RV200:
+ case CHIP_RS200:
+ case CHIP_R200:
+ case CHIP_RV250:
+ case CHIP_RS300:
+ case CHIP_RV280:
+ block = r100_block;
+ reg = r100_reg;
+ nblock = r100_nblock;
+ nreg = r100_nreg;
+ break;
case CHIP_RS600:
block = rs600_block;
reg = rs600_reg;
@@ -59,15 +74,6 @@ void radeon_register_dump(const char *bname)
case CHIP_RV730:
case CHIP_RV710:
case CHIP_RV740:
- case CHIP_R100:
- case CHIP_RV100:
- case CHIP_RS100:
- case CHIP_RV200:
- case CHIP_RS200:
- case CHIP_R200:
- case CHIP_RV250:
- case CHIP_RS300:
- case CHIP_RV280:
case CHIP_R300:
case CHIP_R350:
case CHIP_RV350:
@@ -104,17 +110,74 @@ void radeon_register_dump(const char *bname)
fprintf(stderr, "%s unknown block %s for chipset 0x%04X\n",
__func__, bname, radeon->device);
}
+ bid = 1 << bid;
}
for (i = 0; i < nreg; i++) {
- if ((bname && reg[i].block_id == bid) || bname == NULL) {
- bid = reg[i].block_id;
- printf("%s 0x%08X 0x%08X %s\n", block[bid].name, reg[i].offset,
+ if ((bname && reg[i].block_id & bid) || bname == NULL) {
+ printf("0x%08X 0x%08X %s\n", reg[i].offset,
reg[i].rreg(radeon, reg[i].offset), reg[i].name);
}
}
radeon_decref(radeon);
}
+/* R100 */
+u32 r100_MMIO_rreg(struct radeon *radeon, u32 offset)
+{
+ return radeon_mmio_rd32(radeon, offset);
+}
+
+void r100_MMIO_wreg(struct radeon *radeon, u32 offset, u32 value)
+{
+ radeon_mmio_wr32(radeon, offset, value);
+}
+
+void r100_pll_errata_after_index(struct radeon *radeon)
+{
+ if (radeon->family == CHIP_RV200 || radeon->family == CHIP_RS200) {
+ (void)radeon_mmio_rd32(radeon, 0x000C);
+ (void)radeon_mmio_rd32(radeon, 0x0050);
+ }
+}
+
+static void r100_pll_errata_after_data(struct radeon *radeon)
+{
+ /* This workarounds is necessary on RV100, RS100 and RS200 chips
+ * or the chip could hang on a subsequent access
+ */
+ if (radeon->family == CHIP_RV100 || radeon->family == CHIP_RS100 ||
+ radeon->family == CHIP_RS200) {
+ sleep(1);
+ }
+
+ /* This function is required to workaround a hardware bug in some (all?)
+ * revisions of the R300. This workaround should be called after every
+ * CLOCK_CNTL_INDEX register access. If not, register reads afterward
+ * may not be correct.
+ */
+ if (radeon->family == CHIP_R300) {
+ u32 save, tmp;
+
+ save = radeon_mmio_rd32(radeon, 0x0008);
+ tmp = save & ~(0x3f | (1 << 7));
+ radeon_mmio_wr32(radeon, 0x0008, tmp);
+ tmp = radeon_mmio_rd32(radeon, 0x000C);
+ radeon_mmio_wr32(radeon, 0x0008, save);
+ }
+}
+
+u32 r100_CLK_rreg(struct radeon *radeon, u32 offset)
+{
+ return radeon_mmio_rd32(radeon, offset);
+}
+
+void r100_CLK_wreg(struct radeon *radeon, u32 offset, u32 value)
+{
+ radeon_mmio_wr8(radeon, 0x0008, ((offset & 0x3f) | (1 << 7)));
+ r100_pll_errata_after_index(radeon);
+ radeon_mmio_wr32(radeon, 0x000C, value);
+ r100_pll_errata_after_data(radeon);
+}
/* RS600 */
u32 rs600_MMIO_rreg(struct radeon *radeon, u32 offset)
@@ -127,6 +190,7 @@ void rs600_MMIO_wreg(struct radeon *radeon, u32 offset, u32 value)
radeon_mmio_wr32(radeon, offset, value);
}
+
u32 rs600_MC_rreg(struct radeon *radeon, u32 offset)
{
radeon_mmio_wr32(radeon, 0x0070, (offset & 0xFFFF) | (1 << 21));
diff --git a/src/radeon_reg.h b/src/radeon_reg.h
index 0fd367f..62f80b6 100644
--- a/src/radeon_reg.h
+++ b/src/radeon_reg.h
@@ -47,6 +47,16 @@ struct reg {
radeon_wreg_t wreg;
};
+/* R100 */
+u32 r100_MMIO_rreg(struct radeon *radeon, u32 offset);
+void r100_MMIO_wreg(struct radeon *radeon, u32 offset, u32 value);
+u32 r100_CLK_rreg(struct radeon *radeon, u32 offset);
+void r100_CLK_wreg(struct radeon *radeon, u32 offset, u32 value);
+extern struct reg_block r100_block[];
+extern struct reg r100_reg[];
+extern unsigned r100_nblock;
+extern unsigned r100_nreg;
+
/* RS600 */
u32 rs600_MMIO_rreg(struct radeon *radeon, u32 offset);
void rs600_MMIO_wreg(struct radeon *radeon, u32 offset, u32 value);
diff --git a/src/rs600_reg.c b/src/rs600_reg.c
index 35e1393..b744e05 100644
--- a/src/rs600_reg.c
+++ b/src/rs600_reg.c
@@ -2,81 +2,81 @@
#include "radeon_reg.h"
struct reg_block rs600_block[] = {
- {0, "DISP"},
- {1, "MC"},
+ {0x00000001, "MC"},
+ {0x00000002, "DISP"},
};
unsigned rs600_nblock = 2;
struct reg rs600_reg[] = {
- {0x00007D08, 0, "DC_HOT_PLUG_DETECT1_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00000040, 0, "GEN_INT_CNTL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00006D48, 0, "D2MODE_PRIORITY_A_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x0000654C, 0, "D1MODE_PRIORITY_B_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x000060A4, 0, "D1CRTC_STATUS_FRAME_COUNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00000E40, 0, "RBBM_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00000070, 0, "MC_IND_INDEX", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007A38, 0, "DACB_AUTODETECT_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00006548, 0, "D1MODE_PRIORITY_A_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x000007C0, 0, "CP_STAT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x0000004C, 0, "BUS_CNTL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00006540, 0, "DxMODE_INT_MASK", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00000044, 0, "GEN_INT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00006534, 0, "D1MODE_VBLANK_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x000068A4, 0, "D2CRTC_STATUS_FRAME_COUNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00000074, 0, "MC_IND_DATA", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007828, 0, "DACA_AUTODETECT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007D00, 0, "DC_HOT_PLUG_DETECT1_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00006D34, 0, "D2MODE_VBLANK_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00006D4C, 0, "D2MODE_PRIORITY_B_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007838, 0, "DACA_AUTODETECT_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007D04, 0, "DC_HOT_PLUG_DETECT1_INT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007A28, 0, "DACB_AUTODETECT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007D10, 0, "DC_HOT_PLUG_DETECT2_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007D14, 0, "DC_HOT_PLUG_DETECT2_INT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007D18, 0, "DC_HOT_PLUG_DETECT2_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00007EDC, 0, "DISP_INTERRUPT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x00000005, 1, "MC_AGP_LOCATION", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000013C, 1, "MC_PT0_CONTEXT0_FLAT_START_ADDR", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000103, 1, "MC_PT0_CONTEXT1_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000175, 1, "MC_PT0_CLIENT9_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000000, 1, "MC_STATUS", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000016E, 1, "MC_PT0_CLIENT2_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000107, 1, "MC_PT0_CONTEXT5_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000179, 1, "MC_PT0_CLIENT13_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000004, 1, "MC_FB_LOCATION", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000006, 1, "AGP_BASE", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000007, 1, "AGP_BASE_2", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000009, 1, "MC_CNTL1", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000100, 1, "MC_PT0_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000102, 1, "MC_PT0_CONTEXT0_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000104, 1, "MC_PT0_CONTEXT2_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000016C, 1, "MC_PT0_CLIENT0_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000105, 1, "MC_PT0_CONTEXT3_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000011C, 1, "MC_PT0_CONTEXT0_DEFAULT_READ_ADDR", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000016D, 1, "MC_PT0_CLIENT1_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000106, 1, "MC_PT0_CONTEXT4_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000016F, 1, "MC_PT0_CLIENT3_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000108, 1, "MC_PT0_CONTEXT6_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000109, 1, "MC_PT0_CONTEXT7_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000112, 1, "MC_PT0_SYSTEM_APERTURE_LOW_ADDR", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000017B, 1, "MC_PT0_CLIENT15_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000114, 1, "MC_PT0_SYSTEM_APERTURE_HIGH_ADDR", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000012C, 1, "MC_PT0_CONTEXT0_FLAT_BASE_ADDR", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000134, 1, "HDP_FB_LOCATION", rs600_MMIO_rreg, rs600_MMIO_wreg},
- {0x0000014C, 1, "MC_PT0_CONTEXT0_FLAT_END_ADDR", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000170, 1, "MC_PT0_CLIENT4_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000171, 1, "MC_PT0_CLIENT5_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000172, 1, "MC_PT0_CLIENT6_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000173, 1, "MC_PT0_CLIENT7_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000174, 1, "MC_PT0_CLIENT8_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000176, 1, "MC_PT0_CLIENT10_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000177, 1, "MC_PT0_CLIENT11_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x00000178, 1, "MC_PT0_CLIENT12_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000017A, 1, "MC_PT0_CLIENT14_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000017C, 1, "MC_PT0_CLIENT16_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000017D, 1, "MC_PT0_CLIENT17_CNTL", rs600_MC_rreg, rs600_MC_wreg},
- {0x0000017E, 1, "MC_PT0_CLIENT18_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00007D08, 0x00000002, "DC_HOT_PLUG_DETECT1_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000134, 0x00000001, "HDP_FB_LOCATION", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000040, 0x00000002, "GEN_INT_CNTL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00006D48, 0x00000002, "D2MODE_PRIORITY_A_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x0000654C, 0x00000002, "D1MODE_PRIORITY_B_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x000060A4, 0x00000002, "D1CRTC_STATUS_FRAME_COUNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000E40, 0x00000002, "RBBM_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000070, 0x00000002, "MC_IND_INDEX", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007A38, 0x00000002, "DACB_AUTODETECT_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00006548, 0x00000002, "D1MODE_PRIORITY_A_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x000007C0, 0x00000002, "CP_STAT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x0000004C, 0x00000002, "BUS_CNTL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00006540, 0x00000002, "DxMODE_INT_MASK", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000044, 0x00000002, "GEN_INT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00006534, 0x00000002, "D1MODE_VBLANK_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x000068A4, 0x00000002, "D2CRTC_STATUS_FRAME_COUNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000074, 0x00000002, "MC_IND_DATA", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007828, 0x00000002, "DACA_AUTODETECT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007D00, 0x00000002, "DC_HOT_PLUG_DETECT1_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00006D34, 0x00000002, "D2MODE_VBLANK_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00006D4C, 0x00000002, "D2MODE_PRIORITY_B_CNT", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007838, 0x00000002, "DACA_AUTODETECT_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007D04, 0x00000002, "DC_HOT_PLUG_DETECT1_INT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007A28, 0x00000002, "DACB_AUTODETECT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007D10, 0x00000002, "DC_HOT_PLUG_DETECT2_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007D14, 0x00000002, "DC_HOT_PLUG_DETECT2_INT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007D18, 0x00000002, "DC_HOT_PLUG_DETECT2_INT_CONTROL", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00007EDC, 0x00000002, "DISP_INTERRUPT_STATUS", rs600_MMIO_rreg, rs600_MMIO_wreg},
+ {0x00000005, 0x00000001, "MC_AGP_LOCATION", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000013C, 0x00000001, "MC_PT0_CONTEXT0_FLAT_START_ADDR", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000103, 0x00000001, "MC_PT0_CONTEXT1_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000175, 0x00000001, "MC_PT0_CLIENT9_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000000, 0x00000001, "MC_STATUS", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000016E, 0x00000001, "MC_PT0_CLIENT2_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000107, 0x00000001, "MC_PT0_CONTEXT5_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000179, 0x00000001, "MC_PT0_CLIENT13_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000004, 0x00000001, "MC_FB_LOCATION", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000006, 0x00000001, "AGP_BASE", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000007, 0x00000001, "AGP_BASE_2", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000009, 0x00000001, "MC_CNTL1", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000100, 0x00000001, "MC_PT0_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000102, 0x00000001, "MC_PT0_CONTEXT0_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000104, 0x00000001, "MC_PT0_CONTEXT2_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000016C, 0x00000001, "MC_PT0_CLIENT0_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000105, 0x00000001, "MC_PT0_CONTEXT3_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000011C, 0x00000001, "MC_PT0_CONTEXT0_DEFAULT_READ_ADDR", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000016D, 0x00000001, "MC_PT0_CLIENT1_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000106, 0x00000001, "MC_PT0_CONTEXT4_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000016F, 0x00000001, "MC_PT0_CLIENT3_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000108, 0x00000001, "MC_PT0_CONTEXT6_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000109, 0x00000001, "MC_PT0_CONTEXT7_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000112, 0x00000001, "MC_PT0_SYSTEM_APERTURE_LOW_ADDR", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000017B, 0x00000001, "MC_PT0_CLIENT15_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000114, 0x00000001, "MC_PT0_SYSTEM_APERTURE_HIGH_ADDR", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000012C, 0x00000001, "MC_PT0_CONTEXT0_FLAT_BASE_ADDR", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000014C, 0x00000001, "MC_PT0_CONTEXT0_FLAT_END_ADDR", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000170, 0x00000001, "MC_PT0_CLIENT4_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000171, 0x00000001, "MC_PT0_CLIENT5_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000172, 0x00000001, "MC_PT0_CLIENT6_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000173, 0x00000001, "MC_PT0_CLIENT7_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000174, 0x00000001, "MC_PT0_CLIENT8_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000176, 0x00000001, "MC_PT0_CLIENT10_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000177, 0x00000001, "MC_PT0_CLIENT11_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x00000178, 0x00000001, "MC_PT0_CLIENT12_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000017A, 0x00000001, "MC_PT0_CLIENT14_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000017C, 0x00000001, "MC_PT0_CLIENT16_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000017D, 0x00000001, "MC_PT0_CLIENT17_CNTL", rs600_MC_rreg, rs600_MC_wreg},
+ {0x0000017E, 0x00000001, "MC_PT0_CLIENT18_CNTL", rs600_MC_rreg, rs600_MC_wreg},
};
unsigned rs600_nreg = 68;
diff --git a/tools/rdb.c b/tools/rdb.c
index 090f4dc..b34321e 100644
--- a/tools/rdb.c
+++ b/tools/rdb.c
@@ -35,11 +35,31 @@ void usage(void)
{
printf("usage: rdb [arguments] [file ..]\n\n");
printf("arguments:\n");
- printf(" -j replay json command stream\n");
+ printf(" -j json file\n");
printf(" -l list\n");
printf(" -h header\n");
}
+static unsigned blockflag(struct rdb_json *rdb, json_t *reg)
+{
+ unsigned flag = 0, i, j;
+ json_t *tmp, *tmp2, *unit;
+
+ unit = json_object_get(reg, "unit");
+ if (unit == NULL)
+ return 0;
+ for (i = 0; i < json_array_size(unit); i++) {
+ tmp = json_array_get(unit, i);
+ for (j = 0; j < json_array_size(rdb->unit); j++) {
+ tmp2 = json_array_get(rdb->unit, j);
+ if (!strcmp(json_string_value(tmp), json_string_value(tmp2))) {
+ flag |= 1 << j;
+ }
+ }
+ }
+ return flag;
+}
+
struct param {
int list;
int header;
@@ -116,11 +136,11 @@ int main(int argc, char *argv[])
if (param.header_name) {
printf("/* this file is autogenerated don't edit */\n");
printf("#include \"radeon_reg.h\"\n\n");
+
printf("struct reg_block %s_block[] = {\n", param.header_name);
- for (i = 0; i < json_array_size(rdb->block); i++) {
- block = json_array_get(rdb->block, i);
- tmp = json_object_get(block, "name");
- printf("\t{%d, \"%s\"},\n", i, json_string_value(tmp));
+ for (i = 0; i < json_array_size(rdb->unit); i++) {
+ tmp = json_array_get(rdb->unit, i);
+ printf("\t{0x%08X, \"%s\"},\n", 1 << i, json_string_value(tmp));
}
printf("};\n\n");
printf("unsigned %s_nblock = %d;\n\n", param.header_name, json_array_size(rdb->block));
@@ -136,11 +156,10 @@ int main(int argc, char *argv[])
if (json_is_object(reg)) {
offset = strtoul(json_object_iter_key(iter), NULL, 16);
tmp = json_object_get(reg, "name");
- tmp2 = json_object_get(reg, "ioname");
- printf("\t{0x%08X, %4d, \"%s\", %s_%s_rreg, %s_%s_wreg},\n",
- offset, i, json_string_value(tmp),
- param.header_name, json_string_value(tmp2),
- param.header_name, json_string_value(tmp2));
+ printf("\t{0x%08X, 0x%08X, \"%s\", %s_%s_rreg, %s_%s_wreg},\n",
+ offset, blockflag(rdb, reg), json_string_value(tmp),
+ param.header_name, json_string_value(name),
+ param.header_name, json_string_value(name));
c++;
}
iter = json_object_iter_next(block, iter);
diff --git a/tools/rdb_json.c b/tools/rdb_json.c
index f896379..4a62f65 100644
--- a/tools/rdb_json.c
+++ b/tools/rdb_json.c
@@ -96,6 +96,7 @@ struct rdb_json *rdb_json_load(const char *file)
return NULL;
}
rdb->block = json_object_get(rdb->root, "block");
+ rdb->unit = json_object_get(rdb->root, "unit");
return rdb;
}
diff --git a/tools/rdb_json.h b/tools/rdb_json.h
index aa66722..2e46766 100644
--- a/tools/rdb_json.h
+++ b/tools/rdb_json.h
@@ -31,8 +31,9 @@
#include "jansson.h"
struct rdb_json {
- json_t *root;
- json_t *block;
+ json_t *root;
+ json_t *block;
+ json_t *unit;
};
int rdb_json_block_add(struct rdb_json *rdb, const char *name);