Re: [PATCH 25/28] ASoC: omap: drop owner assignment from platform_drivers

2014-12-22 Thread Mark Brown
On Sun, Dec 21, 2014 at 10:14:46PM +0100, Wolfram Sang wrote:
 This platform_driver does not need to set an owner, it will be populated by 
 the
 driver core.

Applied, thanks.


signature.asc
Description: Digital signature


Re: [PATCH 2/2] phy: ti-pipe3: Fix SATA across suspend/resume

2014-12-22 Thread Kishon Vijay Abraham I
Hi Roger,

On Friday 19 December 2014 05:35 PM, Roger Quadros wrote:
 Failed test case: Boot without SATA drive connected. Suspend/resume
 the board and then connect SATA drive. It fails to enumerate.
 
 Due to Errata i783 SATA Lockup After SATA DPLL Unlock/Relock
 we can't allow SATA DPLL to be in the unlocked state.
 The SATA refclk (sata_ref_clk) is the source of the SATA_DPLL.
 Till now this clock was controlled by the AHCI SATA driver and was being
 shut off  during system suspend (if the SATA drive was not already attached)
 causing the SATA DPLL to be unlocked and so causing errata i783.
 
 To prevent sata_ref_clk from being disabled, we move the control of
 this clock from the SATA AHCI driver to the SATA PHY driver and prevent
 it from being disabled.
 
 This also fixes the issue of SATA not working on OMAP5/DRA7 when
 AHCI platform driver is built as a module.
 
 Signed-off-by: Roger Quadros rog...@ti.com
 ---
  arch/arm/boot/dts/dra7.dtsi  |  4 ++--
  arch/arm/boot/dts/omap5.dtsi |  4 ++--
  drivers/phy/phy-ti-pipe3.c   | 53 
 +++-
  3 files changed, 41 insertions(+), 20 deletions(-)
 
 diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
 index 63bf99b..8c35b84 100644
 --- a/arch/arm/boot/dts/dra7.dtsi
 +++ b/arch/arm/boot/dts/dra7.dtsi
 @@ -1090,8 +1090,8 @@
 0x4A096800 0x40; /* pll_ctrl */
   reg-names = phy_rx, phy_tx, pll_ctrl;
   ctrl-module = omap_control_sata;
 - clocks = sys_clkin1;
 - clock-names = sysclk;
 + clocks = sys_clkin1, sata_ref_clk;
 + clock-names = sysclk, refclk;
   #phy-cells = 0;
   };
  
 diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
 index b321fdf..bb498e7 100644
 --- a/arch/arm/boot/dts/omap5.dtsi
 +++ b/arch/arm/boot/dts/omap5.dtsi
 @@ -929,8 +929,8 @@
 0x4A096800 0x40; /* pll_ctrl */
   reg-names = phy_rx, phy_tx, pll_ctrl;
   ctrl-module = omap_control_sata;
 - clocks = sys_clkin;
 - clock-names = sysclk;
 + clocks = sys_clkin, sata_ref_clk;
 + clock-names = sysclk, refclk;
   #phy-cells = 0;
   };
   };
 diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/phy-ti-pipe3.c
 index e60ff14..e08edd9 100644
 --- a/drivers/phy/phy-ti-pipe3.c
 +++ b/drivers/phy/phy-ti-pipe3.c
 @@ -85,6 +85,7 @@ struct ti_pipe3 {
   struct pipe3_dpll_map   *dpll_map;
   u8  id;
   bool enabled;
 + bool refclk_enabled;/* this flag is needed specifically for SATA */
   spinlock_t lock;/* serialize clock enable/disable */
  };
  
 @@ -333,21 +334,20 @@ static int ti_pipe3_probe(struct platform_device *pdev)
   }
   }
  
 + phy-refclk = devm_clk_get(phy-dev, refclk);
 + if (IS_ERR(phy-refclk)) {
 + dev_err(pdev-dev, unable to get refclk\n);
 + return PTR_ERR(phy-refclk);
 + }

This will break older dtbs. AFAIK, newer kernels should be compatible with
older dtbs too. cc'ed devicet...@vger.kernel.org for clarification.

Thanks
Kishon
--
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 00/11] Exynos7: Adding USB 3.0 support

2014-12-22 Thread Sylwester Nawrocki
Hi Vivek,

On 25/11/14 12:48, Vivek Gautam wrote:
 On Sat, Nov 22, 2014 at 8:42 PM, Kukjin Kim kg...@kernel.org wrote:
  On 11/22/14 17:40, Kishon Vijay Abraham I wrote:
  On Friday 21 November 2014 08:41 PM, Felipe Balbi wrote:
...
  I took dwc3 driver patches.
 
  I took the phy patches.
 
  I'll take DT changes once exynos7 is landing into samsung tree :)
 
 You too may want to pick the sole clock driver patch in this series
 for 3.19 ? :-)
 clk: exynos7: Add required clock tree for USB
 
 Please let me know if the merge window is still open on your side so
 that you can pick this patch.

My apologies, it seems I have missed this patch. :/
Feel free to ping me off the list in future if there is no response
for more than week.
I queued this patch now for 3.20.  I'm putting all the exynos7 clk
patches on a separate branch which could then be pulled into samsung
arm tree for the dependant dts changes.

-- 
Thanks,
Sylwester
--
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 2a/3] mmc: core: Allow host driver to provide isr for card-detect interrupts.

2014-12-22 Thread Ulf Hansson
On 20 December 2014 at 00:07, NeilBrown ne...@suse.de wrote:
 One of the reasons omap_hsmmc doesn't use the slot-gpio library
 is that it has some non-standard functionality in the card-detect
 interrupt service routine.

 To make it possible for omap_hsmmc (and maybe others) to be converted
 to use slot-gpio, add 'mmc_gpio_request_cd_isr' which provide an
 alternate isr to be register by the slot-gpio code.

 Signed-off-by: NeilBrown ne...@suse.de
 ---
  drivers/mmc/core/slot-gpio.c  |   24 +++-
  include/linux/mmc/slot-gpio.h |2 ++
  2 files changed, 25 insertions(+), 1 deletion(-)

 This and following are the result of splitting the previous
 '2/3' into to patches: core and omap_hsmmc as requested.

 NeilBrown


 diff --git a/drivers/mmc/core/slot-gpio.c b/drivers/mmc/core/slot-gpio.c
 index 69bbf2adb329..f56323f5a996 100644
 --- a/drivers/mmc/core/slot-gpio.c
 +++ b/drivers/mmc/core/slot-gpio.c
 @@ -23,6 +23,7 @@ struct mmc_gpio {
 struct gpio_desc *cd_gpio;
 bool override_ro_active_level;
 bool override_cd_active_level;
 +   irqreturn_t (*cd_gpio_isr)(int irq, void *dev_id);
 char *ro_label;
 char cd_label[0];
  };
 @@ -156,8 +157,10 @@ void mmc_gpiod_request_cd_irq(struct mmc_host *host)
 irq = -EINVAL;

 if (irq = 0) {
 +   if (ctx-cd_gpio_isr == NULL)

Please change to:
if (!ctx-cd_gpio_isr)

 +   ctx-cd_gpio_isr = mmc_gpio_cd_irqt;
 ret = devm_request_threaded_irq(host-class_dev, irq,
 -   NULL, mmc_gpio_cd_irqt,
 +   NULL, ctx-cd_gpio_isr,
 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | 
 IRQF_ONESHOT,
 ctx-cd_label, host);
 if (ret  0)
 @@ -171,6 +174,25 @@ void mmc_gpiod_request_cd_irq(struct mmc_host *host)
  }
  EXPORT_SYMBOL(mmc_gpiod_request_cd_irq);

 +/* Register an alternate interrupt service routine for
 + * the card-detect GPIO.
 + */
 +int mmc_gpio_request_cd_isr(struct mmc_host *host,
 +   irqreturn_t (*isr)(int irq, void *dev_id))
 +{
 +   struct mmc_gpio *ctx;
 +   int ret;
 +
 +   ret = mmc_gpio_alloc(host);
 +   if (ret  0)
 +   return ret;
 +   ctx = host-slot.handler_priv;
 +   if (ctx-cd_gpio_isr)
 +   return -EBUSY;
 +   ctx-cd_gpio_isr = isr;
 +   return 0;
 +}

