Re: [RESEND][PATCH 1/3] arm: dts: introduce config HAS_BANDGAP

2013-05-08 Thread Tomi Valkeinen
On 07/05/13 22:06, Aaro Koskinen wrote:
 On Tue, May 07, 2013 at 12:27:11PM -0600, Jason Gunthorpe wrote:
 On Tue, May 07, 2013 at 09:15:00AM -0400, Eduardo Valentin wrote:
 But broadly the direction seems that drivers should have minimal
 dependencies so, eg, the thermal maintainer compiling for x86 should
 be able to compile test/static analyze your driver..

 Well, I do not see much of this attempt actually. Do you have some link
 / evidene that shows someone who actually cares about compiling drivers
 for targets that they are not used for? On this specific driver, I
 actually have  had exactly the opposite advice [1]. I am not convinced
 people actually want to do that.

 There was a discussion a bit ago, but I can't find a link.. The
 context was subsystem maintainers are being asked to look after more
 code with the DT transition moving things out of arch/arm and at least
 one complained they couldn't even compile test on x86... But again, I
 can't find a link and you are right, there are lots and lots of
 'depends ARCH..' style things in kConfig already.

 Lets just call it something to think about.
 
 Tomi started a thread related to this recently:
 
   http://marc.info/?l=linux-kernelm=136731558332265w=2
 
 I think there's some good reasons listed there, but I guess up to the
 subsystem maintainers to decide what they prefer.

As Sam pointed out in that thread, there's no need to change the Kconfig
language for this. I did some testing with fb drivers, by having a
CONFIG_ALL_FB_DRIVERS option which removes the arch dependencies for
some fb drivers.

It does uglify the Kconfig files a bit:

-   depends on FB  (SUPERH || ARCH_SHMOBILE)  HAVE_CLK
+   depends on FB  (SUPERH || ARCH_SHMOBILE || ALL_FB_DRIVERS) 
HAVE_CLK

I'm still undecided if I want to pursue this with fb drivers, as it
seems that quite many of them do really depend on the arch code, and I'm
not interested in trying to fix them.

But if other subsystems would benefit of this also, perhaps we could
have a common CONFIG entry that would allow compiling a driver on any
arch. I just can't think of a good name for the config entry =).

 Tomi




signature.asc
Description: OpenPGP digital signature


[PATCH] ARM: OMAP3+: am33xx id: Add new am33xx specific function to check dev_feature

2013-05-08 Thread Vaibhav Hiremath
Layout of DEV_FEATURE register (offset = 0x604) is different
between TI81xx and AM33xx device, so create separate function
which will check for features available on specific AM33xx SoC
and set the flags accordingly.

Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
---
 arch/arm/mach-omap2/control.h |5 +
 arch/arm/mach-omap2/id.c  |   13 +
 arch/arm/mach-omap2/io.c  |2 +-
 arch/arm/mach-omap2/soc.h |1 +
 4 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
index e6c3281..4acdfc5 100644
--- a/arch/arm/mach-omap2/control.h
+++ b/arch/arm/mach-omap2/control.h
@@ -358,6 +358,11 @@
 #define AM33XX_CONTROL_STATUS_SYSBOOT1_WIDTH   0x2
 #define AM33XX_CONTROL_STATUS_SYSBOOT1_MASK(0x3  22)
 
+/* DEV Feature register to identify AM33XX features */
+#define AM33XX_DEV_FEATURE 0x604
+#define AM33XX_SGX_SHIFT   29
+#define AM33XX_SGX_MASK(1  AM33XX_SGX_SHIFT)
+
 /* CONTROL OMAP STATUS register to identify OMAP3 features */
 #define OMAP3_CONTROL_OMAP_STATUS  0x044c
 
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 9bc5a18..02feef7 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -302,6 +302,19 @@ void __init ti81xx_check_features(void)
omap3_cpuinfo();
 }
 
+void __init am33xx_check_features(void)
+{
+   u32 status;
+
+   omap_features = OMAP3_HAS_NEON;
+
+   status = omap_ctrl_readl(AM33XX_DEV_FEATURE);
+   if (status  AM33XX_SGX_MASK)
+   omap_features |= OMAP3_HAS_SGX;
+
+   omap3_cpuinfo();
+}
+
 void __init omap3xxx_check_revision(void)
 {
const char *cpu_rev;
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 09abf99..06a8946 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -576,7 +576,7 @@ void __init am33xx_init_early(void)
omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE));
omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL);
omap3xxx_check_revision();
-   ti81xx_check_features();
+   am33xx_check_features();
am33xx_voltagedomains_init();
am33xx_powerdomains_init();
am33xx_clockdomains_init();
diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
index ccef2dd..7d8722c 100644
--- a/arch/arm/mach-omap2/soc.h
+++ b/arch/arm/mach-omap2/soc.h
@@ -424,6 +424,7 @@ void omap4xxx_check_revision(void);
 void omap5xxx_check_revision(void);
 void omap3xxx_check_features(void);
 void ti81xx_check_features(void);
+void am33xx_check_features(void);
 void omap4xxx_check_features(void);
 
 /*
-- 
1.7.0.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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Arnd Bergmann
On Wednesday 08 May 2013, Peter Chen wrote:
 
  This probably could be initialized from some DT property. However,
  there's no such property defined right now, and considering that DT is
  supposed to be an ABI, we'd always need the code in this patch as a
  fallback for DTs that were created before any such property was defined.
 
  Equally, since the data is SoC-specific rather than board-specific, and
  is even fairly unlikely to vary between SoC versions since these values
  are all 0x anyway, I don't really see much point in putting it
  into DT, rather than just putting the static data into the driver.
 
 I mean there is already dev-dev.coherent_dma_mask = DMA_BIT_MASK(32);
 at function of_platform_device_create, why can't add
 dev-dev.dma_mask = dev-dev.coherent_dma_mask after that?
 
 If DT core can do above things, can we delete dma_mask assignment
 at every driver?

It probably should. The main thing is that the dma_mask setting in
of_platform (and elsewhere) is a mess and that nobody so far had the
guts to try to get it right for good.

Setting a 32 bit DMA mask is /probably/ the right default on all
ARM systems, but there are caveats:

- Once you get to systems with larger than 32 bit addressing (powerpc64,
  arm64, arm32 with LPAE), it's not so obvious: you may have some devices
  that need a 32 bit mask and some that need a 64 bit mask.

- Some (very rare these days, thankfully) devices require a mask that is
  less than 32 bits. Since that knowledge is device specific, not platform
  specific, it should probably stay in the driver.

- There are cases (I know them only on powerpc, but they probably exist
  on ARM and other places too) where the mapping from bus addresses to
  physical addresses is not linear. There is a device-tree binding for
  a dma-ranges property that can accurately describe the specific
  mapping. Actually using this on architecture independent code requires
  not only setting the dma_mask but also supporting the remapping
  in the dma_map_ops.

- Things get more interesting in combination with an IOMMU. If we have
  an IOMMU, I think we should set the dma_mask pointer to the mask of
  the IOMMU and set the map_ops accordingly.

- Whether we actually need coherent_dma_mask these days is another hard
  question to answer. I suspect that the only thing really needing it
  was some version of the Itanium based Altix machine for its PCI
  devices and we'd be better off finding a simpler solution for platform
  devices. For all practical purposes I think coherent_dma_mask must be
  the same as dma_mask.

Arnd
--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Matthijs Kooijman
Hi,

 For the ramips target, the MIPS folks suggested another approach: The
 soc code finds the platform_device generated by DT and adds the
 dma_mask:
 
 http://www.linux-mips.org/archives/linux-mips/2013-04/msg00162.html

For completeness: It seems this approach is not going to be used after
all. The approach (not this particular patch) was conceived to get ehci
support on ramips, but now that echi also sets a default mask and it
turns out that the other setup needed is best done through a phy device,
this approach is probably not needed anymore for ehci. For dwc2, I guess
it should also set up a dma_mask like ehci does (at least until we sort
out this thread) :-)

Gr.

Matthijs
--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Matthijs Kooijman
Hi folks,

I also bumped into the question of how to set the dma_mask when enabling
the dwc2 driver on the ramips target and found there didn't seem to be
any clear way to get a dma_mask.

It seems to me that in the pre-DT era, a platform_device would get a
dma_mask when it was defined in the board / soc code, which makes sense
since that code knows if a dma_mask is required and what its value
should be (it seems to me that a driver can only know it needs a
dma_mask, but not what value it should have?).

  This probably could be initialized from some DT property. However,
  there's no such property defined right now, and considering that DT is
  supposed to be an ABI, we'd always need the code in this patch as a
  fallback for DTs that were created before any such property was defined.
It seems there has already been a patch to implement this. For
reference, this seems to be the most recent version:

https://lkml.org/lkml/2012/12/4/54

And here's the previous attempt, to which Rob Herring refers in a reply.

https://lists.ozlabs.org/pipermail/devicetree-discuss/2012-March/013180.html

  Equally, since the data is SoC-specific rather than board-specific, and
  is even fairly unlikely to vary between SoC versions since these values
  are all 0x anyway, I don't really see much point in putting it
  into DT, rather than just putting the static data into the driver.

 I mean there is already dev-dev.coherent_dma_mask = DMA_BIT_MASK(32);
 at function of_platform_device_create, why can't add
 dev-dev.dma_mask = dev-dev.coherent_dma_mask after that?
Perhaps it would sense to set the 32-bit mask as a default, but allow to
override this mask from the devicetree for boards that need another
value? Or perhaps override it from the soc code instead?

For the ramips target, the MIPS folks suggested another approach: The
soc code finds the platform_device generated by DT and adds the
dma_mask:

http://www.linux-mips.org/archives/linux-mips/2013-04/msg00162.html

 If DT core can do above things, can we delete dma_mask assignment
 at every driver?
That would seem like a likeably goal to me :-)


Gr.

Matthijs
--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Rob Herring
On 05/08/2013 02:11 AM, Matthijs Kooijman wrote:
 Hi folks,
 
 I also bumped into the question of how to set the dma_mask when enabling
 the dwc2 driver on the ramips target and found there didn't seem to be
 any clear way to get a dma_mask.
 
 It seems to me that in the pre-DT era, a platform_device would get a
 dma_mask when it was defined in the board / soc code, which makes sense
 since that code knows if a dma_mask is required and what its value
 should be (it seems to me that a driver can only know it needs a
 dma_mask, but not what value it should have?).
 
 This probably could be initialized from some DT property. However,
 there's no such property defined right now, and considering that DT is
 supposed to be an ABI, we'd always need the code in this patch as a
 fallback for DTs that were created before any such property was defined.
 It seems there has already been a patch to implement this. For
 reference, this seems to be the most recent version:
 
 https://lkml.org/lkml/2012/12/4/54
 
 And here's the previous attempt, to which Rob Herring refers in a reply.
 
 https://lists.ozlabs.org/pipermail/devicetree-discuss/2012-March/013180.html

I believe most of the issues have been around supporting ARM LPAE
systems. There is a much more simple approach to address this by using
the dma_addr_t size to set the coherent_dma_mask which I have queued for
3.11:

https://patchwork-mail1.kernel.org/patch/2495861/

This does not set dma_mask though. There's always been some mystery
around why there are separate masks. I think for most systems dma_mask
can be set to coherent_dma_mask based on what Arnd found:

http://pastebin.com/E7fFVJyq

This can always be overridden by a platform with a bus notifier or by a
driver if needed.

Rob

 
 Equally, since the data is SoC-specific rather than board-specific, and
 is even fairly unlikely to vary between SoC versions since these values
 are all 0x anyway, I don't really see much point in putting it
 into DT, rather than just putting the static data into the driver.

 I mean there is already dev-dev.coherent_dma_mask = DMA_BIT_MASK(32);
 at function of_platform_device_create, why can't add
 dev-dev.dma_mask = dev-dev.coherent_dma_mask after that?
 Perhaps it would sense to set the 32-bit mask as a default, but allow to
 override this mask from the devicetree for boards that need another
 value? Or perhaps override it from the soc code instead?
 
 For the ramips target, the MIPS folks suggested another approach: The
 soc code finds the platform_device generated by DT and adds the
 dma_mask:
 
 http://www.linux-mips.org/archives/linux-mips/2013-04/msg00162.html
 
 If DT core can do above things, can we delete dma_mask assignment
 at every driver?
 That would seem like a likeably goal to me :-)
 
 
 Gr.
 
 Matthijs
 
 ___
 linux-arm-kernel mailing list
 linux-arm-ker...@lists.infradead.org
 http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
 

--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Arnd Bergmann
On Wednesday 08 May 2013, Rob Herring wrote:
 On 05/08/2013 02:11 AM, Matthijs Kooijman wrote:

  https://lkml.org/lkml/2012/12/4/54
  
  And here's the previous attempt, to which Rob Herring refers in a reply.
  
  https://lists.ozlabs.org/pipermail/devicetree-discuss/2012-March/013180.html
 
 I believe most of the issues have been around supporting ARM LPAE
 systems. There is a much more simple approach to address this by using
 the dma_addr_t size to set the coherent_dma_mask which I have queued for
 3.11:
 
 https://patchwork-mail1.kernel.org/patch/2495861/

Hmm, this approach seems wrong -- a lot of devices I expect cannot
actually do DMA to addresses beyond 4GB. A better default would
be to use a 32 bit mask for all devices and override the ones that
actually matter for performance and are known to be 64-bit DMA
capable.

Laura, you obviously tried this code on an LPAE-enabled system. Have
you had a look in the hardware manual which DMA masters in the
system are actually 64-bit capable?

Arnd
--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Alan Stern
On Wed, 8 May 2013, Arnd Bergmann wrote:

 On Wednesday 08 May 2013, Greg Kroah-Hartman wrote:
  On Tue, May 07, 2013 at 04:53:52PM -0600, Stephen Warren wrote:
   From: Stephen Warren swar...@nvidia.com
 
   Suggested-by: Arnd Bergmann a...@arndb.de
   Signed-off-by: Stephen Warren swar...@nvidia.com
  
  So this needs to go in for 3.10, right?  Any older kernels as well?  If
  so, which ones?
 
 The fix should definitely go into 3.10, but I'd suggest waiting with
 the backport for a couple of -rc releases to avoid possible regressions.
 We know that the current code is broken, but few people fully understand
 what is going on with coherent_dma_mask, so it might cause new problems
 in combination with some other unknown bug, and I don't see this as
 urgent: none of the ARM defconfigs build this driver as a loadable
 module and there is no bug in the built-in case. For some reason, only
 the ARM back-end drivers are broken.
 
 The first occurence was apparently in 3.3, but only in ehci-tegra.c,
 while the other drivers subsequently copied the bug.

An alternative solution -- perhaps not better but also not relying on
coherent_dma_mask -- is to clear pdev-dev.dma_mask in the remove
routine if it points to the static mask value.

Alan Stern

--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Arnd Bergmann
On Wednesday 08 May 2013, Alan Stern wrote:
  The first occurence was apparently in 3.3, but only in ehci-tegra.c,
  while the other drivers subsequently copied the bug.
 
 An alternative solution -- perhaps not better but also not relying on
 coherent_dma_mask -- is to clear pdev-dev.dma_mask in the remove
 routine if it points to the static mask value.
 

Yes, I thought about that, but couldn't see any advantage one way
or the other and this one seemed simpler.

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


[PATCH V5 3/6] ARM: dts: OMAP4: add clock nodes for CPU

2013-05-08 Thread Nishanth Menon
OMAP443x, OMAP446x and OMAP447x platforms use dpll_mpu clock.
Add same to common definition.

Cc: Benoit Cousson b-cous...@ti.com
Signed-off-by: Nishanth Menon n...@ti.com
---
no change in current revision.
Previous version: http://marc.info/?l=linux-kernelm=136580751024225w=2

 arch/arm/boot/dts/omap4.dtsi |7 +++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 2a56428..1c6d969 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -31,6 +31,8 @@
cpu@0 {
compatible = arm,cortex-a9;
next-level-cache = L2;
+   clocks = dpll_mpu;
+   clock-names = cpu;
};
cpu@1 {
compatible = arm,cortex-a9;
@@ -106,6 +108,11 @@
ti,hwmods = counter_32k;
};
 
+   dpll_mpu: dpll_mpu {
+   #clock-cells = 0;
+   compatible = ti,omap-clock;
+   };
+
omap4_pmx_core: pinmux@4a100040 {
compatible = ti,omap4-padconf, pinctrl-single;
reg = 0x4a100040 0x0196;
-- 
1.7.9.5

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


[PATCH V5 2/6] ARM: dts: OMAP3: add clock nodes for CPU

2013-05-08 Thread Nishanth Menon
OMAP34xx and OMAP36xx platforms use dpll1 clock. Add same to common
definition.

Cc: Benoit Cousson b-cous...@ti.com
Signed-off-by: Nishanth Menon n...@ti.com
---
no change in current revision.
Previous version: http://marc.info/?l=linux-kernelm=136580740024201w=2

 arch/arm/boot/dts/omap3.dtsi |7 +++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 4ad03d9..4f445ca 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -23,6 +23,8 @@
cpus {
cpu@0 {
compatible = arm,cortex-a8;
+   clocks = dpll1;
+   clock-names = cpu;
};
};
 
@@ -73,6 +75,11 @@
ti,hwmods = counter_32k;
};
 
+   dpll1: dpll1 {
+   #clock-cells = 0;
+   compatible = ti,omap-clock;
+   };
+
intc: interrupt-controller@4820 {
compatible = ti,omap2-intc;
interrupt-controller;
-- 
1.7.9.5

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


[PATCH V5 4/6] ARM: dts: AM33XX: add clock nodes for CPU

2013-05-08 Thread Nishanth Menon
AM33XX based platforms use dpll_mpu clock. Add same to common dtsi
and remove the dummy clock node entry as AM33XX platform supports
only device tree based boot.

Cc: Benoit Cousson b-cous...@ti.com
Cc: Kevin Hilman khil...@deeprootsystems.com
Cc: Paul Walmsley p...@pwsan.com
Cc: Tony Lindgren t...@atomide.com
Signed-off-by: Nishanth Menon n...@ti.com
---
Change in this revision from previous:
- rebase, no functional change.
Previous version: http://marc.info/?l=linux-kernelm=136580755324232w=2

 arch/arm/boot/dts/am33xx.dtsi |7 +++
 arch/arm/mach-omap2/cclock33xx_data.c |1 -
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index d110110..27f6eb1 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -42,6 +42,8 @@
275000  1125000
;
voltage-tolerance = 2; /* 2 percentage */
+   clocks = dpll_mpu;
+   clock-names = cpu;
clock-latency = 30; /* From omap-cpufreq driver */
};
};
@@ -89,6 +91,11 @@
reg = 0x4820 0x1000;
};
 
