voodoo2_bits: update spreadsheet
This commit is contained in:
parent
9ae9620c8d
commit
72f1154aa8
@ -2,6 +2,7 @@ import csv
|
|||||||
import sys
|
import sys
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from generate import renderer
|
from generate import renderer
|
||||||
|
import re
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class RegisterBitDef:
|
class RegisterBitDef:
|
||||||
@ -81,15 +82,19 @@ def bit_mask(d):
|
|||||||
high, low = d.bits
|
high, low = d.bits
|
||||||
return (1 << ((high - low) + 1)) - 1
|
return (1 << ((high - low) + 1)) - 1
|
||||||
|
|
||||||
|
def is_function_bit(d):
|
||||||
|
infer_by_name = re.match("^.*_[0-9]$", d.bit_name) and "gpio_" not in d.bit_name.lower()
|
||||||
|
return bit_mask(d) != 1 or infer_by_name
|
||||||
|
|
||||||
def format_value(d):
|
def format_value(d):
|
||||||
if d.enum_name is not None:
|
if d.enum_name is not None:
|
||||||
assert d.enum_value is not None
|
assert d.enum_value is not None
|
||||||
assert d.enum_value <= bit_mask(d)
|
assert d.enum_value <= bit_mask(d)
|
||||||
return f"({d.enum_value} << {d.bits[1]})"
|
return f"({d.enum_value} << {d.bits[1]})"
|
||||||
elif bit_mask(d) == 1:
|
elif is_function_bit(d):
|
||||||
return f"(1 << {d.bits[1]})"
|
|
||||||
else:
|
|
||||||
return f"(((n) & {hex(bit_mask(d))}) << {d.bits[1]})"
|
return f"(((n) & {hex(bit_mask(d))}) << {d.bits[1]})"
|
||||||
|
else:
|
||||||
|
return f"(1 << {d.bits[1]})"
|
||||||
|
|
||||||
def format_macro(d):
|
def format_macro(d):
|
||||||
macro = f"{d.name.upper()}"
|
macro = f"{d.name.upper()}"
|
||||||
@ -98,7 +103,7 @@ def format_macro(d):
|
|||||||
macro += f"__{d.bit_name.upper()}"
|
macro += f"__{d.bit_name.upper()}"
|
||||||
if d.enum_name is not None:
|
if d.enum_name is not None:
|
||||||
macro += f"__{d.enum_name.upper()}"
|
macro += f"__{d.enum_name.upper()}"
|
||||||
elif bit_mask(d) != 1:
|
elif is_function_bit(d):
|
||||||
macro += "(n)"
|
macro += "(n)"
|
||||||
return macro
|
return macro
|
||||||
|
|
||||||
|
Binary file not shown.
2
main.c
2
main.c
@ -271,7 +271,7 @@ int main()
|
|||||||
| FBIINIT1__DRIVE_VIDEO_TIMING_BLANK_OUTPUTS
|
| FBIINIT1__DRIVE_VIDEO_TIMING_BLANK_OUTPUTS
|
||||||
| FBIINIT1__DRIVE_VIDEO_TIMING_HSYNC_VSYNC_OUTPUTS
|
| FBIINIT1__DRIVE_VIDEO_TIMING_HSYNC_VSYNC_OUTPUTS
|
||||||
| FBIINIT1__DRIVE_VIDEO_TIMING_DCLK_OUTPUT
|
| FBIINIT1__DRIVE_VIDEO_TIMING_DCLK_OUTPUT
|
||||||
| FBIINIT1__VIDEO_TIMING_VCLK_INPUT_SELECT(0)
|
| FBIINIT1__VIDEO_TIMING_VCLK_INPUT_SELECT_0(0)
|
||||||
| FBIINIT1__VIDEO_TIMING_VCLK_SOURCE_SELECT__VID_CLK_2X_SEL
|
| FBIINIT1__VIDEO_TIMING_VCLK_SOURCE_SELECT__VID_CLK_2X_SEL
|
||||||
| FBIINIT1__NUMBER_OF_32X32_VIDEO_TILES_IN_HORIZONTAL_DIMENSION_5(x_tiles_5)
|
| FBIINIT1__NUMBER_OF_32X32_VIDEO_TILES_IN_HORIZONTAL_DIMENSION_5(x_tiles_5)
|
||||||
;
|
;
|
||||||
|
@ -230,12 +230,12 @@
|
|||||||
#define VSYNC__V_SYNC_ON(n) (((n) & 0x1fff) << 0)
|
#define VSYNC__V_SYNC_ON(n) (((n) & 0x1fff) << 0)
|
||||||
#define VSYNC__V_SYNC_OFF(n) (((n) & 0x1fff) << 16)
|
#define VSYNC__V_SYNC_OFF(n) (((n) & 0x1fff) << 16)
|
||||||
|
|
||||||
#define VIDEODIMENSIONS__X_WIDTH(n) (((n) & 0x7ff) << 0)
|
|
||||||
#define VIDEODIMENSIONS__Y_HEIGHT(n) (((n) & 0x7ff) << 16)
|
|
||||||
|
|
||||||
#define BACKPORCH__H_BACK_PORCH(n) (((n) & 0x1ff) << 0)
|
#define BACKPORCH__H_BACK_PORCH(n) (((n) & 0x1ff) << 0)
|
||||||
#define BACKPORCH__V_BACK_PORCH(n) (((n) & 0x1ff) << 16)
|
#define BACKPORCH__V_BACK_PORCH(n) (((n) & 0x1ff) << 16)
|
||||||
|
|
||||||
|
#define VIDEODIMENSIONS__X_WIDTH(n) (((n) & 0x7ff) << 0)
|
||||||
|
#define VIDEODIMENSIONS__Y_HEIGHT(n) (((n) & 0x7ff) << 16)
|
||||||
|
|
||||||
#define MAXRGBDELTA__BLUE(n) (((n) & 0xff) << 0)
|
#define MAXRGBDELTA__BLUE(n) (((n) & 0xff) << 0)
|
||||||
#define MAXRGBDELTA__GREEN(n) (((n) & 0xff) << 8)
|
#define MAXRGBDELTA__GREEN(n) (((n) & 0xff) << 8)
|
||||||
#define MAXRGBDELTA__RED(n) (((n) & 0xff) << 16)
|
#define MAXRGBDELTA__RED(n) (((n) & 0xff) << 16)
|
||||||
@ -275,7 +275,7 @@
|
|||||||
#define FBIINIT1__DRIVE_VIDEO_TIMING_BLANK_OUTPUTS (1 << 14)
|
#define FBIINIT1__DRIVE_VIDEO_TIMING_BLANK_OUTPUTS (1 << 14)
|
||||||
#define FBIINIT1__DRIVE_VIDEO_TIMING_HSYNC_VSYNC_OUTPUTS (1 << 15)
|
#define FBIINIT1__DRIVE_VIDEO_TIMING_HSYNC_VSYNC_OUTPUTS (1 << 15)
|
||||||
#define FBIINIT1__DRIVE_VIDEO_TIMING_DCLK_OUTPUT (1 << 16)
|
#define FBIINIT1__DRIVE_VIDEO_TIMING_DCLK_OUTPUT (1 << 16)
|
||||||
#define FBIINIT1__VIDEO_TIMING_VCLK_INPUT_SELECT(n) (((n) & 1) << 17)
|
#define FBIINIT1__VIDEO_TIMING_VCLK_INPUT_SELECT_0(n) (((n) & 0x1) << 17)
|
||||||
#define FBIINIT1__VID_CLK_2X_DELAY_SELECT__NO_DELAY (0 << 18)
|
#define FBIINIT1__VID_CLK_2X_DELAY_SELECT__NO_DELAY (0 << 18)
|
||||||
#define FBIINIT1__VID_CLK_2X_DELAY_SELECT__4NS (1 << 18)
|
#define FBIINIT1__VID_CLK_2X_DELAY_SELECT__4NS (1 << 18)
|
||||||
#define FBIINIT1__VID_CLK_2X_DELAY_SELECT__6NS (2 << 18)
|
#define FBIINIT1__VID_CLK_2X_DELAY_SELECT__6NS (2 << 18)
|
||||||
@ -285,7 +285,7 @@
|
|||||||
#define FBIINIT1__VIDEO_TIMING_VCLK_SOURCE_SELECT__VID_CLK_2X_SEL (2 << 20)
|
#define FBIINIT1__VIDEO_TIMING_VCLK_SOURCE_SELECT__VID_CLK_2X_SEL (2 << 20)
|
||||||
#define FBIINIT1__ENABLE_24_BITS_PER_PIXEL_VIDEO_OUTPUT (1 << 22)
|
#define FBIINIT1__ENABLE_24_BITS_PER_PIXEL_VIDEO_OUTPUT (1 << 22)
|
||||||
#define FBIINIT1__ENABLE_SCAN_LINE_INTERLEAVING (1 << 23)
|
#define FBIINIT1__ENABLE_SCAN_LINE_INTERLEAVING (1 << 23)
|
||||||
#define FBIINIT1__NUMBER_OF_32X32_VIDEO_TILES_IN_HORIZONTAL_DIMENSION_5(n) (((n) & 1) << 24)
|
#define FBIINIT1__NUMBER_OF_32X32_VIDEO_TILES_IN_HORIZONTAL_DIMENSION_5(n) (((n) & 0x1) << 24)
|
||||||
#define FBIINIT1__ENABLE_VIDEO_EDGE_DETECTION_FILTERING (1 << 25)
|
#define FBIINIT1__ENABLE_VIDEO_EDGE_DETECTION_FILTERING (1 << 25)
|
||||||
#define FBIINIT1__INVERT_VID_CLK_2X (1 << 26)
|
#define FBIINIT1__INVERT_VID_CLK_2X (1 << 26)
|
||||||
#define FBIINIT1__VID_CLK_2X_SEL_DELAY_SELECT__NO_DELAY (0 << 27)
|
#define FBIINIT1__VID_CLK_2X_SEL_DELAY_SELECT__NO_DELAY (0 << 27)
|
||||||
@ -335,15 +335,15 @@
|
|||||||
#define FBIINIT5__DISABLE_PCI_STOP_FUNCTIONALITY (1 << 0)
|
#define FBIINIT5__DISABLE_PCI_STOP_FUNCTIONALITY (1 << 0)
|
||||||
#define FBIINIT5__PCI_SLAVE_DEVICE_IS_66MHZ_CAPABLE (1 << 1)
|
#define FBIINIT5__PCI_SLAVE_DEVICE_IS_66MHZ_CAPABLE (1 << 1)
|
||||||
#define FBIINIT5__DAC_DATA_OUTPUT_WIDTH (1 << 2)
|
#define FBIINIT5__DAC_DATA_OUTPUT_WIDTH (1 << 2)
|
||||||
#define FBIINIT5__DAC_DATA_OUTPUT_VALUE_GPIO_0 (1 << 3)
|
#define FBIINIT5__DAC_DATA_17_GPIO_0 (1 << 3)
|
||||||
#define FBIINIT5__DAC_DATA_CONTROL_4 (1 << 4)
|
#define FBIINIT5__DAC_DATA_18_GPIO_1 (1 << 4)
|
||||||
#define FBIINIT5__GENERIC_POWER_ON_STRAPPING_PINS(n) (((n) & 0xf) << 5)
|
#define FBIINIT5__GENERIC_POWER_ON_STRAPPING_PINS(n) (((n) & 0xf) << 5)
|
||||||
#define FBIINIT5__COLOR_AUX_BUFFER_MEMORY_ALLOCATION__2_COLOR_BUFFERS_1_AUX_BUFFER (0 << 9)
|
#define FBIINIT5__COLOR_AUX_BUFFER_MEMORY_ALLOCATION__2_COLOR_BUFFERS_1_AUX_BUFFER (0 << 9)
|
||||||
#define FBIINIT5__COLOR_AUX_BUFFER_MEMORY_ALLOCATION__3_COLOR_BUFFERS_0_AUX_BUFFERS (1 << 9)
|
#define FBIINIT5__COLOR_AUX_BUFFER_MEMORY_ALLOCATION__3_COLOR_BUFFERS_0_AUX_BUFFERS (1 << 9)
|
||||||
#define FBIINIT5__COLOR_AUX_BUFFER_MEMORY_ALLOCATION__3_COLOR_BUFFERS_1_AUX_BUFFER (2 << 9)
|
#define FBIINIT5__COLOR_AUX_BUFFER_MEMORY_ALLOCATION__3_COLOR_BUFFERS_1_AUX_BUFFER (2 << 9)
|
||||||
#define FBIINIT5__DRIVE_VID_CLK_SLAVE_OUTPUT (1 << 11)
|
#define FBIINIT5__DRIVE_VID_CLK_SLAVE_OUTPUT (1 << 11)
|
||||||
#define FBIINIT5__DRIVE_DAC_DATA_OUTPUT (1 << 12)
|
#define FBIINIT5__DRIVE_DAC_DATA_OUTPUT (1 << 12)
|
||||||
#define FBIINIT5__VIDEO_TIMING_VCLK_INPUT_SELECT (1 << 13)
|
#define FBIINIT5__VIDEO_TIMING_VCLK_INPUT_SELECT_1(n) (((n) & 0x1) << 13)
|
||||||
#define FBIINIT5__MULTI_CVG_CONFIGURATION_DETECT (1 << 14)
|
#define FBIINIT5__MULTI_CVG_CONFIGURATION_DETECT (1 << 14)
|
||||||
#define FBIINIT5__SYNCHRONIZE_READS_FROM_HRETRACE_AND_VRETRACE (1 << 15)
|
#define FBIINIT5__SYNCHRONIZE_READS_FROM_HRETRACE_AND_VRETRACE (1 << 15)
|
||||||
#define FBIINIT5__HORIZONTAL_BORDER_COLOR_ENABLE_RIGHT_EDGE (1 << 16)
|
#define FBIINIT5__HORIZONTAL_BORDER_COLOR_ENABLE_RIGHT_EDGE (1 << 16)
|
||||||
@ -371,7 +371,7 @@
|
|||||||
#define FBIINIT6__DAC_WR_OUTPUT_VALUE(n) (((n) & 0x3) << 19)
|
#define FBIINIT6__DAC_WR_OUTPUT_VALUE(n) (((n) & 0x3) << 19)
|
||||||
#define FBIINIT6__PCI_FIFO_EMPTY_ENTRIES_LOW_WATER_MARK(n) (((n) & 0x7f) << 21)
|
#define FBIINIT6__PCI_FIFO_EMPTY_ENTRIES_LOW_WATER_MARK(n) (((n) & 0x7f) << 21)
|
||||||
#define FBIINIT6__VGA_PASS_N_OUTPUT_VALUE(n) (((n) & 0x3) << 28)
|
#define FBIINIT6__VGA_PASS_N_OUTPUT_VALUE(n) (((n) & 0x3) << 28)
|
||||||
#define FBIINIT6__NUMBER_OF_32X32_VIDEO_TILES_IN_HORIZONTAL_DIMENSION_0(n) (((n) & 1) << 30)
|
#define FBIINIT6__NUMBER_OF_32X32_VIDEO_TILES_IN_HORIZONTAL_DIMENSION_0(n) (((n) & 0x1) << 30)
|
||||||
|
|
||||||
#define FBIINIT7__CMDFIFO_ENABLE (1 << 8)
|
#define FBIINIT7__CMDFIFO_ENABLE (1 << 8)
|
||||||
#define FBIINIT7__CMDFIFO_OFFSCREEN_MEMORY_STORE (1 << 9)
|
#define FBIINIT7__CMDFIFO_OFFSCREEN_MEMORY_STORE (1 << 9)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user