Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-04 Thread Santosh Shilimkar
On Friday 04 May 2012 05:33 AM, Greg KH wrote:
 On Thu, May 03, 2012 at 06:38:23PM -0400, Paul Gortmaker wrote:
 On Fri, Apr 27, 2012 at 8:24 AM, Santosh Shilimkar
 santosh.shilim...@ti.com wrote:
 Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs

 Hi Santosh,

 Can you send Greg a patch that adds proper dependencies to the Kconfig?
 I was going to simply add an ARM dependency, but perhaps you want to
 restrict it further to a subset of OMAP platforms?

Thanks Paul for reporting the issue.

 At the moment it is causing build failures in other architectures.

 http://kisskb.ellerman.id.au/kisskb/buildresult/6243036/
 
 I think there's a config option for readl/writel, but yes, ARM would
 probably be fine as well.
 
Just send a patch [1] to Greg. EMIF driver build is restricted to
ARCH_OMAP2PLUS for now and can be extended later if any other
non OMAP architecture start using it.

Regards
Santosh

[1] https://lkml.org/lkml/2012/5/4/22
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-03 Thread Shilimkar, Santosh
On Wed, May 2, 2012 at 11:33 PM, Greg KH gre...@linuxfoundation.org wrote:
 On Wed, May 02, 2012 at 12:20:24PM +0530, Santosh Shilimkar wrote:
 Greg,

 On Wednesday 02 May 2012 10:46 AM, Greg KH wrote:
  On Fri, Apr 27, 2012 at 05:54:02PM +0530, Santosh Shilimkar wrote:
  Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs
 
  EMIF is an SDRAM controller that supports, based on its revision,
  one or more of LPDDR2/DDR2/DDR3 protocols.This driver adds support
  for LPDDR2.
 
  The driver supports the following features:
  - Calculates the DDR AC timing parameters to be set in EMIF
    registers using data from the device data-sheets and based
    on the DDR frequency. If data from data-sheets is not available
    default timing values from the JEDEC spec are used. These
    will be safe, but not necessarily optimal
  - API for changing timings during DVFS or at boot-up
  - Temperature alert configuration and handling of temperature
    alerts, if any for LPDDR2 devices
    * temperature alert is based on periodic polling of MR4 mode
      register in DDR devices automatically performed by hardware
    * timings are de-rated and brought back to nominal when
      temperature raises and falls respectively
  - Cache of calculated register values to avoid re-calculating
    them
 
  The driver will need some minor updates when it is eventually
  integrated with Dynamic Voltage and Frequency Scaling (DVFS).
  This can not be done now as DVFS support is not available in
  the mainline yet.
 
  Discussions with Santosh Shilimkar santosh.shilim...@ti.com
  were immensely helpful in shaping up the interfaces. Vibhore Vardhan
  vvard...@gmail.com did the initial code snippet for thermal
  handling.
 
  Testing:
  - The driver is tested on OMAP4430 SDP.
  - The driver in a slightly adapted form is also tested on OMAP5.
  - Since mainline kernel doesn't have DVFS support yet,
    testing was done using a test module.
  - Temperature alert handling was tested with simulated interrupts
    and faked temperature values as testing all cases in real-life
    scenarios is difficult.
  - Tested the driver as a module
 
  Cc: Greg KH g...@kroah.com
 
  This all looks good to me now, thanks for reworking this.
 
  So, do you want me to take this through my driver tree to get to Linus
  for 3.5, or do you want it to go through somewhere else?
 
  If somewhere else, that's fine with me, consider this an:
      Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org
 
  If you want me to take it, just let me know, whichever you prefer is
  fine with me.
 
 Can you take this one through your 3.5 driver tree please ?
 Thanks for help.

 Ok, all now applied.

Thanks !!

Regards
Santosh
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-03 Thread Paul Gortmaker
On Fri, Apr 27, 2012 at 8:24 AM, Santosh Shilimkar
santosh.shilim...@ti.com wrote:
 Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs

Hi Santosh,