I decided to queue those patchsets I recently posted which simplifies
the slot-gpio API. Please re-base this patch on top of my next branch.

Moreover, I actually wonder whether we need to add this API at all.
After my changes, all you need to do from your host driver -probe(),
is to assign your isr routine to ctx-cd_gpio_isr.

 +
  /**
   * mmc_gpio_request_cd - request a gpio for card-detection
   * @host: mmc host
 diff --git a/include/linux/mmc/slot-gpio.h b/include/linux/mmc/slot-gpio.h
 index e56fa24c9322..9e55db60deb0 100644
 --- a/include/linux/mmc/slot-gpio.h
 +++ b/include/linux/mmc/slot-gpio.h
 @@ -28,6 +28,8 @@ int mmc_gpiod_request_cd(struct mmc_host *host, const char 
 *con_id,
  int mmc_gpiod_request_ro(struct mmc_host *host, const char *con_id,
  unsigned int idx, bool override_active_level,
  unsigned int debounce, bool *gpio_invert);
 +int mmc_gpio_request_cd_isr(struct mmc_host *host,
 +   irqreturn_t (*isr)(int irq, void *dev_id));
  void mmc_gpiod_free_cd(struct mmc_host *host);
  void mmc_gpiod_request_cd_irq(struct mmc_host *host);




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


Re: [PATCH 3/3] usb: dwc3: add a quirk for device disconnection issue in Synopsis dwc3 core

2014-12-22 Thread Felipe Balbi
On Tue, Dec 16, 2014 at 10:10:28AM +0800, Sneeker Yeh wrote:
 Synopsis DesignWare USB3 IP Core integrated with a config-free
 phy needs special handling during device disconnection to avoid
 the host controller dying.
 
 This quirk makes sure PORT_CSC is cleared after the disable slot
 command when usb device is disconnected from internal root hub,
 otherwise, Synopsis core would fall into a state that cannot use
 any endpoint command. Consequently, device disconnection procedure
 might not be finished because sometimes endpoint need to be stop
 by endpoint stop command issuing.
 
 Symptom usually happens when disconnected device is keyboard,
 mouse, and hub.

you need to point us to the synopsys STARS ticket number. That's the
only way to reference this specific quirk. Add it to a comment
somewhere.

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH 2/3] usb: dwc3: add Fujitsu Specific Glue layer

2014-12-22 Thread Felipe Balbi
Hi,

On Tue, Dec 16, 2014 at 10:10:27AM +0800, Sneeker Yeh wrote:
 This patch adds support for Synopsis DesignWare USB3 IP Core found
 on Fujitsu Socs.
 
 Signed-off-by: Sneeker Yeh sneeker@tw.fujitsu.com
 ---
  .../devicetree/bindings/usb/fujitsu-dwc3.txt   |   25 +++
  drivers/usb/dwc3/Kconfig   |   11 ++
  drivers/usb/dwc3/Makefile  |1 +
  drivers/usb/dwc3/dwc3-mb86s70.c|  194 
 
  4 files changed, 231 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/usb/fujitsu-dwc3.txt
  create mode 100644 drivers/usb/dwc3/dwc3-mb86s70.c
 
 diff --git a/Documentation/devicetree/bindings/usb/fujitsu-dwc3.txt 
 b/Documentation/devicetree/bindings/usb/fujitsu-dwc3.txt
 new file mode 100644
 index 000..df77f91
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/usb/fujitsu-dwc3.txt
 @@ -0,0 +1,25 @@
 +FUJITSU GLUE COMPONENTS
 +
 +MB86S7x DWC3 GLUE
 + - compatible : Should be fujitsu,mb86s70-dwc3
 + - clocks: from common clock binding, handle to usb clock.
 + - clock-names: from common clock binding.
 + - #address-cells, #size-cells : Must be present if the device has sub-nodes
 + - ranges: the child address space are mapped 1:1 onto the parent address 
 space
 + - #stream-id-cells : handle to use arm,mmu-400 ARM IOMMU driver
 +
 +Sub-nodes:
 +The dwc3 core should be added as subnode to MB86S7x dwc3 glue.
 +- dwc3 :
 +   The binding details of dwc3 can be found in:
 +   Documentation/devicetree/bindings/usb/dwc3.txt
 +
 +usb3host: mb86s70_usb3host {
 + compatible = fujitsu,mb86s70-dwc3;
 + clocks = clk_alw_1_1;
 + clock-names = bus_clk;
 + #address-cells = 2;
 + #size-cells = 1;
 + ranges;
 + #stream-id-cells = 0;
 +};
 diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
 index 58b5b2c..3390d42 100644
 --- a/drivers/usb/dwc3/Kconfig
 +++ b/drivers/usb/dwc3/Kconfig
 @@ -61,6 +61,17 @@ config USB_DWC3_EXYNOS
 Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside,
 say 'Y' or 'M' if you have one such device.
  
 +config USB_DWC3_MB86S70
 + tristate MB86S70 Designware USB3 Platform code
 + default USB_DWC3
 + help
 +   MB86S7X SOC ship with DesignWare Core USB3 IP inside,
 +   this implementation also integrated Fujitsu USB PHY inside
 +   this Core USB3 IP.
 +
 +   say 'Y' or 'M' if you have one such device.
 +
 +
  config USB_DWC3_PCI
   tristate PCIe-based Platforms
   depends on PCI
 diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile
 index bb34fbc..05d1de2 100644
 --- a/drivers/usb/dwc3/Makefile
 +++ b/drivers/usb/dwc3/Makefile
 @@ -38,3 +38,4 @@ obj-$(CONFIG_USB_DWC3_PCI)  += dwc3-pci.o
  obj-$(CONFIG_USB_DWC3_KEYSTONE)  += dwc3-keystone.o
  obj-$(CONFIG_USB_DWC3_QCOM)  += dwc3-qcom.o
  obj-$(CONFIG_USB_DWC3_ST)+= dwc3-st.o
 +obj-$(CONFIG_USB_DWC3_MB86S70)   += dwc3-mb86s70.o
 diff --git a/drivers/usb/dwc3/dwc3-mb86s70.c b/drivers/usb/dwc3/dwc3-mb86s70.c
 new file mode 100644
 index 000..241c5bd
 --- /dev/null
 +++ b/drivers/usb/dwc3/dwc3-mb86s70.c
 @@ -0,0 +1,194 @@
 +/**
 + * dwc3-mb86s70.c - Fujitsu mb86s70 DWC3 Specific Glue layer
 + *
 + * Copyright (c) 2013 - 2014 FUJITSU SEMICONDUCTOR LIMITED
 + *   http://jp.fujitsu.com/group/fsl
 + *
 + * Author: Alice Chan alice.c...@tw.fujitsu.com
 + * based on dwc3-exynos.c
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 of the License, or
 + * (at your option) any later version.
 + */
 +
 +#include linux/module.h
 +#include linux/kernel.h
 +#include linux/slab.h
 +#include linux/platform_device.h
 +#include linux/dma-mapping.h
 +#include linux/interrupt.h
 +#include linux/of.h
 +#include linux/of_platform.h
 +#include linux/pm_runtime.h
 +#include linux/clk.h
 +
 +struct dwc3_mb86s70 {
 + struct device   *dev;
 + struct clk  **clk_table;

please align these.

 +};
 +
 +/* return 0 means successful */

