> The reverted change linked to some kernel documentation that requires 64- > bit alignment. I agree with the alignment requirement. > > Im my opinion, there are two things that need to be done: > > First is to look at an ALIGNED address for the fdt. A summary inspection of > board_fdt_blob_setup() tells us this is done via the "_end" linker symbol.
The linker script can only control padding of the executable, but won't affect the alignment of the fdt that can be appended to this later by mkimage. > Second is to put things in the right place. For FIT, the code, as is, is > correct, > but this alignment is not guaranteed for legacy images. I think somebody > mentioned changing the arguments to mkimage to achieve this. > > I've tried to fix the first point by aligning the _end symbol (appendix A). > Unfortunately, this is causing other build issues that I don't know how to > deal > with. > > Alex > > > APPENDIX A: > > > -- a/arch/arm/cpu/u-boot.lds > +++ b/arch/arm/cpu/u-boot.lds > @@ -196,7 +196,6 @@ SECTIONS > * for FIT images. > * See common/spl/spl_fit.c: spl_fit_append_fdt > */ > + . = ALIGN(8); > .end : > { > *(.__end)