Can you send Greg a patch that adds proper dependencies to the Kconfig?
I was going to simply add an ARM dependency, but perhaps you want to
restrict it further to a subset of OMAP platforms?

At the moment it is causing build failures in other architectures.

http://kisskb.ellerman.id.au/kisskb/buildresult/6243036/

Thanks,
Paul.
--

 EMIF is an SDRAM controller that supports, based on its revision,
 one or more of LPDDR2/DDR2/DDR3 protocols.This driver adds support
 for LPDDR2.

 The driver supports the following features:
 - Calculates the DDR AC timing parameters to be set in EMIF
  registers using data from the device data-sheets and based
  on the DDR frequency. If data from data-sheets is not available
  default timing values from the JEDEC spec are used. These
  will be safe, but not necessarily optimal
 - API for changing timings during DVFS or at boot-up
 - Temperature alert configuration and handling of temperature
  alerts, if any for LPDDR2 devices
  * temperature alert is based on periodic polling of MR4 mode
    register in DDR devices automatically performed by hardware
  * timings are de-rated and brought back to nominal when
    temperature raises and falls respectively
 - Cache of calculated register values to avoid re-calculating
  them

 The driver will need some minor updates when it is eventually
 integrated with Dynamic Voltage and Frequency Scaling (DVFS).
 This can not be done now as DVFS support is not available in
 the mainline yet.

 Discussions with Santosh Shilimkar santosh.shilim...@ti.com
 were immensely helpful in shaping up the interfaces. Vibhore Vardhan
 vvard...@gmail.com did the initial code snippet for thermal
 handling.

 Testing:
 - The driver is tested on OMAP4430 SDP.
 - The driver in a slightly adapted form is also tested on OMAP5.
 - Since mainline kernel doesn't have DVFS support yet,
  testing was done using a test module.
 - Temperature alert handling was tested with simulated interrupts
  and faked temperature values as testing all cases in real-life
  scenarios is difficult.
 - Tested the driver as a module

 Cc: Greg KH g...@kroah.com

 v5:
 - Moved the EMIF driver to drivers/memory as per discussion thread [2]

 v4:
 - Converted instances of EXPORT_SYMBOL to EXPORT_SYMBOL_GPL
 - Removed un-necessary #ifndef __ASSEMBLY__'
 - Minor formatting fix

 v2:
 - Fixed a bug found in the implementation of errata i728
  workaround
 - Fixed the value of frequency printed in debugfs
 - Dropped the hwmod patch as Paul has already posted a
  a hwmod series [1] that adds hwmod for EMIF
 - Converted instances of __init to __init_or_module

 Regards
 Santosh

 [1] http://thread.gmane.org/gmane.linux.ports.arm.omap/72855
 [2] https://lkml.org/lkml/2012/4/12/173


 Aneesh V (7):
  ddr: add LPDDR2 data from JESD209-2
  memory: emif: add register definitions for EMIF
  memory: emif: add basic infrastructure for EMIF driver
  memory: emif: handle frequency and voltage change events
  memory: emif: add interrupt and temperature handling
  memory: emif: add one-time settings
  memory: emif: add debugfs entries for emif

  Documentation/memory-devices/ti-emif.txt |   57 +
  drivers/Kconfig                          |    4 +
  drivers/Makefile                         |    3 +
  drivers/memory/Kconfig                   |   22 +
  drivers/memory/Makefile                  |    5 +
  drivers/memory/emif.c                    | 1670 
 ++
  drivers/memory/emif.h                    |  589 +++
  include/linux/platform_data/emif_plat.h  |  128 +++
  include/memory/jedec_ddr.h               |  175 
  lib/Kconfig                              |    8 +
  lib/Makefile                             |    2 +
  lib/jedec_ddr_data.c                     |  135 +++
  12 files changed, 2798 insertions(+), 0 deletions(-)
  create mode 100644 Documentation/memory-devices/ti-emif.txt
  create mode 100644 drivers/memory/Kconfig
  create mode 100644 drivers/memory/Makefile
  create mode 100644 drivers/memory/emif.c
  create mode 100644 drivers/memory/emif.h
  create mode 100644 include/linux/platform_data/emif_plat.h
  create mode 100644 include/memory/jedec_ddr.h
  create mode 100644 lib/jedec_ddr_data.c

 --
 1.7.5.4

 --
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-03 Thread Greg KH
On Thu, May 03, 2012 at 06:38:23PM -0400, Paul Gortmaker wrote:
 On Fri, Apr 27, 2012 at 8:24 AM, Santosh Shilimkar
 santosh.shilim...@ti.com wrote:
  Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs
 
 Hi Santosh,
 
 Can you send Greg a patch that adds proper dependencies to the Kconfig?
 I was going to simply add an ARM dependency, but perhaps you want to
 restrict it further to a subset of OMAP platforms?
 
 At the moment it is causing build failures in other architectures.
 
 http://kisskb.ellerman.id.au/kisskb/buildresult/6243036/