+   dpll_mpu: dpll_mpu {
+   #clock-cells = 0;
+   compatible = ti,omap-clock;
+   };
+
gpio0: gpio@44e07000 {
compatible = ti,omap4-gpio;
ti,hwmods = gpio1;
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c 
b/arch/arm/mach-omap2/cclock33xx_data.c
index 6ebc780..4e39171 100644
--- a/arch/arm/mach-omap2/cclock33xx_data.c
+++ b/arch/arm/mach-omap2/cclock33xx_data.c
@@ -860,7 +860,6 @@ static struct omap_clk am33xx_clks[] = {
CLK(NULL,   dpll_core_m5_ck,  dpll_core_m5_ck),
CLK(NULL,   dpll_core_m6_ck,  dpll_core_m6_ck),
CLK(NULL,   dpll_mpu_ck,  dpll_mpu_ck),
-   CLK(cpu0, NULL,   dpll_mpu_ck),
CLK(NULL,   dpll_mpu_m2_ck,   dpll_mpu_m2_ck),
CLK(NULL,   dpll_ddr_ck,  dpll_ddr_ck),
CLK(NULL,   dpll_ddr_m2_ck,   dpll_ddr_m2_ck),
-- 
1.7.9.5

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


[PATCH V5 1/6] clk: OMAP: introduce device tree binding to kernel clock data

2013-05-08 Thread Nishanth Menon
OMAP clock data is located in arch/arm/mach-omap2/cclockXYZ_data.c.
However, this presents an obstacle for using these clock nodes in
Device Tree definitions. This is especially true for board specific
clocks initially. The fixed clocks are currently found via clock
aliases table. There are many possible approaches to this problem as
discussed in the following thread:
http://marc.info/?t=13637032569r=1w=2.
Highlights of the options:
a) device specific clk_add_alias:
   cons: driver handling required
b) using an generic clk node and indexing to reach the clock required.
   This is similar in approach taken by tegra and few other platforms.
   Example usage: clock = clk 5;
   cons: potential to have mismatches in indexed table and associated
   dtb data. In addition, managing continued documentation in bindings
   as clock indexing increases. Even though readability angle could be
   improved by using preprocessing of DT using macros, indexed
   approach is inherently risky from cases like the following:
   clk indexes in kernel:
   1 - mpu_dpll
   2 - aux_clk1
   3 - core_clk
   DT entry for peripheral X uses clk 2 to reach aux_clk1. Now, let's
   say kernel updates indices to:
   1 - mpu_dpll
   2 - per_dpll
   3 - aux_clk1
   4 - core_clk
   using the old dtb(or dts missing an update), on new kernel which
   has updated indices will result in per_dpll now controlled for
   peripheral X without warning or any potential error detection.

   Even though we could claim this is user error, such errors are hard
   to track down and fix.

An alternate approach introduced here is to introduce device tree
bindings corresponding to the clock nodes required in DT definition
for SoC which automatically maps back to the definitions in
cclockXYZ_data.c.

The driver introduced here to do this mapping will eventually be the
place where the clock handling will migrate to. We need to consider
this angle as well so that the solution will be an valid transition
point for moving the clock data out of kernel image (into device tree
or firmware load etc..).

Overall strategy introduced here is simple: a clock node described in
device tree blob is used to identify the exact clock provided in the
SoC specific data. This is then linked back using of_clk_add_provider
to the device node to be accessible by of_clk_get.

Based on discussion contributions from Roger Quadros, Grygorii Strashko
and others.

Cc: Kevin Hilman khil...@deeprootsystems.com
Cc: Mike Turquette mturque...@linaro.org
Cc: Paul Walmsley p...@pwsan.com
[t...@atomide.com: co-developed]
Signed-off-by: Tony Lindgren t...@atomide.com
Signed-off-by: Nishanth Menon n...@ti.com
---
Changes in this version:
- review comments incorporated.
Previous version of this patch was discussed in:
http://marc.info/?t=13658075851r=1w=2

 .../devicetree/bindings/clock/omap-clock.txt   |   40 +
 drivers/clk/Makefile   |1 +
 drivers/clk/omap/Makefile  |1 +
 drivers/clk/omap/clk.c |   91 
 4 files changed, 133 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/omap-clock.txt
 create mode 100644 drivers/clk/omap/Makefile
 create mode 100644 drivers/clk/omap/clk.c

diff --git a/Documentation/devicetree/bindings/clock/omap-clock.txt 
b/Documentation/devicetree/bindings/clock/omap-clock.txt
new file mode 100644
index 000..047c1e7
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/omap-clock.txt
@@ -0,0 +1,40 @@
+Device Tree Clock bindings for Texas Instrument's OMAP compatible platforms
+
+This binding is an initial minimal binding that may be enhanced as part of
+transitioning OMAP clock data out of kernel image.
+
+This binding uses the common clock binding[1].
+
+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
+
+Required properties:
+- compatible : shall be ti,omap-clock
+- #clock-cells : from common clock binding; shall be set to 0.
+NOTE:
+node name should map to clock database in 
arch/arm/mach-omap2/cclockSoC_data.c
+Since all clocks are described with _ck, the node name is optimized to drop the
+usage of _ck. For example, a clock called dpll1_ck will be defined as dpll1.
+
+Example #1: describing clock node for CPU on OMAP34xx platform:
+Ref: arch/arm/mach-omap2/cclock3xxx_data.c
+describes the CPU clock to be as follows
+   CLK(NULL,   dpll1_ck, dpll1_ck,  CK_3XXX),
+Corresponding binding will be:
+   dpll1: dpll1 {
+   #clock-cells = 0;
+   compatible = ti,omap-clock;
+   };
+And it's usage will be:
+   clocks = dpll1;
+
+Example #2: describing clock node for auxilary clock #3 on OMAP443x platform:
+Ref: arch/arm/mach-omap2/cclock44xx_data.c
+describes the auxclk3 clock to be as follows:
+   CLK(NULL,   auxclk3_ck,   auxclk3_ck,CK_443X),
+Corresponding binding will be:
+   auxclk3: auxclk3 {
+   

[PATCH V5 0/6] ARM: OMAP3+: support cpufreq-cpu0 for device tree boot

2013-05-08 Thread Nishanth Menon
The following version 5 of the series arose from trying to use
BeagleBoard-XM (OMAP3 variant) for doing CPU DVFS using cpufreq-cpu0.
This series enables the generic cpufreq-cpu0 driver to be used in
device tree enabled boot while maintaining support of the legacy
omap-cpufreq driver when used in non device tree enabled boot.

However, in order to enable complete SoC entitlement for OMAP
platforms, with this series, key features are still pending on device
tree adaptation for OMAP:
A) clock framework data transition to DT - this series provides an
driver to allow device tree definition of clock node.
B) On processors that use voltage controller, voltage processor
(VC/VP hardware loop using I2C_SR path) - we have started work on
transitioning them to regulator framework driven by DT.
C) Adaptive Body Bias[2] and SmartReflex AVS conversion to DT.

Note: Common Clock Framework(CCF) could also control regulators[3] and
AVS to ensure proper sequencing required for full DVFS sequencing.
Once these conversions are complete, there might be minimal cleanup
work to switch to the new data structure changes.

Key benefit of the series is to allow all relevant TI platforms now to
use a single cpufreq driver and equivalent frameworks in addition be
part of the transition to device tree.