this comment is unnecessary :-)

 +static int dwc3_mb86s70_clk_control(struct device *dev, bool on)
 +{
 + int ret, i;
 + struct clk *clk;
 +
 + if (!on)
 + goto clock_off;
 +
 + for (i = 0;; i++) {
 + clk = of_clk_get(dev-of_node, i);

you could count the number of properties first, then allocate clk_table
to the exact size.

 + if (IS_ERR(clk))
 + break;
 +
 + ret = clk_prepare_enable(clk);
 + if (ret) {
 + dev_err(dev, failed to enable clock[%d]\n, i);
 + goto clock_off;
 + }
 + }
 +
 + return 0;
 +
 +clock_off:
 + for (i = 0;; i++) {
 + clk = of_clk_get(dev-of_node, i);
 + if (IS_ERR(clk))
 + 

Re: [PATCH 1/4] usb: dwc3: gadget: Fix TRB preparation during SG

2014-12-22 Thread Felipe Balbi
On Fri, Dec 19, 2014 at 12:40:15PM +0530, Amit Virdi wrote:
 When scatter gather is used, multiple TRBs are prepared from one DWC3 request.
 Hence, we must set the 'last' flag when the SG is last as well as the TRB is
 last. The current implementation uses list_is_last to check if the 
 dwc3_request
 is the last request in the request_list.
 
 This doesn't work when SG is used. This is because, when it is the last 
 request,
 the first TRB preparation (in dwc3_prepare_one_trb) modifies the dwc3_request
 list's next and prev pointers while moving the URB to req_queued.
 
 Hence, list_is_last always return false no matter what. The correct way is not
 to access the modified pointers of dwc3_request but to use list_empty macro
 instead.
 
 Fixes: e5ba5ec833aa4a76980b512d6a6779643516b850 (usb: dwc3: gadget: fix 
 scatter
 gather implementation
 
 Signed-off-by: Amit Virdi amit.vi...@st.com

you need to Cc stable here and make sure you point out which kernel
versions this should be backported to. Looks like this sould be:

Cc: sta...@vger.kernel.org # v3.9+

Also, how have you tested this ? I need a test case to make sure it
fails here and this patch really fixes the problem.

 ---
  drivers/usb/dwc3/gadget.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
 index f03b136ecfce..0eec2e917994 100644
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
 @@ -882,8 +882,7 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep, bool 
 starting)
  
   if (i == (request-num_mapped_sgs - 1) ||
   sg_is_last(s)) {
 - if (list_is_last(req-list,
 - dep-request_list))
 + if (list_empty(dep-request_list))
   last_one = true;
   chain = false;
   }
 -- 
 1.8.0
 

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH 2/4] usb: dwc3: gadget: Stop TRB preparation after limit is reached

2014-12-22 Thread Felipe Balbi
On Fri, Dec 19, 2014 at 12:40:16PM +0530, Amit Virdi wrote:
 When SG is used, there are two loops iterating to prepare TRBs:
  - Outer loop over the request_list
  - Inner loop over the SG list
 
 The driver must stop preparing TRBs when the max TRBs have been prepared. The
 code was missing break to get out of the outer loop.
 
 Signed-off-by: Amit Virdi amit.vi...@st.com

which bug is this fixing ? Which kernels are affected ? This need to be
backported to which kernel ? Which commit introduced this bug ? How can
I validate this to be a valid fix ?

 ---
  drivers/usb/dwc3/gadget.c | 3 +++
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
 index 0eec2e917994..8f65ab3a3b92 100644
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
 @@ -900,6 +900,9 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep, bool 
 starting)
   if (last_one)
   break;
   }
 +
 + if (last_one)
 + break;
   } else {
   dma = req-request.dma;
   length = req-request.length;
 -- 
 1.8.0
 

-- 
balbi


signature.asc
Description: Digital signature


[PATCH 3.19-rc1 v14 5/8] arm: omap1: Migrate debug_ll macros to use 8250.S

2014-12-22 Thread Daniel Thompson
The omap1's debug-macro.S is similar to the generic 8250 code. Compared to
the 8520 code the omap1 macro automatically determines what UART to use
based on breadcrumbs left by the bootloader and automatically copes with
the eccentric register layout on OMAP7XX.

This patch drops both these features and relies instead on the generic
8250 macros:

1. Dropping support for the bootloader breadcrumbs is identical to the
   way the migration was handled for OMAP2 (see 808b7e07464d...).

2. Support for OMAP7XX still exists but it must be configured by hand
   (DEBUG_OMAP7XXUART1/2/3) rather than handled at runtime.

Signed-off-by: Daniel Thompson daniel.thomp...@linaro.org
Cc: Russell King li...@arm.linux.org.uk
Cc: Arnd Bergmann arnd.bergm...@linaro.org
Cc: linux-omap@vger.kernel.org
Tested-by: Aaro Koskinen aaro.koski...@iki.fi
Acked-by: Tony Lindgren t...@atomide.com
---
 arch/arm/Kconfig.debug |  57 +-
 arch/arm/mach-omap1/include/mach/debug-macro.S | 101 -
 2 files changed, 56 insertions(+), 102 deletions(-)
 delete mode 100644 arch/arm/mach-omap1/include/mach/debug-macro.S

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index eba36e35bad2..ec25d746b4dd 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -527,6 +527,30 @@ choice
  Say Y here if you want kernel low-level debugging support
  on TI-NSPIRE CX models.
 
+   config DEBUG_OMAP1UART1
+   bool Kernel low-level debugging via OMAP1 UART1
+   depends on ARCH_OMAP1
+   select DEBUG_UART_8250
+   help
+ Say Y here if you want kernel low-level debugging support
+ on OMAP1 based platforms (except OMAP730) on the UART1.
+
+   config DEBUG_OMAP1UART2
+   bool Kernel low-level debugging via OMAP1 UART2
+   depends on ARCH_OMAP1
+   select DEBUG_UART_8250
+   help
+ Say Y here if you want kernel low-level debugging support
+ on OMAP1 based platforms (except OMAP730) on the UART2.
+
+   config DEBUG_OMAP1UART3
+   bool Kernel low-level debugging via OMAP1 UART3
+   depends on ARCH_OMAP1
+   select DEBUG_UART_8250
+   help
+ Say Y here if you want kernel low-level debugging support
+ on OMAP1 based platforms (except OMAP730) on the UART3.
+
config DEBUG_OMAP2UART1
bool OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 
boards)
depends on ARCH_OMAP2PLUS
@@ -569,6 +593,30 @@ choice
depends on ARCH_OMAP2PLUS
select DEBUG_OMAP2PLUS_UART
 
