1d2912cb1SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 27a1a44c9SJohn Crispin /* 37a1a44c9SJohn Crispin * 497b92108SJohn Crispin * Copyright (C) 2013 John Crispin <john@phrozen.org> 57a1a44c9SJohn Crispin */ 67a1a44c9SJohn Crispin 77a1a44c9SJohn Crispin #include <linux/debugfs.h> 87a1a44c9SJohn Crispin #include <linux/seq_file.h> 97a1a44c9SJohn Crispin 107a1a44c9SJohn Crispin #define BOOTROM_OFFSET 0x10118000 117a1a44c9SJohn Crispin #define BOOTROM_SIZE 0x8000 127a1a44c9SJohn Crispin 137a1a44c9SJohn Crispin static void __iomem *membase = (void __iomem *) KSEG1ADDR(BOOTROM_OFFSET); 147a1a44c9SJohn Crispin bootrom_show(struct seq_file * s,void * unused)157a1a44c9SJohn Crispinstatic int bootrom_show(struct seq_file *s, void *unused) 167a1a44c9SJohn Crispin { 177a1a44c9SJohn Crispin seq_write(s, membase, BOOTROM_SIZE); 187a1a44c9SJohn Crispin 197a1a44c9SJohn Crispin return 0; 207a1a44c9SJohn Crispin } 21*53f9cd5cSLiu Shixin DEFINE_SHOW_ATTRIBUTE(bootrom); 227a1a44c9SJohn Crispin bootrom_setup(void)2338950069SChristophe JAILLETstatic int __init bootrom_setup(void) 247a1a44c9SJohn Crispin { 25*53f9cd5cSLiu Shixin debugfs_create_file("bootrom", 0444, NULL, NULL, &bootrom_fops); 267a1a44c9SJohn Crispin return 0; 277a1a44c9SJohn Crispin } 287a1a44c9SJohn Crispin 297a1a44c9SJohn Crispin postcore_initcall(bootrom_setup); 30