Re: [PATCH v3 02/12] ARM: edma: Don't clear EMR of channel in edma_stop

2013-08-12 Thread Sekhar Nori
On Monday 12 August 2013 09:59 AM, Joel Fernandes wrote:
 On Sun, Aug 11, 2013 at 11:25 PM, Sekhar Nori nsek...@ti.com wrote:
 On 8/8/2013 5:19 PM, Sekhar Nori wrote:
 On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 We certainly don't want error conditions to be cleared any other
 place but the EDMA error handler, as this will make us 'forget'
 about missed events we might need to know errors have occurred.

 This fixes a race condition where the EMR was being cleared
 by the transfer completion interrupt handler.

 Basically, what was happening was:

 Missed event
  |
  |
  V
 SG1-SG2-SG3-Null
  \
   \__TC Interrupt (Almost same time as ARM is executing
 TC interrupt handler, an event got missed and also forgotten
 by clearing the EMR).

 This causes the following  problems:

 1.
 If error interrupt is also pending and TC interrupt clears the EMR
 by calling edma_stop as has been observed in the edma_callback function,
 the ARM will execute the error interrupt even though the EMR is clear.
 As a result, the  dma_ccerr_handler returns IRQ_NONE. If this happens
 enough number of times, IRQ subsystem disables the interrupt thinking
 its spurious which makes error handler never execute again.

 2.
 Also even if error handler doesn't return IRQ_NONE, the removing of EMR
 removes the knowledge about which channel had a missed event, and thus
 a manual trigger on such channels cannot be performed.

 The EMR is ultimately being cleared by the Error interrupt handler
 once it is handled so we remove code that does it in edma_stop and
 allow it to happen there.

 Signed-off-by: Joel Fernandes jo...@ti.com

 Queuing this for v3.11 fixes. While committing, I changed the headline
 to remove capitalization and made it more readable by removing register
 level details. The new headline is:

 ARM: edma: don't clear missed events in edma_stop()

 Forgot to ask, should this be tagged for stable? IOW, how serious is
 this race in current kernel (without the entire series applied)? I have
 never observed it myself - so please provide details how easy/difficult
 it is to hit this condition.
 
 The race was uncovered by recent EDMA patch series, So this patch can
 go in for next kernel release as such, I am not aware of any other DMA
 user that maybe uncovering the race condition.

Okay, I wont queue for -rc then. If Vinod wants to take this along with
rest of the series, you can add my:

Acked-by: Sekhar Nori nsek...@ti.com

Thanks,
Sekhar
--
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: RX51: kernel message spam from CPUfreq driver

2013-08-12 Thread Rajendra Nayak
On Sunday 11 August 2013 07:43 PM, Sebastian Reichel wrote:
 Hi,
 
 On RX-51 (Nokia N900) the (mainline) kernel constantly outputs the
 following message about 2-3x per second since some releases:
 
 [ 1038.314514] cpu cpu0: CPUfreq: Cannot find matching frequency for 12500
 
 (The message is from drivers/cpufreq/omap-cpufreq.c, line 100)
 
 This is really annoying and makes debug output without a grep -v
 basically useless. Can you give me some hints how to solve the
 problem?

Whats the system clock frequency used on RX-51? I guess omap2_dpll_round_rate()
for some reason thinks that with the given sys clock its not possible to
lock the DPLL at 125Mhz. If you can send the debug logs from 
omap2_dpll_round_rate()
that should probably help know whats going wrong.

 
 -- Sebastian
 

--
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 v3 0/9] DRA7xx core support

2013-08-12 Thread Rajendra Nayak
On Sunday 04 August 2013 09:57 PM, Rajendra Nayak wrote:
 Changes in v3:
 -1- Dropped some clock/dpll framework builds for dra7
 -2- Added all instances of IPs in dtsi file
 -3- dtsi does a 'disabled' by default and dts enables as needed
 -4- soc_is_dra7xx() based on DT compatible instead of using ID code
 
 Changes in v2:
 -1- Fixed minor changelog details
 -2- Dropped the SRAM support patch since we need to move to 
 drivers/misc/sram.c
 -3- Added DTS update patches to this series which were earlier posted as
 part of the data series (Since they don't have much objections as against the
 other in-kernel data files)
 -4- Updated the EVM dts file with pin config details for uart/mcspi and i2c
 
 DRA7xx based SoCs' are high-performance, infotainment application devices,
 based on enhanced OMAP architecture integrated on a 28nm
 technology.
 
 The DRA7xx family is composed of DRA75x and DRA74x devices.
 The current device for which the patches add support is the
 DRA752 SoC.
 
 Most of the core IPs are similar to those found on the OMAP5
 devices, including the dual cortex-A15 based MPU subsystem,
 which has helped quite some reuse from existing OMAP5 support.
 
 This series contains only core support patches and none of
 the PRCM and hwmod data needed for the device to boot.

Tony, any chance of this series making it to 3.12?

regards,
Rajendra

 
 The bootloader support for the platform is already available
 in mainline u-boot.
 
 The patches posted in this series are available at:
 git://github.com/rrnayak/linux.git for-3.12/dra-core-v3
 
 The patches (including the ones for in-kernel data) which boot
 on dra7xx evm are available at:
 t://github.com/rrnayak/linux.git out-of-tree/dra-integrated-v3
 
 R Sricharan (8):
   ARM: DRA7: Reuse all of PRCM and MPUSS SMP infra
   ARM: DRA7: Reuse io tables and add a new .init_early
   ARM: DRA7: Resue the clocksource, clockevent support
   ARM: DRA7: board-generic: Add basic DT support
   ARM: DRA7: Kconfig: Make ARCH_NR_GPIO default to 512
   ARM: DRA7: dts: Add the dts files for dra7 SoC and dra7-evm board
   ARM: DRA7: id: Add cpu detection support for DRA7xx based SoCs'
   ARM: DRA7: Add the build support in omap2plus
 
 Rajendra Nayak (1):
   ARM: DRA7: hwmod: Reuse the soc_ops used for OMAP4/5
 
  .../devicetree/bindings/arm/omap/omap.txt  |3 +
  arch/arm/Kconfig   |2 +-
  arch/arm/boot/dts/Makefile |3 +-
  arch/arm/boot/dts/dra7-evm.dts |  140 +
  arch/arm/boot/dts/dra7.dtsi|  567 
 
  arch/arm/configs/omap2plus_defconfig   |1 +
  arch/arm/mach-omap1/include/mach/soc.h |1 +
  arch/arm/mach-omap2/Kconfig|   12 +-
  arch/arm/mach-omap2/Makefile   |6 +
  arch/arm/mach-omap2/board-generic.c|   18 +
  arch/arm/mach-omap2/common.h   |1 +
  arch/arm/mach-omap2/id.c   |4 +-
  arch/arm/mach-omap2/io.c   |   20 +-
  arch/arm/mach-omap2/omap54xx.h |4 +
  arch/arm/mach-omap2/omap_hwmod.c   |2 +-
  arch/arm/mach-omap2/soc.h  |   17 +
  arch/arm/mach-omap2/timer.c|3 +-
  arch/arm/plat-omap/Kconfig |2 +-
  18 files changed, 795 insertions(+), 11 deletions(-)
  create mode 100644 arch/arm/boot/dts/dra7-evm.dts
  create mode 100644 arch/arm/boot/dts/dra7.dtsi
 

--
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 2/2] ARM: dts: AM4372: add few nodes

2013-08-12 Thread Afzal Mohammed

Hi Mark,

On Saturday 10 August 2013 07:53 PM, Mark Rutland wrote:


+   mac: ethernet@4a10 {
+   compatible = ti,am4372-cpsw,ti,cpsw;



One point worth mentioning is that the ti,am4372-cpsw string isn't
documented. Will the ti,am4372-cpsw binding definitely be a superset
of the ti,cpsw binding, and if you were to take the DT as of this
patch, and attempt to use it with a future kernel, can you guarantee
it'll work?


ti,am4372-cpsw was not documented as OMAP DT maintainer didn't prefer 
documenting only for a new compatible.


For the only patch on this file that went into mainline, in that series 
actually I had posted patches to document ti,am4372-*, but as 
maintainer didn't agree, it was discarded [A].


Regarding whether ti,am4372-cpsw would be a superset of ti,cpsw, 
information I have (am4372 is in pre silicon stage) is that it is a 
reuse from am335x (ti,cpsw should have been named ti,am3352-cpsw or 
something like that, but nothing can be done now) with minor changes and 
all existing functionalities available, Mugunthan can shed more light on 
this, Mugunthan ?


As mentioned at other places in the thread, for cpsw, only a few 
properties to prevent hwmod code crash was added. I am sure that 
currently added properties for cpsw will not make driver functional this 
Kernel version (if this goes in) or future versions. To make driver work 
additional properties are required.



There are many other parameters which are missed here.


Reason has been mentioned in the commit message, quoting relevant here
again,


Actually, as you've marked the nodes disabled, it's probably fine. But
worth considering as properties are added...


There were two factors that was considered while adding cpsw node
1. DT as an ABI
2. While adding DT node, whether all existing required properties has to 
be added


Regarding 1 - DT would not make driver work for this Kernel version and 
also for not any newer Kernel version, I believe this does not go 
against DT an an ABI, although in a negative sense. To make driver work 
more DT properties would have to be added.


Regarding 2 - Currently, I believe most required  optional properties 
in bindings are defined w.r.t driver (bringing in a Linux attachment). 
If DT is only a hardware description, required  optional properties 
should correspond to something that are a must for hardware to work and 
additional features that can be used respectively. In that sense 
interrupts property for many of the peripherals would have to be 
considered optional, as it is possible to work in polling mode. And 
would it be practical for DT in most of the cases to be a complete 
hardware description ?, as to completely describe hardware, we may need 
to have a large amount of properties that may not be relevant to 
software. If requirement is only that DT should describe hardware that 
is relevant for software (this would bring in a software dependency for 
DT), required property for one software may not be required for another 
piece of software or may be an optional property (like in the case of 
interrupts as explained above).


So conclusion arrived within me was that as long as properties are not 
modified, but only added and as long as it does not go against DT as an 
ABI, it is ok.


I would like to hear from DT maintainers what the approach should be.

Regards
Afzal

[A] http://www.mail-archive.com/linux-omap@vger.kernel.org/msg89408.html

--
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 v3 01/12] dma: edma: Setup parameters to DMA MAX_NR_SG at a time

2013-08-12 Thread Sekhar Nori
On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 Changes are made here for configuring existing parameters to support
 DMA'ing them out in batches as needed.
 
 Also allocate as many as slots as needed by the SG list, but not more
 than MAX_NR_SG. Then these slots will be reused accordingly.
 For ex, if MAX_NR_SG=10, and number of SG entries is 40, still only
 10 slots will be allocated to DMA the entire SG list of size 40.
 
 Signed-off-by: Joel Fernandes jo...@ti.com
 ---
  drivers/dma/edma.c |   14 +++---
  1 file changed, 11 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index 5f3e532..7b0853c 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -222,9 +222,9 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
   enum dma_slave_buswidth dev_width;
   u32 burst;
   struct scatterlist *sg;
 - int i;
   int acnt, bcnt, ccnt, src, dst, cidx;
   int src_bidx, dst_bidx, src_cidx, dst_cidx;
 + int i, num_slots_needed;

'nslots' is more to my liking. Better keep variable names short.

  
   if (unlikely(!echan || !sgl || !sg_len))
   return NULL;
 @@ -262,8 +262,11 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  
   edesc-pset_nr = sg_len;
  
 - for_each_sg(sgl, sg, sg_len, i) {
 - /* Allocate a PaRAM slot, if needed */
 + /* Allocate a PaRAM slot, if needed */
 +
 + num_slots_needed = sg_len  MAX_NR_SG ? MAX_NR_SG : sg_len;

nslots = min(MAX_NR_SG, sg_len);

 +
 + for (i = 0; i  num_slots_needed; i++) {
   if (echan-slot[i]  0) {
   echan-slot[i] =
   edma_alloc_slot(EDMA_CTLR(echan-ch_num),
 @@ -273,6 +276,10 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
   return NULL;
   }
   }
 + }
 +
 + /* Configure PaRAM sets for each SG */
 + for_each_sg(sgl, sg, sg_len, i) {
  
   acnt = dev_width;
  
 @@ -330,6 +337,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
   /* Configure A or AB synchronized transfers */
   if (edesc-absync)
   edesc-pset[i].opt |= SYNCDIM;
 +

Random extra newline.

The patch as such is fine, but I dont think it makes lot of sense
standalone. This needs to be merged into the patch where you actually
handle the entire SG list in batches.

Thanks,
Sekhar

--
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 v3 03/12] dma: edma: remove limits on number of slots

2013-08-12 Thread Sekhar Nori
On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 With this series, this check is no longer required and
 we shouldn't need to reject drivers DMA'ing more than the
 MAX number of slots.
 
 Signed-off-by: Joel Fernandes jo...@ti.com
 ---
  drivers/dma/edma.c |6 --
  1 file changed, 6 deletions(-)
 
 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index 7b0853c..b6d609c 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -247,12 +247,6 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
   return NULL;
   }
  
 - if (sg_len  MAX_NR_SG) {
 - dev_err(dev, Exceeded max SG segments %d  %d\n,
 - sg_len, MAX_NR_SG);
 - return NULL;
 - }

This patch comes too early. Should be moved to the end of the series
when the support you rely on is actually present.

Thanks,
Sekhar

--
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 v2] N900: add device tree

2013-08-12 Thread Tony Lindgren
* Jiri Kosina jkos...@suse.cz [130810 13:36]:
 On Sat, 10 Aug 2013, Pavel Machek wrote:
 
  [I wonder if this is clean-enough cause for trivial in resubmit
  mode?]
 
 On Sat, 10 Aug 2013, Belisko Marek wrote:
 
  Same for gta04 (omap3 based device) [1].
  It was send upstream 2 times and second time there is no reply from 
  1.3.2013.
 
 Hi guys,
 
 once I am able to match signoffs in the patches to MAINTAINERS, I can take 
 those through trivial.git in re-transmission mode (or feeeding those 
 thgough akpm si an option as well).
 
 Please just send the patches to me in a new thread properly with all the 
 Acks/Signoffs, and mark those appropriately (i.e. maintainer that would 
 normally push this upstream desurfaced).

Sorry for the delays, I think Benoit is still on vacation. Plus the
non-functioning email address issue certainly does not help..

Anyways, let's just let Benoit queue these to avoid pointless merge
conflicts with the .dts files as discussed several times earlier.

Regards,

Tony
--
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 v2] N900: add device tree

2013-08-12 Thread Tony Lindgren
* Pavel Machek pa...@ucw.cz [130811 06:54]:
 Hi!
 
   [I wonder if this is clean-enough cause for trivial in resubmit
   mode?]
  
   On Sat, 10 Aug 2013, Belisko Marek wrote:
  
   Same for gta04 (omap3 based device) [1].
   It was send upstream 2 times and second time there is no reply from 
   1.3.2013.
  
   Hi guys,
  
   once I am able to match signoffs in the patches to MAINTAINERS, I can take
   those through trivial.git in re-transmission mode (or feeeding those
   thgough akpm si an option as well).
  
   Please just send the patches to me in a new thread properly with all the
   Acks/Signoffs, and mark those appropriately (i.e. maintainer that would
   normally push this upstream desurfaced).
  
  I noticed that you are using Benoit older emails address
  (b-cous...@ti.com) which no longer exists instead of his new email
  address (benoit.cous...@linaro.org). So, it may be possible that
  Benoit have not even been getting your patches.
 
 Thanks for update.
 
  I'll send a patch to MAINTAINERS updating Benoit's email address so
  get_maintainer.pl will stop lying.
 
 Thanks!
 
 Benoit, could you take a look at the patch from this thread? I can
 resend it, but it should be in pretty much _all_ the webmail archives
 now :-).

Hopefully Benoit will be back online after vacation soon :)

Regaqrds,

Tony
--
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: [PATCHv3 2/9] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs

2013-08-12 Thread Tony Lindgren
* Dave Gerlach d-gerl...@ti.com [130809 14:02]:

 Ok I will go ahead and pull the control module code that handles IPC
 into the wkup_m3 driver. The wkup_m3.c file is still present in
 mach-omap2 as the right location for it wasn't decided in the last
 RFC. Any thoughts on a good location for it?

Well maybe try to think how to use these features in a Linux
generic way without having to export tons of custom functions?

Regards,

Tony
--
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 v2 1/1] MAINTAINERS: update Benoît Cousson email address

2013-08-12 Thread Tony Lindgren
* Javier Martinez Canillas javier.marti...@collabora.co.uk [130811 08:28]:
 Using the email address listed on MAINTAINERS I keep
 getting SMTP 550 Invalid recipient errors.
 
 Update with what seems to be current Benoît's email
 address to make get_maintainer.pl to stop lying.
 
 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk

Is the linaro.org address still valid? We should probably
wait for Benoit to confirm this to avoid more confusion.

Regards,

Tony

 ---
 
 Patch on top of Linus's commit c095ba72 (Linux 3.11-rc4).
 
 Changes since v1:
  - I mostly send DT patches to Benoît but now I noticed that
he also maintains other subsystems. Update the patch to
change all his MAINTAINERS entries.
 
  MAINTAINERS |6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index defc053..3466423 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -5879,7 +5879,7 @@ F:  drivers/i2c/busses/i2c-omap.c
  F:   include/linux/i2c-omap.h
  
  OMAP DEVICE TREE SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Tony Lindgren t...@atomide.com
  L:   linux-omap@vger.kernel.org
  L:   devicet...@vger.kernel.org
 @@ -5959,14 +5959,14 @@ S:Maintained
  F:   drivers/char/hw_random/omap-rng.c
  
  OMAP HWMOD SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Paul Walmsley p...@pwsan.com
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod.*
  
  OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 -- 
 1.7.7.6
 
--
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 v3 0/9] DRA7xx core support

2013-08-12 Thread Tony Lindgren
* Rajendra Nayak rna...@ti.com [130811 23:47]:
 On Sunday 04 August 2013 09:57 PM, Rajendra Nayak wrote:
  Changes in v3:
  -1- Dropped some clock/dpll framework builds for dra7
  -2- Added all instances of IPs in dtsi file
  -3- dtsi does a 'disabled' by default and dts enables as needed
  -4- soc_is_dra7xx() based on DT compatible instead of using ID code
  
  Changes in v2:
  -1- Fixed minor changelog details
  -2- Dropped the SRAM support patch since we need to move to 
  drivers/misc/sram.c
  -3- Added DTS update patches to this series which were earlier posted as
  part of the data series (Since they don't have much objections as against 
  the
  other in-kernel data files)
  -4- Updated the EVM dts file with pin config details for uart/mcspi and i2c
  
  DRA7xx based SoCs' are high-performance, infotainment application devices,
  based on enhanced OMAP architecture integrated on a 28nm
  technology.
  
  The DRA7xx family is composed of DRA75x and DRA74x devices.
  The current device for which the patches add support is the
  DRA752 SoC.
  
  Most of the core IPs are similar to those found on the OMAP5
  devices, including the dual cortex-A15 based MPU subsystem,
  which has helped quite some reuse from existing OMAP5 support.
  
  This series contains only core support patches and none of
  the PRCM and hwmod data needed for the device to boot.
 
 Tony, any chance of this series making it to 3.12?

Looks OK to me, want to do a pull request against -rc5 for me?

Regards,

Tony
--
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 1/3] ARM: OMAP2+: hwmod-data: Add SSI information

2013-08-12 Thread Tony Lindgren
* Sebastian Reichel s...@debian.org [130811 09:25]:
 From: Sebastian Reichel s...@ring0.de
 
 This patch adds Synchronous Serial Interface (SSI) hwmod support for
 OMAP34xx SoCs.

This should be queued or acked by Paul.

Regards,

Tony

  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |  104 
 
  1 file changed, 104 insertions(+)
 
 diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c 
 b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
 index 0c3a427..74006c4 100644
 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
 +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
 @@ -3693,6 +3693,109 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__aes 
 = {
   .user   = OCP_USER_MPU | OCP_USER_SDMA,
  };
  
 +/*
 + * 'ssi' class
 + * synchronous serial interface (multichannel and full-duplex serial if)
 + */
 +
 +static struct omap_hwmod_class_sysconfig omap34xx_ssi_sysc = {
 + .rev_offs   = 0x,
 + .sysc_offs  = 0x0010,
 + .syss_offs  = 0x0014,
 + .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_EMUFREE |
 +SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
 +SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
 + .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 +SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
 +MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
 + .sysc_fields= omap_hwmod_sysc_type1,
 +};
 +
 +static struct omap_hwmod_class omap34xx_ssi_hwmod_class = {
 + .name   = ssi,
 + .sysc   = omap34xx_ssi_sysc,
 +};
 +
 +static struct omap_hwmod_irq_info omap34xx_ssi_irqs[] = {
 + { .name = ssi_p1_mpu_irq0, .irq = 67 },
 + { .name = ssi_p1_mpu_irq1, .irq = 68 },
 + { .name = ssi_p2_mpu_irq0, .irq = 69 },
 + { .name = ssi_p2_mpu_irq1, .irq = 70 },
 + { .name = ssi_gdd_mpu, .irq = 71 },
 + { .irq = -1 },
 +};
 +
 +static struct omap_hwmod_addr_space omap34xx_ssi_addrs[] = {
 + {
 + .name   = sys,
 + .pa_start   = 0x48058000,
 + .pa_end = 0x48058fff,
 + .flags  = ADDR_TYPE_RT,
 + },
 + {
 + /* generic distributed DMA */
 + .name   = gdd,
 + .pa_start   = 0x48059000,
 + .pa_end = 0x48059fff,
 + .flags  = ADDR_TYPE_RT,
 + },
 + {
 + /* port 1: synchronous serial transmitter */
 + .name   = p1_sst,
 + .pa_start   = 0x4805a000,
 + .pa_end = 0x4805a7ff,
 + .flags  = ADDR_TYPE_RT,
 + },
 + {
 + /* port 1: synchronous serial receiver */
 + .name   = p1_ssr,
 + .pa_start   = 0x4805a800,
 + .pa_end = 0x4805afff,
 + .flags  = ADDR_TYPE_RT,
 + },
 + {
 + /* port 2: synchronous serial transmitter */
 + .name   = p2_sst,
 + .pa_start   = 0x4805b000,
 + .pa_end = 0x4805b7ff,
 + .flags  = ADDR_TYPE_RT,
 + },
 + {
 + /* port 2: synchronous serial receiver */
 + .name   = p2_ssr,
 + .pa_start   = 0x4805b800,
 + .pa_end = 0x4805bfff,
 + .flags  = ADDR_TYPE_RT,
 + },
 + {}
 +};
 +
 +static struct omap_hwmod omap34xx_ssi_hwmod = {
 + .name   = ssi,
 + .class  = omap34xx_ssi_hwmod_class,
 + .clkdm_name = l3_init_clkdm,
 + .mpu_irqs   = omap34xx_ssi_irqs,
 + .main_clk   = ssi_ssr_fck,
 + .prcm   = {
 + .omap2 = {
 + .prcm_reg_id= 1,
 + .module_bit = OMAP3430_EN_SSI_SHIFT,
 + .module_offs= WKUP_MOD,
 + .idlest_reg_id  = 1,
 + .idlest_idle_bit= OMAP3430ES2_ST_SSI_IDLE_SHIFT,
 + },
 + },
 +};
 +
 +/* SSI - l3 */
 +static struct omap_hwmod_ocp_if omap34xx_l3__ssi = {
 + .master = omap3xxx_l3_main_hwmod,
 + .slave  = omap34xx_ssi_hwmod,
 + .clk= ssi_ick,
 + .addr   = omap34xx_ssi_addrs,
 + .user   = OCP_USER_MPU | OCP_USER_SDMA,
 +};
 +
  static struct omap_hwmod_ocp_if *omap3xxx_hwmod_ocp_ifs[] __initdata = {
   omap3xxx_l3_main__l4_core,
   omap3xxx_l3_main__l4_per,
 @@ -3818,6 +3921,7 @@ static struct omap_hwmod_ocp_if 
 *omap34xx_hwmod_ocp_ifs[] __initdata = {
  #ifdef CONFIG_OMAP_IOMMU_IVA2
   omap3xxx_l3_main__mmu_iva,
  #endif
 + omap34xx_l3__ssi,
   NULL
  };
  
 -- 
 1.7.10.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  

Re: [PATCH v3 0/9] DRA7xx core support

2013-08-12 Thread Rajendra Nayak
On Monday 12 August 2013 01:54 PM, Tony Lindgren wrote:
 * Rajendra Nayak rna...@ti.com [130811 23:47]:
 On Sunday 04 August 2013 09:57 PM, Rajendra Nayak wrote:
 Changes in v3:
 -1- Dropped some clock/dpll framework builds for dra7
 -2- Added all instances of IPs in dtsi file
 -3- dtsi does a 'disabled' by default and dts enables as needed
 -4- soc_is_dra7xx() based on DT compatible instead of using ID code

 Changes in v2:
 -1- Fixed minor changelog details
 -2- Dropped the SRAM support patch since we need to move to 
 drivers/misc/sram.c
 -3- Added DTS update patches to this series which were earlier posted as
 part of the data series (Since they don't have much objections as against 
 the
 other in-kernel data files)
 -4- Updated the EVM dts file with pin config details for uart/mcspi and i2c

 DRA7xx based SoCs' are high-performance, infotainment application devices,
 based on enhanced OMAP architecture integrated on a 28nm
 technology.

 The DRA7xx family is composed of DRA75x and DRA74x devices.
 The current device for which the patches add support is the
 DRA752 SoC.

 Most of the core IPs are similar to those found on the OMAP5
 devices, including the dual cortex-A15 based MPU subsystem,
 which has helped quite some reuse from existing OMAP5 support.

 This series contains only core support patches and none of
 the PRCM and hwmod data needed for the device to boot.

 Tony, any chance of this series making it to 3.12?
 
 Looks OK to me, want to do a pull request against -rc5 for me?

Sure, will do. Thanks.

 
 Regards,
 
 Tony
 

--
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 2/3] ARM: OMAP2+: HSI: Introduce OMAP SSI driver

2013-08-12 Thread Tony Lindgren
* Sebastian Reichel s...@debian.org [130811 09:25]:
 From: Sebastian Reichel s...@ring0.de
 
 This patch adds an OMAP SSI driver to the HSI framework.
 
 The Synchronous Serial Interface (SSI) is a legacy version
 of HSI. As in the case of HSI, it is mainly used to connect
 Application engines (APE) with cellular modem engines (CMT)
 in cellular handsets.
 
 It provides a multichannel, full-duplex, multi-core communication
 with no reference clock. The OMAP SSI block is capable of reaching
 speeds of 110 Mbit/s.

