xref: /linux/arch/mips/ath79/prom.c (revision d0034a7a4ac7fae708146ac0059b9c47a1543f0d)
1*d2912cb1SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only
2d4a67d9dSGabor Juhos /*
3d4a67d9dSGabor Juhos  *  Atheros AR71XX/AR724X/AR913X specific prom routines
4d4a67d9dSGabor Juhos  *
5556b6629SLaurent Fasnacht  *  Copyright (C) 2015 Laurent Fasnacht <l@libres.ch>
6d4a67d9dSGabor Juhos  *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
7d4a67d9dSGabor Juhos  *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
8d4a67d9dSGabor Juhos  */
9d4a67d9dSGabor Juhos 
10d4a67d9dSGabor Juhos #include <linux/kernel.h>
11d4a67d9dSGabor Juhos #include <linux/init.h>
12d4a67d9dSGabor Juhos #include <linux/io.h>
13d4a67d9dSGabor Juhos #include <linux/string.h>
14ebf71ec7SAlban Bedel #include <linux/initrd.h>
15d4a67d9dSGabor Juhos 
16d4a67d9dSGabor Juhos #include <asm/bootinfo.h>
17d4a67d9dSGabor Juhos #include <asm/addrspace.h>
1811a0f40bSAlban Bedel #include <asm/fw/fw.h>
19d4a67d9dSGabor Juhos 
20d4a67d9dSGabor Juhos #include "common.h"
21d4a67d9dSGabor Juhos 
prom_init(void)22d4a67d9dSGabor Juhos void __init prom_init(void)
23d4a67d9dSGabor Juhos {
2411a0f40bSAlban Bedel 	fw_init_cmdline();
25ebf71ec7SAlban Bedel 
26556b6629SLaurent Fasnacht #ifdef CONFIG_BLK_DEV_INITRD
27ebf71ec7SAlban Bedel 	/* Read the initrd address from the firmware environment */
28ebf71ec7SAlban Bedel 	initrd_start = fw_getenvl("initrd_start");
29ebf71ec7SAlban Bedel 	if (initrd_start) {
30ebf71ec7SAlban Bedel 		initrd_start = KSEG0ADDR(initrd_start);
31ebf71ec7SAlban Bedel 		initrd_end = initrd_start + fw_getenvl("initrd_size");
32ebf71ec7SAlban Bedel 	}
33556b6629SLaurent Fasnacht #endif
34d4a67d9dSGabor Juhos }
35