dont bring in csr locations when not necessary

This commit is contained in:
Peter McGoron 2022-07-14 15:46:38 -04:00
parent ffae5ecdf9
commit 9a0d590cf1
1 changed files with 4 additions and 1 deletions

View File

@ -6,6 +6,7 @@ reg_names = {
"dac" : ("miso", "ctrl") "dac" : ("miso", "ctrl")
} }
max_num = 8 max_num = 8
# TODO: make dependent on adc, dac
def get_reg(j, name, num, pos): def get_reg(j, name, num, pos):
return j["csr_registers"][f"{name}{num}_{pos}"]["addr"] return j["csr_registers"][f"{name}{num}_{pos}"]["addr"]
@ -17,13 +18,15 @@ print('''
typedef volatile uint32_t *csr_t; typedef volatile uint32_t *csr_t;
#define ADC_MAX 8 #define ADC_MAX 8
#define DAC_MAX 8 #define DAC_MAX 8
#ifdef CSR_LOCATIONS
''') ''')
for conv in iter(reg_names): for conv in iter(reg_names):
for reg in reg_names[conv]: for reg in reg_names[conv]:
print(f"const csr_t {conv}_{reg}[{max_num}] =", "{") print(f"static const csr_t {conv}_{reg}[{max_num}] =", "{")
for i in range(0,max_num): for i in range(0,max_num):
print("\t (csr_t)", get_reg(j, conv, i, reg), end='') print("\t (csr_t)", get_reg(j, conv, i, reg), end='')
if i != max_num - 1: if i != max_num - 1:
print(",") print(",")
print("\n};") print("\n};")
print("#endif // CSR_LOCATION")