xref: /kernel/linux/linux-6.6/arch/mips/ath79/prom.c (revision 62306a36)
162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  Atheros AR71XX/AR724X/AR913X specific prom routines
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 2015 Laurent Fasnacht <l@libres.ch>
662306a36Sopenharmony_ci *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
762306a36Sopenharmony_ci *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include <linux/kernel.h>
1162306a36Sopenharmony_ci#include <linux/init.h>
1262306a36Sopenharmony_ci#include <linux/io.h>
1362306a36Sopenharmony_ci#include <linux/string.h>
1462306a36Sopenharmony_ci#include <linux/initrd.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include <asm/bootinfo.h>
1762306a36Sopenharmony_ci#include <asm/addrspace.h>
1862306a36Sopenharmony_ci#include <asm/fw/fw.h>
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#include "common.h"
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_civoid __init prom_init(void)
2362306a36Sopenharmony_ci{
2462306a36Sopenharmony_ci	fw_init_cmdline();
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci#ifdef CONFIG_BLK_DEV_INITRD
2762306a36Sopenharmony_ci	/* Read the initrd address from the firmware environment */
2862306a36Sopenharmony_ci	initrd_start = fw_getenvl("initrd_start");
2962306a36Sopenharmony_ci	if (initrd_start) {
3062306a36Sopenharmony_ci		initrd_start = KSEG0ADDR(initrd_start);
3162306a36Sopenharmony_ci		initrd_end = initrd_start + fw_getenvl("initrd_size");
3262306a36Sopenharmony_ci	}
3362306a36Sopenharmony_ci#endif
3462306a36Sopenharmony_ci}
35