blob: 2dc5122f0e09a454f3ade53a87eaf32f806b12ec [file] [log] [blame]
Wu Zhangjin85749d22009-07-02 23:26:45 +08001/*
Ralf Baechle0bb383a2015-07-07 20:56:04 +02002 * Copyright (C) 2007 Lemote Inc. & Institute of Computing Technology
Wu Zhangjin85749d22009-07-02 23:26:45 +08003 * Author: Fuxin Zhang, zhangfx@lemote.com
4 *
Ralf Baechle70342282013-01-22 12:59:30 +01005 * 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
Wu Zhangjin85749d22009-07-02 23:26:45 +08008 * option) any later version.
9 */
10#include <linux/module.h>
11
12#include <asm/wbflush.h>
Aaro Koskinen15dd8eb2014-11-19 23:52:47 +020013#include <asm/bootinfo.h>
Wu Zhangjin85749d22009-07-02 23:26:45 +080014
15#include <loongson.h>
16
17#ifdef CONFIG_VT
18#include <linux/console.h>
19#include <linux/screen_info.h>
20#endif
21
Wu Zhangjin85749d22009-07-02 23:26:45 +080022static void wbflush_loongson(void)
23{
24 asm(".set\tpush\n\t"
25 ".set\tnoreorder\n\t"
26 ".set mips3\n\t"
27 "sync\n\t"
28 "nop\n\t"
29 ".set\tpop\n\t"
30 ".set mips0\n\t");
31}
32
Huacai Chen300459d2014-03-21 18:44:08 +080033void (*__wbflush)(void) = wbflush_loongson;
34EXPORT_SYMBOL(__wbflush);
35
Wu Zhangjin85749d22009-07-02 23:26:45 +080036void __init plat_mem_setup(void)
37{
Wu Zhangjin85749d22009-07-02 23:26:45 +080038#ifdef CONFIG_VT
39#if defined(CONFIG_VGA_CONSOLE)
40 conswitchp = &vga_con;
41
42 screen_info = (struct screen_info) {
Sebastian Andrzej Siewiorb20947a2010-04-21 22:36:47 +020043 .orig_x = 0,
44 .orig_y = 25,
45 .orig_video_cols = 80,
46 .orig_video_lines = 25,
47 .orig_video_isVGA = VIDEO_TYPE_VGAC,
48 .orig_video_points = 16,
Wu Zhangjin85749d22009-07-02 23:26:45 +080049 };
50#elif defined(CONFIG_DUMMY_CONSOLE)
51 conswitchp = &dummy_con;
52#endif
53#endif
54}