[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120315190238.GD11142@kroah.com>
Date: Thu, 15 Mar 2012 12:02:38 -0700
From: Greg KH <greg@...ah.com>
To: Aneesh V <aneesh@...com>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-omap@...r.kernel.org
Subject: Re: [PATCH v2 1/7] misc: ddr: add LPDDR2 data from JESD209-2
On Thu, Mar 15, 2012 at 11:47:31PM +0530, Aneesh V wrote:
> add LPDDR2 data from the JEDEC spec JESD209-2. The data
> includes:
>
> 1. Addressing information for LPDDR2 memories of different
> densities and types(S2/S4)
> 2. AC timing data.
>
> This data will useful for memory controller device drivers
Right now, only one driver, right?
> +#ifndef __ASSEMBLY__
Why is this needed?
> +/* Structure for DDR addressing info from the JEDEC spec */
> +struct lpddr2_addressing {
> + u32 num_banks;
> + u32 tREFI_ns;
> + u32 tRFCab_ps;
> +};
Do these structures cross the user/kernel boundry somehow? If so,
please use the proper kernel types for this.
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -123,6 +123,9 @@ obj-$(CONFIG_SIGNATURE) += digsig.o
>
> obj-$(CONFIG_CLZ_TAB) += clz_tab.o
>
> +obj-$(CONFIG_DDR) += jedec_ddr_data.o
> +
> +
Why the extra line?
> hostprogs-y := gen_crc32table
> clean-files := crc32table.h
>
> diff --git a/lib/jedec_ddr_data.c b/lib/jedec_ddr_data.c
> new file mode 100644
> index 0000000..fc223d6
> --- /dev/null
> +++ b/lib/jedec_ddr_data.c
> @@ -0,0 +1,135 @@
> +/*
> + * DDR addressing details and AC timing parameters from JEDEC specs
> + *
> + * Copyright (C) 2012 Texas Instruments, Inc.
> + *
> + * Aneesh V <aneesh@...com>
> + *
> + * 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.
> + */
> +
> +#include <misc/jedec_ddr.h>
> +#include <linux/module.h>
> +
> +/* LPDDR2 addressing details from JESD209-2 section 2.4 */
> +const struct lpddr2_addressing
> + lpddr2_jedec_addressing_table[NUM_DDR_ADDR_TABLE_ENTRIES] = {
> + {B4, T_REFI_15_6, T_RFC_90}, /* 64M */
> + {B4, T_REFI_15_6, T_RFC_90}, /* 128M */
> + {B4, T_REFI_7_8, T_RFC_90}, /* 256M */
> + {B4, T_REFI_7_8, T_RFC_90}, /* 512M */
> + {B8, T_REFI_7_8, T_RFC_130}, /* 1GS4 */
> + {B8, T_REFI_3_9, T_RFC_130}, /* 2GS4 */
> + {B8, T_REFI_3_9, T_RFC_130}, /* 4G */
> + {B8, T_REFI_3_9, T_RFC_210}, /* 8G */
> + {B4, T_REFI_7_8, T_RFC_130}, /* 1GS2 */
> + {B4, T_REFI_3_9, T_RFC_130}, /* 2GS2 */
> +};
> +EXPORT_SYMBOL(lpddr2_jedec_addressing_table);
EXPORT_SYMBOL_GPL for these and the others?
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists