Grant Likely wrote at Friday, April 29, 2011 5:35 PM:
On Sat, Apr 23, 2011 at 10:30:03PM -0600, Stephen Warren wrote:
The content of the machine descriptions has be re-organized. Without fixing the board-dt.c copy, the system will fail to boot (BUG_ON during timer initialization, which happens before printk is operational, leading to a silent hang early during kernel boot). Solve this basiclaly by copying the existing Harmony version over the copy in board-dt.c
Signed-off-by: Stephen Warren swarren@nvidia.com
arch/arm/mach-tegra/board-dt.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c index 899311b..7b9d469 100644 --- a/arch/arm/mach-tegra/board-dt.c +++ b/arch/arm/mach-tegra/board-dt.c @@ -175,10 +175,11 @@ static const char * tegra_dt_board_compat[] = { };
DT_MACHINE_START(TEGRA_DT, "nVidia Tegra (Flattened Device Tree)")
- .fixup = tegra_dt_fixup,
I take it that with memory ranges encoded into the device tree this fixup is no longer needed? I'll drop the tegra_dt_fixup() function from the file too then.
I actually tested this all on Seaboard not Harmony, and locally modified the tegra-harmony.dts to add to the kernel cmdline mem=/nvmem= options identical to what we use for Seaboard + ChromeOS. Now I have things working, I should probably remove the kernel cmdline mem=/nvmem= options, and validate that the dt memory setup is working correctly. I believe the fixup function was only there to cater for broken bootloader setups that didn't supply the correct mem=/nvmem= on the kernel cmdline, so this should all work OK...