def METHOD_NAME(tree: FdtParser, hw_yaml: HardwareYaml, config: Config, args: argparse.Namespace):
    if not args.header_out:
        raise ValueError('You need to specify a header-out to use c header output')
    physical_memory, reserved, physBase = hardware.utils.memory.get_physical_memory(tree, config)
    kernel_regions, kernel_macros = get_kernel_devices(tree, hw_yaml)
    create_c_header_file(
        config,
        get_interrupts(tree, hw_yaml),
        kernel_macros,
        kernel_regions,
        physBase,
        physical_memory,
        args.header_out)