1238106Sdes/* Blackfin One-Time Programmable Memory (OTP) model 2238106Sdes 3238106Sdes Copyright (C) 2010-2023 Free Software Foundation, Inc. 4238106Sdes Contributed by Analog Devices, Inc. 5238106Sdes 6238106Sdes This file is part of simulators. 7238106Sdes 8238106Sdes This program is free software; you can redistribute it and/or modify 9238106Sdes it under the terms of the GNU General Public License as published by 10238106Sdes the Free Software Foundation; either version 3 of the License, or 11238106Sdes (at your option) any later version. 12238106Sdes 13238106Sdes This program is distributed in the hope that it will be useful, 14238106Sdes but WITHOUT ANY WARRANTY; without even the implied warranty of 15238106Sdes MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16238106Sdes GNU General Public License for more details. 17238106Sdes 18238106Sdes You should have received a copy of the GNU General Public License 19238106Sdes along with this program. If not, see <http://www.gnu.org/licenses/>. */ 20238106Sdes 21238106Sdes#ifndef DV_BFIN_OTP_H 22238106Sdes#define DV_BFIN_OTP_H 23238106Sdes 24238106Sdes/* OTP Defined Pages. */ 25238106Sdes#define FPS00 0x004 26238106Sdes#define FPS01 0x005 27238106Sdes#define FPS02 0x006 28238106Sdes#define FPS03 0x007 29238106Sdes#define FPS04 0x008 30238106Sdes#define FPS05 0x009 31238106Sdes#define FPS06 0x00A 32238106Sdes#define FPS07 0x00B 33238106Sdes#define FPS08 0x00C 34238106Sdes#define FPS09 0x00D 35238106Sdes#define FPS10 0x00E 36238106Sdes#define FPS11 0x00F 37238106Sdes#define CPS00 0x010 38238106Sdes#define CPS01 0x011 39238106Sdes#define CPS02 0x012 40238106Sdes#define CPS03 0x013 41238106Sdes#define CPS04 0x014 42238106Sdes#define CPS05 0x015 43238106Sdes#define CPS06 0x016 44238106Sdes#define CPS07 0x017 45238106Sdes#define PBS00 0x018 46238106Sdes#define PBS01 0x019 47238106Sdes#define PBS02 0x01A 48238106Sdes#define PBS03 0x01B 49238106Sdes#define PUB000 0x01C 50238106Sdes#define PUBCRC000 0x0E0 51238106Sdes#define PRIV000 0x110 52238106Sdes#define PRIVCRC000 0x1E0 53238106Sdes 54238106Sdes/* FPS03 Part values. */ 55238106Sdes#define FPS03_BF51XF(n) (FPS03_BF##n | 0xF000) 56238106Sdes#define FPS03_BF512 0x0200 57238106Sdes#define FPS03_BF512F FPS03_BF51XF(512) 58238106Sdes#define FPS03_BF514 0x0202 59238106Sdes#define FPS03_BF514F FPS03_BF51XF(514) 60238106Sdes#define FPS03_BF516 0x0204 61238106Sdes#define FPS03_BF516F FPS03_BF51XF(516) 62238106Sdes#define FPS03_BF518 0x0206 63238106Sdes#define FPS03_BF518F FPS03_BF51XF(518) 64238106Sdes#define FPS03_BF52X_C1(n) (FPS03_BF##n | 0x8000) 65238106Sdes#define FPS03_BF52X_C2(n) (FPS03_BF##n | 0x4000) 66238106Sdes#define FPS03_BF522 0x020A 67238106Sdes#define FPS03_BF522_C1 FPS03_BF52X_C1(522) 68238106Sdes#define FPS03_BF522_C2 FPS03_BF52X_C2(522) 69238106Sdes#define FPS03_BF523 0x020B 70238106Sdes#define FPS03_BF523_C1 FPS03_BF52X_C1(523) 71238106Sdes#define FPS03_BF523_C2 FPS03_BF52X_C2(523) 72238106Sdes#define FPS03_BF524 0x020C 73238106Sdes#define FPS03_BF524_C1 FPS03_BF52X_C1(524) 74238106Sdes#define FPS03_BF524_C2 FPS03_BF52X_C2(524) 75238106Sdes#define FPS03_BF525 0x020D 76238106Sdes#define FPS03_BF525_C1 FPS03_BF52X_C1(525) 77238106Sdes#define FPS03_BF525_C2 FPS03_BF52X_C2(525) 78238106Sdes#define FPS03_BF526 0x020E 79238106Sdes#define FPS03_BF526_C1 FPS03_BF52X_C1(526) 80238106Sdes#define FPS03_BF526_C2 FPS03_BF52X_C2(526) 81238106Sdes#define FPS03_BF527 0x020F 82238106Sdes#define FPS03_BF527_C1 FPS03_BF52X_C1(527) 83238106Sdes#define FPS03_BF527_C2 FPS03_BF52X_C2(527) 84238106Sdes 85238106Sdes/* OTP_CONTROL masks. */ 86238106Sdes#define PAGE_ADDR (0x1FF) 87238106Sdes#define DO_READ (1 << 14) 88238106Sdes#define DO_WRITE (1 << 15) 89238106Sdes 90238106Sdes/* OTP_STATUS masks. */ 91238106Sdes#define STATUS_DONE (1 << 0) 92238106Sdes#define STATUS_ERR (1 << 1) 93238106Sdes 94238106Sdes#endif 95238106Sdes