/* * Definitions for DDR memories based on JEDEC specs * * Copyright (C) 2012 Texas Instruments, Inc. * * Aneesh V * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef __LINUX_JEDEC_DDR_H #define __LINUX_JEDEC_DDR_H #include /* DDR Densities */ #define DDR_DENSITY_64Mb 1 #define DDR_DENSITY_128Mb 2 #define DDR_DENSITY_256Mb 3 #define DDR_DENSITY_512Mb 4 #define DDR_DENSITY_1Gb 5 #define DDR_DENSITY_2Gb 6 #define DDR_DENSITY_4Gb 7 #define DDR_DENSITY_8Gb 8 #define DDR_DENSITY_16Gb 9 #define DDR_DENSITY_32Gb 10 /* DDR type */ #define DDR_TYPE_DDR2 1 #define DDR_TYPE_DDR3 2 #define DDR_TYPE_LPDDR2_S4 3 #define DDR_TYPE_LPDDR2_S2 4 #define DDR_TYPE_LPDDR2_NVM 5 /* DDR IO width */ #define DDR_IO_WIDTH_4 1 #define DDR_IO_WIDTH_8 2 #define DDR_IO_WIDTH_16 3 #define DDR_IO_WIDTH_32 4 /* Number of Row bits */ #define R9 9 #define R10 10 #define R11 11 #define R12 12 #define R13 13 #define R14 14 #define R15 15 #define R16 16 /* Number of Column bits */ #define C7 7 #define C8 8 #define C9 9 #define C10 10 #define C11 11 #define C12 12 /* Number of Banks */ #define B1 0 #define B2 1 #define B4 2 #define B8 3 /* Refresh rate in nano-seconds */ #define T_REFI_15_6 15600 #define T_REFI_7_8 7800 #define T_REFI_3_9 3900 /* tRFC values */ #define T_RFC_90 90000 #define T_RFC_110 110000 #define T_RFC_130 130000 #define T_RFC_160 160000 #define T_RFC_210 210000 #define T_RFC_300 300000 #define T_RFC_350 350000 /* Mode register numbers */ #define DDR_MR0 0 #define DDR_MR1 1 #define DDR_MR2 2 #define DDR_MR3 3 #define DDR_MR4 4 #define DDR_MR5 5 #define DDR_MR6 6 #define DDR_MR7 7 #define DDR_MR8 8 #define DDR_MR9 9 #define DDR_MR10 10 #define DDR_MR11 11 #define DDR_MR16 16 #define DDR_MR17 17 #define DDR_MR18 18 /* * LPDDR2 related defines */ /* MR4 register fields */ #define MR4_SDRAM_REF_RATE_SHIFT 0 #define MR4_SDRAM_REF_RATE_MASK 7 #define MR4_TUF_SHIFT 7 #define MR4_TUF_MASK (1 << 7) /* MR4 SDRAM Refresh Rate field values */ #define SDRAM_TEMP_NOMINAL 0x3 #define SDRAM_TEMP_RESERVED_4 0x4 #define SDRAM_TEMP_HIGH_DERATE_REFRESH 0x5 #define SDRAM_TEMP_HIGH_DERATE_REFRESH_AND_TIMINGS 0x6 #define SDRAM_TEMP_VERY_HIGH_SHUTDOWN 0x7 #define NUM_DDR_ADDR_TABLE_ENTRIES 11 #define NUM_DDR_TIMING_TABLE_ENTRIES 4 /* Structure for DDR addressing info from the JEDEC spec */ struct lpddr2_addressing { u32 num_banks; u32 tREFI_ns; u32 tRFCab_ps; }; /* * Structure for timings from the LPDDR2 datasheet * All parameters are in pico seconds(ps) unless explicitly indicated * with a suffix like tRAS_max_ns below */ struct lpddr2_timings { u32 max_freq; u32 min_freq; u32 tRPab; u32 tRCD; u32 tWR; u32 tRAS_min; u32 tRRD; u32 tWTR; u32 tXP; u32 tRTP; u32 tCKESR; u32 tDQSCK_max; u32 tDQSCK_max_derated; u32 tFAW; u32 tZQCS; u32 tZQCL; u32 tZQinit; u32 tRAS_max_ns; }; /* * Min value for some parameters in terms of number of tCK cycles(nCK) * Please set to zero parameters that are not valid for a given memory * type */ struct lpddr2_min_tck { u32 tRPab; u32 tRCD; u32 tWR; u32 tRASmin; u32 tRRD; u32 tWTR; u32 tXP; u32 tRTP; u32 tCKE; u32 tCKESR; u32 tFAW; }; extern const struct lpddr2_addressing lpddr2_jedec_addressing_table[NUM_DDR_ADDR_TABLE_ENTRIES]; extern const struct lpddr2_timings lpddr2_jedec_timings[NUM_DDR_TIMING_TABLE_ENTRIES]; extern const struct lpddr2_min_tck lpddr2_jedec_min_tck; #endif /* __LINUX_JEDEC_DDR_H */ input type='hidden' name='h' value='nds-private-remove'/>
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-27 12:54:16 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-27 12:54:16 -0800
commit1b1bc42c1692e9b62756323c675a44cb1a1f9dbd (patch)
treed514a2d8512fc52c15747841e2368f8f99a50787 /include/uapi/xen/gntdev.h
parent3365135d43f861003555c963b309672d053a2228 (diff)
parent950eabbd6ddedc1b08350b9169a6a51b130ebaaf (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: 1) GTP fixes from Andreas Schultz (missing genl module alias, clear IP DF on transmit). 2) Netfilter needs to reflect the fwmark when sending resets, from Pau Espin Pedrol. 3) nftable dump OOPS fix from Liping Zhang. 4) Fix erroneous setting of VIRTIO_NET_HDR_F_DATA_VALID on transmit, from Rolf Neugebauer. 5) Fix build error of ipt_CLUSTERIP when procfs is disabled, from Arnd Bergmann. 6) Fix regression in handling of NETIF_F_SG in harmonize_features(), from Eric Dumazet. 7) Fix RTNL deadlock wrt. lwtunnel module loading, from David Ahern. 8) tcp_fastopen_create_child() needs to setup tp->max_window, from Alexey Kodanev. 9) Missing kmemdup() failure check in ipv6 segment routing code, from Eric Dumazet. 10) Don't execute unix_bind() under the bindlock, otherwise we deadlock with splice. From WANG Cong. 11) ip6_tnl_parse_tlv_enc_lim() potentially reallocates the skb buffer, therefore callers must reload cached header pointers into that skb. Fix from Eric Dumazet. 12) Fix various bugs in legacy IRQ fallback handling in alx driver, from Tobias Regnery. 13) Do not allow lwtunnel drivers to be unloaded while they are referenced by active instances, from Robert Shearman. 14) Fix truncated PHY LED trigger names, from Geert Uytterhoeven. 15) Fix a few regressions from virtio_net XDP support, from John Fastabend and Jakub Kicinski. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (102 commits) ISDN: eicon: silence misleading array-bounds warning net: phy: micrel: add support for KSZ8795 gtp: fix cross netns recv on gtp socket gtp: clear DF bit on GTP packet tx gtp: add genl family modules alias tcp: don't annotate mark on control socket from tcp_v6_send_response() ravb: unmap descriptors when freeing rings virtio_net: reject XDP programs using header adjustment virtio_net: use dev_kfree_skb for small buffer XDP receive r8152: check rx after napi is enabled r8152: re-schedule napi for tx r8152: avoid start_xmit to schedule napi when napi is disabled r8152: avoid start_xmit to call napi_schedule during autosuspend net: dsa: Bring back device detaching in dsa_slave_suspend() net: phy: leds: Fix truncated LED trigger names net: phy: leds: Break dependency of phy.h on phy_led_triggers.h net: phy: leds: Clear phy_num_led_triggers on failure to avoid crash net-next: ethernet: mediatek: change the compatible string Documentation: devicetree: change the mediatek ethernet compatible string bnxt_en: Fix RTNL lock usage on bnxt_get_port_module_status(). ...
Diffstat (limited to 'include/uapi/xen/gntdev.h')