NOTE on this series:
1. omap-cpufreq will be used only in non device tree boot scenario. we
should delete this driver once the 100% DT conversion is complete.
2. Generic cpufreq-cpu0 will be used only in device tree boot scenario
boot systems
3. clock data movement as approached by Tero in [4] is not the
objective of this series
4. meant for post 3.10-rc1 tag

Key changes in version 5 since version 4:
- rebase with master for 3.10-rc1 intermediate
- review comments incorporated

version 4 of the series:
http://marc.info/?l=linux-arm-kernelm=136580742724210w=2
available at:

https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v4

version 3 of the series:
http://marc.info/?l=linux-pmm=136450759315742w=2
available at:

https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v3

version 2 of the series:
http://marc.info/?t=13637157023r=1w=2
available at:

https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v2

version 1 of the series:
http://marc.info/?t=13632948545r=1w=2
available at:

https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v1

[1] Original discussion thread which triggered this series:
http://marc.info/?l=linux-pmm=136304313700602w=2
https://patchwork.kernel.org/patch/2251841/
https://patchwork.kernel.org/patch/2251851/
[2] ABB series: http://marc.info/?l=linux-omapm=136751559523901w=2 (ABB DTS 
merge pending)
[3] CCF DVFS patches:
https://patchwork.kernel.org/patch/2195431/
https://patchwork.kernel.org/patch/2195421/
https://patchwork.kernel.org/patch/2195451/
https://patchwork.kernel.org/patch/2195441/
https://patchwork.kernel.org/patch/2195461/
[4] http://marc.info/?t=13638874501r=1w=2

Version 5 is now based on master since all requisite for-next branches have 
been merged.
master 5af43c2 Merge branch 'akpm' (incoming from Andrew)

Version 4 is also available at:

https://github.com/nmenon/linux-2.6-playground/commits/push/cpufreq-cpu0-omap-all-v5
git link: git://github.com/nmenon/linux-2.6-playground.git
branch: cpufreq-cpu0-omap-all-v5

