Re: [PATCH v3 3/3] ARM: dts: add dts files for xyref5260 board

2014-02-15 Thread Rahul Sharma
Thanks Tomasz,

On 15 February 2014 00:27, Tomasz Figa tomasz.f...@gmail.com wrote:
 Hi Rahul,

 The patch looks good, except one issue pointed inline.


 On 14.02.2014 14:37, Rahul Sharma wrote:

 diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
 b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
 new file mode 100644
 index 000..c4efc1e
 --- /dev/null
 +++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts


 [snip]


 +mmc_0 {
 +   status = okay;
 +   num-slots = 1;
 +   broken-cd;
 +   bypass-smu;
 +   supports-highspeed;
 +   supports-hs200-mode; /* 200 Mhz */
 +   fifo-depth = 0x40;


 This is a SoC-level property and it is already specified in your
 exynos5260.dtsi.


Tomasz,

yea correct. I will put these inside SoC node.

Regards,
Rahul Sharma.


 +   card-detect-delay = 200;
 +   samsung,dw-mshc-ciu-div = 3;
 +   samsung,dw-mshc-sdr-timing = 0 4;
 +   samsung,dw-mshc-ddr-timing = 0 2;
 +   pinctrl-names = default;
 +   pinctrl-0 = sd0_rdqs sd0_clk sd0_cmd sd0_bus1 sd0_bus4
 sd0_bus8;
 +
 +   slot@0 {
 +   reg = 0;
 +   bus-width = 8;
 +   };
 +};
 +
 +mmc_2 {
 +   status = okay;
 +   num-slots = 1;
 +   supports-highspeed;
 +   fifo-depth = 0x40;


 Ditto.

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


Re: [PATCH v2 11/14] regulator: s2mps11: Add opmode for S2MPS14 regulators

2014-02-15 Thread Mark Brown
On Fri, Feb 14, 2014 at 09:15:12AM +0100, Krzysztof Kozlowski wrote:

 My initial idea was to do this similarly to the S5M8767 regulator (where
 there is also 4th mode: low power). The presence of GPIO in DTS can
 simplify the bindings but on the other hand it wouldn't be compatible
 with S5M8767 regulator driver. This may complicate the merge of these
 drivers.

They can always use separate ops.

 What is your opinion on this - should I abandon the op_mode idea and
 use presence of GPIO?

Yes, that's better - especially since the framework has support for
enable GPIOs.  It can do things like handle cases where the hardware has
tied the enables for several regulators together so they all need to be
enabled and disabled as one.


signature.asc
Description: Digital signature


Re: [PATCH v2 11/14] regulator: s2mps11: Add opmode for S2MPS14 regulators

2014-02-15 Thread Mark Brown
On Fri, Feb 14, 2014 at 02:05:56PM +0100, Krzysztof Kozlowski wrote:
 On Thu, 2014-02-13 at 17:46 +0530, Yadwinder Singh Brar wrote:

  - low-power mode;
  - low-power mode controlled by PWREN;
 Although not all are present for each regulator.

What exactly is low power mode and how does it interact with the enable?
The name suggests it's a more efficient mode for use with low current
drain, is that right?

 A generic solution for operating mode of regulators (not only s2mps11
 and s5m8767) could cover all of these above or just a subset, for
 example regulator bindings could look like:
  - regulator-mode-suspend; /* PWR controls: on/off or low-power mode */
  - regulator-mode-low-power; /* Low power mode */

Those properties have awfully generic names and part of what I was
wondering above is if the low power mode maps onto the idle or standby
modes that the API defines?  We don't cover those in the bindings yet
since they are unfortunately fuzzy but perhaps we need to do so.


signature.asc
Description: Digital signature


Re: [PATCH v1 1/2] clocksource: mct: remove request_irq from exynos4_local_timer_setup

2014-02-15 Thread Thomas Gleixner
On Thu, 13 Feb 2014, Tarek Dakhran wrote:

 exynos4_local_timer_setup called on the secondary cpu before
 irqs are enabled. request_irq can sleep, which produces next warning:
 
   BUG: sleeping function called from invalid context at mm/slub.c:965
   in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper/3
 
 Call setup_irq for each local timer in exynos4_timer_resources,
 and only call enable_irq during percpu timer setup.
 
 Signed-off-by: Tarek Dakhran t.dakh...@samsung.com
 ---
  drivers/clocksource/exynos_mct.c |   38 
 ++
  1 file changed, 30 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/clocksource/exynos_mct.c 
 b/drivers/clocksource/exynos_mct.c
 index 48f76bc..1cde3de 100644
 --- a/drivers/clocksource/exynos_mct.c
 +++ b/drivers/clocksource/exynos_mct.c
 @@ -82,6 +82,7 @@ static void __iomem *reg_base;
  static unsigned long clk_rate;
  static unsigned int mct_int_type;
  static int mct_irqs[MCT_NR_IRQS];
 +static struct irqaction __percpu *mct_LX_irqaction;
  
  struct mct_clock_event_device {
   struct clock_event_device evt;
 @@ -402,6 +403,25 @@ static irqreturn_t exynos4_mct_tick_isr(int irq, void 
 *dev_id)
   return IRQ_HANDLED;
  }
  
 +static void exynos4_setup_irqaction_spi(unsigned int cpu)
 +{
 + struct irqaction *pcpu_irqaction = per_cpu_ptr(mct_LX_irqaction, cpu);
 + unsigned int irq = mct_irqs[MCT_L0_IRQ + cpu];
 + int err;
 +
 + pcpu_irqaction-name = per_cpu(percpu_mct_tick, cpu).name;
 + pcpu_irqaction-flags  = IRQF_TIMER | IRQF_NOBALANCING;
 + pcpu_irqaction-handler = exynos4_mct_tick_isr;
 + pcpu_irqaction-dev_id = per_cpu(percpu_mct_tick, cpu);
 +
 + err = setup_irq(irq, pcpu_irqaction);

This is just crap. Why don't you use request_irq()?

 + if (err) {
 + pr_err(MCT: can't setup IRQ %d (%d)\n, irq, err);
 + return;
 + }
 + disable_irq(irq);

This is completely backwards. We have flags which tell the core not to
enable an interrupt at setup time. Also what's wrong with enabling the
interrupt in the first place? When the timer is stopped then no
interrupts happen and it does not matter a bit whether the irq line is
enabled or not.

Thanks,

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


Re: [PATCH] i2c: s3c2410: do not put a default class for the adapter

2014-02-15 Thread Wolfram Sang
On Fri, Feb 07, 2014 at 01:59:55PM +0530, Naveen Krishna Chatradhi wrote:
 From: Vincent Palatin vpala...@chromium.org
 
 Avoid adding I2C_CLASS_HWMON and I2C_CLASS_SPD class flags to all
 Samsung I2C adapters when the I2C mappings are defined in a device tree.
 So the drivers doing an auto-detection by probing busses won't mess-up
 sensitive I2C devices or trigger long timeouts on non-functional busses.
 
 Signed-off-by: Vincent Palatin vpala...@chromium.org
 Reviewed-by: Olof Johansson ol...@chromium.org
 Tested-by: Vincent Palatin vpala...@chromium.org
 Reviewed-by: Doug Anderson diand...@chromium.org

I'd prefer to drop it in favour of this series:

http://lkml.org/lkml/2014/2/10/836



signature.asc
Description: Digital signature


Re: [PATCH] ARM: dts: fix incorrect vdd_arm voltage range for Exynos4412 based boards

2014-02-15 Thread Kukjin Kim

On 01/18/14 20:11, Thomas Abraham wrote:

From: Thomas Abrahamthomas...@samsung.com

To allow Exynos4412 based Odroidx and Origen-quad boards to operate between
200MHz to 1.4Ghz, update the vdd_arm voltage range to operate between these
cpu clock speeds.

Cc: Dongjin Kimtobet...@gmail.com
Signed-off-by: Thomas Abrahamthomas...@samsung.com
---
  arch/arm/boot/dts/exynos4412-odroidx.dts |2 +-
  arch/arm/boot/dts/exynos4412-origen.dts  |4 ++--
  2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts 
b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 9804fcb..12459b0 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -251,7 +251,7 @@
buck2_reg: BUCK2 {
regulator-name = vdd_arm;
regulator-min-microvolt =90;
-   regulator-max-microvolt =130;
+   regulator-max-microvolt =135;
regulator-always-on;
regulator-boot-on;
};
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts 
b/arch/arm/boot/dts/exynos4412-origen.dts
index 6bc0539..388f035 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -459,8 +459,8 @@

buck2_reg: BUCK2 {
regulator-name = vdd_arm;
-   regulator-min-microvolt =925000;
-   regulator-max-microvolt =130;
+   regulator-min-microvolt =90;
+   regulator-max-microvolt =135;
regulator-always-on;
regulator-boot-on;
op_mode =1; /* Normal Mode */


Applied, thanks.

- Kukjin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc 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: add max77686 pmic node for smdk5250 board

2014-02-15 Thread Kukjin Kim

On 01/18/14 20:09, Thomas Abraham wrote:

From: Thomas Abrahamthomas...@samsung.com

Add Maxim 77686 PMIC node for Exynos5250 based SMDK5250 board.

Signed-off-by: Thomas Abrahamthomas...@samsung.com
---
  arch/arm/boot/dts/exynos5250-smdk5250.dts |  142 +
  1 files changed, 142 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts 
b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 3e69837..5c1b7d9 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -36,6 +36,148 @@
compatible = samsung,s524ad0xd1;
reg =0x50;
};
+
+   max77686@09 {
+   compatible = maxim,max77686;
+   reg =0x09;
+
+   voltage-regulators {
+   ldo1_reg: LDO1 {
+   regulator-name = P1.0V_LDO_OUT1;
+   regulator-min-microvolt =100;
+   regulator-max-microvolt =100;
+   regulator-always-on;
+   };
+
+   ldo2_reg: LDO2 {
+   regulator-name = P1.2V_LDO_OUT2;
+   regulator-min-microvolt =120;
+   regulator-max-microvolt =120;
+   regulator-always-on;
+   };
+
+   ldo3_reg: LDO3 {
+   regulator-name = P1.8V_LDO_OUT3;
+   regulator-min-microvolt =180;
+   regulator-max-microvolt =180;
+   regulator-always-on;
+   };
+
+   ldo4_reg: LDO4 {
+   regulator-name = P2.8V_LDO_OUT4;
+   regulator-min-microvolt =280;
+   regulator-max-microvolt =280;
+   };
+
+   ldo5_reg: LDO5 {
+   regulator-name = P1.8V_LDO_OUT5;
+   regulator-min-microvolt =180;
+   regulator-max-microvolt =180;
+   };
+
+   ldo6_reg: LDO6 {
+   regulator-name = P1.1V_LDO_OUT6;
+   regulator-min-microvolt =110;
+   regulator-max-microvolt =110;
+   regulator-always-on;
+   };
+
+   ldo7_reg: LDO7 {
+   regulator-name = P1.1V_LDO_OUT7;
+   regulator-min-microvolt =110;
+   regulator-max-microvolt =110;
+   regulator-always-on;
+   };
+
+   ldo8_reg: LDO8 {
+   regulator-name = P1.0V_LDO_OUT8;
+   regulator-min-microvolt =100;
+   regulator-max-microvolt =100;
+   };
+
+   ldo10_reg: LDO10 {
+   regulator-name = P1.8V_LDO_OUT10;
+   regulator-min-microvolt =180;
+   regulator-max-microvolt =180;
+   };
+
+   ldo11_reg: LDO11 {
+   regulator-name = P1.8V_LDO_OUT11;
+   regulator-min-microvolt =180;
+   regulator-max-microvolt =180;
+   };
+
+   ldo12_reg: LDO12 {
+   regulator-name = P3.0V_LDO_OUT12;
+   regulator-min-microvolt =300;
+   regulator-max-microvolt =300;
+   };
+
+   ldo13_reg: LDO13 {
+   regulator-name = P1.8V_LDO_OUT13;
+   regulator-min-microvolt =180;
+   regulator-max-microvolt =180;
+   };
+
+   ldo14_reg: LDO14 {
+   regulator-name = P1.8V_LDO_OUT14;
+