linux/arch/mips/loongson/lemote-2f/machtype.c
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2009 Lemote Inc.
   3 * Author: Wu Zhangjin, wuzhangjin@gmail.com
   4 *
   5 * This program is free software; you can redistribute  it and/or modify it
   6 * under  the terms of  the GNU General  Public License as published by the
   7 * Free Software Foundation;  either version 2 of the  License, or (at your
   8 * option) any later version.
   9 */
  10#include <asm/bootinfo.h>
  11
  12#include <loongson.h>
  13
  14void __init mach_prom_init_machtype(void)
  15{
  16        /* We share the same kernel image file among Lemote 2F family
  17         * of machines, and provide the machtype= kernel command line
  18         * to users to indicate their machine, this command line will
  19         * be passed by the latest PMON automatically. and fortunately,
  20         * up to now, we can get the machine type from the PMON_VER=
  21         * commandline directly except the NAS machine, In the old
  22         * machines, this will help the users a lot.
  23         *
  24         * If no "machtype=" passed, get machine type from "PMON_VER=".
  25         *      PMON_VER=LM8089         Lemote 8.9'' netbook
  26         *               LM8101         Lemote 10.1'' netbook
  27         *      (The above two netbooks have the same kernel support)
  28         *               LM6XXX         Lemote FuLoong(2F) box series
  29         *               LM9XXX         Lemote LynLoong PC series
  30         */
  31        if (strstr(arcs_cmdline, "PMON_VER=LM")) {
  32                if (strstr(arcs_cmdline, "PMON_VER=LM8"))
  33                        mips_machtype = MACH_LEMOTE_YL2F89;
  34                else if (strstr(arcs_cmdline, "PMON_VER=LM6"))
  35                        mips_machtype = MACH_LEMOTE_FL2F;
  36                else if (strstr(arcs_cmdline, "PMON_VER=LM9"))
  37                        mips_machtype = MACH_LEMOTE_LL2F;
  38                else
  39                        mips_machtype = MACH_LEMOTE_NAS;
  40
  41                strcat(arcs_cmdline, " machtype=");
  42                strcat(arcs_cmdline, get_system_type());
  43                strcat(arcs_cmdline, " ");
  44        }
  45}
  46