Good to see this being worked on, maybe we can finally start
making calls with mainline kernel :)

This one should be queued by:

$ scripts/get_maintainer.pl -f drivers/hsi

This should be a stand alone patch, right? You should resend
with those people in cc.

Regards,

Tony
--
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 3/3] ARM: OMAP2+: Add SSI driver configuration

2013-08-12 Thread Tony Lindgren
* Sebastian Reichel s...@debian.org [130811 09:25]:
 From: Sebastian Reichel s...@ring0.de
 
 This patch configures and activates the OMAP SSI driver on the RX-51.

Hmm, I'd rather see this be DT only driver at this point. We're pretty
close to flipping omap3 to be DT only, and I'd rather not add new
platform code at this point. With DT, none of this patch is needed,
you can do all this in the driver probe based on the .dts configuration.

Regards,

Tony

  arch/arm/mach-omap2/Makefile |4 ++
  arch/arm/mach-omap2/board-rx51-peripherals.c |   10 +++-
  arch/arm/mach-omap2/ssi.c|   82 
 ++
  3 files changed, 95 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/mach-omap2/ssi.c
 
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index d4f6715..ace860d 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -222,6 +222,10 @@ ifneq ($(CONFIG_DRM_OMAP),)
  obj-y+= drm.o
  endif
  
 +# Synchronous Serial Interface (SSI)
 +omap-ssi-$(CONFIG_OMAP_SSI)  := ssi.o
 +obj-y+= $(omap-ssi-m) $(omap-ssi-y)
 +
  # Specific board support
  obj-$(CONFIG_MACH_OMAP_GENERIC)  += board-generic.o
  obj-$(CONFIG_MACH_OMAP_H4)   += board-h4.o
 diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c 
 b/arch/arm/mach-omap2/board-rx51-peripherals.c
 index 9c2dd10..e2ca155 100644
 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c
 +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
 @@ -27,6 +27,7 @@
  #include linux/power/isp1704_charger.h
  #include linux/platform_data/spi-omap2-mcspi.h
  #include linux/platform_data/mtd-onenand-omap2.h
 +#include linux/platform_data/hsi-omap-ssi.h
  
  #include asm/system_info.h
  
 @@ -73,6 +74,8 @@
  #define LIS302_IRQ1_GPIO 181
  #define LIS302_IRQ2_GPIO 180  /* Not yet in use */
  
 +#define RX51_CAWAKE_GPIO 151
 +
  /* List all SPI devices here. Note that the list/probe order seems to 
 matter! */
  enum {
   RX51_SPI_WL1251,
 @@ -265,6 +268,11 @@ static struct spi_board_info 
 rx51_peripherals_spi_board_info[] __initdata = {
   },
  };
  
 +static struct omap_ssi_board_config ssi_board_config = {
 + .num_ports = 1,
 + .cawake_gpio = { RX51_CAWAKE_GPIO },
 +};
 +
  static struct platform_device rx51_battery_device = {
   .name   = rx51-battery,
   .id = -1,
 @@ -1295,7 +1303,7 @@ void __init rx51_peripherals_init(void)
   if (partition)
   omap_hsmmc_init(mmc);
  
 + omap_ssi_config(ssi_board_config);
   rx51_charger_init();
   rx51_init_twl4030_hwmon();
  }
 -
 diff --git a/arch/arm/mach-omap2/ssi.c b/arch/arm/mach-omap2/ssi.c
 new file mode 100644
 index 000..a9d6eee
 --- /dev/null
 +++ b/arch/arm/mach-omap2/ssi.c
 @@ -0,0 +1,82 @@
 +/*
 + * linux/arch/arm/mach-omap2/ssi.c
 + *
 + * Copyright (C) 2010 Nokia Corporation. All rights reserved.
 + *
 + * Contact: Carlos Chinea carlos.chi...@nokia.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.
 + *
 + * This program is distributed in the hope that it will be useful, but
 + * WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 + * General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 + * 02110-1301 USA
 + */
 +
 +#include linux/kernel.h
 +#include linux/init.h
 +#include linux/err.h
 +#include linux/gpio.h
 +#include linux/platform_device.h
 +#include linux/platform_data/hsi-omap-ssi.h
 +#include omap_hwmod.h
 +#include omap_device.h
 +#include omap-pm.h
 +
 +static struct omap_ssi_platform_data ssi_pdata = {
 + .num_ports  = SSI_NUM_PORTS,
 + .cawake_gpio= {0},
 + .get_dev_context_loss_count  = omap_pm_get_dev_context_loss_count,
 +};
 +
 +int __init omap_ssi_config(struct omap_ssi_board_config *ssi_config)
 +{
 + unsigned int port, offset, cawake_gpio;
 + int err;
 +
 + ssi_pdata.num_ports = ssi_config-num_ports;
 +
 + for (port = 0, offset = 7; port  ssi_config-num_ports; port++, offset 
 += 5) {
 + cawake_gpio = ssi_config-cawake_gpio[port];
 + if (!cawake_gpio)
 + continue; /* Nothing to do */
 + err = gpio_request(cawake_gpio, cawake);
 + if (err  0)
 + goto rback;
 + gpio_direction_input(cawake_gpio);
 +
 + ssi_pdata.cawake_gpio[port] = ssi_config-cawake_gpio[port];
 + }
 +
 + return 0;
 +
 +rback:
 + pr_err(omap-ssi: Request cawake (gpio%d) failed\n, cawake_gpio);
 + 

Re: [PATCH v2 1/1] MAINTAINERS: update Benoît Cousson email address

2013-08-12 Thread Javier Martinez Canillas
Hi Tony,

On Mon, Aug 12, 2013 at 9:55 AM, Tony Lindgren t...@atomide.com wrote:
 * Javier Martinez Canillas javier.marti...@collabora.co.uk [130811 08:28]:
 Using the email address listed on MAINTAINERS I keep
 getting SMTP 550 Invalid recipient errors.

 Update with what seems to be current Benoît's email
 address to make get_maintainer.pl to stop lying.

 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk

 Is the linaro.org address still valid? We should probably
 wait for Benoit to confirm this to avoid more confusion.


It seems so, at least I don't the SMTP 550 errors with it. But I agree
that is best to wait for Benoit to confirm what is his current
address. I just wanted to help...

 Regards,

 Tony


Best regards,
Javier

 ---

 Patch on top of Linus's commit c095ba72 (Linux 3.11-rc4).

 Changes since v1:
  - I mostly send DT patches to Benoît but now I noticed that
he also maintains other subsystems. Update the patch to
change all his MAINTAINERS entries.

  MAINTAINERS |6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 diff --git a/MAINTAINERS b/MAINTAINERS
 index defc053..3466423 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -5879,7 +5879,7 @@ F:  drivers/i2c/busses/i2c-omap.c
  F:   include/linux/i2c-omap.h

  OMAP DEVICE TREE SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Tony Lindgren t...@atomide.com
  L:   linux-omap@vger.kernel.org
  L:   devicet...@vger.kernel.org
 @@ -5959,14 +5959,14 @@ S:Maintained
  F:   drivers/char/hw_random/omap-rng.c

  OMAP HWMOD SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Paul Walmsley p...@pwsan.com
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod.*

  OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 --
 1.7.7.6

 --
 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
--
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] arm: omap5: dts: split SMPS10 dt node

2013-08-12 Thread Kishon Vijay Abraham I
SMPS10 has two outputs OUT1 and OUT2. Hence SMPS10 is modeled as
two regulators. The dt node is split to reflect it.

Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
---
 arch/arm/boot/dts/omap5-uevm.dts |   13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/omap5-uevm.dts b/arch/arm/boot/dts/omap5-uevm.dts
index 65d7b60..05b9b12 100644
--- a/arch/arm/boot/dts/omap5-uevm.dts
+++ b/arch/arm/boot/dts/omap5-uevm.dts
@@ -334,9 +334,18 @@
ti,smps-range = 0x80;
};
 
