int board_init (void) { __REG(CSCR_U(0)) = 0x0000cf03; /* CS0: Nor Flash */ __REG(CSCR_L(0)) = 0x10000d03; __REG(CSCR_A(0)) = 0x00720900; __REG(CSCR_U(1)) = 0x0000df06; /* CS1: Network Controller */ __REG(CSCR_L(1)) = 0x444a4541; __REG(CSCR_A(1)) = 0x44443302; __REG(CSCR_U(4)) = 0x0000d843; /* CS4: SRAM */ __REG(CSCR_L(4)) = 0x22252521; __REG(CSCR_A(4)) = 0x22220a00; /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* setup pins for I2C2 (for EEPROM, RTC) */ mx31_gpio_mux(MUX_CSPI2_MOSI__I2C2_SCL); mx31_gpio_mux(MUX_CSPI2_MISO__I2C2_SDA); gd->bd->bi_arch_number = 447; /* board id for linux */ gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */ return 0; }
int board_early_init_f(void) { __REG(CSCR_U(0)) = 0x0000cf03; /* CS0: Nor Flash */ __REG(CSCR_L(0)) = 0xa0330d01; __REG(CSCR_A(0)) = 0x00220800; __REG(CSCR_U(4)) = 0x0000dcf6; /* CS4: Network Controller */ __REG(CSCR_L(4)) = 0x444a4541; __REG(CSCR_A(4)) = 0x44443302; /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); return 0; }
static void board_nand_setup(void) { /* CS3: NAND 8-bit */ static const struct mxc_weimcs cs3 = { /* sp wp bcd bcs psz pme sync dol cnc wsc ew wws edc */ CSCR_U(0, 0, 0, 0, 0, 0, 0, 0, 1, 15, 0, 0, 0), /* oea oen ebwa ebwn csa ebc dsz csn psr cre wrap csen */ CSCR_L(2, 0, 0, 1, 3, 1, 3, 3, 0, 0, 0, 1), /* ebra ebrn rwa rwn mum lah lbn lba dww dct wwu age cnc2 fce*/ CSCR_A(0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0) }; mxc_setup_weimcs(3, &cs3); mx31_set_gpr(MUX_SDCTL_CSD1_SEL, 1); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_NFC_WP, MUX_CTL_IN_GPIO)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_NFC_CE, MUX_CTL_IN_GPIO)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_NFC_RB, MUX_CTL_IN_GPIO)); /* Make sure to reset the fpga else you cannot access NAND */ qong_fpga_reset(); /* Enable NAND flash */ gpio_set_value(15, 1); gpio_set_value(14, 1); gpio_direction_output(15, 0); gpio_direction_input(16); gpio_direction_input(14); }
int board_init(void) { __REG(CSCR_U(0)) = 0x0000cf03; /* CS0: Nor Flash */ __REG(CSCR_L(0)) = 0xa0330d01; __REG(CSCR_A(0)) = 0x00220800; __REG(CSCR_U(4)) = 0x0000dcf6; /* CS4: Network Controller */ __REG(CSCR_L(4)) = 0x444a4541; __REG(CSCR_A(4)) = 0x44443302; /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); gd->bd->bi_arch_number = 447; /* board id for linux */ gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */ return 0; }
int board_early_init_f(void) { /* CS5: CPLD incl. network controller */ __REG(CSCR_U(5)) = 0x0000d843; __REG(CSCR_L(5)) = 0x22252521; __REG(CSCR_A(5)) = 0x22220a00; /* Setup UART1 and SPI2 pins */ mx31_uart1_hw_init(); mx31_spi2_hw_init(); return 0; }
int board_init(void) { int i; #if 0 /* CS0: Nor Flash */ /* * These are values from the RedBoot sources by Freescale. However, * under U-Boot with this configuration 32-bit accesses don't work, * lower 16 bits of data are read twice for each 32-bit read. */ __REG(CSCR_U(0)) = 0x23524E80; __REG(CSCR_L(0)) = 0x10000D03; /* WRAP bit (1) is suspicious here, but * disabling it doesn't help either */ __REG(CSCR_A(0)) = 0x00720900; #endif /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_RTS1__UART1_CTS_B); /* PBC setup */ /* Enable UART transceivers also reset the Ethernet/external UART */ readw(CS4_BASE + 4); writew(0x8023, CS4_BASE + 4); /* RedBoot also has an empty loop with 100000 iterations here - * clock doesn't run yet */ for (i = 0; i < 100000; i++) ; /* Clear the reset, toggle the LEDs */ writew(0xDF, CS4_BASE + 6); /* clock still doesn't run */ for (i = 0; i < 100000; i++) ; /* See 1.5.4 in IMX31ADSE_PERI_BUS_CNTRL_CPLD_RM.pdf */ readb(CS4_BASE + 8); readb(CS4_BASE + 7); readb(CS4_BASE + 8); readb(CS4_BASE + 7); gd->bd->bi_arch_number = 447; /* board id for linux */ gd->bd->bi_boot_params = 0x80000100; /* adress of boot parameters */ return 0; }
int board_early_init_f(void) { /* CS5: CPLD incl. network controller */ static const struct mxc_weimcs cs5 = { /* sp wp bcd bcs psz pme sync dol cnc wsc ew wws edc */ CSCR_U(0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 4, 3), /* oea oen ebwa ebwn csa ebc dsz csn psr cre wrap csen */ CSCR_L(2, 2, 2, 5, 2, 0, 5, 2, 0, 0, 0, 1), /* ebra ebrn rwa rwn mum lah lbn lba dww dct wwu age cnc2 fce*/ CSCR_A(2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0) }; mxc_setup_weimcs(5, &cs5); /* Setup UART1 and SPI2 pins */ mx31_uart1_hw_init(); mx31_spi2_hw_init(); return 0; }
int board_init(void) { /* Chip selects */ /* CS0: Nor Flash #0 - it must be init'ed when executing from DDR */ /* Assumptions: HCLK = 133 MHz, tACC = 130ns */ static const struct mxc_weimcs cs0 = { /* sp wp bcd bcs psz pme sync dol cnc wsc ew wws edc */ CSCR_U(0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 6), /* oea oen ebwa ebwn csa ebc dsz csn psr cre wrap csen */ CSCR_L(0, 1, 3, 3, 1, 1, 5, 1, 0, 0, 0, 1), /* ebra ebrn rwa rwn mum lah lbn lba dww dct wwu age cnc2 fce*/ CSCR_A(0, 1, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0) }; mxc_setup_weimcs(0, &cs0); /* board id for linux */ gd->bd->bi_arch_number = MACH_TYPE_QONG; gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */ qong_fpga_init(); return 0; }
static int cupid_core_setup(void) { u32 tmp; /* AIPS setup - Only setup MPROTx registers. The PACR default values are good.*/ /* * Set all MPROTx to be non-bufferable, trusted for R/W, * not forced to user-mode. */ writel(0x77777777, IMX_AIPS1_BASE); writel(0x77777777, IMX_AIPS1_BASE + 0x4); writel(0x77777777, IMX_AIPS2_BASE); writel(0x77777777, IMX_AIPS2_BASE + 0x4); /* * Clear the on and off peripheral modules Supervisor Protect bit * for SDMA to access them. Did not change the AIPS control registers * (offset 0x20) access type */ writel(0x0, IMX_AIPS1_BASE + 0x40); writel(0x0, IMX_AIPS1_BASE + 0x44); writel(0x0, IMX_AIPS1_BASE + 0x48); writel(0x0, IMX_AIPS1_BASE + 0x4C); tmp = readl(IMX_AIPS1_BASE + 0x50); tmp &= 0x00FFFFFF; writel(tmp, IMX_AIPS1_BASE + 0x50); writel(0x0, IMX_AIPS2_BASE + 0x40); writel(0x0, IMX_AIPS2_BASE + 0x44); writel(0x0, IMX_AIPS2_BASE + 0x48); writel(0x0, IMX_AIPS2_BASE + 0x4C); tmp = readl(IMX_AIPS2_BASE + 0x50); tmp &= 0x00FFFFFF; writel(tmp, IMX_AIPS2_BASE + 0x50); /* MAX (Multi-Layer AHB Crossbar Switch) setup */ /* MPR - priority is M4 > M2 > M3 > M5 > M0 > M1 */ #define MAX_PARAM1 0x00302154 writel(MAX_PARAM1, IMX_MAX_BASE + 0x0); /* for S0 */ writel(MAX_PARAM1, IMX_MAX_BASE + 0x100); /* for S1 */ writel(MAX_PARAM1, IMX_MAX_BASE + 0x200); /* for S2 */ writel(MAX_PARAM1, IMX_MAX_BASE + 0x300); /* for S3 */ writel(MAX_PARAM1, IMX_MAX_BASE + 0x400); /* for S4 */ /* SGPCR - always park on last master */ writel(0x10, IMX_MAX_BASE + 0x10); /* for S0 */ writel(0x10, IMX_MAX_BASE + 0x110); /* for S1 */ writel(0x10, IMX_MAX_BASE + 0x210); /* for S2 */ writel(0x10, IMX_MAX_BASE + 0x310); /* for S3 */ writel(0x10, IMX_MAX_BASE + 0x410); /* for S4 */ /* MGPCR - restore default values */ writel(0x0, IMX_MAX_BASE + 0x800); /* for M0 */ writel(0x0, IMX_MAX_BASE + 0x900); /* for M1 */ writel(0x0, IMX_MAX_BASE + 0xa00); /* for M2 */ writel(0x0, IMX_MAX_BASE + 0xb00); /* for M3 */ writel(0x0, IMX_MAX_BASE + 0xc00); /* for M4 */ writel(0x0, IMX_MAX_BASE + 0xd00); /* for M5 */ writel(0x0000DCF6, CSCR_U(0)); /* CS0: NOR Flash */ writel(0x444A4541, CSCR_L(0)); writel(0x44443302, CSCR_A(0)); /* * M3IF Control Register (M3IFCTL) * MRRP[0] = L2CC0 not on priority list (0 << 0) = 0x00000000 * MRRP[1] = MAX1 not on priority list (0 << 0) = 0x00000000 * MRRP[2] = L2CC1 not on priority list (0 << 0) = 0x00000000 * MRRP[3] = USB not on priority list (0 << 0) = 0x00000000 * MRRP[4] = SDMA not on priority list (0 << 0) = 0x00000000 * MRRP[5] = GPU not on priority list (0 << 0) = 0x00000000 * MRRP[6] = IPU1 on priority list (1 << 6) = 0x00000040 * MRRP[7] = IPU2 not on priority list (0 << 0) = 0x00000000 * ------------ * 0x00000040 */ writel(0x40, IMX_M3IF_BASE); return 0; }
int board_init (void) { int i; /* CS0: Nor Flash */ /* * CS0L and CS0A values are from the RedBoot sources by Freescale * and are also equal to those used by Sascha Hauer for the Phytec * i.MX31 board. CS0U is just a slightly optimized hardware default: * the only non-zero field "Wait State Control" is set to half the * default value. */ __REG(CSCR_U(0)) = 0x00000f00; __REG(CSCR_L(0)) = 0x10000D03; __REG(CSCR_A(0)) = 0x00720900; /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* SPI2 */ mx31_gpio_mux(MUX_CSPI2_SS2__CSPI2_SS2_B); mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); mx31_gpio_mux(MUX_CSPI2_SS1__CSPI2_SS1_B); /* start SPI2 clock */ __REG(CCM_CGR2) = __REG(CCM_CGR2) | (3 << 4); /* PBC setup */ /* Enable UART transceivers also reset the Ethernet/external UART */ readw(CS4_BASE + 4); writew(0x8023, CS4_BASE + 4); /* RedBoot also has an empty loop with 100000 iterations here - * clock doesn't run yet */ for (i = 0; i < 100000; i++) ; /* Clear the reset, toggle the LEDs */ writew(0xDF, CS4_BASE + 6); /* clock still doesn't run */ for (i = 0; i < 100000; i++) ; /* See 1.5.4 in IMX31ADSE_PERI_BUS_CNTRL_CPLD_RM.pdf */ readb(CS4_BASE + 8); readb(CS4_BASE + 7); readb(CS4_BASE + 8); readb(CS4_BASE + 7); gd->bd->bi_arch_number = MACH_TYPE_MX31ADS; /* board id for linux */ gd->bd->bi_boot_params = 0x80000100; /* adress of boot parameters */ return 0; }
int board_early_init_f(void) { #ifdef CONFIG_QONG_FPGA /* CS1: FPGA/Network Controller/GPIO, 16-bit, no DTACK */ static const struct mxc_weimcs cs1 = { /* sp wp bcd bcs psz pme sync dol cnc wsc ew wws edc */ CSCR_U(0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 1), /* oea oen ebwa ebwn csa ebc dsz csn psr cre wrap csen */ CSCR_L(2, 0, 0, 4, 0, 0, 5, 0, 0, 0, 0, 1), /* ebra ebrn rwa rwn mum lah lbn lba dww dct wwu age cnc2 fce*/ CSCR_A(0, 4, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0) }; mxc_setup_weimcs(1, &cs1); /* setup pins for FPGA */ mx31_gpio_mux(IOMUX_MODE(0x76, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x7e, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x91, MUX_CTL_OUT_FUNC | MUX_CTL_IN_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x92, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x93, MUX_CTL_GPIO)); /* FPGA reset Pin */ /* rstn = 0 */ gpio_direction_output(QONG_FPGA_RST_PIN, 0); /* set interrupt pin as input */ gpio_direction_input(QONG_FPGA_IRQ_PIN); /* FPGA JTAG Interface */ mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SFS6, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SCK6, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_CAPTURE, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_COMPARE, MUX_CTL_GPIO)); gpio_direction_output(QONG_FPGA_TCK_PIN, 0); gpio_direction_output(QONG_FPGA_TMS_PIN, 0); gpio_direction_output(QONG_FPGA_TDI_PIN, 0); gpio_direction_input(QONG_FPGA_TDO_PIN); #endif /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* setup pins for SPI (pmic) */ mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B); mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI); mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO); mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK); mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B); /* Setup pins for USB2 Host */ mx31_gpio_mux(IOMUX_MODE(MUX_CTL_USBH2_CLK, MUX_CTL_FUNC)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_USBH2_DIR, MUX_CTL_FUNC)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_USBH2_NXT, MUX_CTL_FUNC)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_USBH2_STP, MUX_CTL_FUNC)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_USBH2_DATA0, MUX_CTL_FUNC)); mx31_gpio_mux(IOMUX_MODE(MUX_CTL_USBH2_DATA1, MUX_CTL_FUNC)); #define H2_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \ PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU) mx31_set_pad(MX31_PIN_USBH2_CLK, H2_PAD_CFG); mx31_set_pad(MX31_PIN_USBH2_DIR, H2_PAD_CFG); mx31_set_pad(MX31_PIN_USBH2_NXT, H2_PAD_CFG); mx31_set_pad(MX31_PIN_USBH2_STP, H2_PAD_CFG); mx31_set_pad(MX31_PIN_USBH2_DATA0, H2_PAD_CFG); /* USBH2_DATA0 */ mx31_set_pad(MX31_PIN_USBH2_DATA1, H2_PAD_CFG); /* USBH2_DATA1 */ mx31_set_pad(MX31_PIN_SRXD6, H2_PAD_CFG); /* USBH2_DATA2 */ mx31_set_pad(MX31_PIN_STXD6, H2_PAD_CFG); /* USBH2_DATA3 */ mx31_set_pad(MX31_PIN_SFS3, H2_PAD_CFG); /* USBH2_DATA4 */ mx31_set_pad(MX31_PIN_SCK3, H2_PAD_CFG); /* USBH2_DATA5 */ mx31_set_pad(MX31_PIN_SRXD3, H2_PAD_CFG); /* USBH2_DATA6 */ mx31_set_pad(MX31_PIN_STXD3, H2_PAD_CFG); /* USBH2_DATA7 */ mx31_set_gpr(MUX_PGP_UH2, 1); return 0; }
/* On pcm038 there's a sram attached to CS1, we enable the chipselect here and * setup other stuffs to access the sram. */ static void __init pcm038_init_sram(void) { __raw_writel(0x0000d843, CSCR_U(1)); __raw_writel(0x22252521, CSCR_L(1)); __raw_writel(0x22220a00, CSCR_A(1)); }
int board_init (void) { /* Chip selects */ /* CS0: Nor Flash #0 - it must be init'ed when executing from DDR */ /* Assumptions: HCLK = 133 MHz, tACC = 130ns */ __REG(CSCR_U(0)) = ((0 << 31) | /* SP */ (0 << 30) | /* WP */ (0 << 28) | /* BCD */ (0 << 24) | /* BCS */ (0 << 22) | /* PSZ */ (0 << 21) | /* PME */ (0 << 20) | /* SYNC */ (0 << 16) | /* DOL */ (3 << 14) | /* CNC */ (21 << 8) | /* WSC */ (0 << 7) | /* EW */ (0 << 4) | /* WWS */ (6 << 0) /* EDC */ ); __REG(CSCR_L(0)) = ((2 << 28) | /* OEA */ (1 << 24) | /* OEN */ (3 << 20) | /* EBWA */ (3 << 16) | /* EBWN */ (1 << 12) | /* CSA */ (1 << 11) | /* EBC */ (5 << 8) | /* DSZ */ (1 << 4) | /* CSN */ (0 << 3) | /* PSR */ (0 << 2) | /* CRE */ (0 << 1) | /* WRAP */ (1 << 0) /* CSEN */ ); __REG(CSCR_A(0)) = ((2 << 28) | /* EBRA */ (1 << 24) | /* EBRN */ (2 << 20) | /* RWA */ (2 << 16) | /* RWN */ (0 << 15) | /* MUM */ (0 << 13) | /* LAH */ (2 << 10) | /* LBN */ (0 << 8) | /* LBA */ (0 << 6) | /* DWW */ (0 << 4) | /* DCT */ (0 << 3) | /* WWU */ (0 << 2) | /* AGE */ (0 << 1) | /* CNC2 */ (0 << 0) /* FCE */ ); #ifdef CONFIG_QONG_FPGA /* CS1: FPGA/Network Controller/GPIO */ /* 16-bit, no DTACK */ __REG(CSCR_U(1)) = 0x00000A01; __REG(CSCR_L(1)) = 0x20040501; __REG(CSCR_A(1)) = 0x04020C00; /* setup pins for FPGA */ mx31_gpio_mux(IOMUX_MODE(0x76, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x7e, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x91, MUX_CTL_OUT_FUNC | MUX_CTL_IN_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x92, MUX_CTL_GPIO)); mx31_gpio_mux(IOMUX_MODE(0x93, MUX_CTL_GPIO)); #endif /* setup pins for UART1 */ mx31_gpio_mux(MUX_RXD1__UART1_RXD_MUX); mx31_gpio_mux(MUX_TXD1__UART1_TXD_MUX); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); /* board id for linux */ gd->bd->bi_arch_number = MACH_TYPE_QONG; gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */ return 0; }