1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds /* 31da177e4SLinus Torvalds * Setup kernel for a Sun3x machine 41da177e4SLinus Torvalds * 51da177e4SLinus Torvalds * (C) 1999 Thomas Bogendoerfer (tsbogend@alpha.franken.de) 61da177e4SLinus Torvalds * 71da177e4SLinus Torvalds * based on code from Oliver Jowett <oliver@jowett.manawatu.gen.nz> 81da177e4SLinus Torvalds */ 91da177e4SLinus Torvalds 101da177e4SLinus Torvalds #include <linux/types.h> 111da177e4SLinus Torvalds #include <linux/mm.h> 12813dcf7aSAlexey Dobriyan #include <linux/seq_file.h> 131da177e4SLinus Torvalds #include <linux/console.h> 141da177e4SLinus Torvalds #include <linux/init.h> 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds #include <asm/machdep.h> 171da177e4SLinus Torvalds #include <asm/irq.h> 181da177e4SLinus Torvalds #include <asm/sun3xprom.h> 191da177e4SLinus Torvalds #include <asm/sun3ints.h> 201da177e4SLinus Torvalds #include <asm/setup.h> 211da177e4SLinus Torvalds #include <asm/oplib.h> 221da177e4SLinus Torvalds 231da177e4SLinus Torvalds #include "time.h" 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds volatile char *clock_va; 261da177e4SLinus Torvalds 271da177e4SLinus Torvalds extern void sun3_get_model(char *model); 281da177e4SLinus Torvalds sun3_leds(unsigned int i)291da177e4SLinus Torvaldsvoid sun3_leds(unsigned int i) 301da177e4SLinus Torvalds { 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds } 331da177e4SLinus Torvalds sun3x_get_hardware_list(struct seq_file * m)34813dcf7aSAlexey Dobriyanstatic void sun3x_get_hardware_list(struct seq_file *m) 351da177e4SLinus Torvalds { 36813dcf7aSAlexey Dobriyan seq_printf(m, "PROM Revision:\t%s\n", romvec->pv_monid); 371da177e4SLinus Torvalds } 381da177e4SLinus Torvalds 391da177e4SLinus Torvalds /* 401da177e4SLinus Torvalds * Setup the sun3x configuration info 411da177e4SLinus Torvalds */ config_sun3x(void)421da177e4SLinus Torvaldsvoid __init config_sun3x(void) 431da177e4SLinus Torvalds { 441da177e4SLinus Torvalds 451da177e4SLinus Torvalds sun3x_prom_init(); 461da177e4SLinus Torvalds 471da177e4SLinus Torvalds mach_sched_init = sun3x_sched_init; 481da177e4SLinus Torvalds mach_init_IRQ = sun3_init_IRQ; 491da177e4SLinus Torvalds 501da177e4SLinus Torvalds mach_reset = sun3x_reboot; 511da177e4SLinus Torvalds 521da177e4SLinus Torvalds mach_hwclk = sun3x_hwclk; 531da177e4SLinus Torvalds mach_get_model = sun3_get_model; 541da177e4SLinus Torvalds mach_get_hardware_list = sun3x_get_hardware_list; 551da177e4SLinus Torvalds 561da177e4SLinus Torvalds sun3_intreg = (unsigned char *)SUN3X_INTREG; 571da177e4SLinus Torvalds 581da177e4SLinus Torvalds /* only the serial console is known to work anyway... */ 591da177e4SLinus Torvalds #if 0 601da177e4SLinus Torvalds switch (*(unsigned char *)SUN3X_EEPROM_CONS) { 611da177e4SLinus Torvalds case 0x10: 621da177e4SLinus Torvalds serial_console = 1; 631da177e4SLinus Torvalds conswitchp = NULL; 641da177e4SLinus Torvalds break; 651da177e4SLinus Torvalds case 0x11: 661da177e4SLinus Torvalds serial_console = 2; 671da177e4SLinus Torvalds conswitchp = NULL; 681da177e4SLinus Torvalds break; 691da177e4SLinus Torvalds default: 701da177e4SLinus Torvalds serial_console = 0; 711da177e4SLinus Torvalds break; 721da177e4SLinus Torvalds } 731da177e4SLinus Torvalds #endif 741da177e4SLinus Torvalds 751da177e4SLinus Torvalds } 761da177e4SLinus Torvalds 77