-   smps10_reg: smps10 {
+   smps10_out2_reg: smps10_out2 {
/* VBUS_5V_OTG */
-   regulator-name = smps10;
+   regulator-name = smps10_out2;
+   regulator-min-microvolt = 500;
+   regulator-max-microvolt = 500;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps10_out1_reg: smps10_out1 {
+   /* VBUS_5V_OTG */
+   regulator-name = smps10_out1;
regulator-min-microvolt = 500;
regulator-max-microvolt = 500;
regulator-always-on;
-- 
1.7.10.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


[PATCH v3] arm: omap5: dts: add palmas-usb node

2013-08-12 Thread Kishon Vijay Abraham I
From: Felipe Balbi ba...@ti.com

Without this node, there will be no palmas
driver to notify dwc3 that a cable has
been connected and, without that, dwc3
will never initialize.

[ kis...@ti.com : fix vbus-supply value after SMPS10 is modeled as 2 regulators]

Signed-off-by: Felipe Balbi ba...@ti.com
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
---
Change from v2:
fix vbus-supply value after SMPS10 is modeled as 2 regulators. This is needed
after SMPS10 is modeled as 2 regulators.
[1] models SMPS10 as 2 regulators.
[2] splits the SMPS10 node into two to represent the 2 regulators.

[1] - http://comments.gmane.org/gmane.linux.kernel/1542521
[2] - http://www.mail-archive.com/linux-omap@vger.kernel.org/msg93779.html

 arch/arm/boot/dts/omap5-uevm.dts |   10 ++
 arch/arm/boot/dts/omap5.dtsi |2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/omap5-uevm.dts b/arch/arm/boot/dts/omap5-uevm.dts
index 08b7267..51a4acc 100644
--- a/arch/arm/boot/dts/omap5-uevm.dts
+++ b/arch/arm/boot/dts/omap5-uevm.dts
@@ -272,6 +272,11 @@
interrupt-controller;
#interrupt-cells = 2;
 
+   extcon_usb3: palmas_usb {
+   compatible = ti,palmas-usb;
+   ti,wakeup;
+   };
+
palmas_pmic {
compatible = ti,palmas-pmic;
interrupt-parent = palmas;
@@ -450,6 +455,11 @@
phys = 0 hsusb2_phy hsusb3_phy;
 };
 
+usb3 {
+   extcon = extcon_usb3;
+   vbus-supply = smps10_out1_reg;
+};
+
 mcspi1 {
 
 };
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 4e41409..1659246 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -634,7 +634,7 @@
ti,type = 2;
};
 
-   omap_dwc3@4a02 {
+   usb3: omap_dwc3@4a02 {
compatible = ti,dwc3;
ti,hwmods = usb_otg_ss;
reg = 0x4a02 0x1;
-- 
1.7.10.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


Re: [PATCH v2 1/1] MAINTAINERS: update Benoît Cousson email address

2013-08-12 Thread Ruslan Bilovol
Hi,

Looking into Benoit's tree
https://git.kernel.org/cgit/linux/kernel/git/bcousson/linux-omap-dt.git/
we can see that last change there was made two months ago...
So yes wee need to have at least confirmation from Benoit that he is
going to maintain the tree.
Also looks like OMAP devicetree-related patches hung in mailing lists
at least for last 2 months...

-- 
Best regards,
Ruslan Bilvol

On Mon, Aug 12, 2013 at 12:09 PM, Javier Martinez Canillas
martinez.jav...@gmail.com wrote:
 Hi Tony,

 On Mon, Aug 12, 2013 at 9:55 AM, Tony Lindgren t...@atomide.com wrote:
 * Javier Martinez Canillas javier.marti...@collabora.co.uk [130811 08:28]:
 Using the email address listed on MAINTAINERS I keep
 getting SMTP 550 Invalid recipient errors.

 Update with what seems to be current Benoît's email
 address to make get_maintainer.pl to stop lying.

 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk

 Is the linaro.org address still valid? We should probably
 wait for Benoit to confirm this to avoid more confusion.


 It seems so, at least I don't the SMTP 550 errors with it. But I agree
 that is best to wait for Benoit to confirm what is his current
 address. I just wanted to help...

 Regards,

 Tony


 Best regards,
 Javier

 ---

 Patch on top of Linus's commit c095ba72 (Linux 3.11-rc4).

 Changes since v1:
  - I mostly send DT patches to Benoît but now I noticed that
he also maintains other subsystems. Update the patch to
change all his MAINTAINERS entries.

  MAINTAINERS |6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 diff --git a/MAINTAINERS b/MAINTAINERS
 index defc053..3466423 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -5879,7 +5879,7 @@ F:  drivers/i2c/busses/i2c-omap.c
  F:   include/linux/i2c-omap.h

  OMAP DEVICE TREE SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Tony Lindgren t...@atomide.com
  L:   linux-omap@vger.kernel.org
  L:   devicet...@vger.kernel.org
 @@ -5959,14 +5959,14 @@ S:Maintained
  F:   drivers/char/hw_random/omap-rng.c

  OMAP HWMOD SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Paul Walmsley p...@pwsan.com
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod.*

  OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 --
 1.7.7.6

 --
 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
 --
 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
--
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 v3 07/12] dma: edma: Add function to dump a PaRAM set from PaRAM

2013-08-12 Thread Sekhar Nori
On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 Previously, such a dump function was used but it wasn't reading
 from the PaRAM, rather just from a edmacc_param structure, we
 add a helpful function for debugging that directly reads from
 the PaRAM and gives the current state correctly (including links
 and interrupt information).
 
 Signed-off-by: Joel Fernandes jo...@ti.com

You should convert existing instances of PaRAM set dump to use this new
function along with introducing it.

Thanks,
Sekhar

 ---
  drivers/dma/edma.c |   31 +++
  1 file changed, 31 insertions(+)
 
 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index 080d669..a242269 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -102,6 +102,37 @@ static void edma_desc_free(struct virt_dma_desc *vdesc)
   kfree(container_of(vdesc, struct edma_desc, vdesc));
  }
  
 +static inline void dump_pset(struct edma_chan *echan, int slot,
 +  struct edmacc_param *pset_unused, int pset_idx)
 +{
 + struct edmacc_param pset_local, *pset;
 + pset = pset_local;
 +
 + edma_read_slot(slot, pset);
 +
 + dev_dbg(echan-vchan.chan.device-dev,
 + \n pset[%d]:\n
 +   chnum\t%d\n
 +   slot\t%d\n
 +   opt\t%08x\n
 +   src\t%08x\n
 +   dst\t%08x\n
 +   abcnt\t%08x\n
 +   ccnt\t%08x\n
 +   bidx\t%08x\n
 +   cidx\t%08x\n
 +   lkrld\t%08x\n,
 + pset_idx, echan-ch_num, slot,
 + pset[0].opt,
 + pset[0].src,
 + pset[0].dst,
 + pset[0].a_b_cnt,
 + pset[0].ccnt,
 + pset[0].src_dst_bidx,
 + pset[0].src_dst_cidx,
 + pset[0].link_bcntrld);
 +}
 +
  /* Dispatch a queued descriptor to the controller (caller holds lock) */
  static void edma_execute(struct edma_chan *echan)
  {
 

--
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 v3 08/12] dma: edma: Add one more required slot to MAX slots

2013-08-12 Thread Sekhar Nori
On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 We'd now need a separate slot just for the channel and separate
 ones for the 2 linked sets, so we make adjustments to allocate
 an extra channel accordingly.
 
 Signed-off-by: Joel Fernandes jo...@ti.com

No need for a separate patch for this, just do this in the patch where
you include the two linked sets.

 ---
  drivers/dma/edma.c |5 -
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index a242269..df50a04 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -48,7 +48,7 @@
  
  /* Max of 16 segments per channel to conserve PaRAM slots */
  #define MAX_NR_SG16
 -#define EDMA_MAX_SLOTS   MAX_NR_SG
 +#define EDMA_MAX_SLOTS   (MAX_NR_SG+1)
  #define EDMA_DESCRIPTORS 16
  
  struct edma_desc {
 @@ -311,6 +311,9 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
  
   num_slots_needed = sg_len  MAX_NR_SG ? MAX_NR_SG : sg_len;
  
 + /* Allocate one extra to account for the channel itself */
 + num_slots_needed++;

You can do:

nslots = min(MAX_NR_SG, sg_len) + 1;

Thanks,
Sekhar

--
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


[GIT PULL] DRA7xx core support

2013-08-12 Thread Rajendra Nayak
Hi Tony,

Heres the pull request for the dra7xx core support patches.

The following changes since commit d4e4ab86bcba5a72779c43dc1459f71fea3d89c8:

  Linux 3.11-rc5 (2013-08-11 18:04:20 -0700)

are available in the git repository at:

  git://github.com/rrnayak/linux.git tags/dra7-core-support-v3

for you to fetch changes up to 41f2119b3037e50482cb14eaa39e6b5c52113fb5:

  ARM: DRA7: Add the build support in omap2plus (2013-08-12 15:25:38 +0530)


DRA7xx based SoC core support


R Sricharan (8):
  ARM: DRA7: Reuse all of PRCM and MPUSS SMP infra
  ARM: DRA7: Reuse io tables and add a new .init_early
  ARM: DRA7: Resue the clocksource, clockevent support
  ARM: DRA7: board-generic: Add basic DT support
  ARM: DRA7: Kconfig: Make ARCH_NR_GPIO default to 512
  ARM: DRA7: dts: Add the dts files for dra7 SoC and dra7-evm board
  ARM: DRA7: id: Add cpu detection support for DRA7xx based SoCs'
  ARM: DRA7: Add the build support in omap2plus

Rajendra Nayak (1):
  ARM: DRA7: hwmod: Reuse the soc_ops used for OMAP4/5

 .../devicetree/bindings/arm/omap/omap.txt  |3 +
 arch/arm/Kconfig   |2 +-
 arch/arm/boot/dts/Makefile |3 +-
 arch/arm/boot/dts/dra7-evm.dts |  140 +
 arch/arm/boot/dts/dra7.dtsi|  567 
 arch/arm/configs/omap2plus_defconfig   |1 +
 arch/arm/mach-omap1/include/mach/soc.h |1 +
 arch/arm/mach-omap2/Kconfig|   12 +-
 arch/arm/mach-omap2/Makefile   |6 +
 arch/arm/mach-omap2/board-generic.c|   18 +
 arch/arm/mach-omap2/common.h   |1 +
 arch/arm/mach-omap2/id.c   |4 +-
 arch/arm/mach-omap2/io.c   |   20 +-
 arch/arm/mach-omap2/omap54xx.h |4 +
 arch/arm/mach-omap2/omap_hwmod.c   |2 +-
 arch/arm/mach-omap2/soc.h  |   17 +
 arch/arm/mach-omap2/timer.c|3 +-
 arch/arm/plat-omap/Kconfig |2 +-
 18 files changed, 795 insertions(+), 11 deletions(-)
 create mode 100644 arch/arm/boot/dts/dra7-evm.dts
 create mode 100644 arch/arm/boot/dts/dra7.dtsi
--
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


[net-next PATCH 1/1] drivers: net: cpsw: Add support for new CPSW IP version present in AM43xx SoC

2013-08-12 Thread Mugunthan V N
The new IP version which is present in AM43xx SoC has a minor changes and the
offsets are same as the previous version, so adding new IP version support in
the driver.

Signed-off-by: Mugunthan V N mugunthan...@ti.com
---
 drivers/net/ethernet/ti/cpsw.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index cd95671..0fcf212 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -83,6 +83,7 @@ do {  
\
 #define CPSW_VERSION_1 0x19010a
 #define CPSW_VERSION_2 0x19010c
 #define CPSW_VERSION_3 0x19010f
+#define CPSW_VERSION_4 0x190112
 
 #define HOST_PORT_NUM  0
 #define SLIVER_SIZE0x40
@@ -993,6 +994,7 @@ static void cpsw_slave_open(struct cpsw_slave *slave, 
struct cpsw_priv *priv)
break;
case CPSW_VERSION_2:
case CPSW_VERSION_3:
+   case CPSW_VERSION_4:
slave_write(slave, TX_PRIORITY_MAPPING, CPSW2_TX_PRI_MAP);
break;
}
@@ -2018,6 +2020,7 @@ static int cpsw_probe(struct platform_device *pdev)
break;
case CPSW_VERSION_2:
case CPSW_VERSION_3:
+   case CPSW_VERSION_4:
priv-host_port_regs = ss_regs + CPSW2_HOST_PORT_OFFSET;
priv-cpts-reg  = ss_regs + CPSW2_CPTS_OFFSET;
priv-hw_stats   = ss_regs + CPSW2_HW_STATS;
-- 
1.8.4.rc1.21.gfb56570

--
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 v2 8/8] ARM: DRA7: dts: Add the dts files for dra7 SoC and dra7-evm board

2013-08-12 Thread Mark Rutland
On Tue, Jul 30, 2013 at 12:25:46PM +0100, Rajendra Nayak wrote:
 From: R Sricharan r.sricha...@ti.com

 Add minimal device tree source needed for DRA7 based SoCs.
 Also add a board dts file for the dra7-evm (based on dra752)
 which contains 1.5G of memory with 1G interleaved and 512MB
 non-interleaved. Also added in the board file are pin configuration
 details for i2c, mcspi and uart devices on board.

 Signed-off-by: R Sricharan r.sricha...@ti.com
 Signed-off-by: Rajendra Nayak rna...@ti.com
 Signed-off-by: Sourav Poddar sourav.pod...@ti.com
 ---
  arch/arm/boot/dts/Makefile |3 +-
  arch/arm/boot/dts/dra7-evm.dts |  163 ++
  arch/arm/boot/dts/dra7.dtsi|  488 
 
  3 files changed, 653 insertions(+), 1 deletion(-)
  create mode 100644 arch/arm/boot/dts/dra7-evm.dts
  create mode 100644 arch/arm/boot/dts/dra7.dtsi

[...]

 diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
 new file mode 100644
 index 000..8a0c08e
 --- /dev/null
 +++ b/arch/arm/boot/dts/dra7.dtsi
 @@ -0,0 +1,488 @@
 +/*
 + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.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.
 + * Based on omap4.dtsi
 + */
 +
 +/include/ skeleton.dtsi
 +
 +/ {
 +   compatible = ti,dra7xx;
 +   interrupt-parent = gic;
 +
 +   aliases {
 +   serial0 = uart1;
 +   serial1 = uart2;
 +   serial2 = uart3;
 +   serial3 = uart4;
 +   serial4 = uart5;
 +   serial5 = uart6;
 +   };
 +
 +   cpus {
 +   cpu@0 {
 +   compatible = arm,cortex-a15;
 +   timer {
 +   compatible = arm,armv7-timer;
 +   /*
 +* PPI secure/nonsecure IRQ,
 +* active low level-sensitive
 +*/
 +   interrupts = 1 13 0x308,
 +1 14 0x308;
 +   clock-frequency = 6144000;
 +   };
 +   };

The cpu nodes should have a reg matching their unit-address, and a
device_type = cpu.

The timer nodes should *not* be under the CPU nodes. They should be
under under the root node. I realise that it makes intuitive sense to
describe per-cpu resources this way, but that's not the way the bindings
are intended to be used (does thei DT even work?).

No virtual/hypervisor interrupts?

Do you really need the clock-frequency property? It's far preferrable to
have your bootloader do the right thing and program CNTFRQ with the
correct value.

 +
 +   gic: interrupt-controller@48211000 {
 +   compatible = arm,cortex-a15-gic;
 +   interrupt-controller;
 +   #interrupt-cells = 3;
 +   reg = 0x48211000 0x1000,
 + 0x48212000 0x1000;

Similarly, no GICH/GICV registers?

Thanks,
Mark.
--
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: Pandaboard: DT Boot fails when initramfs is loaded

2013-08-12 Thread Roger Quadros
Hi,

On 08/11/2013 04:31 PM, Sebastian Reichel wrote:
 Hi,
 
 I try to boot the mainline omap kernel (I tried current mainline
 kernel from git and mainline 3.10-rc1+) on my Pandaboard using
 U-Boot as follows:
 
 mmcinfo
 ext2load mmc 0:2 0x8000 /boot/uImage
 ext2load mmc 0:2 0x8160 /boot/uInitrd
 ext2load mmc 0:2 0x9000 /boot/omap4-panda.dtb
 bootm 0x8000 0x8160 0x9000

What is the size of your uImage and uInitrd? Are you sure the load addresses
are far apart to not cause overwrite?

cheers,
-roger

--
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 v3 09/12] dma: edma: Implement multiple linked sets for continuity

2013-08-12 Thread Sekhar Nori
On Monday 05 August 2013 04:14 PM, Joel Fernandes wrote:
 Here we implement splitting up of the total MAX number of slots
 available for a channel into 2 cyclically linked sets. Transfer
 completion Interrupts are enabled on both linked sets and respective
 handler recycles them on completion to process the next linked set.
 Both linked sets are cyclically linked to each other to ensure
 continuity of DMA operations. Interrupt handlers execute asynchronously
 to the EDMA events and recycles the linked sets at the right time,
 as a result EDMA is not blocked or dependent on interrupts and DMA
 continues till the end of the SG-lists without any interruption.
 
 Suggested-by: Sekhar Nori nsek...@ti.com
 Signed-off-by: Joel Fernandes jo...@ti.com
 ---
  drivers/dma/edma.c |  157 
 +++-
  1 file changed, 118 insertions(+), 39 deletions(-)
 
 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index df50a04..70923a2 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -48,6 +48,7 @@
  
  /* Max of 16 segments per channel to conserve PaRAM slots */
  #define MAX_NR_SG16
 +#define MAX_NR_LS(MAX_NR_SG  1)
  #define EDMA_MAX_SLOTS   (MAX_NR_SG+1)
  #define EDMA_DESCRIPTORS 16
  
 @@ -57,6 +58,7 @@ struct edma_desc {
   int absync;
   int pset_nr;
   int total_processed;
 + int next_setup_linkset;
   struct edmacc_param pset[0];
  };
  
 @@ -140,7 +142,9 @@ static void edma_execute(struct edma_chan *echan)
   struct edma_desc *edesc;
   struct device *dev = echan-vchan.chan.device-dev;
  
 - int i, j, total_left, total_process;
 + int i, total_left, total_link_set;
 + int ls_cur_off, ls_next_off, slot_off;
 + struct edmacc_param tmp_param;
  
   /* If either we processed all psets or we're still not started */
   if (!echan-edesc ||
 @@ -159,48 +163,121 @@ static void edma_execute(struct edma_chan *echan)
  
   /* Find out how many left */
   total_left = edesc-pset_nr - edesc-total_processed;
 - total_process = total_left  MAX_NR_SG ? MAX_NR_SG : total_left;
 -
 -
 - /* Write descriptor PaRAM set(s) */
 - for (i = 0; i  total_process; i++) {
 - j = i + edesc-total_processed;
 - edma_write_slot(echan-slot[i], edesc-pset[j]);
 - dev_dbg(echan-vchan.chan.device-dev,
 - \n pset[%d]:\n
 -   chnum\t%d\n
 -   slot\t%d\n
 -   opt\t%08x\n
 -   src\t%08x\n
 -   dst\t%08x\n
 -   abcnt\t%08x\n
 -   ccnt\t%08x\n
 -   bidx\t%08x\n
 -   cidx\t%08x\n
 -   lkrld\t%08x\n,
 - j, echan-ch_num, echan-slot[i],
 - edesc-pset[j].opt,
 - edesc-pset[j].src,
 - edesc-pset[j].dst,
 - edesc-pset[j].a_b_cnt,
 - edesc-pset[j].ccnt,
 - edesc-pset[j].src_dst_bidx,
 - edesc-pset[j].src_dst_cidx,
 - edesc-pset[j].link_bcntrld);
 - /* Link to the previous slot if not the last set */
 - if (i != (total_process - 1))

 + total_link_set = total_left  MAX_NR_LS ? MAX_NR_LS : total_left;

The name you gave here sounds like this is defining total number of
linked PaRAM sets. Rather this is actually tracking the number of PaRAM
sets (slots) in current linked set, correct? Then may be just call it
'nslots' or even 'num_slots'? There are just too many variables with
total prefix to keep track of in this function!

 +
 + /* First time, setup 2 cyclically linked sets, each containing half
 +the slots allocated for this channel */
 + if (edesc-total_processed == 0) {

We dont need to check for this case for every DMA_COMPLETE interrupt.
May be move the initial setup to another function called from
edma_issue_pending()?

 + for (i = 0; i  total_link_set; i++) {
 + edma_write_slot(echan-slot[i+1], edesc-pset[i]);
 +
 + if (i != total_link_set - 1) {
 + edma_link(echan-slot[i+1], echan-slot[i+2]);
 + dump_pset(echan, echan-slot[i+1],
 +   edesc-pset, i);
 + }
 + }
 +
 + edesc-total_processed += total_link_set;
 +
 + total_left = edesc-pset_nr - edesc-total_processed;
 +
 + total_link_set = total_left  MAX_NR_LS ?
 +  MAX_NR_LS : total_left;
 +
 + if (total_link_set) {
 + /* Don't setup interrupt for first linked set for cases
 +  

Re: [PATCH v3 08/12] dma: edma: Add one more required slot to MAX slots

2013-08-12 Thread Mark Brown
On Mon, Aug 12, 2013 at 11:26:49AM +0530, Sekhar Nori wrote:

 No need for a separate patch for this, just do this in the patch where
 you include the two linked sets.

Can you guys please think about the CC lists you're using for these
patch serieses?  I've certainly no interest in random patches to the
DaVinci DMA controllers, and I suspect the same is true for most of the
people on the CC list.


signature.asc
Description: Digital signature


Re: [PATCH v2 8/8] ARM: DRA7: dts: Add the dts files for dra7 SoC and dra7-evm board

2013-08-12 Thread Benoit Cousson

Hi Rajendra,

On 30/07/2013 15:01, Rajendra Nayak wrote:

On Tuesday 30 July 2013 06:29 PM, Nishanth Menon wrote:

On 07/30/2013 07:56 AM, Rajendra Nayak wrote:

On Tuesday 30 July 2013 06:16 PM, Nishanth Menon wrote:

On 07/30/2013 07:41 AM, Rajendra Nayak wrote:

On Tuesday 30 July 2013 06:00 PM, Nishanth Menon wrote:

On 07/30/2013 06:25 AM, Rajendra Nayak wrote:

From: R Sricharan r.sricha...@ti.com

[...]

+mcspi4: spi@480ba000 {
+compatible = ti,omap4-mcspi;
+reg = 0x480ba000 0x200;
+interrupts = 0 48 0x4;
+#address-cells = 1;
+#size-cells = 0;
+ti,hwmods = mcspi4;
+ti,spi-num-cs = 1;
+dmas = sdma 70, sdma 71;
+dma-names = tx0, rx0;
+};
+};
+};


ref: [1], we discussed that we should now be able to introduce all instances of 
h/w blocks into the dra7.dts. Further, considering [2]

hmm, thats a long discussion on crossbar driver that [1] points to. Do you want 
to summarize what you mean by 'introduce all instances of h/w blocks'

I recommend reading the last few emails on the thread about how we could do 
this with pinctrl. unfortunately, this patch is not informative enough to 
indicate that not all instances of the potential IP blocks are listed here.


would you not want to follow status = disabled for all modules by default and 
enable required modules in board file, so that we dont have to respin this yet again?

Well, I was just following the convention of whats already followed on existing 
OMAPs. See [3] for some views on these.

DRA7 case, I would not think it makes sense due to the number of product 
variants being done, not all will use the same set. Further, rationale for DRA7 
and my suggestion for Grant's option (1) is mainly because the product variants 
will require more dtsis rather than board files using the product variants use 
just the necessary modules from a common dtsi. Makes support of variants like 
OMAP57xx etc trivial and constrainted to board file usage, rather than spinning 
off new dtsis.

Makes sense with the different product variants for DRA7, AM335x already does 
it this way, but the rest of OMAP3/4/5 are doing it the other way.
I think its just too confusing to follow different conventions for different 
SoCs. We should stick to just one, either this way or that.


I think bucketing DRA7(with multitude of SoC variants) with OMAP family(usually 
with 5 variants) will be a wrong approach. we should choose the approach 
appropriate for the SoC. hence, OMAPx having all default enabled makes sense (as 
the delta is usually trivial), but on DRA7, the variants are larger :(

just my 2 cents.

I can respin with the changes, but before I do so, Benoit do you agree with the 
rationale for these and fine with the approach?




Sorry for the very late reply. I've just seen it because Mark's answer 
put in again in my gmail box.


I'm not sure to understand what Nishanth and you are arguing for :-)

If this is about the default status state, I think that this flag is 
anyway confusing because you cannot know if we are considering an IP 
that does not exist at all in a variant or an IP that is not used on a 
certain board...


This potential issue we can have with the second case is that the IP 
might be enabled by the boot loader and never disabled because 
status=disabled prevent DT to create the device, and thus prevent the 
driver to properly idle the device.


That's why I did not like the usage of status=disabled by default, 
because the way DT core handle that might not be appropriate for an IP 
that is there but not use.


For a variant that does not contain physically the IP, that flag can be 
relevant.
Regarding which default status is the best, I guess as soon as it is 
consistant across a chip family, both are fine to me.


Not necessarily related to your discussion, but I still think that DT is 
missing a flag to make the difference between the two cases.


Regards,
Benoit

--
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 v2 1/1] MAINTAINERS: update Benoît Cousson email address

2013-08-12 Thread Javier Martinez Canillas
On Mon, Aug 12, 2013 at 11:09 AM, Javier Martinez Canillas
martinez.jav...@gmail.com wrote:
 Hi Tony,

 On Mon, Aug 12, 2013 at 9:55 AM, Tony Lindgren t...@atomide.com wrote:
 * Javier Martinez Canillas javier.marti...@collabora.co.uk [130811 08:28]:
 Using the email address listed on MAINTAINERS I keep
 getting SMTP 550 Invalid recipient errors.

 Update with what seems to be current Benoît's email
 address to make get_maintainer.pl to stop lying.

 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk

 Is the linaro.org address still valid? We should probably
 wait for Benoit to confirm this to avoid more confusion.


 It seems so, at least I don't get SMTP 550 errors with it. But I agree
 that is best to wait for Benoit to confirm what is his current
 address. I just wanted to help...


I see that Benoit also has a gmail address. I'm cc'ing him in this
thread so he can confirm what is his current email address and
MAINTAINERS can be updated so people can send OMAP DT patches to the
correct address.

Thanks a lot and best regards,
Javier

 Regards,

 Tony


 Best regards,
 Javier

 ---

 Patch on top of Linus's commit c095ba72 (Linux 3.11-rc4).

 Changes since v1:
  - I mostly send DT patches to Benoît but now I noticed that
he also maintains other subsystems. Update the patch to
change all his MAINTAINERS entries.

  MAINTAINERS |6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 diff --git a/MAINTAINERS b/MAINTAINERS
 index defc053..3466423 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -5879,7 +5879,7 @@ F:  drivers/i2c/busses/i2c-omap.c
  F:   include/linux/i2c-omap.h

  OMAP DEVICE TREE SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Tony Lindgren t...@atomide.com
  L:   linux-omap@vger.kernel.org
  L:   devicet...@vger.kernel.org
 @@ -5959,14 +5959,14 @@ S:Maintained
  F:   drivers/char/hw_random/omap-rng.c

  OMAP HWMOD SUPPORT
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  M:   Paul Walmsley p...@pwsan.com
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod.*

  OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
 -M:   Benoît Cousson b-cous...@ti.com
 +M:   Benoît Cousson benoit.cous...@linaro.org
  L:   linux-omap@vger.kernel.org
  S:   Maintained
  F:   arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 --
 1.7.7.6

 --
 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
--
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 v2 1/1] MAINTAINERS: update Benoît Cousson email address

2013-08-12 Thread Benoit Cousson

Hi Javier,

Thanks for taking care of that. Sorry if I missed you for so long :-)

I had to manage TI layoffs then vacation then starting my new job.

On 12/08/2013 16:03, Javier Martinez Canillas wrote:

On Mon, Aug 12, 2013 at 11:09 AM, Javier Martinez Canillas
martinez.jav...@gmail.com wrote:

Hi Tony,

On Mon, Aug 12, 2013 at 9:55 AM, Tony Lindgren t...@atomide.com wrote:

* Javier Martinez Canillas javier.marti...@collabora.co.uk [130811 08:28]:

Using the email address listed on MAINTAINERS I keep
getting SMTP 550 Invalid recipient errors.

Update with what seems to be current Benoît's email
address to make get_maintainer.pl to stop lying.

Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk


Is the linaro.org address still valid? We should probably
wait for Benoit to confirm this to avoid more confusion.



It seems so, at least I don't get SMTP 550 errors with it. But I agree
that is best to wait for Benoit to confirm what is his current
address. I just wanted to help...



I see that Benoit also has a gmail address. I'm cc'ing him in this
thread so he can confirm what is his current email address and
MAINTAINERS can be updated so people can send OMAP DT patches to the
correct address.

Thanks a lot and best regards,
Javier



Here is my official new email address.

I'll repost it properly, except if Tony is fine taking it like that.

Regards,
Benoit

---
From 8a5464b6da7f076b7caa21ac96905b46cf26e269 Mon Sep 17 00:00:00 2001
From: Benoit Cousson bcous...@baylibre.com
Date: Fri, 9 Aug 2013 23:19:15 +0200
Subject: [PATCH] MAINTAINERS: Update my email address

Goodbye TI. Welcome new life!

Signed-off-by: Benoit Cousson bcous...@baylibre.com
Cc: Javier Martinez Canillas javier.marti...@collabora.co.uk
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 7cacc88..300c9f4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5884,7 +5884,7 @@ F:drivers/i2c/busses/i2c-omap.c
 F: include/linux/i2c-omap.h

 OMAP DEVICE TREE SUPPORT
-M: Benoît Cousson b-cous...@ti.com
+M: Benoît Cousson bcous...@baylibre.com
 M: Tony Lindgren t...@atomide.com
 L: linux-omap@vger.kernel.org
 L: devicet...@vger.kernel.org
@@ -5964,14 +5964,14 @@ S:  Maintained
 F: drivers/char/hw_random/omap-rng.c

 OMAP HWMOD SUPPORT
-M: Benoît Cousson b-cous...@ti.com
+M: Benoît Cousson bcous...@baylibre.com
 M: Paul Walmsley p...@pwsan.com
 L: linux-omap@vger.kernel.org
 S: Maintained
 F: arch/arm/mach-omap2/omap_hwmod.*

 OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
-M: Benoît Cousson b-cous...@ti.com
+M: Benoît Cousson bcous...@baylibre.com
 L: linux-omap@vger.kernel.org
 S: Maintained
 F: arch/arm/mach-omap2/omap_hwmod_44xx_data.c
--
1.8.1.2


--
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: [PATCHv3 8/9] ARM: OMAP2+: AM33XX: Basic suspend resume support

2013-08-12 Thread Kevin Hilman
Hi Russ,

Russ Dill russ.d...@gmail.com writes:

[...]

 I was taking a look at this situation, figuring that the
 suspend/resume callbacks in omap_device might be the right place to do
 it, and came across this:

 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=72bb6f9b51c82c820ddef892455a85b115460904

 Under what situations would the driver callbacks be present if probe
 fails? I'm looking at really_probe in drivers/base/dd.c, and if probe
 fails, dev-driver is set to NULL. What was the condition this was
 protecting against?

The static suspend/resume methods for PM domains don't check for
dev-driver.  (c.f. device_resume_noirq()), so during system suspend,
the PM domain callbacks are called whether or not there is a driver.

A simlar fix could've been done by checking for the existence of
dev-driver (and maybe that's a better solution), but I chose the latter
so omap_device has a finer grained track of the driver status.

 Also, by modifying _od_suspend_noirq, can we force idle unbound omap
 device? Would we need a new omap_hwmod flag to check which devices
 should be force idled if no driver is bound?

I suppose you could, but that would probably mask driver bugs where the
driver is not properly runtime suspending itself before being removed.

Kevin
--
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 1/5] drivers/gpio/gpio-omap.c: convert comma to semicolon

2013-08-12 Thread Kevin Hilman
Joe Perches j...@perches.com writes:

 On Sat, 2013-08-10 at 17:40 +0200, Julia Lawall wrote:
 From: Julia Lawall julia.law...@lip6.fr
 Replace a comma between expression statements by a semicolon.
 []
 I can't tell if the assignment to ct-regs.mask is really intended to be
 under the if.  The proposed patch preserves the current semantics, but not
 the current indentation.

 I'd suspect more that the indentation is correct
 and the comma use incorrect.

 It also looks more like a copy/paste error from
 commit f8b46b583 when the code was restructured
 a bit.

 Kevin?

Yes, looks like a copy/paste error.  The comma should simply be replaced
by a semi-colon.

Kevin


 

 -#ifdef CONFIG_ARCH_OMAP16XX
 -   /* REVISIT: assuming only 16xx supports MPUIO wake events */
 -   .irq_set_wake   = gpio_wake_enable,
 -#endif
 -};

 

 +   /* REVISIT: assuming only 16xx supports MPUIO wake events */
 +   if (cpu_is_omap16xx())
 +   ct-chip.irq_set_wake = gpio_wake_enable,

 

 diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
 []
 @@ -1029,10 +1029,10 @@ omap_mpuio_alloc_gc(struct gpio_bank *bank, unsigned 
 int irq_start,
  ct-chip.irq_unmask = irq_gc_mask_clr_bit;
  ct-chip.irq_set_type = gpio_irq_type;
  
 -if (bank-regs-wkup_en)
 -ct-chip.irq_set_wake = gpio_wake_enable,
 -
 -ct-regs.mask = OMAP_MPUIO_GPIO_INT / bank-stride;
 +if (bank-regs-wkup_en) {
 +ct-chip.irq_set_wake = gpio_wake_enable;
 +ct-regs.mask = OMAP_MPUIO_GPIO_INT / bank-stride;
 +}


 --
 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: [RFC PATCH v2 1/3] usb: dwc3: msm: Add device tree binding information

2013-08-12 Thread Felipe Balbi
On Fri, Aug 09, 2013 at 10:31:58AM -0500, Kumar Gala wrote:
 
 On Aug 9, 2013, at 4:53 AM, Ivan T. Ivanov wrote:
 
  From: Ivan T. Ivanov iiva...@mm-sol.com
  
  MSM USB3.0 core wrapper consist of USB3.0 IP (SNPS)
 
 probably good to spell out Synopsys rather than SNPS

Synopsys (the company) has always used snps in their bindings though.

  +Required properities :
  +- compatible : sould be qcom,dwc3-hsphy;
  +- reg : offset and length of the register set in the memory map
  +- clocks : phandles to clock instances of the device tree nodes
  +- clock-names :
  +   xo : External reference clock 19 MHz
  +   sleep_a_clk : Sleep clock, used when USB3 core goes into low
  +   power mode (U3).
  +supply-name-supply : phandle to the regulator device tree node
  +Required supply-name are:
  +   v1p8 : 1.8v supply for HSPHY
  +   v3p3 : 3.3v supply for HSPHY
  +   vbus : vbus supply for host mode
  +   vddcx : vdd supply for HS-PHY digital circuit operation

I believe these regulators belong to the PHY, not DWC3. Please write a
PHY driver.

  +Required properities :
  +- compatible : sould be qcom,dwc3-ssphy;
  +- reg : offset and length of the register set in the memory map
  +- clocks : phandles to clock instances of the device tree nodes
  +- clock-names :
  +   xo : External reference clock 19 MHz
  +   ref_clk : Reference clock - used in host mode.
  +supply-name-supply : phandle to the regulator device tree node
  +Required supply-name are:
  +   v1p8 : 1.8v supply for SS-PHY
  +   vddcx : vdd supply for SS-PHY digital circuit operation

likewise, these regulators should be moved to the PHY driver.

  +Required properties :
  +- compatible : should be qcom,dwc3
  +- reg : offset and length of the register set in the memory map
  +   offset and length of the TCSR register for routing USB
  +   signals to either picoPHY0 or picoPHY1.
  +- clocks : phandles to clock instances of the device tree nodes
  +- clock-names :
  +   core_clk : Master/Core clock, have to be = 125 MHz for SS
  +   operation and = 60MHz for HS operation
  +   iface_clk : System bus AXI clock
  +   sleep_clk : Sleep clock, used when USB3 core goes into low
  +   power mode (U3).
  +   utmi_clk : Generated by HS-PHY. Used to clock the low power
  +   parts of thr HS Link layer.
  +
  +Optional properties :
  +- gdsc-supply : phandle to the globally distributed switch controller
  +  regulator node to the USB controller.
  +
  +Sub nodes:
  +- Sub node for DWC3 USB3 controller.
  +  This sub node is required property for device node. The properties
  +  of this subnode are specified in dwc3.txt.
 
 Is tx-fifo-resize required for qcom,dwc3? if so we should call that
 out in the binding.

AFAICT that's only needed for OMAP5 ES1.0. Unless Qualcomm also screwed
up default TX FIFO sizes :-p

-- 
balbi


signature.asc
Description: Digital signature


Re: [RFC 2/2] usb: dwc3: Add Qualcomm DWC3 glue layer driver

2013-08-12 Thread Felipe Balbi
On Fri, Aug 09, 2013 at 07:09:18PM +0300, Ivan T. Ivanov wrote:
 Hi, 
 
 On Fri, 2013-08-09 at 16:23 +0300, Felipe Balbi wrote:
  Hi,
  
  On Tue, Aug 06, 2013 at 02:53:11PM +0300, Ivan T. Ivanov wrote:
   diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c
   new file mode 100644
   index 000..e509abc
   --- /dev/null
   +++ b/drivers/usb/dwc3/dwc3-msm.c
   @@ -0,0 +1,175 @@
   +#undef CONFIG_REGULATOR
  
  why ??
  
 
 1. This shows that driver is still not fully tested 
Regulators support is still missing in the MSM
 2. Helps me to load driver successfully. 

Then remove all the regulator-related code from this.

   + clk_prepare_enable(mdwc-core_clk);
   + clk_prepare_enable(mdwc-iface_clk);
   + clk_prepare_enable(mdwc-sleep_clk);
   + clk_prepare_enable(mdwc-utmi_clk);
  
  do you really need to enable your clocks here ? Why don't you enable
  them on runtime_resume and disable on runtime_suspend ?
 
 I will like to make it working first and then will improve
 power management.

alright, makes sense.

   + res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   + tcsr = devm_ioremap_resource(pdev-dev, res);
   + if (!tcsr) {
   + dev_dbg(pdev-dev, tcsr ioremap failed\n);
  
  no need to ioremap, also you're likely leaking clocks and regulators
  enabled here.
  
  Make sure to have something like:
  
  if (!tcsr)
  goto err_disable_clocks;
  
  /* TODO This has to be revised */\
  
  [...]
  
 
 Sure.

just to make it clear, I meant to say that you don't need to print the
error message :-)

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH] ARM: Update SMP_ON_UP code to detect A9MPCore with 1 CPU devices

2013-08-12 Thread Santosh Shilimkar
Will,

On Friday 02 August 2013 11:48 AM, Will Deacon wrote:
 On Fri, Aug 02, 2013 at 04:45:46PM +0100, Sudeep KarkadaNagesha wrote:
 On 02/08/13 16:22, Santosh Shilimkar wrote:
 + @ Core indicates it is SMP.  Check for Aegis SOC where a single
 + @ Cortex-A9 CPU is present but SMP operations fault.
 + mov r4, #0x4100
 + orr r4, r4, #0xc000
 + orr r4, r4, #0x0090
 + teq r3, r4  @ Check for ARM Cortex-A9
 + movne   pc, lr  @ Not ARM Cortex-A9,
 +
 + mrc p15, 4, r0, c15, c0 @ get SCU base address
 Correct me if I am interpreting this wrong, but CRn=15 here which is
 IMPLEMENTATION DEFINED registers.

 If not, then I wonder why few platform have to read SCU base from DT or
 some header, why not this way ?

 I don't know if there is Cortex-A9 based SOC which don't implement SCU
 CP15 base address register, so can't comment really why not always use
 CP15 based method. I am not even sure if there are other reasons behind
 DT usage.

 I may be wrong, but it's just my understanding as I see that ARM ARM
 clearly states CRn=15 space is IMPLEMENTATION DEFINED registers and we
 can't expect it to work on all IMPLEMENTATIONS.

 I just had a glance at all the usage of CR15 space of CP15 register, its
 either platform specific or under specific errata/condition.

 Will/Dave/Russell can confirm if it's safe to access these registers on
 any implementation or you may need to make it conditional.
 
 I think this an A9-specific register, which reads as 0 on UP A9 and reads as
 some form of PERIPH_BASE for SMP parts. The issue I have is when PERIPH_BASE
 is zero.
 
What do we do here ? Should we document this in the code and proceed ?
Mostly there is no platform with PERIPH_BASE = 0, so its should be fine but
I am open for any other alternative.

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: [RFC PATCH v2 1/3] usb: dwc3: msm: Add device tree binding information

2013-08-12 Thread Kumar Gala

On Aug 12, 2013, at 1:04 PM, Felipe Balbi wrote:

 On Fri, Aug 09, 2013 at 10:31:58AM -0500, Kumar Gala wrote:
 
 On Aug 9, 2013, at 4:53 AM, Ivan T. Ivanov wrote:
 
 From: Ivan T. Ivanov iiva...@mm-sol.com
 
 MSM USB3.0 core wrapper consist of USB3.0 IP (SNPS)
 
 probably good to spell out Synopsys rather than SNPS
 
 Synopsys (the company) has always used snps in their bindings though.

I just meant in the commit message as SNPS wasn't obvious to me and I think 
when someone comes back and looks the commit message doing Synopsys (SNPS) is 
a little more readable.

- k

--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by 
The Linux Foundation

--
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: [PATCHv3 0/9] ARM: OMAP2+: AM33XX: Add suspend-resume support

2013-08-12 Thread Dave Gerlach

On 08/11/2013 06:53 AM, Daniel Mack wrote:

Hi Dave,

Thanks a lot for your work on this.

On 06.08.2013 19:49, Dave Gerlach wrote:

This is the third version of the patch series for adding basic suspend-resume
support for AM33XX, previously submitted by Vaibhav Bedia. This patchset
is based on 3.11-rc4 and depends on a forthcoming patchset from Suman Anna
that adds mailbox support for the wkup_m3. The patches at [1], [2], and [3] are
required for the pm code to properly suspend and resume.


I applied your set and the one from Suman Anna, and with musb disabled
and the firmware built from the sources you referenced, I'm able to put
a custom AM33xx based board to suspend.

The problem I currently face is that I can't make the board resume, as
neither UART0 nor GPIO0 seem to work as wakeup source.


Did you apply the other patches that are mentioned besides Suman's 
series? The board will hang while suspending without these.




Which wakeup source did you use in your tests?



Most of my verification was done with UART wakeup.



Thanks,
Daniel




--
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: [PATCHv3 2/9] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs

2013-08-12 Thread Kevin Hilman
Dave Gerlach d-gerl...@ti.com writes:

 On 08/09/2013 12:11 AM, Tony Lindgren wrote:
 * Dave Gerlach d-gerl...@ti.com [130808 09:23]:
 On 08/08/2013 08:44 AM, Santosh Shilimkar wrote:
 Lets address the above better. I don't see a need of 8 functions
 exported doing one or 2 register writes.

 Look M3 based handling is going to be there on future SOCs
 as well and this kind of handling of IPC is very short cited.


 The idea here was to move all control module register accesses into
 one file in planning of implementing a driver for the control module
 itself in the future.

 Probably we should have a separate driver for M3 in linux which
 can have all this local code instead of all these exports.

 The wkup_m3 code has been moved to a small driver found in patch 8
 of this series, would it better to move this code there rather than
 with the rest of the control module code?

 Please make everything you can into regular device drivers.

 We still have some dependencies to mach-omap2 code for PRCM
 for example, but we're trying to get all that to live in
 drivers.

 So for new pieces, let's not add further dependencies to
 complicate moving things to drivers.

 Regards,

 Tony


 Ok I will go ahead and pull the control module code that handles IPC
 into the wkup_m3 driver. 

Any control module register access still needs to stay in control.c.

 The wkup_m3.c file is still present in mach-omap2 as the right
 location for it wasn't decided in the last RFC. Any thoughts on a good
 location for it?

I raised this also in earlier reviews, but don't remember the if it was
answered... 

Why can't we handle the wkup_m3 using remoteproc/rpmsg instead of
creating another little driver that duplicates communication with the
M3.  Note also that the firmware load part would also be provided by
remoteproc/rpmsg.

Kevin
--
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: [PATCHv3 1/9] memory: emif: Move EMIF register defines to include/linux/

2013-08-12 Thread Greg Kroah-Hartman
On Thu, Aug 08, 2013 at 09:35:46AM -0400, Santosh Shilimkar wrote:
 (You have not CC'ed Greg, Looping him)
 
 On Tuesday 06 August 2013 01:49 PM, Dave Gerlach wrote:
  OMAP4 and AM33XX share the same EMIF controller IP. Although there
  are significant differences in the IP integration due to which
  AM33XX can't reuse the EMIF driver DVFS similar to OMAP4,
  it can definitely benefit by reusing the EMIF related macros
  defined in drivers/memory/emif.h.
  
  In the current OMAP PM framework the PM code resides under
  arch/arm/mach-omap2/. To enable reuse of the register defines move
  the register defines in the emif header file to include/linux so that
  both the EMIF driver and the AM33XX PM code can benefit.
  
  Signed-off-by: Dave Gerlach d-gerl...@ti.com
  Cc: Santosh Shilimkar santosh.shilim...@ti.com
  Cc: Benoit Cousson benoit.cous...@linaro.org
  Cc: Aneesh V ane...@ti.com
  ---
   drivers/memory/emif.h   |  543 
  +
   include/linux/ti_emif.h |  558 
  +++
   2 files changed, 559 insertions(+), 542 deletions(-)
   create mode 100644 include/linux/ti_emif.h
  
 For file movement or some part of file movement, while formating
 patch, use git format-patch -C so that only delta change will
 appear in the patch.
 
 The patch as such is fine by me.
 Acked-by: Santosh Shililmar santosh.shilim...@ti.com
 
 Greg,
 Your ack is needed on this patch so that it can go
 along with the series. Subsequent patch from this series
 use the register defines from this patch.

Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org
--
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: [PATCHv3 1/9] memory: emif: Move EMIF register defines to include/linux/

2013-08-12 Thread Santosh Shilimkar
On Monday 12 August 2013 03:32 PM, Greg Kroah-Hartman wrote:
 On Thu, Aug 08, 2013 at 09:35:46AM -0400, Santosh Shilimkar wrote:
 (You have not CC'ed Greg, Looping him)

 On Tuesday 06 August 2013 01:49 PM, Dave Gerlach wrote:
 OMAP4 and AM33XX share the same EMIF controller IP. Although there
 are significant differences in the IP integration due to which
 AM33XX can't reuse the EMIF driver DVFS similar to OMAP4,
 it can definitely benefit by reusing the EMIF related macros
 defined in drivers/memory/emif.h.

 In the current OMAP PM framework the PM code resides under
 arch/arm/mach-omap2/. To enable reuse of the register defines move
 the register defines in the emif header file to include/linux so that
 both the EMIF driver and the AM33XX PM code can benefit.

 Signed-off-by: Dave Gerlach d-gerl...@ti.com
 Cc: Santosh Shilimkar santosh.shilim...@ti.com
 Cc: Benoit Cousson benoit.cous...@linaro.org
 Cc: Aneesh V ane...@ti.com
 ---
  drivers/memory/emif.h   |  543 
 +
  include/linux/ti_emif.h |  558 
 +++
  2 files changed, 559 insertions(+), 542 deletions(-)
  create mode 100644 include/linux/ti_emif.h

 For file movement or some part of file movement, while formating
 patch, use git format-patch -C so that only delta change will
 appear in the patch.

 The patch as such is fine by me.
 Acked-by: Santosh Shililmar santosh.shilim...@ti.com

 Greg,
 Your ack is needed on this patch so that it can go
 along with the series. Subsequent patch from this series
 use the register defines from this patch.
 
 Acked-by: Greg Kroah-Hartman gre...@linuxfoundation.org
 
Thanks !!
--
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 v3 08/12] dma: edma: Add one more required slot to MAX slots

2013-08-12 Thread Joel Fernandes
On 08/12/2013 08:31 AM, Mark Brown wrote:
 On Mon, Aug 12, 2013 at 11:26:49AM +0530, Sekhar Nori wrote:
 
 No need for a separate patch for this, just do this in the patch where
 you include the two linked sets.
 
 Can you guys please think about the CC lists you're using for these
 patch serieses?  I've certainly no interest in random patches to the
 DaVinci DMA controllers, and I suspect the same is true for most of the
 people on the CC list.
 

Sorry. I was actually getting a sense of this. What I did initially was
I copied the CC list from last years work on the same series hoping that
it would be a complete mail chain. Bad judgement on my part.
I should have paid more attention to Mark's rants about his inbox
getting spammed with this series in those old threads ;)

I guess moving forward I will use get_maintainer.pl and refine my
git-send scripts with only interested folks. Any words of advice on when
to and when not to CC someone remotely connected to a series is welcome.

@Sekhar, let's keep only linux-omap, linux-davinci and few other
interested folks on the CC chain for the rest of review on the series.

Thanks,

-Joel
--
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: [PATCHv3 2/9] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs

2013-08-12 Thread Dave Gerlach

On 08/12/2013 02:17 PM, Kevin Hilman wrote:

Dave Gerlach d-gerl...@ti.com writes:


On 08/09/2013 12:11 AM, Tony Lindgren wrote:

* Dave Gerlach d-gerl...@ti.com [130808 09:23]:

On 08/08/2013 08:44 AM, Santosh Shilimkar wrote:

Lets address the above better. I don't see a need of 8 functions
exported doing one or 2 register writes.

Look M3 based handling is going to be there on future SOCs
as well and this kind of handling of IPC is very short cited.



The idea here was to move all control module register accesses into
one file in planning of implementing a driver for the control module
itself in the future.


Probably we should have a separate driver for M3 in linux which
can have all this local code instead of all these exports.


The wkup_m3 code has been moved to a small driver found in patch 8
of this series, would it better to move this code there rather than
with the rest of the control module code?


Please make everything you can into regular device drivers.

We still have some dependencies to mach-omap2 code for PRCM
for example, but we're trying to get all that to live in
drivers.

So for new pieces, let's not add further dependencies to
complicate moving things to drivers.

Regards,

Tony



Ok I will go ahead and pull the control module code that handles IPC
into the wkup_m3 driver.


Any control module register access still needs to stay in control.c.


The wkup_m3.c file is still present in mach-omap2 as the right
location for it wasn't decided in the last RFC. Any thoughts on a good
location for it?


I raised this also in earlier reviews, but don't remember the if it was
answered...

Why can't we handle the wkup_m3 using remoteproc/rpmsg instead of
creating another little driver that duplicates communication with the
M3.  Note also that the firmware load part would also be provided by
remoteproc/rpmsg.


Looping Suman Anna who handled the IPC patches this patch set is based 
on top of...


For the wkup_m3, the mailbox isn't used in a traditional manner. It's 
only used with a dummy write to trigger an interrupt from the A8 to the 
M3 and then communication happens in IPC registers within the control 
module. No messages are actually sent through the mailbox in either 
direction so that's why it was done this way rather than bring in full 
support for the mailbox.




Kevin



--
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 v2] serial: OMAP: add RS485 support

2013-08-12 Thread Greg KH
On Sun, Aug 11, 2013 at 02:56:50PM +0100, Mark Jackson wrote:
 This patch adds RS485 support to the OMAP serial driver, as
 defined in:-
 
 Documentation/devicetree/bindings/serial/rs485.txt
 
 When a UART transmitter is connected to (eg) a RS485 driver, it is
 necessary to turn the driver on/off as quickly as possible.  This is
 best achieved in the serial driver itself (rather than in userspace
 where the latency can be quite large).
 
 This patch allows a GPIO pin to be defined (via DT) that controls
 the enabling of the driver at the start of a message, and disables
 the driver when the message has been completed.
 
 When RS485 is disabled, the RTS pin is set to on.
 
 Signed-off-by: Mark Jackson m...@newflow.co.uk
 ---
 Changes in v2:
 - Fix incorrect logic in serial_omap_config_rs485()
 
  drivers/tty/serial/omap-serial.c |  178 
 ++
  1 file changed, 178 insertions(+)

This doesn't apply to my tty-next branch:
checking file drivers/tty/serial/omap-serial.c
Hunk #1 FAILED at 40.
Hunk #2 succeeded at 162 (offset 6 lines).
Hunk #3 succeeded at 280 (offset 5 lines).
Hunk #4 succeeded at 378 (offset 6 lines).
Hunk #5 succeeded at 1312 (offset 8 lines).
Hunk #6 succeeded at 1405 (offset 8 lines).
Hunk #7 succeeded at 1528 (offset 10 lines).
Hunk #8 FAILED at 1638.
Hunk #9 succeeded at 1705 (offset 6 lines).
2 out of 9 hunks FAILED

so I can't apply it, sorry.

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 v3] arm: omap5: dts: add palmas-usb node

2013-08-12 Thread Stephen Warren
On 08/12/2013 04:17 AM, Kishon Vijay Abraham I wrote:
 From: Felipe Balbi ba...@ti.com
 
 Without this node, there will be no palmas
 driver to notify dwc3 that a cable has
 been connected and, without that, dwc3
 will never initialize.

 diff --git a/arch/arm/boot/dts/omap5-uevm.dts 
 b/arch/arm/boot/dts/omap5-uevm.dts

   interrupt-controller;
   #interrupt-cells = 2;
  
 + extcon_usb3: palmas_usb {
 + compatible = ti,palmas-usb;

This isn't so much a comment on this patch as the Palmas binding:

Presumably, the Palmas device contains a USB VID detector, not a whole
USB controller. I'd expect the compatible value to indicate this more
directly, i.e. be something like ti,palmas-usb-vid or
ti,palmas-usb-vid-detector.
--
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 v3 01/12] dma: edma: Setup parameters to DMA MAX_NR_SG at a time

2013-08-12 Thread Joel Fernandes
Dropped quite a few from the CC list...

On 08/12/2013 02:15 AM, Sekhar Nori wrote:
 On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 Changes are made here for configuring existing parameters to support
 DMA'ing them out in batches as needed.

 Also allocate as many as slots as needed by the SG list, but not more
 than MAX_NR_SG. Then these slots will be reused accordingly.
 For ex, if MAX_NR_SG=10, and number of SG entries is 40, still only
 10 slots will be allocated to DMA the entire SG list of size 40.

 Signed-off-by: Joel Fernandes jo...@ti.com
 ---
  drivers/dma/edma.c |   14 +++---
  1 file changed, 11 insertions(+), 3 deletions(-)

 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index 5f3e532..7b0853c 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -222,9 +222,9 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  enum dma_slave_buswidth dev_width;
  u32 burst;
  struct scatterlist *sg;
 -int i;
  int acnt, bcnt, ccnt, src, dst, cidx;
  int src_bidx, dst_bidx, src_cidx, dst_cidx;
 +int i, num_slots_needed;
 
 'nslots' is more to my liking. Better keep variable names short.
 
  
  if (unlikely(!echan || !sgl || !sg_len))
  return NULL;
 @@ -262,8 +262,11 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  
  edesc-pset_nr = sg_len;
  
 -for_each_sg(sgl, sg, sg_len, i) {
 -/* Allocate a PaRAM slot, if needed */
 +/* Allocate a PaRAM slot, if needed */
 +
 +num_slots_needed = sg_len  MAX_NR_SG ? MAX_NR_SG : sg_len;
 
 nslots = min(MAX_NR_SG, sg_len);

I agree the original naming was quite long. I would rather using
something more descriptive though than nslots. How does slots_needed sound?

Thanks,

-Joel

--
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 v3 01/12] dma: edma: Setup parameters to DMA MAX_NR_SG at a time

2013-08-12 Thread Joel Fernandes
Responding to other comments in this post,

On 08/12/2013 02:15 AM, Sekhar Nori wrote:

[..]
  if (unlikely(!echan || !sgl || !sg_len))
  return NULL;
 @@ -262,8 +262,11 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  
  edesc-pset_nr = sg_len;
  
 -for_each_sg(sgl, sg, sg_len, i) {
 -/* Allocate a PaRAM slot, if needed */
 +/* Allocate a PaRAM slot, if needed */
 +
 +num_slots_needed = sg_len  MAX_NR_SG ? MAX_NR_SG : sg_len;
 
 nslots = min(MAX_NR_SG, sg_len);

Changed to this, with the +1

 
 +
 +for (i = 0; i  num_slots_needed; i++) {
  if (echan-slot[i]  0) {
  echan-slot[i] =
  edma_alloc_slot(EDMA_CTLR(echan-ch_num),
 @@ -273,6 +276,10 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  return NULL;
  }
  }
 +}
 +
 +/* Configure PaRAM sets for each SG */
 +for_each_sg(sgl, sg, sg_len, i) {
  
  acnt = dev_width;
  
 @@ -330,6 +337,7 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  /* Configure A or AB synchronized transfers */
  if (edesc-absync)
  edesc-pset[i].opt |= SYNCDIM;
 +
 
 Random extra newline.

Removing..

 
 The patch as such is fine, but I dont think it makes lot of sense
 standalone. This needs to be merged into the patch where you actually
 handle the entire SG list in batches.

I think it does actually, this patch just takes care of preparing the
param set list correctly and allocating slots. It doesn't the actual DMA
or take part in the algorithm. As a result, the patch can be reused
incase in future the main algorithm is rewritten in a subsequent series.
Further this patch was reused straight from old implementation so it
proved to be useful being a separate patch last time. I also plan to
rewrite just this functionality in the future.

Thanks,

-Joel


--
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 v3 01/12] dma: edma: Setup parameters to DMA MAX_NR_SG at a time

2013-08-12 Thread Joel Fernandes
On 08/12/2013 06:55 PM, Joel Fernandes wrote:
 Dropped quite a few from the CC list...
 
 On 08/12/2013 02:15 AM, Sekhar Nori wrote:
 On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 Changes are made here for configuring existing parameters to support
 DMA'ing them out in batches as needed.

 Also allocate as many as slots as needed by the SG list, but not more
 than MAX_NR_SG. Then these slots will be reused accordingly.
 For ex, if MAX_NR_SG=10, and number of SG entries is 40, still only
 10 slots will be allocated to DMA the entire SG list of size 40.

 Signed-off-by: Joel Fernandes jo...@ti.com
 ---
  drivers/dma/edma.c |   14 +++---
  1 file changed, 11 insertions(+), 3 deletions(-)

 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index 5f3e532..7b0853c 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -222,9 +222,9 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
 enum dma_slave_buswidth dev_width;
 u32 burst;
 struct scatterlist *sg;
 -   int i;
 int acnt, bcnt, ccnt, src, dst, cidx;
 int src_bidx, dst_bidx, src_cidx, dst_cidx;
 +   int i, num_slots_needed;

 'nslots' is more to my liking. Better keep variable names short.

  
 if (unlikely(!echan || !sgl || !sg_len))
 return NULL;
 @@ -262,8 +262,11 @@ static struct dma_async_tx_descriptor 
 *edma_prep_slave_sg(
  
 edesc-pset_nr = sg_len;
  
 -   for_each_sg(sgl, sg, sg_len, i) {
 -   /* Allocate a PaRAM slot, if needed */
 +   /* Allocate a PaRAM slot, if needed */
 +
 +   num_slots_needed = sg_len  MAX_NR_SG ? MAX_NR_SG : sg_len;

 nslots = min(MAX_NR_SG, sg_len);
 
 I agree the original naming was quite long. I would rather using
 something more descriptive though than nslots. How does slots_needed sound?

Sorry for the noise, nslots is fine and I've changed it to the same.

-Joel

--
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 v3 09/12] dma: edma: Implement multiple linked sets for continuity

2013-08-12 Thread Joel Fernandes
On 08/12/2013 01:56 PM, Sekhar Nori wrote:
 On Monday 05 August 2013 04:14 PM, Joel Fernandes wrote:
 Here we implement splitting up of the total MAX number of slots
 available for a channel into 2 cyclically linked sets. Transfer
 completion Interrupts are enabled on both linked sets and respective
 handler recycles them on completion to process the next linked set.
 Both linked sets are cyclically linked to each other to ensure
 continuity of DMA operations. Interrupt handlers execute asynchronously
 to the EDMA events and recycles the linked sets at the right time,
 as a result EDMA is not blocked or dependent on interrupts and DMA
 continues till the end of the SG-lists without any interruption.

 Suggested-by: Sekhar Nori nsek...@ti.com
 Signed-off-by: Joel Fernandes jo...@ti.com
 ---
  drivers/dma/edma.c |  157 
 +++-
  1 file changed, 118 insertions(+), 39 deletions(-)

 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index df50a04..70923a2 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -48,6 +48,7 @@
  
  /* Max of 16 segments per channel to conserve PaRAM slots */
  #define MAX_NR_SG   16
 +#define MAX_NR_LS   (MAX_NR_SG  1)
  #define EDMA_MAX_SLOTS  (MAX_NR_SG+1)
  #define EDMA_DESCRIPTORS16
  
 @@ -57,6 +58,7 @@ struct edma_desc {
  int absync;
  int pset_nr;
  int total_processed;
 +int next_setup_linkset;
  struct edmacc_param pset[0];
  };
  
 @@ -140,7 +142,9 @@ static void edma_execute(struct edma_chan *echan)
  struct edma_desc *edesc;
  struct device *dev = echan-vchan.chan.device-dev;
  
 -int i, j, total_left, total_process;
 +int i, total_left, total_link_set;
 +int ls_cur_off, ls_next_off, slot_off;
 +struct edmacc_param tmp_param;
  
  /* If either we processed all psets or we're still not started */
  if (!echan-edesc ||
 @@ -159,48 +163,121 @@ static void edma_execute(struct edma_chan *echan)
  
  /* Find out how many left */
  total_left = edesc-pset_nr - edesc-total_processed;
 -total_process = total_left  MAX_NR_SG ? MAX_NR_SG : total_left;
 -
 -
 -/* Write descriptor PaRAM set(s) */
 -for (i = 0; i  total_process; i++) {
 -j = i + edesc-total_processed;
 -edma_write_slot(echan-slot[i], edesc-pset[j]);
 -dev_dbg(echan-vchan.chan.device-dev,
 -\n pset[%d]:\n
 -  chnum\t%d\n
 -  slot\t%d\n
 -  opt\t%08x\n
 -  src\t%08x\n
 -  dst\t%08x\n
 -  abcnt\t%08x\n
 -  ccnt\t%08x\n
 -  bidx\t%08x\n
 -  cidx\t%08x\n
 -  lkrld\t%08x\n,
 -j, echan-ch_num, echan-slot[i],
 -edesc-pset[j].opt,
 -edesc-pset[j].src,
 -edesc-pset[j].dst,
 -edesc-pset[j].a_b_cnt,
 -edesc-pset[j].ccnt,
 -edesc-pset[j].src_dst_bidx,
 -edesc-pset[j].src_dst_cidx,
 -edesc-pset[j].link_bcntrld);
 -/* Link to the previous slot if not the last set */
 -if (i != (total_process - 1))
 
 +total_link_set = total_left  MAX_NR_LS ? MAX_NR_LS : total_left;
 
 The name you gave here sounds like this is defining total number of
 linked PaRAM sets. Rather this is actually tracking the number of PaRAM
 sets (slots) in current linked set, correct? Then may be just call it
 'nslots' or even 'num_slots'? There are just too many variables with
 total prefix to keep track of in this function!

I would rather just leave this naming alone. The code is quite self
documenting: total_link_set means Calculate what's the total size of a
Linkset, or total no.of slots in a linkset we need. This naming is fine
in my opinion and doesn't hurt line size at all, instead improving code
readability. I could dump the _ between link and set to make it:
total_linkset if that makes it any easier.

I agree there are too many variables in this function, but they each
serve a different purpose and required to implement the algorithm, which
is precisely I made them naming a bit more descriptive.

 
 +
 +/* First time, setup 2 cyclically linked sets, each containing half
 +   the slots allocated for this channel */
 +if (edesc-total_processed == 0) {
 
 We dont need to check for this case for every DMA_COMPLETE interrupt.
 May be move the initial setup to another function called from
 edma_issue_pending()?

But how? That would only change the code to (?):

if (edesc-total_processed == 0) {
issue_pending();
}

Further it maybe appear that this case is uncommon, but it is a 

Re: [PATCH v3 07/12] dma: edma: Add function to dump a PaRAM set from PaRAM

2013-08-12 Thread Joel Fernandes
On 08/12/2013 12:52 AM, Sekhar Nori wrote:
 On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 Previously, such a dump function was used but it wasn't reading
 from the PaRAM, rather just from a edmacc_param structure, we
 add a helpful function for debugging that directly reads from
 the PaRAM and gives the current state correctly (including links
 and interrupt information).

 Signed-off-by: Joel Fernandes jo...@ti.com
 
 You should convert existing instances of PaRAM set dump to use this new
 function along with introducing it.

Well, the old dump callers were thrown out with completely rewritten
code. This rewritten code already contains the dump calls. Are you
saying pull out those dump pset calls into a separate patch?

Thanks,

-Joel

 Sekhar
 
 ---
  drivers/dma/edma.c |   31 +++
  1 file changed, 31 insertions(+)

 diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
 index 080d669..a242269 100644
 --- a/drivers/dma/edma.c
 +++ b/drivers/dma/edma.c
 @@ -102,6 +102,37 @@ static void edma_desc_free(struct virt_dma_desc *vdesc)
  kfree(container_of(vdesc, struct edma_desc, vdesc));
  }
  
 +static inline void dump_pset(struct edma_chan *echan, int slot,
 + struct edmacc_param *pset_unused, int pset_idx)
 +{
 +struct edmacc_param pset_local, *pset;
 +pset = pset_local;
 +
 +edma_read_slot(slot, pset);
 +
 +dev_dbg(echan-vchan.chan.device-dev,
 +\n pset[%d]:\n
 +  chnum\t%d\n
 +  slot\t%d\n
 +  opt\t%08x\n
 +  src\t%08x\n
 +  dst\t%08x\n
 +  abcnt\t%08x\n
 +  ccnt\t%08x\n
 +  bidx\t%08x\n
 +  cidx\t%08x\n
 +  lkrld\t%08x\n,
 +pset_idx, echan-ch_num, slot,
 +pset[0].opt,
 +pset[0].src,
 +pset[0].dst,
 +pset[0].a_b_cnt,
 +pset[0].ccnt,
 +pset[0].src_dst_bidx,
 +pset[0].src_dst_cidx,
 +pset[0].link_bcntrld);
 +}
 +
  /* Dispatch a queued descriptor to the controller (caller holds lock) */
  static void edma_execute(struct edma_chan *echan)
  {

 
 --
 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
 

--
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 v3 08/12] dma: edma: Add one more required slot to MAX slots

2013-08-12 Thread Joel Fernandes
On 08/12/2013 12:56 AM, Sekhar Nori wrote:
 On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote:
 We'd now need a separate slot just for the channel and separate
 ones for the 2 linked sets, so we make adjustments to allocate
 an extra channel accordingly.

 Signed-off-by: Joel Fernandes jo...@ti.com
 
 No need for a separate patch for this, just do this in the patch where
 you include the two linked sets.

Ok, I dropped this patch. Anyway, most of this patch has gone away now
because of other changes you suggested.

Thanks,

-Joel

--
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 1/2] extcon: palmas: Added a new compatible type *ti,palmas-usb-vid*

2013-08-12 Thread Kishon Vijay Abraham I
The Palmas device contains only a USB VID detector, so added a
compatible type *ti,palmas-usb-vid*. Dint remove the existing compatible
types for backward compatibility.

Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
---
 Documentation/devicetree/bindings/extcon/extcon-twl.txt |3 ++-
 drivers/extcon/extcon-palmas.c  |1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/extcon/extcon-twl.txt 
b/Documentation/devicetree/bindings/extcon/extcon-twl.txt
index 58f531a..5be4afc 100644
--- a/Documentation/devicetree/bindings/extcon/extcon-twl.txt
+++ b/Documentation/devicetree/bindings/extcon/extcon-twl.txt
@@ -2,7 +2,8 @@ EXTCON FOR TWL CHIPS
 
 PALMAS USB COMPARATOR
 Required Properties:
- - compatible : Should be ti,palmas-usb or ti,twl6035-usb
+ - compatible : Should be ti,palmas-usb or ti,twl6035-usb or
+   ti,palmas-usb-vid.
  - vbus-supply : phandle to the regulator device tree node.
 
 Optional Properties:
diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c
index b752a0a..4f83fae 100644
--- a/drivers/extcon/extcon-palmas.c
+++ b/drivers/extcon/extcon-palmas.c
@@ -223,6 +223,7 @@ static int palmas_usb_remove(struct platform_device *pdev)
 
 static struct of_device_id of_palmas_match_tbl[] = {
{ .compatible = ti,palmas-usb, },
+   { .compatible = ti,palmas-usb-vid, },
{ .compatible = ti,twl6035-usb, },
{ /* end */ }
 };
-- 
1.7.10.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


[PATCH v4 2/2] arm: omap5: dts: add palmas-usb node

2013-08-12 Thread Kishon Vijay Abraham I
From: Felipe Balbi ba...@ti.com

Without this node, there will be no palmas
driver to notify dwc3 that a cable has
been connected and, without that, dwc3
will never initialize.

[ kis...@ti.com : fix vbus-supply value after SMPS10 is modeled as 2 regulators]

Signed-off-by: Felipe Balbi ba...@ti.com
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
---
Changes from v3:
* Changed the compatible type to ti,palmas-usb-vid

Changes from v2:
fix vbus-supply value after SMPS10 is modeled as 2 regulators. This is needed
after SMPS10 is modeled as 2 regulators.
[1] models SMPS10 as 2 regulators.
[2] splits the SMPS10 node into two to represent the 2 regulators.

[1] - http://comments.gmane.org/gmane.linux.kernel/1542521
[2] - http://www.mail-archive.com/linux-omap@vger.kernel.org/msg93779.html

 arch/arm/boot/dts/omap5-uevm.dts |   10 ++
 arch/arm/boot/dts/omap5.dtsi |2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/omap5-uevm.dts b/arch/arm/boot/dts/omap5-uevm.dts
index e8704bc..c18ea50 100644
--- a/arch/arm/boot/dts/omap5-uevm.dts
+++ b/arch/arm/boot/dts/omap5-uevm.dts
@@ -272,6 +272,11 @@
interrupt-controller;
#interrupt-cells = 2;
 
+   extcon_usb3: palmas_usb {
+   compatible = ti,palmas-usb-vid;
+   ti,wakeup;
+   };
+
palmas_pmic {
compatible = ti,palmas-pmic;
interrupt-parent = palmas;
@@ -460,6 +465,11 @@
phys = 0 hsusb2_phy hsusb3_phy;
 };
 
+usb3 {
+   extcon = extcon_usb3;
+   vbus-supply = smps10_out1_reg;
+};
+
 mcspi1 {
 
 };
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 4e41409..1659246 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -634,7 +634,7 @@
ti,type = 2;
};
 
-   omap_dwc3@4a02 {
+   usb3: omap_dwc3@4a02 {
compatible = ti,dwc3;
ti,hwmods = usb_otg_ss;
reg = 0x4a02 0x1;
-- 
1.7.10.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