Test coverage:
test script:  http://pastebin.com/GsavxiDe
(note - to allow testing, I followed the suggestion in 
https://lkml.org/lkml/2013/5/8/19 )

Platforms verified:
beaglebone(rev A6a) - AM33xx compatible - http://pastebin.com/zANKsYBp
beagleboard (rev C1D) - OMAP3430 compatible
- DT enabled boot:  http://pastebin.com/q4qZYVaK
- No DT enabled boot: http://pastebin.com/c1CbQmV5
omap3-beagle-xm -OMAP3630 compatible - http://pastebin.com/ibUABcA0
SDP4430 -(OMAP4430 ES2.2) - http://pastebin.com/wYwUc3fU
Pandaboard-ES -(OMAP4460 ES1.1) - http://pastebin.com/FB2RiFp2

Nishanth Menon (6):
  clk: OMAP: introduce device tree binding to kernel clock data
[Clk driver probably belongs to mike's tree?]
  ARM: dts: OMAP3: add clock nodes for CPU
  ARM: dts: OMAP4: add clock nodes for CPU
  ARM: dts: AM33XX: add clock nodes for CPU
[The above probably belong to Benoit's tree]
  ARM: OMAP2+: AM33XX: add lateinit hook for calling pm late init
  ARM: OMAP3+: use cpu0-cpufreq driver in device tree supported boot
[The above probably belong to Kevin/Tony's tree]

 .../devicetree/bindings/clock/omap-clock.txt   |   40 +
 arch/arm/boot/dts/am33xx.dtsi  |7 ++
 arch/arm/boot/dts/omap3.dtsi   |7 ++
 arch/arm/boot/dts/omap4.dtsi   |7 ++
 

[PATCH V5 5/6] ARM: OMAP2+: AM33XX: add lateinit hook for calling pm late init

2013-05-08 Thread Nishanth Menon
Call OMAP2+ generic lateinit hook from AM specific late init hook.
This allows the generic late initializations such as cpufreq hooks
to be active.

Cc: Benoit Cousson b-cous...@ti.com
Cc: Kevin Hilman khil...@deeprootsystems.com
Cc: Paul Walmsley p...@pwsan.com
Cc: Tony Lindgren t...@atomide.com
Signed-off-by: Nishanth Menon n...@ti.com
---
Change in this revision compared to previous revision:
- rebase, no functional change.
Previous version: http://marc.info/?l=linux-kernelm=136580760924258w=2

 arch/arm/mach-omap2/board-generic.c |1 +
 arch/arm/mach-omap2/common.h|1 +
 arch/arm/mach-omap2/io.c|6 ++
 3 files changed, 8 insertions(+)

diff --git a/arch/arm/mach-omap2/board-generic.c 
b/arch/arm/mach-omap2/board-generic.c
index 88aa6b1..2c5c67c 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -141,6 +141,7 @@ DT_MACHINE_START(AM33XX_DT, Generic AM33XX (Flattened 
Device Tree))
.init_irq   = omap_intc_of_init,
.handle_irq = omap3_intc_handle_irq,
.init_machine   = omap_generic_init,
+   .init_late  = am33xx_init_late,
.init_time  = omap3_gptimer_timer_init,
.dt_compat  = am33xx_boards_compat,
.restart= am33xx_restart,
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index d555cf2..e2d7ecf 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -107,6 +107,7 @@ void omap35xx_init_late(void);
 void omap3630_init_late(void);
 void am35xx_init_late(void);
 void ti81xx_init_late(void);
+void am33xx_init_late(void);
 int omap2_common_pm_late_init(void);
 
 #ifdef CONFIG_SOC_BUS
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 09abf99..401e268 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -584,6 +584,12 @@ void __init am33xx_init_early(void)
omap_hwmod_init_postsetup();
omap_clk_init = am33xx_clk_init;
 }
+
+void __init am33xx_init_late(void)
+{
+   omap2_common_pm_late_init();
+}
+
 #endif
 
 #ifdef CONFIG_ARCH_OMAP4
-- 
1.7.9.5

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


[PATCH V5 6/6] ARM: OMAP3+: use cpu0-cpufreq driver in device tree supported boot

2013-05-08 Thread Nishanth Menon
With OMAP3+ and AM33xx supported SoC having defined CPU device tree
entries with operating-points and clock nodes defined, we can now use
the SoC generic cpufreq-cpu0 driver by registering appropriate device.

Cc: Benoit Cousson b-cous...@ti.com
Cc: Kevin Hilman khil...@deeprootsystems.com
Cc: Paul Walmsley p...@pwsan.com
Cc: Tony Lindgren t...@atomide.com
Signed-off-by: Nishanth Menon n...@ti.com
---
no change in current revision.
Previous version: http://marc.info/?l=linux-omapm=136580759924239w=2

 arch/arm/mach-omap2/pm.c |   11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index e742118..11bd585 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -266,7 +266,12 @@ static void __init omap4_init_voltages(void)
 
 static inline void omap_init_cpufreq(void)
 {
-   struct platform_device_info devinfo = { .name = omap-cpufreq, };
+   struct platform_device_info devinfo = { };
+
+   if (!of_have_populated_dt())
+   devinfo.name = omap-cpufreq;
+   else
+   devinfo.name = cpufreq-cpu0;
platform_device_register_full(devinfo);
 }
 
@@ -300,9 +305,9 @@ int __init omap2_common_pm_late_init(void)
/* Smartreflex device init */
omap_devinit_smartreflex();
 
-   /* cpufreq dummy device instantiation */
-   omap_init_cpufreq();
}
+   /* cpufreq dummy device instantiation */
+   omap_init_cpufreq();
 
 #ifdef CONFIG_SUSPEND
suspend_set_ops(omap_pm_ops);
-- 
1.7.9.5

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


[RFC PATCH 1/3] ARM: omap3: Seagate Wireless Plus board

2013-05-08 Thread Jason Cooper
Hynix include file copied from vendor supplied source code.

Signed-off-by: Jason Cooper ja...@lakedaemon.net
---
 arch/arm/mach-omap2/board-generic.c| 26 +++
 arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h | 30 ++
 2 files changed, 56 insertions(+)
 create mode 100644 arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h

diff --git a/arch/arm/mach-omap2/board-generic.c 
b/arch/arm/mach-omap2/board-generic.c
index e54a480..10b567c 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -21,6 +21,7 @@
 #include common.h
 #include common-board-devices.h
 #include dss-common.h
+#include sdram-hynix-h8kds0un0mer-4em.h
 
 #if !(defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3))
 #define intc_of_init   NULL
@@ -51,6 +52,13 @@ static void __init omap_generic_init(void)
omap_4430sdp_display_init_of();
 }
 
+static void __init seagate_wireless_plus_init(void)
+{
+   omap_sdrc_init(h8kds0un0mer4em_sdrc_params, NULL);
+
+   of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
+}
+
 #ifdef CONFIG_SOC_OMAP2420
 static const char *omap242x_boards_compat[] __initdata = {
ti,omap2420,
@@ -90,6 +98,24 @@ MACHINE_END
 #endif
 
 #ifdef CONFIG_ARCH_OMAP3
+static const char *seagate_wireless_plus_compat[] __initdata = {
+   seagate,wireless-plus,
+   NULL,
+};
+
+DT_MACHINE_START(SEAGATE_WIRELESS_PLUS_DT, Seagate Wireless Plus (Flattened 
Device Tree))
+   .reserve= omap_reserve,
+   .map_io = omap3_map_io,
+   .init_early = omap3430_init_early,
+   .init_irq   = omap_intc_of_init,
+   .handle_irq = omap3_intc_handle_irq,
+   .init_machine   = seagate_wireless_plus_init,
+   .init_late  = omap3_init_late,
+   .init_time  = omap3_sync32k_timer_init,
+   .dt_compat  = seagate_wireless_plus_compat,
+   .restart= omap3xxx_restart,
+MACHINE_END
+
 static const char *omap3_boards_compat[] __initdata = {
ti,omap3,
NULL,
diff --git a/arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h 
b/arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h
new file mode 100644
index 000..82b58131
--- /dev/null
+++ b/arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h
@@ -0,0 +1,30 @@
+/*
+ * SDRC register values for the Hynix H8KDS0UN0MER-4EM
+ *
+ * Copyright (C) 2010 Texas Instruments, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __ARCH_ARM_MACH_OMAP2_SDRAM_HYNIX_H8KDS0UN0MER4EM
+#define __ARCH_ARM_MACH_OMAP2_SDRAM_HYNIX_H8KDS0UN0MER4EM
+
+#include sdrc.h
+
+/* Hynix H8KDS0UN0MER-4EM */
+static struct omap_sdrc_params h8kds0un0mer4em_sdrc_params[] = {
+   [0] = {
+   .rate= 2,
+   .actim_ctrla = 0x92e1c4c6,
+   .actim_ctrlb = 0x0002111c,
+   .rfr_ctrl= 0x0004dc01,
+   .mr  = 0x0032,
+   },
+   [1] = {
+   .rate= 0
+   },
+};
+
+#endif
-- 
1.8.2.1

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


[RFC PATCH 3/3] ARM: omap3: wireless plus gpmc wip

2013-05-08 Thread Jason Cooper
Need this in order to add the nand node and then the partitions.

in it's current state, crashes the system. :(
---
 arch/arm/boot/dts/omap3-wireless_plus.dts | 19 ++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/omap3-wireless_plus.dts 
b/arch/arm/boot/dts/omap3-wireless_plus.dts
index 8a0acdf..6f33731 100644
--- a/arch/arm/boot/dts/omap3-wireless_plus.dts
+++ b/arch/arm/boot/dts/omap3-wireless_plus.dts
@@ -17,6 +17,23 @@
device_type = memory;
reg = 0x8000 0x1000; /* 256 MB */
};
+
+   gpmc: gpmc@6800A000 {
+   compatible = ti,omap2430-gpmc;
+   ti,hwmods = gpmc;
+   reg = 0x6800A000 0x2000;
+   /* interrupts = 100; */
+   pinctrl-names = default;
+   pinctrl-0 = gpmc_pins;
+
+   gpmc,num-cs = 8;
+   gpmc,num-waitpins = 2;
+   #address-cells = 2;
+   #size-cells = 1;
+   ranges = 0 0 0x0800 0x1000;
+
+   /* child nodes go here */
+   };
 };
 
 omap3_pmx_core {
@@ -26,7 +43,7 @@
 * itself during the boot (or just set them up in the bootloader)
 */
pinctrl-names = default;
-   pinctrl-0 = sdrc_pins gpmc_pins hsusb1_pins;
+   pinctrl-0 = sdrc_pins hsusb1_pins;
 
/* AM3703CUS pins for this board */
sdrc_pins: pinmux_sdrc_pins {
-- 
1.8.2.1

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


[RFC PATCH 0/3] ARM: omap3: add Seagate Wireless Plus board

2013-05-08 Thread Jason Cooper
All,

This is a work in progress.  All mistakes are mine.  Seriously.  I've never
touched omap before.  It should be obvious.

History:

The Wireless Plus is a portable, 1TB HD with an ~ 4 hour battery, and a wifi
hotspot.  It's only external connection is the SATA port (GoFlex connector).

The Wireless Plus is the successor to the GoFlex Wireless.  Full source can be
found here [1] (GoFlex Wireless).  These appear to be exactly the same at the
hardware level.  The primary difference is drive capacity, and the Wireless
Plus exposes uart1 to an unpopulated header in the corner of the board, so I
chose to develop on it. :-)

Technical:

Both boards are using an AM3703 SoC and the tps6507x power regulator/battery
charger.  Both are using the Hynix h8kds0un0mer-4em RAM module.

Status:

The following patches are a work-in-progress and are based against v3.9.  It
basically boots (to rootfs panic) with patches 1 and 2.  The gpmc patch oops
out.  I've included it in the hopes that someone can laugh at me and maybe give
me a pointer.  I need it to work in order to add the child node for the nand,
and then the child nodes for the partitions.

Tony has been helping me out offline with this, and he suggested trying the
gpmc against Linus' ToT.  Which locks up before it even has a chance to get
going.  So this series is against v3.9.

The current state of the dts file has been to silence warnings/errors.  I
disabled a bunch of unused devices, and added the pinctrl nodes in order to
remove the pins not found kind of errors.  As for their correctness, I haven't
been able to test yet.

I've done a liberal amount of copying from the provided sources for u-boot and
the kernel.  If you're motivated, grepping those sources for 'satellite|vavni'
locates most of the changes made by Seagate.

Current Problem:

There are several gaps in my understanding of how far along TI's conversion to
DT is.  Should I be doing a separate board file for initializing the legacy
items?  I was hoping to do it all with DT.

Obviously, I don't expect anybody to run out and buy one of these, take it
apart, and try to boot this code.  But if the omap guys could take a look at
this and give me a few pointers, I'd appreciate it.  I'm kind of spinning my
wheels at the moment.

Primarily, I'd like to get nand and usb working, so that I can read/write,
mount a rootfs and do better testing.

thx,

Jason.

[1] http://www.seagate.com/support/downloads/item/satellite-gpl-fw-master-dl/

Jason Cooper (3):
  ARM: omap3: Seagate Wireless Plus board
  ARM: omap3: Seagate Wireless Plus DT entry
  ARM: omap3: wireless plus gpmc wip

 arch/arm/boot/dts/Makefile |   1 +
 arch/arm/boot/dts/omap3-wireless_plus.dts  | 331 +
 arch/arm/mach-omap2/board-generic.c|  26 ++
 arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h |  30 ++
 4 files changed, 388 insertions(+)
 create mode 100644 arch/arm/boot/dts/omap3-wireless_plus.dts
 create mode 100644 arch/arm/mach-omap2/sdram-hynix-h8kds0un0mer-4em.h

-- 
1.8.2.1

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


[RFC PATCH 2/3] ARM: omap3: Seagate Wireless Plus DT entry

2013-05-08 Thread Jason Cooper
Signed-off-by: Jason Cooper ja...@lakedaemon.net
---
NOTE: please see coverletter for details.

 arch/arm/boot/dts/Makefile|   1 +
 arch/arm/boot/dts/omap3-wireless_plus.dts | 314 ++
 2 files changed, 315 insertions(+)
 create mode 100644 arch/arm/boot/dts/omap3-wireless_plus.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 9c62558..a022a42 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -119,6 +119,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
omap3-beagle-xm.dtb \
omap3-evm.dtb \
omap3-tobi.dtb \
+   omap3-wireless_plus.dtb \
omap4-panda.dtb \
omap4-panda-a4.dtb \
omap4-panda-es.dtb \
diff --git a/arch/arm/boot/dts/omap3-wireless_plus.dts 
b/arch/arm/boot/dts/omap3-wireless_plus.dts
new file mode 100644
index 000..8a0acdf
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-wireless_plus.dts
@@ -0,0 +1,314 @@
+/*
+ * Copyright (C) 2011 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.
+ */
+/dts-v1/;
+
+/include/ omap3.dtsi
+
+/ {
+   model = Seagate Wireless Plus (AM3703);
+   compatible = seagate,wireless-plus, ti,omap3;
+
+   memory {
+   device_type = memory;
+   reg = 0x8000 0x1000; /* 256 MB */
+   };
+};
+
+omap3_pmx_core {
+
+   /*
+* map all board specific static pins enabled by the pinctrl driver
+* itself during the boot (or just set them up in the bootloader)
+*/
+   pinctrl-names = default;
+   pinctrl-0 = sdrc_pins gpmc_pins hsusb1_pins;
+
+   /* AM3703CUS pins for this board */
+   sdrc_pins: pinmux_sdrc_pins {
+   pinctrl-single,pins = 
+   0x 0x100 /* SDRC_D0   (IEN  | PTD | DIS | M0) */
+   0x0002 0x100 /* SDRC_D1   (IEN  | PTD | DIS | M0) */
+   0x0004 0x100 /* SDRC_D2   (IEN  | PTD | DIS | M0) */
+   0x0006 0x100 /* SDRC_D3   (IEN  | PTD | DIS | M0) */
+   0x0008 0x100 /* SDRC_D4   (IEN  | PTD | DIS | M0) */
+   0x000A 0x100 /* SDRC_D5   (IEN  | PTD | DIS | M0) */
+   0x000C 0x100 /* SDRC_D6   (IEN  | PTD | DIS | M0) */
+   0x000E 0x100 /* SDRC_D7   (IEN  | PTD | DIS | M0) */
+   0x0010 0x100 /* SDRC_D8   (IEN  | PTD | DIS | M0) */
+   0x0012 0x100 /* SDRC_D9   (IEN  | PTD | DIS | M0) */
+   0x0014 0x100 /* SDRC_D10  (IEN  | PTD | DIS | M0) */
+   0x0016 0x100 /* SDRC_D11  (IEN  | PTD | DIS | M0) */
+   0x0018 0x100 /* SDRC_D12  (IEN  | PTD | DIS | M0) */
+   0x001A 0x100 /* SDRC_D13  (IEN  | PTD | DIS | M0) */
+   0x001C 0x100 /* SDRC_D14  (IEN  | PTD | DIS | M0) */
+   0x001E 0x100 /* SDRC_D15  (IEN  | PTD | DIS | M0) */
+   0x0020 0x100 /* SDRC_D16  (IEN  | PTD | DIS | M0) */
+   0x0022 0x100 /* SDRC_D17  (IEN  | PTD | DIS | M0) */
+   0x0024 0x100 /* SDRC_D18  (IEN  | PTD | DIS | M0) */
+   0x0026 0x100 /* SDRC_D19  (IEN  | PTD | DIS | M0) */
+   0x0028 0x100 /* SDRC_D20  (IEN  | PTD | DIS | M0) */
+   0x002A 0x100 /* SDRC_D21  (IEN  | PTD | DIS | M0) */
+   0x002C 0x100 /* SDRC_D22  (IEN  | PTD | DIS | M0) */
+   0x002E 0x100 /* SDRC_D23  (IEN  | PTD | DIS | M0) */
+   0x0030 0x100 /* SDRC_D24  (IEN  | PTD | DIS | M0) */
+   0x0032 0x100 /* SDRC_D25  (IEN  | PTD | DIS | M0) */
+   0x0034 0x100 /* SDRC_D26  (IEN  | PTD | DIS | M0) */
+   0x0036 0x100 /* SDRC_D27  (IEN  | PTD | DIS | M0) */
+   0x0038 0x100 /* SDRC_D28  (IEN  | PTD | DIS | M0) */
+   0x003A 0x100 /* SDRC_D29  (IEN  | PTD | DIS | M0) */
+   0x003C 0x100 /* SDRC_D30  (IEN  | PTD | DIS | M0) */
+   0x003E 0x100 /* SDRC_D31  (IEN  | PTD | DIS | M0) */
+   0x0040 0x100 /* SDRC_CLK  (IEN  | PTD | DIS | M0) */
+   0x0042 0x100 /* SDRC_DQS0 (IEN  | PTD | DIS | M0) */
+   0x0044 0x100 /* SDRC_DQS1 (IEN  | PTD | DIS | M0) */
+   0x0046 0x100 /* SDRC_DQS2 (IEN  | PTD | DIS | M0) */
+   0x0048 0x100 /* SDRC_DQS3 (IEN  | PTD | DIS | M0) */
+   ;
+   };
+
+   gpmc_pins: pinmux_gpmc_pins {
+   pinctrl-single,pins = 
+   0x004A 0x018 /* GPMC_A1   (IDIS | PTU | EN  | M0) */
+  

OMAP baseline test results for v3.9-rc8

2013-05-08 Thread Paul Walmsley


Here are some basic OMAP test results for Linux v3.9-rc8.
Logs and other details at:

http://www.pwsan.com/omap/testlogs/test_v3.9-rc8/20130422154921/


Test summary


Build:
FAIL ( 2/16): am33xx_only, omap2plus_defconfig_2430sdp_only
Pass (14/16): n800_multi_omap2xxx, n800_only_a, omap1_defconfig, 
  omap1_defconfig_1510innovator_only, 
  omap1_defconfig_5912osk_only, omap2plus_defconfig, 
  omap2plus_defconfig_cpupm, omap2plus_defconfig_no_pm, 
  omap2plus_defconfig_omap2_4_only, 
  omap2plus_defconfig_omap3_4_only, 
  rmk_omap3430_ldp_allnoconfig, 
  rmk_omap3430_ldp_oldconfig, 
  rmk_omap4430_sdp_allnoconfig, 
  rmk_omap4430_sdp_oldconfig

Boot to userspace:
FAIL ( 1/11): am335xbone
Pass (10/11): 2420n800, 2430sdp, 3517evm, 3530es3beagle,
  3730beaglexm, 37xxevm, 4430es2panda, 4460pandaes,
  5912osk, cmt3517

PM ret, suspend:
FAIL ( 2/ 6): 2430sdp, 4430es2panda
Pass ( 4/ 6): 3530es3beagle, 3730beaglexm, 37xxevm, 4460pandaes

PM ret, dynamic idle:
FAIL ( 3/ 6): 2430sdp, 4430es2panda, 4460pandaes
Pass ( 3/ 6): 3530es3beagle, 3730beaglexm, 37xxevm

PM off, suspend:
FAIL ( 2/ 5): 4430es2panda, 4460pandaes
Pass ( 3/ 5): 3530es3beagle, 3730beaglexm, 37xxevm

PM off, dynamic idle:
FAIL ( 2/ 5): 4430es2panda, 4460pandaes
Pass ( 3/ 5): 3530es3beagle, 3730beaglexm, 37xxevm



Failing tests: fixed by posted patches
--

Build:

* am33xx_only, omap2plus_defconfig_2430sdp_only: omap-{smp,hotplug}.c link 
errors
  - Discussion  RFC patch: 
http://www.spinics.net/lists/arm-kernel/msg230017.html
  - Still needs revision of the patch


Failing tests: needing investigation


Boot tests:

* 3517EVM  CM-T3517: boot hangs with NFS root
  - Likely some Kconfig, board file, and PM issues with EMAC
  - Longstanding bug
  - Not currently part of the automated test suite

Boot warnings:

* CM-T3517: L3 in-band error with IPSS during boot
  - Cause unknown but see http://marc.info/?l=linux-omapm=134833869730129w=2
  - Longstanding issue; does not occur on the 3517EVM

PM tests:

* 2430sdp: power domains not entering retention
  - Cause unknown

* 4430es2panda, 4460pandaes: pwrdm state mismatch on CAM, DSS, ABE

* 4460pandaes: pwrdm state mismatch on IVAHD, TESLA 

* 4430es2panda: CORE, TESLA, IVAHD, L3INIT didn't enter target state
  - Probably due to lack of reset code for M3, DSP, SL2IF, FSUSB
per discussion with Tero Kristo
  - Likely dependent on the bootloader version
- fails with 2012.07-00136-g755de79
  - http://marc.info/?l=linux-arm-kernelm=136432340618226w=2

* 4460pandaes: chip not entering retention in dynamic idle
  - Presumably 4430es2panda also fails this
  - Suspend-to-RAM enters full chip retention

* 3730 Beagle XM: does not serial wake from off-idle suspend when console
  UART doesn't clock-gate (debug ignore_loglevel)
  - Cause unknown
  - Not yet part of the automated test suite
  - Re-tested at v3.7; still failing:

http://www.pwsan.com/omap/transcripts/20121211-3730beaglexm-3.7-pm-offmode-fail-debug.txt

Other:

* 4430es2panda: omap_hwmod: l3_instr: _wait_target_disable failed
  - Unknown cause; could be due to the lack of hierarchical enable/disable
in hwmod code
  - Jon Hunter and Santosh Shilimkar report this does not appear with
the same X-loader/bootloader on his 4430ES2.3 Panda, so could be
ES-level dependent


Failing tests: reported by others 
-

- MUSB broken after v3.9-rc6
  - due to commit 92702df3570e1ccfa050e135e50c450502251b79
  - discussion here: http://marc.info/?l=linux-omapm=136544098331552w=2
  - patch pending upstream:
http://marc.info/?l=linux-omapm=136562302329307w=2



vmlinux object size
(delta in bytes from test_v3.9-rc7 
(41ef2d5678d83af030125550329b6ae8b74618fa)):
   text data  bsstotal  kernel
   +408   +80 +416  n800_multi_omap2xxx
   +408   +80 +416  n800_only_a
+54   -80  +46  omap1_defconfig
+58   -80  +50  omap1_defconfig_1510innovator_only
+54  +240  +78  omap1_defconfig_5912osk_only
   +252  +960 +348  omap2plus_defconfig
  +4348  +720+4420  omap2plus_defconfig_cpupm
   +388  +640 +452  omap2plus_defconfig_no_pm
   +252  +720 +324  omap2plus_defconfig_omap2_4_only
  +4236  +800+4316  omap2plus_defconfig_omap3_4_only
   +168  +16  -40 +144  rmk_omap3430_ldp_allnoconfig
  -4040   -80-4048  rmk_omap3430_ldp_oldconfig
   +168  +16  -40 +144  rmk_omap4430_sdp_allnoconfig
   +1920   +8 +200  rmk_omap4430_sdp_oldconfig


--
To unsubscribe from this list: send the line 

OMAP baseline test results for v3.9

2013-05-08 Thread Paul Walmsley

Here are some basic OMAP test results for Linux v3.9.
Logs and other details at:

http://www.pwsan.com/omap/testlogs/test_v3.9/20130429104339/


Test summary


Build:
FAIL ( 2/16): am33xx_only, omap2plus_defconfig_2430sdp_only
Pass (14/16): n800_multi_omap2xxx, n800_only_a, omap1_defconfig, 
  omap1_defconfig_1510innovator_only, 
  omap1_defconfig_5912osk_only, omap2plus_defconfig, 
  omap2plus_defconfig_cpupm, omap2plus_defconfig_no_pm, 
  omap2plus_defconfig_omap2_4_only, 
  omap2plus_defconfig_omap3_4_only, 
  rmk_omap3430_ldp_allnoconfig, 
  rmk_omap3430_ldp_oldconfig, 
  rmk_omap4430_sdp_allnoconfig, 
  rmk_omap4430_sdp_oldconfig

Boot to userspace:
FAIL ( 1/11): am335xbone
Pass (10/11): 2420n800, 2430sdp, 3517evm, 3530es3beagle,
  3730beaglexm, 37xxevm, 4430es2panda, 4460pandaes,
  5912osk, cmt3517

PM ret, suspend:
FAIL ( 2/ 6): 2430sdp, 4430es2panda
Pass ( 4/ 6): 3530es3beagle, 3730beaglexm, 37xxevm, 4460pandaes

PM ret, dynamic idle:
FAIL ( 3/ 6): 2430sdp, 4430es2panda, 4460pandaes
Pass ( 3/ 6): 3530es3beagle, 3730beaglexm, 37xxevm

PM off, suspend:
FAIL ( 2/ 5): 4430es2panda, 4460pandaes
Pass ( 3/ 5): 3530es3beagle, 3730beaglexm, 37xxevm

PM off, dynamic idle:
FAIL ( 2/ 5): 4430es2panda, 4460pandaes
Pass ( 3/ 5): 3530es3beagle, 3730beaglexm, 37xxevm



Failing tests: fixed by posted patches
--

Build:

* am33xx_only, omap2plus_defconfig_2430sdp_only: omap-{smp,hotplug}.c link 
errors
  - Discussion  RFC patch: 
http://www.spinics.net/lists/arm-kernel/msg230017.html
  - Still needs revision of the patch


Failing tests: needing investigation


Boot tests:

* 3517EVM  CM-T3517: boot hangs with NFS root
  - Likely some Kconfig, board file, and PM issues with EMAC
  - Longstanding bug
  - Not currently part of the automated test suite

Boot warnings:

* CM-T3517: L3 in-band error with IPSS during boot
  - Cause unknown but see http://marc.info/?l=linux-omapm=134833869730129w=2
  - Longstanding issue; does not occur on the 3517EVM

PM tests:

* 2430sdp: power domains not entering retention
  - Cause unknown

* 4430es2panda, 4460pandaes: pwrdm state mismatch on CAM, DSS, ABE

* 4460pandaes: pwrdm state mismatch on IVAHD, TESLA 

* 4430es2panda: CORE, TESLA, IVAHD, L3INIT didn't enter target state
  - Probably due to lack of reset code for M3, DSP, SL2IF, FSUSB
per discussion with Tero Kristo
  - Likely dependent on the bootloader version
- fails with 2012.07-00136-g755de79
  - http://marc.info/?l=linux-arm-kernelm=136432340618226w=2

* 4460pandaes: chip not entering retention in dynamic idle
  - Presumably 4430es2panda also fails this
  - Suspend-to-RAM enters full chip retention

* 3730 Beagle XM: does not serial wake from off-idle suspend when console
  UART doesn't clock-gate (debug ignore_loglevel)
  - Cause unknown
  - Not yet part of the automated test suite
  - Re-tested at v3.7; still failing:

http://www.pwsan.com/omap/transcripts/20121211-3730beaglexm-3.7-pm-offmode-fail-debug.txt

Other:

* 4430es2panda: omap_hwmod: l3_instr: _wait_target_disable failed
  - Unknown cause; could be due to the lack of hierarchical enable/disable
in hwmod code
  - Jon Hunter and Santosh Shilimkar report this does not appear with
the same X-loader/bootloader on his 4430ES2.3 Panda, so could be
ES-level dependent


vmlinux object size
(delta in bytes from test_v3.9-rc8 
(60d509fa6a9c4653a86ad830e4c4b30360b23f0e)):
   text data  bsstotal  kernel
   +176   +80 +184  n800_multi_omap2xxx
   +160   +80 +168  n800_only_a
   +120   +80 +128  omap1_defconfig
   +136   +80 +144  omap1_defconfig_1510innovator_only
   +152  -240 +128  omap1_defconfig_5912osk_only
   +20400 +204  omap2plus_defconfig
   +20400 +204  omap2plus_defconfig_cpupm
   +20400 +204  omap2plus_defconfig_no_pm
   +20400 +204  omap2plus_defconfig_omap2_4_only
   +20400 +204  omap2plus_defconfig_omap3_4_only
   +13200 +132  rmk_omap3430_ldp_allnoconfig
+8000  +80  rmk_omap3430_ldp_oldconfig
   +13200 +132  rmk_omap4430_sdp_allnoconfig
+9600  +96  rmk_omap4430_sdp_oldconfig



vmlinux object size
(delta in bytes from test_v3.8 
(19f949f52599ba7c3f67a5897ac6be14bfcb1200)):
   text data  bsstotal  kernel
-549808   +23520-9184  -535472  n800_multi_omap2xxx
-548359   +27432-9268  -530195  n800_only_a
 +61909+5680 +392   +67981  omap1_defconfig
 +62549+5664 +424   +68637  omap1_defconfig_1510innovator_only
 +63725

Re: [RFC PATCH 0/3] ARM: omap3: add Seagate Wireless Plus board

2013-05-08 Thread Tony Lindgren
* Jason Cooper ja...@lakedaemon.net [130508 12:29]:
 
 Tony has been helping me out offline with this, and he suggested trying the
 gpmc against Linus' ToT.  Which locks up before it even has a chance to get
 going.  So this series is against v3.9.

You may have better luck with today's mainline treeand the following fix:

http://lkml.org/lkml/2013/5/8/374#

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: [RFC PATCH 0/3] ARM: omap3: add Seagate Wireless Plus board

2013-05-08 Thread Tony Lindgren
* Jason Cooper ja...@lakedaemon.net [130508 12:29]:
 
 Current Problem:
 
 There are several gaps in my understanding of how far along TI's conversion to
 DT is.  Should I be doing a separate board file for initializing the legacy
 items?  I was hoping to do it all with DT.

Sorry forgot to reply to this.. No seprate board file should be needed,
some devices may still need to be initialized with pdata based on the
compatible flag.
 
 Obviously, I don't expect anybody to run out and buy one of these, take it
 apart, and try to boot this code.  But if the omap guys could take a look at
 this and give me a few pointers, I'd appreciate it.  I'm kind of spinning my
 wheels at the moment.
 
 Primarily, I'd like to get nand and usb working, so that I can read/write,
 mount a rootfs and do better testing.

The USB should be doable with device tree. At least both echi and
musb are working properly on pandaboard. I think people have been
using NAND with the gpmc DT patches, but I don't know the current
status for sure.

Is the hard drive on the EHCI bus or how is it connected to omap?

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: [RFC PATCH 0/3] ARM: omap3: add Seagate Wireless Plus board

2013-05-08 Thread Jason Cooper
On Wed, May 08, 2013 at 12:51:53PM -0700, Tony Lindgren wrote:
 * Jason Cooper ja...@lakedaemon.net [130508 12:29]:
  
  Current Problem:
  
  There are several gaps in my understanding of how far along TI's conversion 
  to
  DT is.  Should I be doing a separate board file for initializing the legacy
  items?  I was hoping to do it all with DT.
 
 Sorry forgot to reply to this.. No seprate board file should be needed,
 some devices may still need to be initialized with pdata based on the
 compatible flag.

ti,hwmod, right?

  Obviously, I don't expect anybody to run out and buy one of these, take it
  apart, and try to boot this code.  But if the omap guys could take a look at
  this and give me a few pointers, I'd appreciate it.  I'm kind of spinning my
  wheels at the moment.
  
  Primarily, I'd like to get nand and usb working, so that I can read/write,
  mount a rootfs and do better testing.
 
 The USB should be doable with device tree. At least both echi and
 musb are working properly on pandaboard. I think people have been
 using NAND with the gpmc DT patches, but I don't know the current
 status for sure.

I'll try your suggestion in your other email for ToT and see if I can
get gpmc going.

 Is the hard drive on the EHCI bus or how is it connected to omap?

via ehci.  They brutalized the tps driver to detect if the goflex cable
was attached or not.  Once I get something stable, I'll probably write a
separate driver for that code.  Or, push it out to userspace.

thx,

Jason.
--
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: 4430sdp nfsroot broken with ff5c9059

2013-05-08 Thread Tony Lindgren
* Jon Hunter jon-hun...@ti.com [130410 10:35]:
 Hi Tony,
 
 On 04/09/2013 04:23 PM, Tony Lindgren wrote:
  Hi Jon,
  
  Looks like at least 4430sdp nfsroot got broken with commit
  ff5c9059 (ARM: dts: OMAP3+: Correct gpio #interrupts-cells
  property).
 
 Thanks for reporting. I am actually amazed that ethernet is 
 working on any OMAP board (with device-tree) that requires a
 gpio as an interrupt because we have still not come to an
 agreement on [1]. Looking at the OMAP4 SDP I believe this is
 working by luck because there are other gpios in the same
 bank that are active and so the bank is enabled. If that were
 not the case then this would not work. 
 
 Hence, I have not been testing ethernet when booting with 
 device-tree because we need to fix [1] which has been really
 crippling my testing. So this needs to be resolved so ethernet
 can work consistently on all omap boards.
  
  Do we need to pass the GPIO edge/level info now?
 
 Yes and here is a patch. I have tested on my OMAP4 SDP this
 morning. Reviewing all the OMAP/AM dts(i) files I believe
 that only the SDP and OMAP4-VAR-SOM are impacted by this. I
 don't see any other boards currently using the gpio as an 
 interrupt-controller.

I'll apply this into omap-for-v3.10/dt-fixes. Benoit, I'll have
only dt stuff in that branch so it should play along with whatever
you'll be applying as well.

Regards,

Tony
 
 Cheers
 Jon
 
 [1] comments.gmane.org/gmane.linux.ports.arm.omap/92192
 
 From ed3e66bcd4c0cb3df4cb70e75c45fa4462f70565 Mon Sep 17 00:00:00 2001
 From: Jon Hunter jon-hun...@ti.com
 Date: Wed, 10 Apr 2013 11:44:44 -0500
 Subject: [PATCH] ARM: dts: OMAP4: Fix ethernet IRQ for OMAP4 boards
 
 Commit ff5c9059 (ARM: dts: OMAP3+: Correct gpio #interrupts-cells
 property) updated the number of interrupt cells required for configuring
 gpios as interrupts for other devices (such as ethernet controllers).
 This update allowed the interrupt type (edge, level, etc) to be
 configured via device-tree (as described in the
 Documentation/devicetree/bindings/gpio/gpio-omap.txt).
 
 This broke ethernet support on the OMAP4 SDP board that defines a gpio
 as the ethernet IRQ because the interrupt type (level, edge, etc) was
 not getting configured correctly. This board use the ks8851 ethernet
 chip which has an active low interrupt. Fix this by defining the gpio
 interrupt as active-low in the device-tree binding.
 
 Please note that the OMAP4-VAR-SOM also uses the same ethernet
 controller and it is expected it will have the same problem. So the
 same fix is also applied to this board.
 
 Signed-off-by: Jon Hunter jon-hun...@ti.com
 ---
  arch/arm/boot/dts/omap4-sdp.dts |2 +-
  arch/arm/boot/dts/omap4-var-som.dts |2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
 index c387bdc..25cbe43 100644
 --- a/arch/arm/boot/dts/omap4-sdp.dts
 +++ b/arch/arm/boot/dts/omap4-sdp.dts
 @@ -363,7 +363,7 @@
   spi-max-frequency = 2400;
   reg = 0;
   interrupt-parent = gpio2;
 - interrupts = 2; /* gpio line 34 */
 + interrupts = 2 8; /* gpio line 34, low triggered */
   vdd-supply = vdd_eth;
   };
  };
 diff --git a/arch/arm/boot/dts/omap4-var-som.dts 
 b/arch/arm/boot/dts/omap4-var-som.dts
 index 222a413..7e04103 100644
 --- a/arch/arm/boot/dts/omap4-var-som.dts
 +++ b/arch/arm/boot/dts/omap4-var-som.dts
 @@ -68,7 +68,7 @@
   spi-max-frequency = 2400;
   reg = 0;
   interrupt-parent = gpio6;
 - interrupts = 11; /* gpio line 171 */
 + interrupts = 11 8; /* gpio line 171, low triggered */
   vdd-supply = vdd_eth;
   };
  };
 -- 
 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] ARM: OMAP4+: omap2plus_defconfig: Enable audio via TWL6040 as module

