162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * Copyright (C) 2013 John Crispin <john@phrozen.org>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include <linux/debugfs.h>
862306a36Sopenharmony_ci#include <linux/seq_file.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#define BOOTROM_OFFSET	0x10118000
1162306a36Sopenharmony_ci#define BOOTROM_SIZE	0x8000
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cistatic void __iomem *membase = (void __iomem *) KSEG1ADDR(BOOTROM_OFFSET);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cistatic int bootrom_show(struct seq_file *s, void *unused)
1662306a36Sopenharmony_ci{
1762306a36Sopenharmony_ci	seq_write(s, membase, BOOTROM_SIZE);
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	return 0;
2062306a36Sopenharmony_ci}
2162306a36Sopenharmony_ciDEFINE_SHOW_ATTRIBUTE(bootrom);
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_cistatic int __init bootrom_setup(void)
2462306a36Sopenharmony_ci{
2562306a36Sopenharmony_ci	debugfs_create_file("bootrom", 0444, NULL, NULL, &bootrom_fops);
2662306a36Sopenharmony_ci	return 0;
2762306a36Sopenharmony_ci}
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cipostcore_initcall(bootrom_setup);
30