+   config DEBUG_OMAP7XXUART1
+   bool Kernel low-level debugging via OMAP730 UART1
+   depends on ARCH_OMAP730
+   select DEBUG_UART_8250
+   help
+ Say Y here if you want kernel low-level debugging support
+ on OMAP730 based platforms on the UART1.
+
+   config DEBUG_OMAP7XXUART2
+   bool Kernel low-level debugging via OMAP730 UART2
+   depends on ARCH_OMAP730
+   select DEBUG_UART_8250
+   help
+ Say Y here if you want kernel low-level debugging support
+ on OMAP730 based platforms on the UART2.
+
+   config DEBUG_OMAP7XXUART3
+   bool Kernel low-level debugging via OMAP730 UART3
+   depends on ARCH_OMAP730
+   select DEBUG_UART_8250
+   help
+ Say Y here if you want kernel low-level debugging support
+ on OMAP730 based platforms on the UART3.
+
config DEBUG_TI81XXUART1
bool Kernel low-level debugging messages via TI81XX UART1 
(ti8148evm)
depends on ARCH_OMAP2PLUS
@@ -1308,6 +1356,9 @@ config DEBUG_UART_PHYS
default 0xffe4 if DEBUG_RCAR_GEN1_SCIF0
default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
default 0xfff36000 if DEBUG_HIGHBANK_UART
+   default 0xfffb if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
+   default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
+   default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
default 0xfffe8600 if DEBUG_UART_BCM63XX
default 0xf700 if ARCH_IOP33X
depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
@@ -1390,6 +1441,9 @@ config DEBUG_UART_VIRT
default 0xfef0 if ARCH_IXP4XX  !CPU_BIG_ENDIAN
default 0xfef3 if ARCH_IXP4XX  CPU_BIG_ENDIAN
default 0xfef36000 if DEBUG_HIGHBANK_UART
+   default 0xfefb if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
+   default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
+   default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
default 0xfefff700 if ARCH_IOP33X
default 0xff003000 if 

Re: regression: OMAP4 (next-20141204) (bisect to: ARM: 8208/1: l2c: Refactor the driver to use commit-like)

2014-12-22 Thread Russell King - ARM Linux
On Thu, Dec 11, 2014 at 11:42:48AM +0100, Marek Szyprowski wrote:
 On 2014-12-11 10:29, Russell King - ARM Linux wrote:
 On Wed, Dec 10, 2014 at 10:42:33AM +0100, Marek Szyprowski wrote:
 I assume that now it won't be possible to get l2c patches back to -next,
 so I will resend them (again...) with the omap related fix.
 What, you mean you don't know the fundamental rules of kernel development?
 
 No one should ever dump any new code into linux-next during a merge
 window which is not a fix for a regression or a bug fix, period.
 
 Linus has in the past taken a snapshot of linux-next at the beginning
 of a merge window, and then threatened to refuse to merge anything that
 wasn't in his local snapshot, or which doesn't qualify as the above.
 
 So no, it won't be possible, because I play by the community rules when
 it comes to what gets merged and at what time in the cycle.
 
 I know the rules. It was just my whining, that it is yet another release
 cycle
 that got missed. It is really disappointing, that those patches have been
 floating for months and noone found issues related to different order of
 initialization. It took way to long to get them scheduled for testing in
 -next.

Right, so - we're now at -rc1, and we should see about queuing this up
sooner rather than later - in its fixed form.  From what I can see,
there's been little progress on the OMAP problem.

Nishanth - can we push OMAP over to using the generic DT L2C
initialisation (the one from init_IRQ in arch/arm/kernel/irq.c) and
kill the SoC specific stuff in arch/arm/mach-omap2/omap4-common.c ?

From what I can see, in the DT case, the only thing which is used
there is the ioremap() to provide omap4_get_l2cache_base() with
something to return.  Everything else - the initialisation of the
l2c_write_sec pointer, and the aux mask and values - can be specified
via the machine_desc struct.

That only leaves the non-DT stuff to worry about this, and from what I
understand, that's going to be removed soon.  If we're going to keep
the non-DT stuff, we should implement a new machine_desc hook for it
instead of hijacking one of the existing callbacks.

-- 
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.
--
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: regression: OMAP4 (next-20141204) (bisect to: ARM: 8208/1: l2c: Refactor the driver to use commit-like)

