cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

jedec.h (1905B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org>
      4 *			 Steven J. Hill <sjhill@realitydiluted.com>
      5 *			 Thomas Gleixner <tglx@linutronix.de>
      6 *
      7 * Contains all JEDEC related definitions
      8 */
      9
     10#ifndef __LINUX_MTD_JEDEC_H
     11#define __LINUX_MTD_JEDEC_H
     12
     13struct jedec_ecc_info {
     14	u8 ecc_bits;
     15	u8 codeword_size;
     16	__le16 bb_per_lun;
     17	__le16 block_endurance;
     18	u8 reserved[2];
     19} __packed;
     20
     21/* JEDEC features */
     22#define JEDEC_FEATURE_16_BIT_BUS	(1 << 0)
     23
     24struct nand_jedec_params {
     25	/* rev info and features block */
     26	/* 'J' 'E' 'S' 'D'  */
     27	u8 sig[4];
     28	__le16 revision;
     29	__le16 features;
     30	u8 opt_cmd[3];
     31	__le16 sec_cmd;
     32	u8 num_of_param_pages;
     33	u8 reserved0[18];
     34
     35	/* manufacturer information block */
     36	char manufacturer[12];
     37	char model[20];
     38	u8 jedec_id[6];
     39	u8 reserved1[10];
     40
     41	/* memory organization block */
     42	__le32 byte_per_page;
     43	__le16 spare_bytes_per_page;
     44	u8 reserved2[6];
     45	__le32 pages_per_block;
     46	__le32 blocks_per_lun;
     47	u8 lun_count;
     48	u8 addr_cycles;
     49	u8 bits_per_cell;
     50	u8 programs_per_page;
     51	u8 multi_plane_addr;
     52	u8 multi_plane_op_attr;
     53	u8 reserved3[38];
     54
     55	/* electrical parameter block */
     56	__le16 async_sdr_speed_grade;
     57	__le16 toggle_ddr_speed_grade;
     58	__le16 sync_ddr_speed_grade;
     59	u8 async_sdr_features;
     60	u8 toggle_ddr_features;
     61	u8 sync_ddr_features;
     62	__le16 t_prog;
     63	__le16 t_bers;
     64	__le16 t_r;
     65	__le16 t_r_multi_plane;
     66	__le16 t_ccs;
     67	__le16 io_pin_capacitance_typ;
     68	__le16 input_pin_capacitance_typ;
     69	__le16 clk_pin_capacitance_typ;
     70	u8 driver_strength_support;
     71	__le16 t_adl;
     72	u8 reserved4[36];
     73
     74	/* ECC and endurance block */
     75	u8 guaranteed_good_blocks;
     76	__le16 guaranteed_block_endurance;
     77	struct jedec_ecc_info ecc_info[4];
     78	u8 reserved5[29];
     79
     80	/* reserved */
     81	u8 reserved6[148];
     82
     83	/* vendor */
     84	__le16 vendor_rev_num;
     85	u8 reserved7[88];
     86
     87	/* CRC for Parameter Page */
     88	__le16 crc;
     89} __packed;
     90
     91#endif /* __LINUX_MTD_JEDEC_H */