Merge pull request #1974 from motec-research/dts_zephyr_updates

DTS zephyr updates
This commit is contained in:
enjoy-digital 2024-09-17 14:58:51 +02:00 committed by GitHub
commit 9bacbe130b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 12 deletions

View File

@ -45,7 +45,7 @@ def indent(line, levels=1):
def indent_all(text, levels=1): def indent_all(text, levels=1):
return '\n'.join(map(indent, text.splitlines())) return '\n'.join([indent(line, levels) for line in text.splitlines()])
def indent_all_but_first(text, levels=1): def indent_all_but_first(text, levels=1):
@ -66,27 +66,26 @@ def dts_close():
return "};\n" return "};\n"
def dts_intr(name, csr): def dts_intr(name, csr, levels=1):
return indent("interrupts = <{} 0>;\n".format( irq = csr['constants'].get(name + '_interrupt', None)
hex(csr['constants'][name + '_interrupt']) return indent(f"interrupts = <{irq} 0>;\n" if irq else "", levels)
))
def dts_reg(regs): def dts_reg(regs, levels=1):
dtsi = 'reg = <' dtsi = 'reg = <'
formatted_registers = '\n'.join( formatted_registers = '>,\n<'.join(
'0x{:x} 0x{:x}'.format(reg['addr'], reg['size']) '0x{:x} 0x{:x}'.format(reg['addr'], reg['size'])
for reg in regs for reg in regs
) )
dtsi += indent_all_but_first(formatted_registers) dtsi += indent_all_but_first(formatted_registers, 1)
dtsi += '>;' dtsi += '>;'
return indent_all(dtsi) + '\n' return indent_all(dtsi, levels) + '\n'
def dts_reg_names(regs): def dts_reg_names(regs, levels=1):
dtsi = 'reg-names = ' dtsi = 'reg-names = '
formatted_registers = ',\n'.join( formatted_registers = ',\n'.join(
@ -94,10 +93,10 @@ def dts_reg_names(regs):
for reg in regs for reg in regs
) )
dtsi += indent_all_but_first(formatted_registers) dtsi += indent_all_but_first(formatted_registers, 1)
dtsi += ';' dtsi += ';'
return indent_all(dtsi) + '\n' return indent_all(dtsi, levels) + '\n'
# DTS handlers # DTS handlers