2013-05-08 Thread Tony Lindgren
* Jyri Sarha o...@iki.fi [130412 05:19]:
 On Wed, 10 Apr 2013 11:08:00 +0200, Peter Ujfalusi peter.ujfal...@ti.com
 wrote:
  Boards supported upstream all use TWL6040 as audio codec, enable the
 common
  ASoC machine driver by default for them.
  
  Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
 Tested-by: Jyri Sarha jsa...@ti.com
 
 Brings a working PCM for TWL6040 trough McPDM legacy port on top of
 8.3-rc3 for my Blaze and Panda.

Thanks applying into omap-for-v3.10/fixes.

Regards,

Tony

  ---
   arch/arm/configs/omap2plus_defconfig | 2 ++
   1 file changed, 2 insertions(+)
  
  diff --git a/arch/arm/configs/omap2plus_defconfig
  b/arch/arm/configs/omap2plus_defconfig
  index bd07864..eea501c 100644
  --- a/arch/arm/configs/omap2plus_defconfig
  +++ b/arch/arm/configs/omap2plus_defconfig
  @@ -152,6 +152,7 @@ CONFIG_OMAP_WATCHDOG=y
   CONFIG_TWL4030_WATCHDOG=y
   CONFIG_MFD_TPS65217=y
   CONFIG_MFD_TPS65910=y
  +CONFIG_TWL6040_CORE=y
   CONFIG_REGULATOR_TWL4030=y
   CONFIG_REGULATOR_TPS65023=y
   CONFIG_REGULATOR_TPS6507X=y
  @@ -194,6 +195,7 @@ CONFIG_SND_USB_AUDIO=m
   CONFIG_SND_SOC=m
   CONFIG_SND_OMAP_SOC=m
   CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m
  +CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m
   CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
   CONFIG_USB=y
   CONFIG_USB_DEBUG=y
