1 // SPDX-License-Identifier: GPL-2.0-or-later 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 2 /* 3 * Copyright (c) 2011 Zhang, Keguang <keguang. 3 * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com> 4 * 4 * 5 * Modified from arch/mips/pnx833x/common/prom 5 * Modified from arch/mips/pnx833x/common/prom.c. 6 */ 6 */ 7 7 8 #include <linux/io.h> 8 #include <linux/io.h> 9 #include <linux/init.h> 9 #include <linux/init.h> 10 #include <linux/memblock.h> 10 #include <linux/memblock.h> 11 #include <linux/serial_reg.h> 11 #include <linux/serial_reg.h> 12 #include <asm/fw/fw.h> 12 #include <asm/fw/fw.h> 13 13 14 #include <loongson1.h> 14 #include <loongson1.h> 15 15 16 unsigned long memsize; 16 unsigned long memsize; 17 17 18 void __init prom_init(void) 18 void __init prom_init(void) 19 { 19 { 20 void __iomem *uart_base; 20 void __iomem *uart_base; 21 21 22 fw_init_cmdline(); 22 fw_init_cmdline(); 23 23 24 memsize = fw_getenvl("memsize"); 24 memsize = fw_getenvl("memsize"); 25 if(!memsize) 25 if(!memsize) 26 memsize = DEFAULT_MEMSIZE; 26 memsize = DEFAULT_MEMSIZE; 27 27 28 if (strstr(arcs_cmdline, "console=ttyS 28 if (strstr(arcs_cmdline, "console=ttyS3")) 29 uart_base = ioremap(LS1X_UART3 29 uart_base = ioremap(LS1X_UART3_BASE, 0x0f); 30 else if (strstr(arcs_cmdline, "console 30 else if (strstr(arcs_cmdline, "console=ttyS2")) 31 uart_base = ioremap(LS1X_UART2 31 uart_base = ioremap(LS1X_UART2_BASE, 0x0f); 32 else if (strstr(arcs_cmdline, "console 32 else if (strstr(arcs_cmdline, "console=ttyS1")) 33 uart_base = ioremap(LS1X_UART1 33 uart_base = ioremap(LS1X_UART1_BASE, 0x0f); 34 else 34 else 35 uart_base = ioremap(LS1X_UART0 35 uart_base = ioremap(LS1X_UART0_BASE, 0x0f); 36 setup_8250_early_printk_port((unsigned 36 setup_8250_early_printk_port((unsigned long)uart_base, 0, 0); 37 } 37 } 38 38 39 void __init plat_mem_setup(void) 39 void __init plat_mem_setup(void) 40 { 40 { 41 memblock_add(0x0, (memsize << 20)); 41 memblock_add(0x0, (memsize << 20)); 42 } 42 } 43 43
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.