2014-12-22 Thread Tony Lindgren
* Russell King - ARM Linux li...@arm.linux.org.uk [141222 09:06]:
 On Thu, Dec 11, 2014 at 11:42:48AM +0100, Marek Szyprowski wrote:
  On 2014-12-11 10:29, Russell King - ARM Linux wrote:
  On Wed, Dec 10, 2014 at 10:42:33AM +0100, Marek Szyprowski wrote:
  I assume that now it won't be possible to get l2c patches back to -next,
  so I will resend them (again...) with the omap related fix.
  What, you mean you don't know the fundamental rules of kernel development?
  
  No one should ever dump any new code into linux-next during a merge
  window which is not a fix for a regression or a bug fix, period.
  
  Linus has in the past taken a snapshot of linux-next at the beginning
  of a merge window, and then threatened to refuse to merge anything that
  wasn't in his local snapshot, or which doesn't qualify as the above.
  
  So no, it won't be possible, because I play by the community rules when
  it comes to what gets merged and at what time in the cycle.
  
  I know the rules. It was just my whining, that it is yet another release
  cycle
  that got missed. It is really disappointing, that those patches have been
  floating for months and noone found issues related to different order of
  initialization. It took way to long to get them scheduled for testing in
  -next.
 
 Right, so - we're now at -rc1, and we should see about queuing this up
 sooner rather than later - in its fixed form.  From what I can see,
 there's been little progress on the OMAP problem.
 
 Nishanth - can we push OMAP over to using the generic DT L2C
 initialisation (the one from init_IRQ in arch/arm/kernel/irq.c) and
 kill the SoC specific stuff in arch/arm/mach-omap2/omap4-common.c ?
 
 From what I can see, in the DT case, the only thing which is used
 there is the ioremap() to provide omap4_get_l2cache_base() with
 something to return.  Everything else - the initialisation of the
 l2c_write_sec pointer, and the aux mask and values - can be specified
 via the machine_desc struct.
 
 That only leaves the non-DT stuff to worry about this, and from what I
 understand, that's going to be removed soon.  If we're going to keep
 the non-DT stuff, we should implement a new machine_desc hook for it
 instead of hijacking one of the existing callbacks.

For omap4 and later we've been DT only for about 1.5 years now so
that should not be an issue here.

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: regression: OMAP4 (next-20141204) (bisect to: ARM: 8208/1: l2c: Refactor the driver to use commit-like)

2014-12-22 Thread Nishanth Menon
On Mon, Dec 22, 2014 at 11:04 AM, Russell King - ARM Linux
li...@arm.linux.org.uk wrote:


 Nishanth - can we push OMAP over to using the generic DT L2C
 initialisation (the one from init_IRQ in arch/arm/kernel/irq.c) and
 kill the SoC specific stuff in arch/arm/mach-omap2/omap4-common.c ?

 From what I can see, in the DT case, the only thing which is used
 there is the ioremap() to provide omap4_get_l2cache_base() with
 something to return.  Everything else - the initialisation of the
 l2c_write_sec pointer, and the aux mask and values - can be specified
 via the machine_desc struct.

I think this is what Marek proposed. I had requested for patches to be
reposted with linux-omap in CC so that we can test and provide
feedback.


 That only leaves the non-DT stuff to worry about this, and from what I
 understand, that's going to be removed soon.  If we're going to keep
 the non-DT stuff, we should implement a new machine_desc hook for it
 instead of hijacking one of the existing callbacks.

none of the PL310 support requires non-DT. PL310 is needed for OMAP4
and AM437x both of which are DT only.


-- 
---
Regards,
Nishanth Menon
--
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: regression: OMAP4 (next-20141204) (bisect to: ARM: 8208/1: l2c: Refactor the driver to use commit-like)

2014-12-22 Thread Russell King - ARM Linux
On Mon, Dec 22, 2014 at 11:12:42AM -0600, Nishanth Menon wrote:
 On Mon, Dec 22, 2014 at 11:04 AM, Russell King - ARM Linux
 li...@arm.linux.org.uk wrote:
  That only leaves the non-DT stuff to worry about this, and from what I
  understand, that's going to be removed soon.  If we're going to keep
  the non-DT stuff, we should implement a new machine_desc hook for it
  instead of hijacking one of the existing callbacks.
 
 none of the PL310 support requires non-DT. PL310 is needed for OMAP4
 and AM437x both of which are DT only.

Right, so the simple answer for the time being is to kill most of
omap_l2_cache_init(), leaving just the ioremap() behind.  Everything
else can go into the machine_desc structures, and OMAP4 and AM437x
can both benefit from initialising the L2 cache at exactly the same
point as most other platforms.

-- 
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] arm: omap: reduce zImage size on omap2plus_defconfig

2014-12-22 Thread Felipe Balbi
By converting a few drivers to modules because they
won't be needed during boot anyways, we can shave off
about 700KiB of text.

Note that while at that, and after discussions with Tony
Lindgren, a few extra drivers were either removed because
they weren't needed, or added because they're useful for
debugging/testing.

Below is output of size for pre and post vmlinux binaries:

   textdata bss dec hex filename
8342992  757876 8411840 1751270810b3904 vmlinux-post-patch
9069110  800316 8419072 182884981170f72 vmlinux-pre-patch

Signed-off-by: Felipe Balbi ba...@ti.com
---
 arch/arm/configs/omap2plus_defconfig | 121 ++-
 1 file changed, 75 insertions(+), 46 deletions(-)

diff --git a/arch/arm/configs/omap2plus_defconfig 
b/arch/arm/configs/omap2plus_defconfig
index c2c3a85..a1dc3ed 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -13,7 +13,6 @@ CONFIG_CGROUP_FREEZER=y
 CONFIG_CGROUP_DEVICE=y
 CONFIG_CPUSETS=y
 CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
 CONFIG_MEMCG=y
 CONFIG_MEMCG_SWAP=y
 CONFIG_MEMCG_KMEM=y
@@ -68,7 +67,6 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y
 CONFIG_CPU_FREQ_GOV_USERSPACE=y
 CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_GENERIC_CPUFREQ_CPU0=y
 # CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
 CONFIG_CPU_IDLE=y
 CONFIG_BINFMT_MISC=y
@@ -103,7 +101,7 @@ CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_DMA_CMA=y
 CONFIG_OMAP_OCP2SCP=y
-CONFIG_CONNECTOR=y
+CONFIG_CONNECTOR=m
 CONFIG_MTD=y
 CONFIG_MTD_CMDLINE_PARTS=y
 CONFIG_MTD_BLOCK=y
@@ -122,14 +120,13 @@ CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=16384
 CONFIG_SENSORS_TSL2550=m
 CONFIG_BMP085_I2C=m
-CONFIG_SENSORS_LIS3_I2C=m
 CONFIG_SRAM=y
+CONFIG_SENSORS_LIS3_I2C=m
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_MD=y
+CONFIG_ATA=m
+CONFIG_SATA_AHCI_PLATFORM=m
 CONFIG_NETDEVICES=y
 # CONFIG_NET_VENDOR_ARC is not set
 # CONFIG_NET_CADENCE is not set
@@ -154,8 +151,8 @@ CONFIG_TI_CPSW=y
 # CONFIG_NET_VENDOR_WIZNET is not set
 CONFIG_AT803X_PHY=y
 CONFIG_SMSC_PHY=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_SMSC95XX=y
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_SMSC95XX=m
 CONFIG_USB_ALI_M5632=y
 CONFIG_USB_AN2720=y
 CONFIG_USB_EPSON2888=y
@@ -172,18 +169,22 @@ CONFIG_WLCORE_SDIO=m
 CONFIG_MWIFIEX=m
 CONFIG_MWIFIEX_SDIO=m
 CONFIG_MWIFIEX_USB=m
