Cyril Chemparathy wrote: > The current ARM1176 CPU specific code is too specific to the SMDK6400 > architecture. The following changes were necessary prerequisites for the > addition of other SoCs based on ARM1176. > > Existing board's (SMDK6400) configuration has been modified to keep behavior > unchanged despite these changes. > > 1. Peripheral port remap configurability > The earlier code had hardcoded remap values specific to s3c64xx in start.S. > This change makes the peripheral port remap addresses and sizes configurable. > > 2. Skip low level initialization > Ability to skip low level initialization if necessary. Many other platforms > have a similar capability, and this is quite useful during debug/bring-up. > > 3. U-Boot code relocation support > Most architectures allow u-boot code to run initially at a different > address (possibly in NOR) and then get relocated to its final resting place > in RAM. Added support for this capability in ARM1176 architecture. > > 4. Disable TCM if necessary > If a ROM based bootloader happened to have initialized TCM, we disable it here > to keep things sane. > > 5. Remove unnecessary SoC specific includes > ARM1176 code does not really need this SoC specific include. The presence > of this include prevents builds on other ARM1176 archs. > > 6. ARM926 style MMU disable when !CONFIG_ENABLE_MMU > The original MMU disable code masks out too many bits from the load address > when it tries to figure out the physical address of the jump target label. > Consequently, it ends up branching to the wrong address after disabling the > MMU. >
> Signed-off-by: Cyril Chemparathy <cy...@ti.com> This patch is premature. I need to see this patch within the context of the new SOC. For a new SOC, I would like it be added as a new sub dir off of cpu/arm1176. At the same level as s3c64xx. So this dir would look like. config.mk cpu.c Makefile new_soc_name s3c64xx start.S u-boot.lds The common code that is sharable should also be at this level. This may mean moving and generalizing some s3c64xx/*.c. The SOC specific code must be in its own dir. An example of this may be the lowlevel_init needs to move from start.S to <SOC>/lowlevel_init.S I do not want one SOC if-def-ing up another SOC. The maintainer of the original s3c64xx SOC, Guennadi Liakhovetski <g.liakhovet...@gmx.de>, should be cc-ed on at least the initial changes so he has a heads up that some of his code is being moved/generalized. Tom _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot