11.3Sjkunz/* $Id: boot_prep.c,v 1.3 2013/02/23 16:22:39 jkunz Exp $ */ 21.1Sjkunz 31.1Sjkunz/* 41.1Sjkunz * Copyright (c) 2012 The NetBSD Foundation, Inc. 51.1Sjkunz * All rights reserved. 61.1Sjkunz * 71.1Sjkunz * This code is derived from software contributed to The NetBSD Foundation 81.1Sjkunz * by Petri Laakso. 91.1Sjkunz * 101.1Sjkunz * Redistribution and use in source and binary forms, with or without 111.1Sjkunz * modification, are permitted provided that the following conditions 121.1Sjkunz * are met: 131.1Sjkunz * 1. Redistributions of source code must retain the above copyright 141.1Sjkunz * notice, this list of conditions and the following disclaimer. 151.1Sjkunz * 2. Redistributions in binary form must reproduce the above copyright 161.1Sjkunz * notice, this list of conditions and the following disclaimer in the 171.1Sjkunz * documentation and/or other materials provided with the distribution. 181.1Sjkunz * 191.1Sjkunz * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 201.1Sjkunz * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 211.1Sjkunz * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 221.1Sjkunz * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 231.1Sjkunz * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 241.1Sjkunz * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 251.1Sjkunz * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 261.1Sjkunz * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 271.1Sjkunz * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 281.1Sjkunz * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 291.1Sjkunz * POSSIBILITY OF SUCH DAMAGE. 301.1Sjkunz */ 311.1Sjkunz 321.1Sjkunz#include <sys/param.h> 331.1Sjkunz#include <sys/cdefs.h> 341.1Sjkunz 351.1Sjkunz#include <arm/imx/imx23_digctlreg.h> 361.1Sjkunz 371.1Sjkunz#include <lib/libsa/stand.h> 381.1Sjkunz 391.1Sjkunz#include "common.h" 401.1Sjkunz 411.1Sjkunz/* 421.2Sjkunz * Initialize i.MX23 power, clocks and DRAM. 431.1Sjkunz */ 441.1Sjkunzint 451.1Sjkunz_start(void) 461.1Sjkunz{ 471.1Sjkunz 481.2Sjkunz /* Make sure timer is running. */ 491.2Sjkunz REG_WR(HW_DIGCTL_BASE + HW_DIGCTL_CTRL_CLR, 501.2Sjkunz HW_DIGCTL_CTRL_XTAL24M_GATE); 511.1Sjkunz 521.1Sjkunz printf("\n\rBooting"); 531.1Sjkunz 541.1Sjkunz power_prep(); 551.1Sjkunz putchar('.'); 561.1Sjkunz 571.1Sjkunz clock_prep(); 581.1Sjkunz putchar('.'); 591.1Sjkunz 601.1Sjkunz pinctrl_prep(); 611.1Sjkunz putchar('.'); 621.1Sjkunz 631.1Sjkunz emi_prep(); 641.1Sjkunz printf("done.\n\r"); 651.1Sjkunz 661.3Sjkunz args_prep(); 671.3Sjkunz 681.1Sjkunz return 0; 691.1Sjkunz} 70