/* 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
	.string	""
	.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
	.string	"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
	.string	"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:
	.string "model"
	.string "compatible"
	.string "#address-cells"
	.string "#size-cells"
	.string "device_type"
	.string "reg"
	.string "d10"
	.string "d23"
	.string "b101"
	.string "o17"
	.string "hd00d"
	.string "stuff"
	.string "bad-d-1"
	.string "bad-d-2"
	.string "bad-o-1"
	.string "bad-o-2"
	.globl	dt_strings_end
dt_strings_end:
_dt_strings_end:
	.globl	dt_blob_end
dt_blob_end:
_dt_blob_end:
