soc/integration: rename cpu_interface to export (with retro-compat), re-arrange a bit, add separators
This commit is contained in:
parent
241c3c642b
commit
334ae336bf
|
@ -1,2 +1,6 @@
|
||||||
|
|
||||||
from litex.soc.integration.soc_core import SoCCore
|
from litex.soc.integration.soc_core import SoCCore
|
||||||
from litex.soc.integration.soc_sdram import SoCSDRAM
|
from litex.soc.integration.soc_sdram import SoCSDRAM
|
||||||
|
|
||||||
|
# FIXME: retro-compat 2019-09-29
|
||||||
|
from litex.soc.integration import export as cpu_interface
|
||||||
|
|
|
@ -23,6 +23,8 @@ from litex.soc.interconnect.csr import CSRStatus
|
||||||
|
|
||||||
from litex.build.tools import generated_banner
|
from litex.build.tools import generated_banner
|
||||||
|
|
||||||
|
# Helpers ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
# FIXME: use OrderedDict for constants?
|
# FIXME: use OrderedDict for constants?
|
||||||
def get_constant(name, constants):
|
def get_constant(name, constants):
|
||||||
for n, v in constants:
|
for n, v in constants:
|
||||||
|
@ -30,6 +32,8 @@ def get_constant(name, constants):
|
||||||
return v
|
return v
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
# CPU files ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
def get_cpu_mak(cpu, compile_software):
|
def get_cpu_mak(cpu, compile_software):
|
||||||
# select between clang and gcc
|
# select between clang and gcc
|
||||||
clang = os.getenv("CLANG", "")
|
clang = os.getenv("CLANG", "")
|
||||||
|
@ -100,11 +104,23 @@ def get_linker_regions(regions):
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
|
||||||
|
# C Export -----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def get_git_header():
|
||||||
|
from litex.build.tools import get_migen_git_revision, get_litex_git_revision
|
||||||
|
r = generated_banner("//")
|
||||||
|
r += "#ifndef __GENERATED_GIT_H\n#define __GENERATED_GIT_H\n\n"
|
||||||
|
r += "#define MIGEN_GIT_SHA1 \"{}\"\n".format(get_migen_git_revision())
|
||||||
|
r += "#define LITEX_GIT_SHA1 \"{}\"\n".format(get_litex_git_revision())
|
||||||
|
r += "#endif\n"
|
||||||
|
return r
|
||||||
|
|
||||||
def get_mem_header(regions, flash_boot_address, shadow_base):
|
def get_mem_header(regions, flash_boot_address, shadow_base):
|
||||||
r = generated_banner("//")
|
r = generated_banner("//")
|
||||||
r += "#ifndef __GENERATED_MEM_H\n#define __GENERATED_MEM_H\n\n"
|
r += "#ifndef __GENERATED_MEM_H\n#define __GENERATED_MEM_H\n\n"
|
||||||
for name, base, size in regions:
|
for name, base, size in regions:
|
||||||
r += "#define {name}_BASE 0x{base:08x}L\n#define {name}_SIZE 0x{size:08x}\n\n".format(name=name.upper(), base=base, size=size)
|
r += "#define {name}_BASE 0x{base:08x}L\n#define {name}_SIZE 0x{size:08x}\n\n".format(
|
||||||
|
name=name.upper(), base=base, size=size)
|
||||||
if flash_boot_address is not None:
|
if flash_boot_address is not None:
|
||||||
r += "#define FLASH_BOOT_ADDRESS 0x{:08x}L\n\n".format(flash_boot_address)
|
r += "#define FLASH_BOOT_ADDRESS 0x{:08x}L\n\n".format(flash_boot_address)
|
||||||
if shadow_base is not None:
|
if shadow_base is not None:
|
||||||
|
@ -205,6 +221,8 @@ def get_csr_header(regions, constants, with_access_functions=True, with_shadow_b
|
||||||
r += "\n#endif\n"
|
r += "\n#endif\n"
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
# JSON Export --------------------------------------------------------------------------------------
|
||||||
|
|
||||||
def get_csr_json(csr_regions=[], constants=[], memory_regions=[]):
|
def get_csr_json(csr_regions=[], constants=[], memory_regions=[]):
|
||||||
alignment = 32 if constants is None else get_constant("CONFIG_CSR_ALIGNMENT", constants)
|
alignment = 32 if constants is None else get_constant("CONFIG_CSR_ALIGNMENT", constants)
|
||||||
|
|
||||||
|
@ -238,6 +256,9 @@ def get_csr_json(csr_regions=[], constants=[], memory_regions=[]):
|
||||||
|
|
||||||
return json.dumps(d, indent=4)
|
return json.dumps(d, indent=4)
|
||||||
|
|
||||||
|
|
||||||
|
# CSV Export --------------------------------------------------------------------------------------
|
||||||
|
|
||||||
def get_csr_csv(csr_regions=[], constants=[], memory_regions=[]):
|
def get_csr_csv(csr_regions=[], constants=[], memory_regions=[]):
|
||||||
d = json.loads(get_csr_json(csr_regions, constants, memory_regions))
|
d = json.loads(get_csr_json(csr_regions, constants, memory_regions))
|
||||||
r = generated_banner("#")
|
r = generated_banner("#")
|
||||||
|
@ -255,12 +276,3 @@ def get_csr_csv(csr_regions=[], constants=[], memory_regions=[]):
|
||||||
d["memories"][name]["base"],
|
d["memories"][name]["base"],
|
||||||
d["memories"][name]["size"])
|
d["memories"][name]["size"])
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def get_git_header():
|
|
||||||
from litex.build.tools import get_migen_git_revision, get_litex_git_revision
|
|
||||||
r = generated_banner("//")
|
|
||||||
r += "#ifndef __GENERATED_GIT_H\n#define __GENERATED_GIT_H\n\n"
|
|
||||||
r += "#define MIGEN_GIT_SHA1 \"{}\"\n".format(get_migen_git_revision())
|
|
||||||
r += "#define LITEX_GIT_SHA1 \"{}\"\n".format(get_litex_git_revision())
|
|
||||||
r += "#endif\n"
|
|
||||||
return r
|
|
Loading…
Reference in New Issue