/* autogenerated by dtc, do not edit */

#define OF_DT_HEADER 0xd00dfeed
#define OF_DT_BEGIN_NODE 0x1
#define OF_DT_END_NODE 0x2
#define OF_DT_PROP 0x3
#define OF_DT_END 0x9

	.globl	dt_blob_start
dt_blob_start:
_dt_blob_start:
	.globl	dt_header
dt_header:
_dt_header:
	.long	OF_DT_HEADER /* magic */
	.long	_dt_blob_end - _dt_blob_start /* totalsize */
	.long	_dt_struct_start - _dt_blob_start /* off_dt_struct */
	.long	_dt_strings_start - _dt_blob_start /* off_dt_strings */
	.long	_dt_reserve_map - _dt_blob_start /* off_dt_strings */
	.long	16 /* version */
	.long	16 /* last_comp_version */
	.long	0	/*boot_cpuid_phys*/
	.long	_dt_strings_end - _dt_strings_start	/* size_dt_strings */
	.balign	8
	.globl	dt_reserve_map
dt_reserve_map:
_dt_reserve_map:
/* Memory reserve map from source file */
	.long	0, 0
	.long	0, 0
	.globl	dt_struct_start
dt_struct_start:
_dt_struct_start:
	.long	OF_DT_BEGIN_NODE
	.asciz	""
	.balign	4
	.long	OF_DT_PROP
	.long	0xa
	.long	0x0
	.long	0x536f6d65
	.long	0x4d6f6465
	.short	0x6c00
	.balign	4
	.long	OF_DT_PROP
	.long	0x8
	.long	0x6
	.long	0x4e6f7468
	.long	0x696e6700
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x11
	.long	0x2
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x20
	.long	0x2
	.balign	4
	.long	OF_DT_BEGIN_NODE
	.asciz	"memory@0"
	.balign	4
	.long	OF_DT_PROP
	.long	0x7
	.long	0x2c
	.long	0x6d656d6f
	.short	0x7279
	.byte	0x0
	.balign	4
	.long	OF_DT_PROP
	.long	0x10
	.long	0x38
	.long	0x0
	.long	0x0
	.long	0x0
	.long	0x20000000
	.balign	4
	.long	OF_DT_END_NODE
	.long	OF_DT_BEGIN_NODE
	.asciz	"cpus"
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x11
	.long	0x1
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x20
	.long	0x0
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x3c
	.long	0xa
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x40
	.long	0x17
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x44
	.long	0x5
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x49
	.long	0xf
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x4d
	.long	0xd00d
	.balign	4
	.long	OF_DT_PROP
	.long	0x10
	.long	0x53
	.long	0x4d2
	.long	0x162e
	.long	0x2334
	.long	0xd80
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x59
	.long	0x0
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x61
	.long	0xffffffff
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x69
	.long	0x0
	.balign	4
	.long	OF_DT_PROP
	.long	0x4
	.long	0x71
	.long	0xffffffff
	.balign	4
	.long	OF_DT_END_NODE
	.long	OF_DT_END_NODE
	.long	OF_DT_END
	.globl	dt_struct_end
dt_struct_end:
_dt_struct_end:
	.globl	dt_strings_start
dt_strings_start:
_dt_strings_start:
	.asciz	"model"
	.asciz	"compatible"
	.asciz	"#address-cells"
	.asciz	"#size-cells"
	.asciz	"device_type"
	.asciz	"reg"
	.asciz	"d10"
	.asciz	"d23"
	.asciz	"b101"
	.asciz	"o17"
	.asciz	"hd00d"
	.asciz	"stuff"
	.asciz	"bad-d-1"
	.asciz	"bad-d-2"
	.asciz	"bad-o-1"
	.asciz	"bad-o-2"
	.globl	dt_strings_end
dt_strings_end:
_dt_strings_end:
	.globl	dt_blob_end
dt_blob_end:
_dt_blob_end:
