summary refs log tree commit diff stats
path: root/include/hw/riscv
diff options
context:
space:
mode:
authorBin Meng <bin.meng@windriver.com>2020-09-03 18:40:14 +0800
committerAlistair Francis <alistair.francis@wdc.com>2020-09-09 15:54:19 -0700
commit0fa9e329454aaccc6dbb6a4f52ad0c88a060a3b6 (patch)
tree2e1a7c7e45eff69893f38bc9cb7448385b5a21b9 /include/hw/riscv
parent9fe640a53dd8ef33d32ab6e833fa9b6d1356cfae (diff)
downloadfocaccia-qemu-0fa9e329454aaccc6dbb6a4f52ad0c88a060a3b6.tar.gz
focaccia-qemu-0fa9e329454aaccc6dbb6a4f52ad0c88a060a3b6.zip
hw/riscv: Move sifive_u_otp model to hw/misc
This is an effort to clean up the hw/riscv directory. Ideally it
should only contain the RISC-V SoC / machine codes plus generic
codes. Let's move sifive_u_otp model to hw/misc directory.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <1599129623-68957-4-git-send-email-bmeng.cn@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'include/hw/riscv')
-rw-r--r--include/hw/riscv/sifive_u.h2
-rw-r--r--include/hw/riscv/sifive_u_otp.h80
2 files changed, 1 insertions, 81 deletions
diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h
index cbeb2286d7..936a3bd0b1 100644
--- a/include/hw/riscv/sifive_u.h
+++ b/include/hw/riscv/sifive_u.h
@@ -24,7 +24,7 @@
 #include "hw/riscv/riscv_hart.h"
 #include "hw/riscv/sifive_cpu.h"
 #include "hw/riscv/sifive_gpio.h"
-#include "hw/riscv/sifive_u_otp.h"
+#include "hw/misc/sifive_u_otp.h"
 #include "hw/misc/sifive_u_prci.h"
 
 #define TYPE_RISCV_U_SOC "riscv.sifive.u.soc"
diff --git a/include/hw/riscv/sifive_u_otp.h b/include/hw/riscv/sifive_u_otp.h
deleted file mode 100644
index 639297564a..0000000000
--- a/include/hw/riscv/sifive_u_otp.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * QEMU SiFive U OTP (One-Time Programmable) Memory interface
- *
- * Copyright (c) 2019 Bin Meng <bmeng.cn@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2 or later, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef HW_SIFIVE_U_OTP_H
-#define HW_SIFIVE_U_OTP_H
-
-#define SIFIVE_U_OTP_PA         0x00
-#define SIFIVE_U_OTP_PAIO       0x04
-#define SIFIVE_U_OTP_PAS        0x08
-#define SIFIVE_U_OTP_PCE        0x0C
-#define SIFIVE_U_OTP_PCLK       0x10
-#define SIFIVE_U_OTP_PDIN       0x14
-#define SIFIVE_U_OTP_PDOUT      0x18
-#define SIFIVE_U_OTP_PDSTB      0x1C
-#define SIFIVE_U_OTP_PPROG      0x20
-#define SIFIVE_U_OTP_PTC        0x24
-#define SIFIVE_U_OTP_PTM        0x28
-#define SIFIVE_U_OTP_PTM_REP    0x2C
-#define SIFIVE_U_OTP_PTR        0x30
-#define SIFIVE_U_OTP_PTRIM      0x34
-#define SIFIVE_U_OTP_PWE        0x38
-
-#define SIFIVE_U_OTP_PCE_EN     (1 << 0)
-
-#define SIFIVE_U_OTP_PDSTB_EN   (1 << 0)
-
-#define SIFIVE_U_OTP_PTRIM_EN   (1 << 0)
-
-#define SIFIVE_U_OTP_PA_MASK        0xfff
-#define SIFIVE_U_OTP_NUM_FUSES      0x1000
-#define SIFIVE_U_OTP_SERIAL_ADDR    0xfc
-
-#define SIFIVE_U_OTP_REG_SIZE       0x1000
-
-#define TYPE_SIFIVE_U_OTP           "riscv.sifive.u.otp"
-
-#define SIFIVE_U_OTP(obj) \
-    OBJECT_CHECK(SiFiveUOTPState, (obj), TYPE_SIFIVE_U_OTP)
-
-typedef struct SiFiveUOTPState {
-    /*< private >*/
-    SysBusDevice parent_obj;
-
-    /*< public >*/
-    MemoryRegion mmio;
-    uint32_t pa;
-    uint32_t paio;
-    uint32_t pas;
-    uint32_t pce;
-    uint32_t pclk;
-    uint32_t pdin;
-    uint32_t pdstb;
-    uint32_t pprog;
-    uint32_t ptc;
-    uint32_t ptm;
-    uint32_t ptm_rep;
-    uint32_t ptr;
-    uint32_t ptrim;
-    uint32_t pwe;
-    uint32_t fuse[SIFIVE_U_OTP_NUM_FUSES];
-    /* config */
-    uint32_t serial;
-} SiFiveUOTPState;
-
-#endif /* HW_SIFIVE_U_OTP_H */