--
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] ARM: OMAP3: Beagle: Fix USB Host on beagle xM Ax/Bx

2013-05-08 Thread Tony Lindgren
* Roger Quadros rog...@ti.com [130415 04:25]:
 On Beagle xM Rev. Ax/Bx, the USB power enable GPIO logic is
 reversed when compared to other revisions i.e. it is
 active high instead of active low.
 
 Use the beagle_config.usb_pwr_level flag correctly so that
 the power regulator can be configured at runtime.
 
 Signed-off-by: Roger Quadros rog...@ti.com

Thanks applying into omap-for-v3.10/fixes.

Regards,

Tony

 ---
  arch/arm/mach-omap2/board-omap3beagle.c |6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c 
 b/arch/arm/mach-omap2/board-omap3beagle.c
 index 5382215..21136b2 100644
 --- a/arch/arm/mach-omap2/board-omap3beagle.c
 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
 @@ -112,13 +112,13 @@ static u8 omap3_beagle_version;
   */
  static struct {
   int mmc1_gpio_wp;
 - int usb_pwr_level;
 + bool usb_pwr_level; /* 0 - Active Low, 1 - Active High */
   int dvi_pd_gpio;
   int usr_button_gpio;
   int mmc_caps;
  } beagle_config = {
   .mmc1_gpio_wp = -EINVAL,
 - .usb_pwr_level = GPIOF_OUT_INIT_LOW,
 + .usb_pwr_level = 0,
   .dvi_pd_gpio = -EINVAL,
   .usr_button_gpio = 4,
   .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
 @@ -178,7 +178,7 @@ static void __init omap3_beagle_init_rev(void)
   case 0:
   printk(KERN_INFO OMAP3 Beagle Rev: xM Ax/Bx\n);
   omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
 - beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
 + beagle_config.usb_pwr_level = 1;
   beagle_config.mmc_caps = ~MMC_CAP_8_BIT_DATA;
   break;
   case 2:
 -- 
 1.7.4.1
 
--
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: Latest build results - errors/warnings - lots of them

2013-05-08 Thread Tony Lindgren
* NeilBrown ne...@suse.de [130505 19:45]:
 On Thu, 2 May 2013 08:38:34 -0700 Tony Lindgren t...@atomide.com wrote:
 
   drivers/power/twl4030_charger.c: In function 'twl4030_charger_enable_usb':
   drivers/power/twl4030_charger.c:192:20: warning: ignoring return value of 
   'regulator_enable', declared with attribute warn_unused_result
  
  Neil, care to provide a fix for this? It's from your commit ab37813
  (twl4030_charger: Allow charger to control the regulator that feeds it).
  
 
 This the sort of thing that might be appropriate?

Thanks looks good to me. Care to send it to the appropriate
mailing lists and maintainers for drivers/power?

Regards,

Tony
 
 From: NeilBrown ne...@suse.de
 Date: Mon, 6 May 2013 12:35:59 +1000
 Subject: [PATCH] twl4030_charger: don't ignore regulator_enable()
 
 regulator_enable() doesn't like being ignored.  If it does fail there
 is nothing we can do except not set usb_enabled (which is necessary
 else a subsequent regulator_disable() will be unbalanced).
 
 We cannot usefully return an error here as errors from
 twl4030_charger_enable_usb() are ignored.
 
 Signed-off-by: NeilBrown ne...@suse.de
 
 diff --git a/drivers/power/twl4030_charger.c b/drivers/power/twl4030_charger.c
 index bed4581..8b0ec70 100644
 --- a/drivers/power/twl4030_charger.c
 +++ b/drivers/power/twl4030_charger.c
 @@ -189,8 +189,8 @@ static int twl4030_charger_enable_usb(struct twl4030_bci 
 *bci, bool enable)
  
   /* Need to keep regulator on */
   if (!bci-usb_enabled) {
 - regulator_enable(bci-usb_reg);
 - bci-usb_enabled = 1;
 + if (regulator_enable(bci-usb_reg) == 0)
 + bci-usb_enabled = 1;
   }
  
   /* forcing the field BCIAUTOUSB (BOOT_BCI[1]) to 1 */


--
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] ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI devices

2013-05-08 Thread Tony Lindgren
* Aaro Koskinen aaro.koski...@iki.fi [130501 10:06]:
 Commit 9fdca9df (spi: omap2-mcspi: convert to module_platform_driver)
 broke the SPI display/panel driver probe on RX-51/N900. The exact cause is
 not fully understood, but it seems to be related to the probe order. SPI
 communication to the panel driver (spi1.2) fails unless the touchscreen
 (spi1.0) has been probed/initialized before. When the omap2-mcspi driver
 was converted to a platform driver, it resulted in that the devices are
 probed immediately after the board registers them in the order they are
 listed in the board file.
 
 Fix the issue by moving the touchscreen before the panel in the SPI
 device list.
 
 The patch fixes the following failure:
 
 [1.260955] acx565akm spi1.2: invalid display ID
 [1.265899] panel-acx565akm display0: acx_panel_probe panel detect error
 [1.273071] omapdss CORE error: driver probe failed: -19

Thanks for updating the description, applying into omap-for-v3.10/fixes.

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] ARM: omap2: gpmc: fix compilation warning

2013-05-08 Thread Tony Lindgren
* Vincent Stehlé v-ste...@ti.com [130506 04:24]:
 Fix the following compilation warning:
 
   arch/arm/mach-omap2/gpmc.c: In function 'gpmc_probe_generic_child':
   arch/arm/mach-omap2/gpmc.c:1477:4: warning: format '%x' expects argument of 
 type 'unsigned int', but argument 4 has type 'resource_size_t' [-Wformat]
 
 Signed-off-by: Vincent Stehlé v-ste...@ti.com
 Cc: triv...@kernel.org
 ---
  arch/arm/mach-omap2/gpmc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
 index ed946df..3cd7074 100644
 --- a/arch/arm/mach-omap2/gpmc.c
 +++ b/arch/arm/mach-omap2/gpmc.c
 @@ -1474,7 +1474,7 @@ static int gpmc_probe_generic_child(struct 
 platform_device *pdev,
   ret = gpmc_cs_remap(cs, res.start);
   if (ret  0) {
   dev_err(pdev-dev, cannot remap GPMC CS %d to 0x%x\n,
 - cs, res.start);
 + cs, (unsigned)res.start);
   goto err;
   }

You should just change the format for dev_err instead of the casting.

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: [RFC PATCH 0/3] ARM: omap3: add Seagate Wireless Plus board

2013-05-08 Thread Tony Lindgren
* Jason Cooper ja...@lakedaemon.net [130508 15:04]:
 On Wed, May 08, 2013 at 12:51:53PM -0700, Tony Lindgren wrote:
  * Jason Cooper ja...@lakedaemon.net [130508 12:29]:
   
   Current Problem:
   
   There are several gaps in my understanding of how far along TI's 
   conversion to
   DT is.  Should I be doing a separate board file for initializing the 
   legacy
   items?  I was hoping to do it all with DT.
  
  Sorry forgot to reply to this.. No seprate board file should be needed,
  some devices may still need to be initialized with pdata based on the
  compatible flag.
 
 ti,hwmod, right?

Yes.. see mach-omap2/devices.c for the list that's still not initialized
via DT.
 
   Obviously, I don't expect anybody to run out and buy one of these, take it
   apart, and try to boot this code.  But if the omap guys could take a look 
   at
   this and give me a few pointers, I'd appreciate it.  I'm kind of spinning 
   my
   wheels at the moment.
   
   Primarily, I'd like to get nand and usb working, so that I can read/write,
   mount a rootfs and do better testing.
  
  The USB should be doable with device tree. At least both echi and
  musb are working properly on pandaboard. I think people have been
  using NAND with the gpmc DT patches, but I don't know the current
  status for sure.
 
 I'll try your suggestion in your other email for ToT and see if I can
 get gpmc going.
 
  Is the hard drive on the EHCI bus or how is it connected to omap?
 
 via ehci.  They brutalized the tps driver to detect if the goflex cable
 was attached or not.  Once I get something stable, I'll probably write a
 separate driver for that code.  Or, push it out to userspace.

OK. I guess you need to disconnect the drive from EHCI if the goflex
is attached to avoid disk corruption?

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] ARM: dts: omap3-igep0020: Add SMSC911x LAN chip support