-CONFIG_INPUT_JOYDEV=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+CONFIG_KEYBOARD_ATKBD=m
+CONFIG_KEYBOARD_GPIO=m
 CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_TWL4030=y
+CONFIG_KEYBOARD_OMAP4=m
+CONFIG_KEYBOARD_TWL4030=m
+# CONFIG_INPUT_MOUSE is not set
 CONFIG_INPUT_TOUCHSCREEN=y
 CONFIG_TOUCHSCREEN_ADS7846=m
 CONFIG_TOUCHSCREEN_EDT_FT5X06=m
 CONFIG_TOUCHSCREEN_TSC2005=m
 CONFIG_TOUCHSCREEN_TSC2007=m
 CONFIG_INPUT_MISC=y
-CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_TWL4030_PWRBUTTON=m
+CONFIG_SERIO=m
 # CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
@@ -196,15 +197,16 @@ CONFIG_SERIAL_8250_RSA=y
 CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_OMAP=y
 CONFIG_SERIAL_OMAP_CONSOLE=y
-CONFIG_HW_RANDOM=y
 CONFIG_I2C_CHARDEV=y
 CONFIG_SPI=y
 CONFIG_SPI_OMAP24XX=y
+CONFIG_SPI_TI_QSPI=m
 CONFIG_PINCTRL_SINGLE=y
 CONFIG_DEBUG_GPIO=y
 CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_TWL4030=y
-CONFIG_W1=y
+CONFIG_GPIO_TWL4030=m
+CONFIG_W1=m
+CONFIG_HDQ_MASTER_OMAP=m
 CONFIG_BATTERY_BQ27x00=m
 CONFIG_CHARGER_ISP1704=m
 CONFIG_CHARGER_TWL4030=m
@@ -213,20 +215,21 @@ CONFIG_CHARGER_BQ24190=m
 CONFIG_CHARGER_BQ24735=m
 CONFIG_POWER_RESET=y
 CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
 CONFIG_SENSORS_LM75=m
-CONFIG_THERMAL=y
+CONFIG_SENSORS_TMP102=m
+CONFIG_THERMAL=m
 CONFIG_THERMAL_GOV_FAIR_SHARE=y
 CONFIG_THERMAL_GOV_USER_SPACE=y
 CONFIG_CPU_THERMAL=y
-CONFIG_TI_SOC_THERMAL=y
+CONFIG_TI_SOC_THERMAL=m
 CONFIG_TI_THERMAL=y
 CONFIG_OMAP4_THERMAL=y
 CONFIG_OMAP5_THERMAL=y
 CONFIG_DRA752_THERMAL=y
 CONFIG_WATCHDOG=y
-CONFIG_OMAP_WATCHDOG=y
-CONFIG_TWL4030_WATCHDOG=y
-CONFIG_MFD_SYSCON=y
+CONFIG_OMAP_WATCHDOG=m
+CONFIG_TWL4030_WATCHDOG=m
 CONFIG_MFD_PALMAS=y
 CONFIG_MFD_TPS65217=y
 CONFIG_MFD_TPS65218=y
@@ -289,51 +292,77 @@ 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_HID_GENERIC=m
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_MON=y
+CONFIG_USB_MON=m
 CONFIG_USB_XHCI_HCD=m
-CONFIG_USB_WDM=y
-CONFIG_USB_STORAGE=y
+CONFIG_USB_WDM=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_OMAP2PLUS=m
+CONFIG_USB_MUSB_AM35X=m
+CONFIG_USB_MUSB_DSPS=m
 CONFIG_USB_DWC3=m
-CONFIG_USB_TEST=y
+CONFIG_USB_TEST=m
 CONFIG_AM335X_PHY_USB=y
-CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET=m
 CONFIG_USB_GADGET_DEBUG=y
 CONFIG_USB_GADGET_DEBUG_FILES=y
 CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_CONFIGFS=m

Re: [PATCH] arm: omap: reduce zImage size on omap2plus_defconfig

2014-12-22 Thread Felipe Balbi
On Mon, Dec 22, 2014 at 12:05:35PM -0600, Felipe Balbi wrote:
 By converting a few drivers to modules because they
 won't be needed during boot anyways, we can shave off
 about 700KiB of text.
 
 Note that while at that, and after discussions with Tony
 Lindgren, a few extra drivers were either removed because
 they weren't needed, or added because they're useful for
 debugging/testing.
 
 Below is output of size for pre and post vmlinux binaries:
 
textdata bss dec hex filename
 8342992  757876 8411840 1751270810b3904 vmlinux-post-patch
 9069110  800316 8419072 182884981170f72 vmlinux-pre-patch
 
 Signed-off-by: Felipe Balbi ba...@ti.com

oh yeah, still boots fine with AM437x SK, Beagle Bone Black. Also boots
with Beagle X15, but that still needs a pending CPSW patch [1] for NFS
root.

[1] http://permalink.gmane.org/gmane.linux.ports.arm.omap/121183

 ---
  arch/arm/configs/omap2plus_defconfig | 121 
 ++-
  1 file changed, 75 insertions(+), 46 deletions(-)
 
 diff --git a/arch/arm/configs/omap2plus_defconfig 
 b/arch/arm/configs/omap2plus_defconfig
 index c2c3a85..a1dc3ed 100644
 --- a/arch/arm/configs/omap2plus_defconfig
 +++ b/arch/arm/configs/omap2plus_defconfig
 @@ -13,7 +13,6 @@ CONFIG_CGROUP_FREEZER=y
  CONFIG_CGROUP_DEVICE=y
  CONFIG_CPUSETS=y
  CONFIG_CGROUP_CPUACCT=y
 -CONFIG_RESOURCE_COUNTERS=y
  CONFIG_MEMCG=y
  CONFIG_MEMCG_SWAP=y
  CONFIG_MEMCG_KMEM=y
 @@ -68,7 +67,6 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
  CONFIG_CPU_FREQ_GOV_POWERSAVE=y
  CONFIG_CPU_FREQ_GOV_USERSPACE=y
  CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
 -CONFIG_GENERIC_CPUFREQ_CPU0=y
  # CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
  CONFIG_CPU_IDLE=y
  CONFIG_BINFMT_MISC=y
 @@ -103,7 +101,7 @@ CONFIG_DEVTMPFS=y
  CONFIG_DEVTMPFS_MOUNT=y
  CONFIG_DMA_CMA=y
  CONFIG_OMAP_OCP2SCP=y
 -CONFIG_CONNECTOR=y
 +CONFIG_CONNECTOR=m
  CONFIG_MTD=y
  CONFIG_MTD_CMDLINE_PARTS=y
  CONFIG_MTD_BLOCK=y
 @@ -122,14 +120,13 @@ CONFIG_BLK_DEV_RAM=y
  CONFIG_BLK_DEV_RAM_SIZE=16384
  CONFIG_SENSORS_TSL2550=m
  CONFIG_BMP085_I2C=m
 -CONFIG_SENSORS_LIS3_I2C=m
  CONFIG_SRAM=y
 +CONFIG_SENSORS_LIS3_I2C=m
  CONFIG_SCSI=y
  CONFIG_BLK_DEV_SD=y
  CONFIG_SCSI_SCAN_ASYNC=y
 -CONFIG_ATA=y
 -CONFIG_SATA_AHCI_PLATFORM=y
 -CONFIG_MD=y
 +CONFIG_ATA=m
 +CONFIG_SATA_AHCI_PLATFORM=m
  CONFIG_NETDEVICES=y
  # CONFIG_NET_VENDOR_ARC is not set
  # CONFIG_NET_CADENCE is not set
 @@ -154,8 +151,8 @@ CONFIG_TI_CPSW=y
  # CONFIG_NET_VENDOR_WIZNET is not set
  CONFIG_AT803X_PHY=y
  CONFIG_SMSC_PHY=y
 -CONFIG_USB_USBNET=y
 -CONFIG_USB_NET_SMSC95XX=y
 +CONFIG_USB_USBNET=m
 +CONFIG_USB_NET_SMSC95XX=m
  CONFIG_USB_ALI_M5632=y
  CONFIG_USB_AN2720=y
  CONFIG_USB_EPSON2888=y
 @@ -172,18 +169,22 @@ CONFIG_WLCORE_SDIO=m
  CONFIG_MWIFIEX=m
  CONFIG_MWIFIEX_SDIO=m
  CONFIG_MWIFIEX_USB=m
 -CONFIG_INPUT_JOYDEV=y
 -CONFIG_INPUT_EVDEV=y
 -CONFIG_KEYBOARD_GPIO=y
 +CONFIG_INPUT_JOYDEV=m
 +CONFIG_INPUT_EVDEV=m
 +CONFIG_KEYBOARD_ATKBD=m
 +CONFIG_KEYBOARD_GPIO=m
  CONFIG_KEYBOARD_MATRIX=m
 -CONFIG_KEYBOARD_TWL4030=y
 +CONFIG_KEYBOARD_OMAP4=m
 +CONFIG_KEYBOARD_TWL4030=m
 +# CONFIG_INPUT_MOUSE is not set
  CONFIG_INPUT_TOUCHSCREEN=y
  CONFIG_TOUCHSCREEN_ADS7846=m
  CONFIG_TOUCHSCREEN_EDT_FT5X06=m
  CONFIG_TOUCHSCREEN_TSC2005=m
  CONFIG_TOUCHSCREEN_TSC2007=m
  CONFIG_INPUT_MISC=y
 -CONFIG_INPUT_TWL4030_PWRBUTTON=y
 +CONFIG_INPUT_TWL4030_PWRBUTTON=m
 +CONFIG_SERIO=m
  # CONFIG_LEGACY_PTYS is not set
  CONFIG_SERIAL_8250=y
  CONFIG_SERIAL_8250_CONSOLE=y
 @@ -196,15 +197,16 @@ CONFIG_SERIAL_8250_RSA=y
  CONFIG_SERIAL_OF_PLATFORM=y
  CONFIG_SERIAL_OMAP=y
  CONFIG_SERIAL_OMAP_CONSOLE=y
 -CONFIG_HW_RANDOM=y
  CONFIG_I2C_CHARDEV=y
  CONFIG_SPI=y
  CONFIG_SPI_OMAP24XX=y
 +CONFIG_SPI_TI_QSPI=m
  CONFIG_PINCTRL_SINGLE=y
  CONFIG_DEBUG_GPIO=y
  CONFIG_GPIO_SYSFS=y
 -CONFIG_GPIO_TWL4030=y
 -CONFIG_W1=y
 +CONFIG_GPIO_TWL4030=m
 +CONFIG_W1=m
 +CONFIG_HDQ_MASTER_OMAP=m
  CONFIG_BATTERY_BQ27x00=m
  CONFIG_CHARGER_ISP1704=m
  CONFIG_CHARGER_TWL4030=m
 @@ -213,20 +215,21 @@ CONFIG_CHARGER_BQ24190=m
  CONFIG_CHARGER_BQ24735=m
  CONFIG_POWER_RESET=y
  CONFIG_POWER_AVS=y
 +CONFIG_HWMON=m
  CONFIG_SENSORS_LM75=m
 -CONFIG_THERMAL=y
 +CONFIG_SENSORS_TMP102=m
 +CONFIG_THERMAL=m
  CONFIG_THERMAL_GOV_FAIR_SHARE=y
  CONFIG_THERMAL_GOV_USER_SPACE=y
  CONFIG_CPU_THERMAL=y
 -CONFIG_TI_SOC_THERMAL=y
 +CONFIG_TI_SOC_THERMAL=m
  CONFIG_TI_THERMAL=y
  CONFIG_OMAP4_THERMAL=y
  CONFIG_OMAP5_THERMAL=y
  CONFIG_DRA752_THERMAL=y
  CONFIG_WATCHDOG=y
 -CONFIG_OMAP_WATCHDOG=y
 -CONFIG_TWL4030_WATCHDOG=y
 -CONFIG_MFD_SYSCON=y
 +CONFIG_OMAP_WATCHDOG=m
 +CONFIG_TWL4030_WATCHDOG=m
  CONFIG_MFD_PALMAS=y
  CONFIG_MFD_TPS65217=y
  CONFIG_MFD_TPS65218=y
 @@ -289,51 +292,77 @@ 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_HID_GENERIC=m
 +CONFIG_USB_HIDDEV=y
 +CONFIG_USB_KBD=m
 +CONFIG_USB_MOUSE=m
 +CONFIG_USB=m
  CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 -CONFIG_USB_MON=y
 

Re: [PATCH] ARM: dts: am437x-sk-evm: Hook dcdc2 as the cpu0-supply

2014-12-22 Thread Felipe Balbi
On Thu, Dec 04, 2014 at 09:24:39AM -0600, Felipe Balbi wrote:
 From: Dave Gerlach d-gerl...@ti.com
 
 Hook dcdc2 as the cpu0-supply.
 
 Signed-off-by: Dave Gerlach d-gerl...@ti.com
 Signed-off-by: Felipe Balbi ba...@ti.com

btw, before sending this, I tested on my AM437x Starter Kit, so

Tested-by: Felipe Balbi ba...@ti.com

 ---
  arch/arm/boot/dts/am437x-sk-evm.dts | 4 
  1 file changed, 4 insertions(+)
 
 diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts 
 b/arch/arm/boot/dts/am437x-sk-evm.dts
 index 87aa4f3..f7f77a7 100644
 --- a/arch/arm/boot/dts/am437x-sk-evm.dts
 +++ b/arch/arm/boot/dts/am437x-sk-evm.dts
 @@ -611,3 +611,7 @@
  wdt {
   status = okay;
  };
 +
 +cpu {
 + cpu0-supply = dcdc2;
 +};
 -- 
 2.1.0.GIT
 