I think there's a config option for readl/writel, but yes, ARM would
probably be fine as well.

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-02 Thread Greg KH
On Wed, May 02, 2012 at 12:20:24PM +0530, Santosh Shilimkar wrote:
 Greg,
 
 On Wednesday 02 May 2012 10:46 AM, Greg KH wrote:
  On Fri, Apr 27, 2012 at 05:54:02PM +0530, Santosh Shilimkar wrote:
  Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs
 
  EMIF is an SDRAM controller that supports, based on its revision,
  one or more of LPDDR2/DDR2/DDR3 protocols.This driver adds support
  for LPDDR2.
 
  The driver supports the following features:
  - Calculates the DDR AC timing parameters to be set in EMIF
registers using data from the device data-sheets and based
on the DDR frequency. If data from data-sheets is not available
default timing values from the JEDEC spec are used. These
will be safe, but not necessarily optimal
  - API for changing timings during DVFS or at boot-up
  - Temperature alert configuration and handling of temperature
alerts, if any for LPDDR2 devices
* temperature alert is based on periodic polling of MR4 mode
  register in DDR devices automatically performed by hardware
* timings are de-rated and brought back to nominal when
  temperature raises and falls respectively
  - Cache of calculated register values to avoid re-calculating
them
 
  The driver will need some minor updates when it is eventually
  integrated with Dynamic Voltage and Frequency Scaling (DVFS).
  This can not be done now as DVFS support is not available in
  the mainline yet.
 
  Discussions with Santosh Shilimkar santosh.shilim...@ti.com
  were immensely helpful in shaping up the interfaces. Vibhore Vardhan
  vvard...@gmail.com did the initial code snippet for thermal
  handling.
 
  Testing: 
  - The driver is tested on OMAP4430 SDP.
  - The driver in a slightly adapted form is also tested on OMAP5.
  - Since mainline kernel doesn't have DVFS support yet,
testing was done using a test module.
  - Temperature alert handling was tested with simulated interrupts
and faked temperature values as testing all cases in real-life
scenarios is difficult.
  - Tested the driver as a module
 
  Cc: Greg KH g...@kroah.com
  
  This all looks good to me now, thanks for reworking this.
  
  So, do you want me to take this through my driver tree to get to Linus
  for 3.5, or do you want it to go through somewhere else?
  
  If somewhere else, that's fine with me, consider this an:
  Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org
  
  If you want me to take it, just let me know, whichever you prefer is
  fine with me.
  
 Can you take this one through your 3.5 driver tree please ?
 Thanks for help.