2013-05-08 Thread Javier Martinez Canillas
On Wed, Apr 17, 2013 at 6:32 PM, Javier Martinez Canillas
javier.marti...@collabora.co.uk wrote:
 The IGEPv2 board has an SMSC LAN9221i ethernet chip connected to
 the OMAP3 processor though the General-Purpose Memory Controller.

 This patch adds a device node for the ethernet chip as a GPMC child
 and all its dependencies (regulators, GPIO and pin muxs).

 Signed-off-by: Javier Martinez Canillas javier.marti...@collabora.co.uk
 ---
  arch/arm/boot/dts/omap3-igep.dtsi|6 
  arch/arm/boot/dts/omap3-igep0020.dts |   53 
 ++
  2 files changed, 59 insertions(+), 0 deletions(-)

 diff --git a/arch/arm/boot/dts/omap3-igep.dtsi 
 b/arch/arm/boot/dts/omap3-igep.dtsi
 index f8fe3b7..d5cd504 100644
 --- a/arch/arm/boot/dts/omap3-igep.dtsi
 +++ b/arch/arm/boot/dts/omap3-igep.dtsi
 @@ -62,6 +62,12 @@
 0x126 0x0100/* sdmmc1_dat7.sdmmc1_dat7 INPUT | 
 MODE 0 */
 ;
 };
 +
 +   smsc911x_pins: pinmux_smsc911x_pins {
 +   pinctrl-single,pins = 
 +0x1a2 0x0104/* mcspi1_cs2.gpio_176 INPUT | MODE4 
 */
 +   ;
 +   };
  };

  i2c1 {
 diff --git a/arch/arm/boot/dts/omap3-igep0020.dts 
 b/arch/arm/boot/dts/omap3-igep0020.dts
 index e2b9849..4bac32e 100644
 --- a/arch/arm/boot/dts/omap3-igep0020.dts
 +++ b/arch/arm/boot/dts/omap3-igep0020.dts
 @@ -40,6 +40,18 @@
 gpios = twl_gpio 19 1;
 };
 };
 +
 +   vddvario: regulator-vddvario {
 + compatible = regulator-fixed;
 + regulator-name = vddvario;
 + regulator-always-on;
 +   };
 +
 +   vdd33a: regulator-vdd33a {
 +   compatible = regulator-fixed;
 +   regulator-name = vdd33a;
 +   regulator-always-on;
 +   };
  };

  i2c3 {
 @@ -54,3 +66,44 @@
 reg = 0x50;
 };
  };
 +
 +gpmc {
 +   ranges = 5 0 0x2c00 0x100;
 +   ethernet@5,0 {
 +   pinctrl-names = default;
 +   pinctrl-0 = smsc911x_pins;
 +   compatible = smsc,lan9221, smsc,lan9115;
 +   reg = 5 0 0xff;
 +   bank-width = 2;
 +
 +   gpmc,mux-add-data;
 +   gpmc,cs-on-ns = 0;
 +   gpmc,cs-rd-off-ns = 186;
 +   gpmc,cs-wr-off-ns = 186;
 +   gpmc,adv-on-ns = 12;
 +   gpmc,adv-rd-off-ns = 48;
 +   gpmc,adv-wr-off-ns = 48;
 +   gpmc,oe-on-ns = 54;
 +   gpmc,oe-off-ns = 168;
 +   gpmc,we-on-ns = 54;
 +   gpmc,we-off-ns = 168;
 +   gpmc,rd-cycle-ns = 186;
 +   gpmc,wr-cycle-ns = 186;
 +   gpmc,access-ns = 114;
 +   gpmc,page-burst-access-ns = 6;
 +   gpmc,bus-turnaround-ns = 12;
 +   gpmc,cycle2cycle-delay-ns = 18;
 +   gpmc,wr-data-mux-bus-ns = 90;
 +   gpmc,wr-access-ns = 186;
 +   gpmc,cycle2cycle-samecsen;
 +   gpmc,cycle2cycle-diffcsen;
 +
 +   interrupt-parent = gpio6;
 +   interrupts = 16 8;
 +   vmmc-supply = vddvario;
 +   vmmc_aux-supply = vdd33a;
 +   reg-io-width = 4;
 +
 +   smsc,save-mac-address;
 +   };
 +};
 --
 1.7.7.6

 --

Hi Benoit,

Any comments on this patch?

Thanks a lot and best regards,
Javier
--
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] USB: set device dma_mask without reference to global data

2013-05-08 Thread Stephen Warren
On 05/07/2013 08:54 PM, Peter Chen wrote:

 This probably could be initialized from some DT property. However,
 there's no such property defined right now, and considering that DT is
 supposed to be an ABI, we'd always need the code in this patch as a
 fallback for DTs that were created before any such property was defined.

 Equally, since the data is SoC-specific rather than board-specific, and
 is even fairly unlikely to vary between SoC versions since these values
 are all 0x anyway, I don't really see much point in putting it
 into DT, rather than just putting the static data into the driver.
 
 I mean there is already dev-dev.coherent_dma_mask = DMA_BIT_MASK(32);
 at function of_platform_device_create, why can't add
 dev-dev.dma_mask = dev-dev.coherent_dma_mask after that?
 
 If DT core can do above things, can we delete dma_mask assignment
 at every driver?

Perhaps. However, such a change has a much larger potential for regressions.

I would suggest going with the current patch for 3.10 and any later
backports in order to reduce risk. We can revisit better cleanup for
later kernels.
--
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] ARM: OMAP1: DMA: fix error handling in omap1_system_dma_init()

2013-05-08 Thread Tony Lindgren
* Wei Yongjun weiyj...@gmail.com [130426 01:36]:
 From: Wei Yongjun yongjun_...@trendmicro.com.cn
 
 Add the missing iounmap() before return from omap1_system_dma_init()
 in the error handling case.
 Also removed platform_device_del() on add resources error case which
 cause dup device delete.
 
 Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
 ---
 no compile test.

Seems to work, applying into omap-for-v3.10/fixes thanks.

Tony

  arch/arm/mach-omap1/dma.c | 8 
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/arch/arm/mach-omap1/dma.c b/arch/arm/mach-omap1/dma.c
 index 1a4e887..68ab858 100644
 --- a/arch/arm/mach-omap1/dma.c
 +++ b/arch/arm/mach-omap1/dma.c
 @@ -301,7 +301,7 @@ static int __init omap1_system_dma_init(void)
   if (ret) {
   dev_err(pdev-dev, %s: Unable to add resources for %s%d\n,
   __func__, pdev-name, pdev-id);
 - goto exit_device_put;
 + goto exit_iounmap;
   }
  
   p = kzalloc(sizeof(struct omap_system_dma_plat_info), GFP_KERNEL);
 @@ -309,7 +309,7 @@ static int __init omap1_system_dma_init(void)
   dev_err(pdev-dev, %s: Unable to allocate 'p' for %s\n,
   __func__, pdev-name);
   ret = -ENOMEM;
 - goto exit_device_del;
 + goto exit_iounmap;
   }
  
   d = kzalloc(sizeof(struct omap_dma_dev_attr), GFP_KERNEL);
 @@ -402,8 +402,8 @@ exit_release_d:
   kfree(d);
  exit_release_p:
   kfree(p);
 -exit_device_del:
 - platform_device_del(pdev);
 +exit_iounmap:
 + iounmap(dma_base);
  exit_device_put:
   platform_device_put(pdev);
  
 
--
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 0/2] ARM: dts: OMAP36xx/OMAP4460 Fix CPU OPP voltages

2013-05-08 Thread Tony Lindgren
* Nishanth Menon n...@ti.com [130426 10:44]:
 Hi,
 It seems that I have not been paying close attention to
 actual voltage value seen on scope to map it back to verify the validity
 of the voltage value. Even though I did verify[1] that voltage did scale to
 values in DT entries, the values in the case of 3630 and 4460 were lower than
 what the spec voltage was as per opp_data files.
 
 This series is based off Benoit's tree here:
 http://git.kernel.org/cgit/linux/kernel/git/bcousson/linux-omap-dt.git/log/?h=for_3.10/dts
 
 Commit ID's in the patches to indicate regressions are from there as well.
 Would be good to have this fix merged to 3.10 dts entries.
 I have cross verified that OMAP3430,3630,4430 and 4460 entries now match that
 of corresponding opp*_data.c
 
 My sincere apologies on the oversight.
 
 Nishanth Menon (2):
   ARM: dts: OMAP36xx: Fix CPU OPP voltages
   ARM: dts: OMAP4460: Fix CPU OPP voltages
 
  arch/arm/boot/dts/omap36xx.dtsi |6 +++---
  arch/arm/boot/dts/omap4460.dtsi |6 +++---
  2 files changed, 6 insertions(+), 6 deletions(-)
 
 [1] http://marc.info/?l=linux-arm-kernelm=136580742724210w=2

Thanks applying both into omap-for-v3.10/dt-fixes.

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] ARM: OMAP2+: omap_device: use late_initcall_sync

2013-05-08 Thread Tony Lindgren
* Kevin Hilman khil...@linaro.org [130507 14:44]:
 If DEBUG_LL and earlyprintk are enabled, and omap-serial.c is compiled
 as a module, the kernel boot hangs early as the clocks for serial port
 are cut while earlyprintk still uses the port.
 
 The problem is a race between the late_initcall for omap_device (which
 idles devices that have no drivers) and the late_initcall in
 kernel/printk.c which turns off the earlyconsole.   Any printks
 that happen between this omap_device late initcall and the earlyconsole
 late initcall will crash when accessing the UART.
 
 The fix is to ensure the omap_device initcall happens after the
 earlyconsole initcall.
 
 Reported-by: Tony Lindgren t...@atomide.com
 Signed-off-by: Kevin Hilman khil...@linaro.org

Thanks applying into omap-for-v3.10/fixes.

Tony

 ---
 Based on v3.9-rc8
 
  arch/arm/mach-omap2/omap_device.c | 2 +-
  arch/arm/mach-omap2/soc.h | 1 +
  2 files changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/arch/arm/mach-omap2/omap_device.c 
 b/arch/arm/mach-omap2/omap_device.c
 index 381be7a..2d20d69 100644
 --- a/arch/arm/mach-omap2/omap_device.c
 +++ b/arch/arm/mach-omap2/omap_device.c
 @@ -879,4 +879,4 @@ static int __init omap_device_late_init(void)
   bus_for_each_dev(platform_bus_type, NULL, NULL, omap_device_late_idle);
   return 0;
  }
 -omap_late_initcall(omap_device_late_init);
 +omap_late_initcall_sync(omap_device_late_init);
 diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
 index c62116b..de88611 100644
 --- a/arch/arm/mach-omap2/soc.h
 +++ b/arch/arm/mach-omap2/soc.h
 @@ -494,6 +494,7 @@ level(__##fn);
  #define omap_subsys_initcall(fn) omap_initcall(subsys_initcall, fn)
  #define omap_device_initcall(fn) omap_initcall(device_initcall, fn)
  #define omap_late_initcall(fn)   omap_initcall(late_initcall, fn)
 +#define omap_late_initcall_sync(fn)  omap_initcall(late_initcall_sync, fn)
  
  #endif   /* __ASSEMBLY__ */
  
 -- 
 1.8.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: [PATCH] omap: mux: add AM/DM37x gpios

2013-05-08 Thread Tony Lindgren
* Christoph Fritz chf.fr...@googlemail.com [130413 10:35]:
 This patch adds GPIO pins found on AM/DM37x.

Thanks applying into omap-for-v3.10/fixes.

Tony
 
 Signed-off-by: Christoph Fritz chf.fr...@googlemail.com
 ---
  arch/arm/mach-omap2/mux34xx.h |6 +-
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/arch/arm/mach-omap2/mux34xx.h b/arch/arm/mach-omap2/mux34xx.h
 index 6543ebf..3f26d29 100644
 --- a/arch/arm/mach-omap2/mux34xx.h
 +++ b/arch/arm/mach-omap2/mux34xx.h
 @@ -393,6 +393,10 @@
  #define OMAP3_CONTROL_PADCONF_SAD2D_SWAKEUP_OFFSET   0xa1c
  #define OMAP3_CONTROL_PADCONF_JTAG_RTCK_OFFSET   0xa1e
  #define OMAP3_CONTROL_PADCONF_JTAG_TDO_OFFSET0xa20
 +#define OMAP3_CONTROL_PADCONF_GPIO_127   0xa24
 +#define OMAP3_CONTROL_PADCONF_GPIO_126   0xa26
 +#define OMAP3_CONTROL_PADCONF_GPIO_128   0xa28
 +#define OMAP3_CONTROL_PADCONF_GPIO_129   0xa2a
  
  #define OMAP3_CONTROL_PADCONF_MUX_SIZE   \
 - (OMAP3_CONTROL_PADCONF_JTAG_TDO_OFFSET + 0x2)
 + (OMAP3_CONTROL_PADCONF_GPIO_129 + 0x2)
 -- 
 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] ARM: OMAP2: AM33XX: id: Add support for new AM335x PG2.1 Si

2013-05-08 Thread Tony Lindgren
* Vaibhav Hiremath hvaib...@ti.com [130504 11:29]:
 Add support for chip id detection of AM335x PG2.1 Silicon.
 
 Currently omap3xxx_check_revision() detects PG1.0 and PG2.0 only,
 this patch extends it by adding PG2.1 Si support.
 
 Signed-off-by: Vaibhav Hiremath hvaib...@ti.com

Thanks applying into omap-for-v3.10/fixes.

Tony

 ---
  arch/arm/mach-omap2/id.c  |8 ++--
  arch/arm/mach-omap2/soc.h |1 +
  2 files changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
 index 0f4c18e..9bc5a18 100644
 --- a/arch/arm/mach-omap2/id.c
 +++ b/arch/arm/mach-omap2/id.c
 @@ -419,11 +419,15 @@ void __init omap3xxx_check_revision(void)
   cpu_rev = 1.0;
   break;
   case 1:
 - /* FALLTHROUGH */
 - default:
   omap_revision = AM335X_REV_ES2_0;
   cpu_rev = 2.0;
   break;
 + case 2:
 + /* FALLTHROUGH */
 + default:
 + omap_revision = AM335X_REV_ES2_1;
 + cpu_rev = 2.1;
 + break;
   }
   break;
   case 0xb8f2:
 diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h
 index 18fdeeb..ccef2dd 100644
 --- a/arch/arm/mach-omap2/soc.h
 +++ b/arch/arm/mach-omap2/soc.h
 @@ -396,6 +396,7 @@ IS_OMAP_TYPE(3430, 0x3430)
  #define AM335X_CLASS 0x33500033
  #define AM335X_REV_ES1_0 AM335X_CLASS
  #define AM335X_REV_ES2_0 (AM335X_CLASS | (0x1  8))
 +#define AM335X_REV_ES2_1 (AM335X_CLASS | (0x2  8))
 
  #define OMAP443X_CLASS   0x44300044
  #define OMAP4430_REV_ES1_0   (OMAP443X_CLASS | (0x10  8))
 --
 1.7.0.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: [PATCHv2] ARM:dts:omap4-panda:Update the LED support for the panda DTS