-- 
balbi


signature.asc
Description: Digital signature


[PATCH] arm: boot: dts: add support for AM437x IDK

2014-12-22 Thread Felipe Balbi
The AM437x Industrial Development Kit (IDK) is
an application development platform targeted at
industrial communication and control applications.

It comes with a 3-phase motor driver, PROFINET,
PROFIBUS and a few other industrial communication
interfaces.

The board has 1GiB of DDR3 RAM, QSPI NOR flash,
a 100% discrete power design (no PMIC) and an
on-board 2MP camera (not supported with Linux
as of this writing).

Signed-off-by: Felipe Balbi ba...@ti.com
---

boot log: http://hastebin.com/oxinotuzur

 arch/arm/boot/dts/Makefile   |   1 +
 arch/arm/boot/dts/am437x-idk-evm.dts | 381 +++
 2 files changed, 382 insertions(+)
 create mode 100644 arch/arm/boot/dts/am437x-idk-evm.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 91bd5bd..1b2c7de 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -366,6 +366,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
omap4-var-stk-om44.dtb
 dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
am437x-sk-evm.dtb \
+   am437x-idk-evm.dtb \
am437x-gp-evm.dtb
 dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
omap5-sbc-t54.dtb \
diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts 
b/arch/arm/boot/dts/am437x-idk-evm.dts
new file mode 100644
index 000..b52dd0a
--- /dev/null
+++ b/arch/arm/boot/dts/am437x-idk-evm.dts
@@ -0,0 +1,381 @@
+/*
+ * Copyright (C) 2014 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 am4372.dtsi
+#include dt-bindings/pinctrl/am43xx.h
+#include dt-bindings/pwm/pwm.h
+#include dt-bindings/gpio/gpio.h
+#include dt-bindings/input/input.h
+
+/ {
+   model = TI AM437x Industrial Development Kit;
+   compatible = ti,am437x-idk-evm,ti,am4372,ti,am43;
+
+   v24_0d: fixed-regulator-v24_0d {
+   compatible = regulator-fixed;
+   regulator-name = V24_0D;
+   regulator-min-microvolt = 2400;
+   regulator-max-microvolt = 2400;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   v3_3d: fixed-regulator-v3_3d {
+   compatible = regulator-fixed;
+   regulator-name = V3_3D;
+   regulator-min-microvolt = 330;
+   regulator-max-microvolt = 330;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = v24_0d;
+   };
+
+   vdd_corereg: fixed-regulator-vdd_corereg {
+   compatible = regulator-fixed;
+   regulator-name = VDD_COREREG;
+   regulator-min-microvolt = 110;
+   regulator-max-microvolt = 110;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = v24_0d;
+   };
+
+   vdd_core: fixed-regulator-vdd_core {
+   compatible = regulator-fixed;
+   regulator-name = VDD_CORE;
+   regulator-min-microvolt = 110;
+   regulator-max-microvolt = 110;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = vdd_corereg;
+   };
+
+   v1_8dreg: fixed-regulator-v1_8dreg{
+   compatible = regulator-fixed;
+   regulator-name = V1_8DREG;
+   regulator-min-microvolt = 180;
+   regulator-max-microvolt = 180;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = v24_0d;
+   };
+
+   v1_8d: fixed-regulator-v1_8d{
+   compatible = regulator-fixed;
+   regulator-name = V1_8D;
+   regulator-min-microvolt = 180;
+   regulator-max-microvolt = 180;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = v1_8dreg;
+   };
+
+   v1_5dreg: fixed-regulator-v1_5dreg{
+   compatible = regulator-fixed;
+   regulator-name = V1_5DREG;
+   regulator-min-microvolt = 150;
+   regulator-max-microvolt = 150;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = v24_0d;
+   };
+
+   v1_5d: fixed-regulator-v1_5d{
+   compatible = regulator-fixed;
+   regulator-name = V1_5D;
+   regulator-min-microvolt = 150;
+   regulator-max-microvolt = 150;
+   regulator-always-on;
+   regulator-boot-on;
+   vin-supply = v1_5dreg;
+   };
+};
+
+am43xx_pinmux {
+   i2c0_pins_default: i2c0_pins_default {
+   pinctrl-single,pins = 
+   0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* 

Re: [PATCH] arm: omap: reduce zImage size on omap2plus_defconfig

2014-12-22 Thread Igor Grinberg
Hi Felipe,

On 12/22/14 20:05, Felipe Balbi wrote:

[...]

  CONFIG_SCSI_SCAN_ASYNC=y
 -CONFIG_ATA=y
 -CONFIG_SATA_AHCI_PLATFORM=y
 -CONFIG_MD=y
 +CONFIG_ATA=m
 +CONFIG_SATA_AHCI_PLATFORM=m

Isn't this needed for the rootfs on SATA devices?

  CONFIG_NETDEVICES=y
  # CONFIG_NET_VENDOR_ARC is not set
  # CONFIG_NET_CADENCE is not set
 @@ -154,8 +151,8 @@ CONFIG_TI_CPSW=y
  # CONFIG_NET_VENDOR_WIZNET is not set
  CONFIG_AT803X_PHY=y
  CONFIG_SMSC_PHY=y
 -CONFIG_USB_USBNET=y
 -CONFIG_USB_NET_SMSC95XX=y
 +CONFIG_USB_USBNET=m
 +CONFIG_USB_NET_SMSC95XX=m

What about the NFS root for boards with only USB eth?

[...]

  CONFIG_DEBUG_GPIO=y
  CONFIG_GPIO_SYSFS=y
 -CONFIG_GPIO_TWL4030=y
 -CONFIG_W1=y
 +CONFIG_GPIO_TWL4030=m

w/o this devices wired to twl gpios will not come up and likely
will miss the enumeration...

 -CONFIG_USB=y
 +CONFIG_HID_GENERIC=m
 +CONFIG_USB_HIDDEV=y
 +CONFIG_USB_KBD=m
 +CONFIG_USB_MOUSE=m
 +CONFIG_USB=m

So, you don't consider USB a valid rootfs storage option?

  CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 -CONFIG_USB_MON=y
 +CONFIG_USB_MON=m
  CONFIG_USB_XHCI_HCD=m
 -CONFIG_USB_WDM=y
 -CONFIG_USB_STORAGE=y
 +CONFIG_USB_WDM=m
 +CONFIG_USB_STORAGE=m
 +CONFIG_USB_MUSB_HDRC=m
 +CONFIG_USB_MUSB_OMAP2PLUS=m
 +CONFIG_USB_MUSB_AM35X=m
 +CONFIG_USB_MUSB_DSPS=m

[...]


-- 
Regards,
Igor.
--
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