Ok, all now applied.

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-02 Thread Greg KH
On Fri, Apr 27, 2012 at 05:54:02PM +0530, Santosh Shilimkar wrote:
 Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs
 
 EMIF is an SDRAM controller that supports, based on its revision,
 one or more of LPDDR2/DDR2/DDR3 protocols.This driver adds support
 for LPDDR2.
 
 The driver supports the following features:
 - Calculates the DDR AC timing parameters to be set in EMIF
   registers using data from the device data-sheets and based
   on the DDR frequency. If data from data-sheets is not available
   default timing values from the JEDEC spec are used. These
   will be safe, but not necessarily optimal
 - API for changing timings during DVFS or at boot-up
 - Temperature alert configuration and handling of temperature
   alerts, if any for LPDDR2 devices
   * temperature alert is based on periodic polling of MR4 mode
 register in DDR devices automatically performed by hardware
   * timings are de-rated and brought back to nominal when
 temperature raises and falls respectively
 - Cache of calculated register values to avoid re-calculating
   them
 
 The driver will need some minor updates when it is eventually
 integrated with Dynamic Voltage and Frequency Scaling (DVFS).
 This can not be done now as DVFS support is not available in
 the mainline yet.
 
 Discussions with Santosh Shilimkar santosh.shilim...@ti.com
 were immensely helpful in shaping up the interfaces. Vibhore Vardhan
 vvard...@gmail.com did the initial code snippet for thermal
 handling.
 
 Testing: 
 - The driver is tested on OMAP4430 SDP.
 - The driver in a slightly adapted form is also tested on OMAP5.
 - Since mainline kernel doesn't have DVFS support yet,
   testing was done using a test module.
 - Temperature alert handling was tested with simulated interrupts
   and faked temperature values as testing all cases in real-life
   scenarios is difficult.
 - Tested the driver as a module
 
 Cc: Greg KH g...@kroah.com

This all looks good to me now, thanks for reworking this.

So, do you want me to take this through my driver tree to get to Linus
for 3.5, or do you want it to go through somewhere else?

If somewhere else, that's fine with me, consider this an:
Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org

If you want me to take it, just let me know, whichever you prefer is
fine with me.

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-05-02 Thread Santosh Shilimkar
Greg,

On Wednesday 02 May 2012 10:46 AM, Greg KH wrote:
 On Fri, Apr 27, 2012 at 05:54:02PM +0530, Santosh Shilimkar wrote:
 Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs

 EMIF is an SDRAM controller that supports, based on its revision,
 one or more of LPDDR2/DDR2/DDR3 protocols.This driver adds support
 for LPDDR2.

 The driver supports the following features:
 - Calculates the DDR AC timing parameters to be set in EMIF
   registers using data from the device data-sheets and based
   on the DDR frequency. If data from data-sheets is not available
   default timing values from the JEDEC spec are used. These
   will be safe, but not necessarily optimal
 - API for changing timings during DVFS or at boot-up
 - Temperature alert configuration and handling of temperature
   alerts, if any for LPDDR2 devices
   * temperature alert is based on periodic polling of MR4 mode
 register in DDR devices automatically performed by hardware
   * timings are de-rated and brought back to nominal when
 temperature raises and falls respectively
 - Cache of calculated register values to avoid re-calculating
   them

 The driver will need some minor updates when it is eventually
 integrated with Dynamic Voltage and Frequency Scaling (DVFS).
 This can not be done now as DVFS support is not available in
 the mainline yet.

 Discussions with Santosh Shilimkar santosh.shilim...@ti.com
 were immensely helpful in shaping up the interfaces. Vibhore Vardhan
 vvard...@gmail.com did the initial code snippet for thermal
 handling.

 Testing: 
 - The driver is tested on OMAP4430 SDP.
 - The driver in a slightly adapted form is also tested on OMAP5.
 - Since mainline kernel doesn't have DVFS support yet,
   testing was done using a test module.
 - Temperature alert handling was tested with simulated interrupts
   and faked temperature values as testing all cases in real-life
   scenarios is difficult.
 - Tested the driver as a module

 Cc: Greg KH g...@kroah.com
 
 This all looks good to me now, thanks for reworking this.
 
 So, do you want me to take this through my driver tree to get to Linus
 for 3.5, or do you want it to go through somewhere else?
 
 If somewhere else, that's fine with me, consider this an:
   Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org
 
 If you want me to take it, just let me know, whichever you prefer is
 fine with me.
 
Can you take this one through your 3.5 driver tree please ?
Thanks for help.