2013-05-08 Thread Tony Lindgren
* Dan Murphy dmur...@ti.com [130418 11:35]:
 On 04/18/2013 04:30 AM, Vincent Stehlé wrote:
 On 04/17/2013 10:16 PM, Dan Murphy wrote:
 The GPIO for LED D1 on the omap4-panda a1-a3 rev and the omap4-panda-es
 are different.
 (..)
 diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi 
 b/arch/arm/boot/dts/omap4-panda-common.dtsi
 index 03bd60d..0c48f6b 100644
 --- a/arch/arm/boot/dts/omap4-panda-common.dtsi
 +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
 (..)
 @@ -135,6 +136,25 @@
 0xf0 0x118 /* i2c4_sda PULLUP | INPUTENABLE | MODE0 
  */
 ;
 };
 +
 +   led_gpio_pins: pinmux_leds_pins {
 +   pinctrl-single,pins = 
 +   ;
 +   };
 +};
 Hi,
 
 FYI, there was a recent discussion precisely on this topic, where Tomy
 suggested to remove the empty section:
 http://marc.info/?l=linux-omapm=136546635409232w=2
 
 Apart from that, I just tested your patch on top of Tomy's
 omap-for-v3.10/dt branch and it is working fine for me on PandaBoards
 EA3, A4 and ES.
 
 Tested-by: Vincent Stehlé v-ste...@ti.com
 
 Best regards,
 
 V.
 
 Thanks for testing Vincent
 
 Is there a way to append the data to an already existing node?
 I do not see a clean way.

If you have something in omap4-panda-common.dtsi and the same entry
in the omap4-panda-es.dts, the entries in omap4-panda-es.dts will
override and append the entries in omap4-panda-common.dtsi.

So I think you can avoid the empty entry that way.

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] ARM: OMAP2+: omap-usb-host: clean up pin mux setup code

2013-05-08 Thread Tony Lindgren
* Roger Quadros rog...@ti.com [130422 03:02]:
 The USB host pins are named quite differently between OMAP3 and
 OMAP4+ SoCs. To make this managable in code, we create a pin mapping
 table (pin_names) that maps pin function to pin name.
 
 This pin mapping table is populated at runtime based on a pin
 name template. Templates are provided for OMAP3 and 4 SoCs.
 
 The setup_io_mux() function uses the pin mapping table to
 setup the pin mux.
 
 The resulting code is a lot more clean, manageable and scalable.

I'm planning to drop all the omap4 pdata soonish. Will post some
patches after -rc1 to do that. Do you still need this patch
considering that?

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: [v2, 3/3] ARM: dts: AM33XX: Add NAND flash device tree data to am335x-evm

2013-05-08 Thread Tony Lindgren
* Sekhar Nori nsek...@ti.com [130429 22:11]:
 
 On 4/29/2013 1:25 PM, Gupta, Pekon wrote:
  From: avinash philip avinashphi...@ti.com
  
  NAND flash connected in am335x-evm on GPMC controller. This patch adds
  device tree node in am3355-evm with GPMC contoller timing for NAND flash
  interface, NAND partition table, ECC scheme, elm handle id.
  
  Signed-off-by: Philip Avinash avinashphi...@ti.com
  Tested-by: Pekon Gupta pe...@ti.com
  
  ---
  arch/arm/boot/dts/am335x-evm.dts |   98 
  +-
   1 file changed, 97 insertions(+), 1 deletion(-)
  
  diff --git a/arch/arm/boot/dts/am335x-evm.dts 
  b/arch/arm/boot/dts/am335x-evm.dts
  index 0423298..1c2fd89 100644
  --- a/arch/arm/boot/dts/am335x-evm.dts
  +++ b/arch/arm/boot/dts/am335x-evm.dts
  @@ -26,7 +26,8 @@
   
  am33xx_pinmux: pinmux@44e10800 {
  pinctrl-names = default;
  -   pinctrl-0 = matrix_keypad_s0 volume_keys_s0;
  +   pinctrl-0 = matrix_keypad_s0 volume_keys_s0
  +   nandflash_pins_s0;
 
 Why add this to the board level fallback (called pinctrl hogs, I think)?
 This can be part of nand node you added below so that the pinctrl will
 take effect when nand gets probed instead of all the time.

Yes we should have all the pinctrl entries under the related drivers.
This makes it easy remux pins during runtime if needed, and also
allows unloading pinctrl-single.ko for development.

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: [GIT PULL] ARM: OMAP2+: GPMC fixes for v3.10

2013-05-08 Thread Tony Lindgren
* Jon Hunter jon-hun...@ti.com [130430 06:59]:
 The following changes since commit aecb65a34a780cd07fbaa652cc5d640f13f3ed5f:
 
   Merge branch 'omap-gpmc-for-v3.10-take2' of 
 git://github.com/jonhunter/linux into omap-for-v3.10/gpmc (2013-04-04 
 11:22:33 -0700)
 
 are available in the git repository at:
 
   git://github.com/jonhunter/linux.git omap-gpmc-fixes-for-v3.10
 
 for you to fetch changes up to b327b3627bb428eb7d98f25224532425a673d89e:
 
   ARM: OMAP2+: only WARN if a GPMC child probe function fail (2013-04-30 
 08:43:05 -0500)
 
 
 GPMC fixes for v3.10. Main fix is to only search the GPMC node
 for GPMC child devices and not the entire device-tree (which was
 breaking ethernet support on some boards where the GPMC does not
 interface with the ethernet chip). This branch is based upon
 Tony's omap-for-v3.10/gpmc branch.

Thanks pulling into omap-for-v3.10/fixes.

Regards,

Tony

 
 Javier Martinez Canillas (3):
   Documentation: dt: update TI GPMC ethernet binding properties
   ARM: OMAP2+: only search for GPMC DT child nodes on probe
   ARM: OMAP2+: only WARN if a GPMC child probe function fail
 
 Jon Hunter (1):
   Documentation: dt: update properties in TI GPMC NAND example
 
  .../devicetree/bindings/mtd/gpmc-nand.txt  |   28 +-
  Documentation/devicetree/bindings/net/gpmc-eth.txt |   56 
 ++--
  arch/arm/mach-omap2/gpmc.c |   38 +
  3 files changed, 54 insertions(+), 68 deletions(-)
--
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,2/3] ARM: dts: AM33XX: Add GPMC node

2013-05-08 Thread Tony Lindgren
* Gupta, Pekon pe...@ti.com [130502 02:49]:
 From: Philip, Avinash avinashphi...@ti.com
 
 Add GPMC data node to AM33XX device tree file.
 
 Signed-off-by: Philip Avinash avinashphi...@ti.com
 Acked-by: Peter Korsgaard jac...@sunsite.dk
 Signed-off-by: Pekon Gupta pe...@ti.com

Thanks adding into omap-for-v3.10/dt-fixes.

Tony
 
 ---
 Changes in v2:
   - Change number of chip select to 7
 
  arch/arm/boot/dts/am33xx.dtsi |   12 
  1 file changed, 12 insertions(+)
 
 diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
 index 24fc835..1048795 100644
 --- a/arch/arm/boot/dts/am33xx.dtsi
 +++ b/arch/arm/boot/dts/am33xx.dtsi
 @@ -407,5 +407,17 @@
   ti,hwmods = elm;
   status = disabled;
   };
 +
 + gpmc: gpmc@5000 {
 + compatible = ti,am3352-gpmc;
 + ti,hwmods = gpmc;
 + reg = 0x5000 0x2000;
 + interrupts = 100;
 + num-cs = 7;
 + num-waitpins = 2;
 + #address-cells = 2;
 + #size-cells = 1;
 + status = disabled;
 + };
   };
  };
--
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 0/3] ARM: omap3: add Seagate Wireless Plus board

2013-05-08 Thread Jason Cooper
On Wed, May 08, 2013 at 12:45:04PM -0700, Tony Lindgren wrote:
 * Jason Cooper ja...@lakedaemon.net [130508 12:29]:
  
  Tony has been helping me out offline with this, and he suggested trying the
  gpmc against Linus' ToT.  Which locks up before it even has a chance to get
  going.  So this series is against v3.9.
 
 You may have better luck with today's mainline treeand the following fix:
 
 http://lkml.org/lkml/2013/5/8/374#

Ok, I'm attempting to do that, but got this for 'make dtbs':

ERROR (phandle_references): Reference to non-existent node or label usb2_phy

ERROR: Input tree has errors, aborting (use -f to force output)
make[1]: *** [arch/arm/boot/dts/omap3-wireless_plus.dtb] Error 2
make[1]: *** Waiting for unfinished jobs
make: *** [dtbs] Error 2

which was created by:

  ad871c10 ARM: dts: OMAP: Add usb_otg and glue data to OMAP3+ boards

It assumes the board has twl4030 (and then includes it).  Bootlogs from
the vendor provided kernel don't show a single message from twl4030, so
I've omitted it.

Assuming I did the correct thing by omitting the twl4030, I think the
correct answer is to declare the phy in the dts files, like so:

8-

commit c369d84600bd85b35d83807ce7ba893cea116fb4
Author: Jason Cooper ja...@lakedaemon.net
Date:   Thu May 9 00:33:48 2013 +

ARM: omap3: dts: don't assume boards are using twl4030

If a board isn't using twl4030, then dtc will complain about the missing
phandle (which is in twl4030.dtsi).  Move the phy declaration to the dts
files.

Signed-off-by: Jason Cooper ja...@lakedaemon.net

diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts 
b/arch/arm/boot/dts/omap3-beagle-xm.dts
index 5a31964..3046d1f 100644
--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -122,6 +122,7 @@
 
 usb_otg_hs {
interface-type = 0;
+   usb-phy = usb2_phy;
mode = 3;
power = 50;
 };
diff --git a/arch/arm/boot/dts/omap3-evm.dts b/arch/arm/boot/dts/omap3-evm.dts
index 05f51e1..96d1c20 100644
--- a/arch/arm/boot/dts/omap3-evm.dts
+++ b/arch/arm/boot/dts/omap3-evm.dts
@@ -68,6 +68,7 @@
 
 usb_otg_hs {
interface-type = 0;
+   usb-phy = usb2_phy;
mode = 3;
power = 50;
 };
diff --git a/arch/arm/boot/dts/omap3-overo.dtsi 
b/arch/arm/boot/dts/omap3-overo.dtsi
index d4a7280..a626c50 100644
--- a/arch/arm/boot/dts/omap3-overo.dtsi
+++ b/arch/arm/boot/dts/omap3-overo.dtsi
@@ -73,6 +73,7 @@
 
 usb_otg_hs {
interface-type = 0;
+   usb-phy = usb2_phy;
mode = 3;
power = 50;
 };
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 4ad03d9..82a404d 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -519,7 +519,6 @@
interrupts = 0 92 0x4, 0 93 0x4;
interrupt-names = mc, dma;
ti,hwmods = usb_otg_hs;
-   usb-phy = usb2_phy;
multipoint = 1;
num-eps = 16;
ram-bits = 12;
--
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] mmc: omap_hsmmc: fix error return code in omap_hsmmc_probe()

2013-05-08 Thread Wei Yongjun
From: Wei Yongjun yongjun_...@trendmicro.com.cn

Fix to return a negative error code in the init error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun yongjun_...@trendmicro.com.cn
---
 drivers/mmc/host/omap_hsmmc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 6e44025..32d3659 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1948,7 +1948,8 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
}
 
if (pdata-init != NULL) {
-   if (pdata-init(pdev-dev) != 0) {
+   ret = pdata-init(pdev-dev);
+   if (ret != 0) {
dev_err(mmc_dev(host-mmc),
Unable to configure MMC IRQs\n);
goto err_irq_cd_init;

--
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: [v2, 3/3] ARM: dts: AM33XX: Add NAND flash device tree data to am335x-evm

2013-05-08 Thread Gupta, Pekon
  
 am33xx_pinmux: pinmux@44e10800 {
 pinctrl-names = default;
   - pinctrl-0 = matrix_keypad_s0 volume_keys_s0;
   + pinctrl-0 = matrix_keypad_s0 volume_keys_s0
   + nandflash_pins_s0;
 
  Why add this to the board level fallback (called pinctrl hogs, I think)?
  This can be part of nand node you added below so that the pinctrl will
  take effect when nand gets probed instead of all the time.
 
 Yes we should have all the pinctrl entries under the related drivers.
 This makes it easy remux pins during runtime if needed, and also
 allows unloading pinctrl-single.ko for development.
 
Yes, accepted. This has been already fixed in v3 of this patch set.
If all fine, then please pull this for next merge..

http://lists.infradead.org/pipermail/linux-mtd/2013-May/046712.html

http://lists.infradead.org/pipermail/linux-mtd/2013-May/046814.html (already 
pulled)

http://lists.infradead.org/pipermail/linux-mtd/2013-May/046710.html


with regards, pekon
--
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