Regards
Santosh


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v5 0/7] Add TI EMIF SDRAM controller driver

2012-04-27 Thread Santosh Shilimkar
Add a driver for the EMIF SDRAM controller used in Texas Instrument SoCs

EMIF is an SDRAM controller that supports, based on its revision,
one or more of LPDDR2/DDR2/DDR3 protocols.This driver adds support
for LPDDR2.

The driver supports the following features:
- Calculates the DDR AC timing parameters to be set in EMIF
  registers using data from the device data-sheets and based
  on the DDR frequency. If data from data-sheets is not available
  default timing values from the JEDEC spec are used. These
  will be safe, but not necessarily optimal
- API for changing timings during DVFS or at boot-up
- Temperature alert configuration and handling of temperature
  alerts, if any for LPDDR2 devices
  * temperature alert is based on periodic polling of MR4 mode
register in DDR devices automatically performed by hardware
  * timings are de-rated and brought back to nominal when
temperature raises and falls respectively
- Cache of calculated register values to avoid re-calculating
  them

The driver will need some minor updates when it is eventually
integrated with Dynamic Voltage and Frequency Scaling (DVFS).
This can not be done now as DVFS support is not available in
the mainline yet.

Discussions with Santosh Shilimkar santosh.shilim...@ti.com
were immensely helpful in shaping up the interfaces. Vibhore Vardhan
vvard...@gmail.com did the initial code snippet for thermal
handling.

Testing: 
- The driver is tested on OMAP4430 SDP.
- The driver in a slightly adapted form is also tested on OMAP5.
- Since mainline kernel doesn't have DVFS support yet,
  testing was done using a test module.
- Temperature alert handling was tested with simulated interrupts
  and faked temperature values as testing all cases in real-life
  scenarios is difficult.
- Tested the driver as a module

Cc: Greg KH g...@kroah.com

v5:
- Moved the EMIF driver to drivers/memory as per discussion thread [2]

v4:
- Converted instances of EXPORT_SYMBOL to EXPORT_SYMBOL_GPL
- Removed un-necessary #ifndef __ASSEMBLY__'
- Minor formatting fix

v2:
- Fixed a bug found in the implementation of errata i728
  workaround
- Fixed the value of frequency printed in debugfs
- Dropped the hwmod patch as Paul has already posted a
  a hwmod series [1] that adds hwmod for EMIF
- Converted instances of __init to __init_or_module

Regards
Santosh

[1] http://thread.gmane.org/gmane.linux.ports.arm.omap/72855
[2] https://lkml.org/lkml/2012/4/12/173


Aneesh V (7):
  ddr: add LPDDR2 data from JESD209-2
  memory: emif: add register definitions for EMIF
  memory: emif: add basic infrastructure for EMIF driver
  memory: emif: handle frequency and voltage change events
  memory: emif: add interrupt and temperature handling
  memory: emif: add one-time settings
  memory: emif: add debugfs entries for emif

 Documentation/memory-devices/ti-emif.txt |   57 +
 drivers/Kconfig  |4 +
 drivers/Makefile |3 +
 drivers/memory/Kconfig   |   22 +
 drivers/memory/Makefile  |5 +
 drivers/memory/emif.c| 1670 ++
 drivers/memory/emif.h|  589 +++
 include/linux/platform_data/emif_plat.h  |  128 +++
 include/memory/jedec_ddr.h   |  175 
 lib/Kconfig  |8 +
 lib/Makefile |2 +
 lib/jedec_ddr_data.c |  135 +++
 12 files changed, 2798 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/memory-devices/ti-emif.txt
 create mode 100644 drivers/memory/Kconfig
 create mode 100644 drivers/memory/Makefile
 create mode 100644 drivers/memory/emif.c
 create mode 100644 drivers/memory/emif.h
 create mode 100644 include/linux/platform_data/emif_plat.h
 create mode 100644 include/memory/jedec_ddr.h
 create mode 100644 lib/jedec_ddr_data.c

-- 
1.7.5.4

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html