Re: [RFC PATCH 1/3] clk: add support for temporary parent clock migration

2013-08-22 Thread Mike Turquette
Quoting Chander Kashyap (2013-08-06 01:34:23)
 Some platforms use to migrate temporarily to another parent during cpu 
 frequency
 scaling, e.g. Exynos and Tegra. Once the frequency is changed the latch on to
 original parent.
 
 The generic cpufreq-cpu0 driver use CCF to scale cpu frequency. This patch is 
 an
 attempt to address the above mentioned requirement.

The generic cpufreq-cpu0 driver does not use CCF per se. It uses the
long-standing clock api written by Russell. Coincidentally I think that
all the platforms using cpufreq-cpu0 have converted to the common struct
clk.

 
 This is achieved as follows:
 
 Add a clk flag CLK_SET_RATE_ALTERNATE for clocks which need to migrate to
 another parent during set_rate operation on them.

We discussed the naming a bit already. I think I like
CLK_SET_RATE_TEMP_PARENT more. It's really long but it gets the idea
across easily.

 
 Add alternate_parent_name and alternate_parent fields to clk structure
 i.e the name of alternate_parent_clock and reference to 
 alternate_parent_clock.

Similarly temp_parent_name and temp_parent here.

 
 Hence in clk_set_rate API check for the CLK_SET_RATE_ALTERNATE flag, then
 latch on to alternate parent clock temporarily. Once the requested rate is set
 on the clk, re-parent back to original parent clock.
 
 This property is applicable only for mux-clocks, where it is guaranteed that
 set_rate will actually execute on parent clock.

Can you clarify what you mean by this?

 
 Signed-off-by: Chander Kashyap chander.kash...@linaro.org
 ---
  drivers/clk/clk-mux.c|   13 ++--
  drivers/clk/clk.c|   45 
 +++---
  include/linux/clk-private.h  |   17 +---
  include/linux/clk-provider.h |   10 ++
  4 files changed, 65 insertions(+), 20 deletions(-)
 
 diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c
 index 61c..47cb77f 100644
 --- a/drivers/clk/clk-mux.c
 +++ b/drivers/clk/clk-mux.c
 @@ -109,8 +109,8 @@ EXPORT_SYMBOL_GPL(clk_mux_ops);
  
  struct clk *clk_register_mux_table(struct device *dev, const char *name,
 const char **parent_names, u8 num_parents, unsigned long 
 flags,
 -   void __iomem *reg, u8 shift, u32 mask,
 -   u8 clk_mux_flags, u32 *table, spinlock_t *lock)
 +   const char *alternate_parent_name, void __iomem *reg, u8 
 shift,
 +   u32 mask, u8 clk_mux_flags, u32 *table, spinlock_t *lock)
  {
 struct clk_mux *mux;
 struct clk *clk;
 @@ -137,6 +137,7 @@ struct clk *clk_register_mux_table(struct device *dev, 
 const char *name,
 init.flags = flags | CLK_IS_BASIC;
 init.parent_names = parent_names;
 init.num_parents = num_parents;
 +   init.alternate_parent_name = alternate_parent_name;
  
 /* struct clk_mux assignments */
 mux-reg = reg;
 @@ -157,12 +158,12 @@ struct clk *clk_register_mux_table(struct device *dev, 
 const char *name,
  
  struct clk *clk_register_mux(struct device *dev, const char *name,
 const char **parent_names, u8 num_parents, unsigned long 
 flags,
 -   void __iomem *reg, u8 shift, u8 width,
 -   u8 clk_mux_flags, spinlock_t *lock)
 +   const char *alternate_parent_name, void __iomem *reg, u8 
 shift,
 +   u8 width, u8 clk_mux_flags, spinlock_t *lock)
  {
 u32 mask = BIT(width) - 1;
  
 return clk_register_mux_table(dev, name, parent_names, num_parents,
 - flags, reg, shift, mask, clk_mux_flags,
 - NULL, lock);
 + flags, alternate_parent_name, reg, 
 shift,
 + mask, clk_mux_flags, NULL, lock);
  }
 diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
 index 54a191c..0f18a45 100644
 --- a/drivers/clk/clk.c
 +++ b/drivers/clk/clk.c
 @@ -1209,8 +1209,8 @@ static void clk_change_rate(struct clk *clk)
   */
  int clk_set_rate(struct clk *clk, unsigned long rate)
  {
 -   struct clk *top, *fail_clk;
 -   int ret = 0;
 +   struct clk *top, *fail_clk, *parent = NULL;
 +   int ret = 0, index;
  
 /* prevent racing with updates to the clock topology */
 clk_prepare_lock();
 @@ -1231,6 +1231,36 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
 goto out;
 }
  
 +   /* Latch on to alternate parent temporarily if needed */
 +   if ((clk-flags  CLK_SET_RATE_ALTERNATE)
 +clk-alternate_parent_name) {
 +   /* Save current parent before latching on to alternate parent 
 */
 +   parent = clk-parent;
 +
 +   if (!clk-alternate_parent) {
 +   for (index = 0; index  clk-num_parents; index++) {
 +   if (!strcmp(clk-parent_names[index],
 +   

Re: [RFC PATCH 2/3] clk: update users of clk_register_mux and DEFINE_CLK_MUX

2013-08-22 Thread Mike Turquette
Quoting Chander Kashyap (2013-08-06 01:34:24)
 As with the patch clk-add-support-for-temporary-parent-clock-migration.patch
 a new field alternate_parent_name, is added to clk structure. This field can
 be passed using clk_register_mux API and DEFINE_CLK_MUX macro.

Nitpick: it's easier to search for the patch you mentioned if you quote
the actual patch $SUBJECT instead of the name of the patch file. In this
case, clk: add support for temporary parent clock migration.

This invasive change is not necessary if the temporary parent stuff is
not added to the clock core and is instead left to the .set_parent
callbacks of custom clock providers.

Regards,
Mike
--
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] ARM: dts: Add dwmmc DT nodes for exynos5420 SOC

2013-08-22 Thread Yuvaraj Kumar
On Wed, Aug 21, 2013 at 4:00 PM, Tomasz Figa t.f...@samsung.com wrote:
 Hi Yuvaraj,

 On Wednesday 21 of August 2013 12:13:53 Yuvaraj Kumar C D wrote:
 This patch adds the device tree node entries for exynos5420 SOC.
 Exynos5420 has a different version of DWMMC controller,so a new
 compatible string is used to distinguish it from the prior SOC's.

 What are the difference between both versions? Is there a patch adding the
 new compatible to the driver somewhere?
Exynos5250 has DWMMC controller of IP version 2.41a
Exynos5420 has DWMMC controller of IP version 2.50a
In addition Exynos5420 has Security Management Unit for eMMC.

 changes since V1:
   1.disable node by status = disabled in SOC file
   2.enable node by status = okay in board specific file

 Ahh, so you fixed this already in this version, thanks. Haven't noticed
 this patch at first and commented on previous one. Sorry for the noise.


 Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com
 ---
  .../devicetree/bindings/mmc/exynos-dw-mshc.txt |2 ++
  arch/arm/boot/dts/exynos5420-smdk5420.dts  |   38
  arch/arm/boot/dts/exynos5420.dtsi
 |   36 +++ 3 files changed, 76 insertions(+)

 diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
 b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt index
 6d1c098..84cd56f 100644
 --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
 +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
 @@ -16,6 +16,8 @@ Required Properties:
 specific extensions.
   - samsung,exynos5250-dw-mshc: for controllers with Samsung Exynos5250
 specific extensions.
 + - samsung,exynos5420-dw-mshc: for controllers with Samsung Exynos5420
 +   specific extensions.

  * samsung,dw-mshc-ciu-div: Specifies the divider value for the card
 interface unit (ciu) clock. This property is applicable only for Exynos5
 SoC's and diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts
 b/arch/arm/boot/dts/exynos5420-smdk5420.dts index bafba25..6e65278
 100644
 --- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
 +++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
 @@ -31,6 +31,44 @@
   };
   };

 + dwmmc0@1220 {
 + status = okay;
 + num-slots = 1;

 You don't have to specify this property if there is only one slot. Also are
 you sure that this is a board specific property?
Yes,If num-slots property is not defined dw_mmc driver assumes 1 slot
is available.
I think yes,its a board specific property as number of card slots is
board dependent.

 + broken-cd;
 + bypass-smu;

 This property doesn't seem to be documented nor used anywhere.
Sorry. I missed to add in binding document.Will add in next version.

 + supports-highspeed;

 Is it a board specific property?

 + fifo-depth = 0x80;

 Ditto.
Ideally this can be move to SOC specific dts.But I am just following
,already merged smdk5250 board
dts convensions.

 + card-detect-delay = 200;
 + samsung,dw-mshc-ciu-div = 3;
 + samsung,dw-mshc-sdr-timing = 0 4;
 + samsung,dw-mshc-ddr-timing = 0 2;

 Are the above three properties really board-specific?

 Same for remaining nodes.

 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 0/2] Add GPLL, APLL, KPLL, EPLL and VPLL freq table for exynos5420 and exynos5250

2013-08-22 Thread Vikas Sajjan
Hi Mike,

On Wed, Aug 14, 2013 at 9:07 PM, Tomasz Figa t.f...@samsung.com wrote:
 Hi Vikas,

 On Wednesday 14 of August 2013 10:36:53 Vikas Sajjan wrote:
 Hi Mike,

 On Mon, Aug 12, 2013 at 3:32 PM, Vikas Sajjan vikas.saj...@linaro.org
 wrote:
  Adds GPLL, APLL, KPLL, EPLL and VPLL freq table for exynos5420 and
  exynos5250.
 
  is rebased on Mike's
  https://git.linaro.org/gitweb?p=people/mturquette/linux.git;a=shortlog;
  h=refs/heads/clk-next
  Vikas Sajjan (2):
clk: samsung: Add GPLL freq table for exynos5250 SoC
clk: samsung: Add APLL, KPLL, EPLL and VPLL freq table for exynos5420
 
  SoC
 
   drivers/clk/samsung/clk-exynos5250.c |   19 +++-
   drivers/clk/samsung/clk-exynos5420.c |   81
   ++ 2 files changed, 99 insertions(+),
   1 deletion(-)

 Can you apply this patchset.

 Please give few more days for the patch to be reviewed by people.

 A reasonable period of time which should pass after submitting a patch to
 ping the maintainers is around a week. This allows people to find some time
 to read your patches and share their opinions (and/or give their reviewed-
 by/acked-by tags).


any comments on this.


 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: [RFC PATCH 1/3] clk: add support for temporary parent clock migration

2013-08-22 Thread Chander Kashyap
On 22 August 2013 11:46, Mike Turquette mturque...@linaro.org wrote:
 Quoting Chander Kashyap (2013-08-06 01:34:23)
 Some platforms use to migrate temporarily to another parent during cpu 
 frequency
 scaling, e.g. Exynos and Tegra. Once the frequency is changed the latch on to
 original parent.

 The generic cpufreq-cpu0 driver use CCF to scale cpu frequency. This patch 
 is an
 attempt to address the above mentioned requirement.

 The generic cpufreq-cpu0 driver does not use CCF per se. It uses the
 long-standing clock api written by Russell. Coincidentally I think that
 all the platforms using cpufreq-cpu0 have converted to the common struct
 clk.


 This is achieved as follows:

 Add a clk flag CLK_SET_RATE_ALTERNATE for clocks which need to migrate to
 another parent during set_rate operation on them.

 We discussed the naming a bit already. I think I like
 CLK_SET_RATE_TEMP_PARENT more. It's really long but it gets the idea
 across easily.

ok, TEMP, seems more crisp and clear.



 Add alternate_parent_name and alternate_parent fields to clk structure
 i.e the name of alternate_parent_clock and reference to 
 alternate_parent_clock.

 Similarly temp_parent_name and temp_parent here.

ok



 Hence in clk_set_rate API check for the CLK_SET_RATE_ALTERNATE flag, then
 latch on to alternate parent clock temporarily. Once the requested rate is 
 set
 on the clk, re-parent back to original parent clock.

 This property is applicable only for mux-clocks, where it is guaranteed that
 set_rate will actually execute on parent clock.

 Can you clarify what you mean by this?

sure,
means to say only mux-out clk can have multiple parents.



 Signed-off-by: Chander Kashyap chander.kash...@linaro.org
 ---
  drivers/clk/clk-mux.c|   13 ++--
  drivers/clk/clk.c|   45 
 +++---
  include/linux/clk-private.h  |   17 +---
  include/linux/clk-provider.h |   10 ++
  4 files changed, 65 insertions(+), 20 deletions(-)

 diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c
 index 61c..47cb77f 100644
 --- a/drivers/clk/clk-mux.c
 +++ b/drivers/clk/clk-mux.c
 @@ -109,8 +109,8 @@ EXPORT_SYMBOL_GPL(clk_mux_ops);

  struct clk *clk_register_mux_table(struct device *dev, const char *name,
 const char **parent_names, u8 num_parents, unsigned long 
 flags,
 -   void __iomem *reg, u8 shift, u32 mask,
 -   u8 clk_mux_flags, u32 *table, spinlock_t *lock)
 +   const char *alternate_parent_name, void __iomem *reg, u8 
 shift,
 +   u32 mask, u8 clk_mux_flags, u32 *table, spinlock_t *lock)
  {
 struct clk_mux *mux;
 struct clk *clk;
 @@ -137,6 +137,7 @@ struct clk *clk_register_mux_table(struct device *dev, 
 const char *name,
 init.flags = flags | CLK_IS_BASIC;
 init.parent_names = parent_names;
 init.num_parents = num_parents;
 +   init.alternate_parent_name = alternate_parent_name;

 /* struct clk_mux assignments */
 mux-reg = reg;
 @@ -157,12 +158,12 @@ struct clk *clk_register_mux_table(struct device *dev, 
 const char *name,

  struct clk *clk_register_mux(struct device *dev, const char *name,
 const char **parent_names, u8 num_parents, unsigned long 
 flags,
 -   void __iomem *reg, u8 shift, u8 width,
 -   u8 clk_mux_flags, spinlock_t *lock)
 +   const char *alternate_parent_name, void __iomem *reg, u8 
 shift,
 +   u8 width, u8 clk_mux_flags, spinlock_t *lock)
  {
 u32 mask = BIT(width) - 1;

 return clk_register_mux_table(dev, name, parent_names, num_parents,
 - flags, reg, shift, mask, clk_mux_flags,
 - NULL, lock);
 + flags, alternate_parent_name, reg, 
 shift,
 + mask, clk_mux_flags, NULL, lock);
  }
 diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
 index 54a191c..0f18a45 100644
 --- a/drivers/clk/clk.c
 +++ b/drivers/clk/clk.c
 @@ -1209,8 +1209,8 @@ static void clk_change_rate(struct clk *clk)
   */
  int clk_set_rate(struct clk *clk, unsigned long rate)
  {
 -   struct clk *top, *fail_clk;
 -   int ret = 0;
 +   struct clk *top, *fail_clk, *parent = NULL;
 +   int ret = 0, index;

 /* prevent racing with updates to the clock topology */
 clk_prepare_lock();
 @@ -1231,6 +1231,36 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
 goto out;
 }

 +   /* Latch on to alternate parent temporarily if needed */
 +   if ((clk-flags  CLK_SET_RATE_ALTERNATE)
 +clk-alternate_parent_name) {
 +   /* Save current parent before latching on to alternate 
 parent */
 +   parent = clk-parent;
 +
 +   if (!clk-alternate_parent) {
 +   for (index = 0; 

Re: [RFC PATCH 2/3] clk: update users of clk_register_mux and DEFINE_CLK_MUX

2013-08-22 Thread Chander Kashyap
On 22 August 2013 11:49, Mike Turquette mturque...@linaro.org wrote:
 Quoting Chander Kashyap (2013-08-06 01:34:24)
 As with the patch 
 clk-add-support-for-temporary-parent-clock-migration.patch
 a new field alternate_parent_name, is added to clk structure. This field 
 can
 be passed using clk_register_mux API and DEFINE_CLK_MUX macro.

 Nitpick: it's easier to search for the patch you mentioned if you quote
 the actual patch $SUBJECT instead of the name of the patch file. In this
 case, clk: add support for temporary parent clock migration.


thanks for the suggestion.

 This invasive change is not necessary if the temporary parent stuff is
 not added to the clock core and is instead left to the .set_parent
 callbacks of custom clock providers.


Yes if we decide not to add new flag.

 Regards,
 Mike



-- 
with warm regards,
Chander Kashyap
--
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 v7 1/7] ARM: common: vic: Parse interrupt and resume masks from device tree

2013-08-22 Thread Tomasz Figa
On Thursday 22 of August 2013 01:19:34 Linus Walleij wrote:
 On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa tomasz.f...@gmail.com 
wrote:
  +++ b/Documentation/devicetree/bindings/arm/vic.txt
  
  @@ -18,6 +18,9 @@ Required properties:
   Optional properties:
   
   - interrupts : Interrupt source for parent controllers if the VIC is
   nested. 
  +- interrupt-mask : Bit mask of valid interrupt sources (defaults to
  all valid) +- wakeup-mask : Bit mask of interrupt sources that can
  wake up the system +  (defaults to all allowed)
 
 The interrupt-mask is called valid-mask on the FPGA IRQ controller
 See
 Documentation/devicetree/bindings/arm/versatile-fpga-irq.txt
 
 Example:
 
 reg = 0x1040 0x100;
 clear-mask = 0x;
 valid-mask = 0x0007;
 
 Please use the same name.

Oh, I haven't noticed that. Thanks for the information.

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 v7 3/7] gpio: samsung: Skip initialization if device tree is present

2013-08-22 Thread Tomasz Figa
On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
 On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa tomasz.f...@gmail.com 
wrote:
  Since this driver does not handle GPIO on device tree enabled
  platforms
  any more, it should be bypassed whenever device tree is available, to
  not conflict with the new pinctrl-samsung driver.
  
  Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
 
 This seems like something I should apply to the GPIO tree
 right now, shall I?

Would be nice, but since this patch is a dependency for rest of this 
series and there are no other dependencies on GPIO tree, it might be 
easier to just let Kukjin take all the patches with required Acks.

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 v7 3/7] gpio: samsung: Skip initialization if device tree is present

2013-08-22 Thread Kukjin Kim
Linus Walleij wrote:
 
 On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa tomasz.f...@gmail.com
 wrote:
 
  Since this driver does not handle GPIO on device tree enabled platforms
  any more, it should be bypassed whenever device tree is available, to
  not conflict with the new pinctrl-samsung driver.
 
  Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
 
 This seems like something I should apply to the GPIO tree
 right now, shall I?
 
I think so. Feel free to add my ack on this.

Acked-by: Kukjin Kim kgene@samsung.com

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 v7 3/7] gpio: samsung: Skip initialization if device tree is present

2013-08-22 Thread Mark Brown
On Thu, Aug 22, 2013 at 10:06:46AM +0200, Tomasz Figa wrote:
 On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:

  This seems like something I should apply to the GPIO tree
  right now, shall I?

 Would be nice, but since this patch is a dependency for rest of this 
 series and there are no other dependencies on GPIO tree, it might be 
 easier to just let Kukjin take all the patches with required Acks.

Though if the rest of the series might miss v3.12 (seems likely given
the arm-soc deadlines have passed) then Linus could apply this for
v3.12?


signature.asc
Description: Digital signature


RE: Broken device trees for exynos in linux-next

2013-08-22 Thread Kukjin Kim
Kevin Hilman wrote:
 
 Kukjin Kim kg...@kernel.org writes:
 
 [...]
 
  If we could make LPAE enabled defconfig for all ARM platforms, I'm fine.
 I
  think your concern is creating SoC specific defconfig and I agree with
 you.
  But I'm not sure how we can support LPAE enabled defconfig for ARM
  platforms.
 
 Here's a simple way to keep a single base defconfig, and enable LPAE:
 
 $ echo CONFIG_ARM_LPAE=y  /tmp/lpae.config
 $ ./scripts/kconfig/merge_config.sh arch/arm/config/exynos_defconfig
 /tmp/lpae.config
 
Yeah, it can be used for test. But there are many differences between
exynos_defconfig and exynos5440_defconfig...PCIe, GbE, HugeTLB and KVM...so
I'm still wondering how to handle it without other defconfig.

Olof, do you still having objection for exynos5440_defconfig? If so, OK I
will revert exynos5440_defconfig for now so that I could pull out the
'defconfig' branch to arm-soc for upcoming merge window. Then, let's discuss
again :)

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 v7 3/7] gpio: samsung: Skip initialization if device tree is present

2013-08-22 Thread Kukjin Kim
Tomasz Figa wrote:
 
 On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
  On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa tomasz.f...@gmail.com
 wrote:
   Since this driver does not handle GPIO on device tree enabled
   platforms
   any more, it should be bypassed whenever device tree is available, to
   not conflict with the new pinctrl-samsung driver.
  
   Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
 
  This seems like something I should apply to the GPIO tree
  right now, shall I?
 
 Would be nice, but since this patch is a dependency for rest of this
 series and there are no other dependencies on GPIO tree, it might be
 easier to just let Kukjin take all the patches with required Acks.
 
Oh, I didn't see any dependencies...but if so, Linus do you agree with
Tomasz' opinion?

Please let me know so that I could take this with others into the samsung
tree. And please kindly ignore my previous reply on this ;-)

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


[PATCH] ARM: dts: exynos5420/5250: add ADC device tree node

2013-08-22 Thread Naveen Krishna Chatradhi
Add ADC device tree node for exynos5420 and exynos5250

Signed-off-by: Naveen Krishna Chatradhi ch.nav...@samsung.com
Signed-off-by: Doug Anderson diand...@chromium.org
---
 arch/arm/boot/dts/exynos5250.dtsi |   11 +++
 arch/arm/boot/dts/exynos5420.dtsi |   11 +++
 2 files changed, 22 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5250.dtsi 
b/arch/arm/boot/dts/exynos5250.dtsi
index 1eec646..518f8cd 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -641,4 +641,15 @@
clocks = clock 133, clock 339;
clock-names = sclk_fimd, fimd;
};
+
+   adc: adc@12D1 {
+   compatible = samsung,exynos-adc-v1;
+   reg = 0x12D1 0x100, 0x10040718 0x4;
+   interrupts = 0 106 0;
+   clocks = clock 303;
+   clock-names = adc;
+   #io-channel-cells = 1;
+   io-channel-ranges;
+   status = disabled;
+   };
 };
diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index 5353e32..0c5c055 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -218,4 +218,15 @@
clocks = clock 147, clock 421;
clock-names = sclk_fimd, fimd;
};
+
+   adc: adc@12D1 {
+   compatible = samsung,exynos-adc-v2;
+   reg = 0x12D1 0x100, 0x10040720 0x4;
+   interrupts = 0 106 0;
+   clocks = clock 270;
+   clock-names = adc;
+   #io-channel-cells = 1;
+   io-channel-ranges;
+   status = disabled;
+   };
 };
-- 
1.7.9.5

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


[PATCH v5 1/3] ARM: dts: Fix the RTC DT node name for Exynos5250 SoC

2013-08-22 Thread Vikas Sajjan
Fixes the RTC DT node name for Exynos5250 SoC as per the DT node naming
convention.

Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
---
 arch/arm/boot/dts/exynos5.dtsi|2 +-
 arch/arm/boot/dts/exynos5250.dtsi |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index 6afa57d..074739d 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -95,7 +95,7 @@
interrupts = 0 54 0;
};
 
-   rtc {
+   rtc@101E {
compatible = samsung,s3c6410-rtc;
reg = 0x101E 0x100;
interrupts = 0 43 0, 0 44 0;
diff --git a/arch/arm/boot/dts/exynos5250.dtsi 
b/arch/arm/boot/dts/exynos5250.dtsi
index 1eec646..b278b00 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -180,7 +180,7 @@
clock-names = mfc;
};
 
-   rtc {
+   rtc@101E {
clocks = clock 337;
clock-names = rtc;
};
-- 
1.7.9.5

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


[PATCH v5 0/3] Add RTC DT node to Exynos5420 SoC and Fix RTC DT node name for 5250 Soc

2013-08-22 Thread Vikas Sajjan
This patchset does the following 3 things:
 1) Fixes the RTC DT node name for Exynos5250 SoC
 2) Update the status property of RTC DT node for Exynos5250 SoC
 3) Adds RTC DT node to Exynos5420 SoC

changes since v4:
- removed status property of RTC DT node from exynos5250 board dts 
files 

changes since v3:
- split the 5250 related modifications into 2 separate patch as 
suggested by Tomasz Figa t.f...@samsung.com

changes since v2:
- split the 5250 related modifications into a separate patch.
- placed the RTC node as per the alphabetical order in the DTS file as
suggested by Kukjin Kim kg...@kernel.org.

changes since v1:
- made DT node status as okay in the dtsi file itself.

Vikas Sajjan (3):
  ARM: dts: Fix the RTC DT node name for Exynos5250 SoC
  ARM: dts: Update the status property of RTC DT node for Exynos5250
SoC
  ARM: dts: Add RTC DT node to Exynos5420 SoC

 arch/arm/boot/dts/exynos5.dtsi   |2 +-
 arch/arm/boot/dts/exynos5250-arndale.dts |4 
 arch/arm/boot/dts/exynos5250-snow.dts|4 
 arch/arm/boot/dts/exynos5250.dtsi|3 ++-
 arch/arm/boot/dts/exynos5420.dtsi|6 ++
 5 files changed, 9 insertions(+), 10 deletions(-)

-- 
1.7.9.5

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


[PATCH v5 2/3] ARM: dts: Update the status property of RTC DT node for Exynos5250 SoC

2013-08-22 Thread Vikas Sajjan
Moves the RTC DT node's status property from exynos5250 board
(arndale  snow) dts files to exynos5250.dtsi, since the bindings
in exynos5250.dtsi depicts the RTC h/w completely.

Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
---
 arch/arm/boot/dts/exynos5250-arndale.dts |4 
 arch/arm/boot/dts/exynos5250-snow.dts|4 
 arch/arm/boot/dts/exynos5250.dtsi|1 +
 3 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts 
b/arch/arm/boot/dts/exynos5250-arndale.dts
index 452d0b0..cee55fa 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -538,10 +538,6 @@
};
};
 
-   rtc {
-   status = okay;
-   };
-
usb_hub_bus {
compatible = simple-bus;
#address-cells = 1;
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts 
b/arch/arm/boot/dts/exynos5250-snow.dts
index e79331d..fd711e2 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -171,10 +171,6 @@
};
};
 
-   rtc {
-   status = okay;
-   };
-
/*
 * On Snow we've got SIP WiFi and so can keep drive strengths low to
 * reduce EMI.
diff --git a/arch/arm/boot/dts/exynos5250.dtsi 
b/arch/arm/boot/dts/exynos5250.dtsi
index b278b00..b054c3c 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -183,6 +183,7 @@
rtc@101E {
clocks = clock 337;
clock-names = rtc;
+   status = okay;
};
 
tmu@1006 {
-- 
1.7.9.5

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


[PATCH v5 3/3] ARM: dts: Add RTC DT node to Exynos5420 SoC

2013-08-22 Thread Vikas Sajjan
Adds RTC DT node to Exynos5420 SoC

Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
---
 arch/arm/boot/dts/exynos5420.dtsi |6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index 5353e32..3f2b9c4 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -180,6 +180,12 @@
interrupts = 0 47 0;
};
 
+   rtc@101E {
+   clocks = clock 317;
+   clock-names = rtc;
+   status = okay;
+   };
+
serial@12C0 {
clocks = clock 257, clock 128;
clock-names = uart, clk_uart_baud0;
-- 
1.7.9.5

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


[PATCH V3] ARM: dts: Add dwmmc DT nodes for exynos5420 SOC

2013-08-22 Thread Yuvaraj Kumar C D
This patch adds the device tree node entries for exynos5420 SOC.
Exynos5420 has a different version of DWMMC controller,so a new
compatible string is used to distinguish it from the prior SOC's.

changes since V2:
1.dropped num-slots property from node as its not required
  if number of card slots available is 1.

2.Move the below properties
a.fifo-depth
b.card-detect-delay
c.samsung,dw-mshc-ciu-div
d.samsung,dw-mshc-sdr-timing
e.samsung,dw-mshc-ddr-timing
from board dts to SOC dts,as these are not board specific properties.

3.Updated the binding document exynos-dw-mshc.txt.

changes since V1:
1.disable node by status = disabled in SOC file
2.enable node by status = okay in board specific file

Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com
---
 .../devicetree/bindings/mmc/exynos-dw-mshc.txt |4 ++
 arch/arm/boot/dts/exynos5420-smdk5420.dts  |   26 ++
 arch/arm/boot/dts/exynos5420.dtsi  |   51 
 3 files changed, 81 insertions(+)

diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt 
b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
index 6d1c098..25368e8 100644
--- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
@@ -16,6 +16,8 @@ Required Properties:
  specific extensions.
- samsung,exynos5250-dw-mshc: for controllers with Samsung Exynos5250
  specific extensions.
+   - samsung,exynos5420-dw-mshc: for controllers with Samsung Exynos5420
+ specific extensions.
 
 * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface
   unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
@@ -31,6 +33,8 @@ Required Properties:
   data rate mode operation. Refer notes below for the order of the cells and 
the
   valid values.
 
+* bypass-smu: Bypass Security Management Unit of eMMC channel 0 and channel 1.
+
   Notes for the sdr-timing and ddr-timing values:
 
 The order of the cells should be
diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts 
b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index bafba25..bc604d4 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -31,6 +31,32 @@
};
};
 
+   dwmmc0@1220 {
+   status = okay;
+   broken-cd;
+   bypass-smu;
+   supports-highspeed;
+   pinctrl-names = default;
+   pinctrl-0 = sd0_clk sd0_cmd sd0_bus4 sd0_bus8;
+
+   slot@0 {
+   reg = 0;
+   bus-width = 8;
+   };
+   };
+
+   dwmmc2@1222 {
+   status = okay;
+   supports-highspeed;
+   pinctrl-names = default;
+   pinctrl-0 = sd2_clk sd2_cmd sd2_cd sd2_bus4;
+
+   slot@0 {
+   reg = 0;
+   bus-width = 4;
+   };
+   };
+
dp-controller@145B {
pinctrl-names = default;
pinctrl-0 = dp_hpd;
diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index 5353e32..1f08d1b 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -22,6 +22,9 @@
compatible = samsung,exynos5420;
 
aliases {
+   mshc0 = dwmmc_0;
+   mshc1 = dwmmc_1;
+   mshc2 = dwmmc_2;
pinctrl0 = pinctrl_0;
pinctrl1 = pinctrl_1;
pinctrl2 = pinctrl_2;
@@ -84,6 +87,54 @@
clock-names = mfc;
};
 
+   dwmmc_0: dwmmc0@1220 {
+   compatible = samsung,exynos5420-dw-mshc;
+   interrupts = 0 75 0;
+   #address-cells = 1;
+   #size-cells = 0;
+   reg = 0x1220 0x2000;
+   clocks = clock 351, clock 132;
+   clock-names = biu, ciu;
+   fifo-depth = 0x80;
+   card-detect-delay = 200;
+   samsung,dw-mshc-ciu-div = 3;
+   samsung,dw-mshc-sdr-timing = 0 4;
+   samsung,dw-mshc-ddr-timing = 0 2;
+   status = disabled;
+   };
+
+   dwmmc_1: dwmmc1@1221 {
+   compatible = samsung,exynos5420-dw-mshc;
+   interrupts = 0 76 0;
+   #address-cells = 1;
+   #size-cells = 0;
+   reg = 0x1221 0x2000;
+   clocks = clock 352, clock 133;
+   clock-names = biu, ciu;
+   fifo-depth = 0x80;
+   card-detect-delay = 200;
+   samsung,dw-mshc-ciu-div = 3;
+   samsung,dw-mshc-sdr-timing = 0 4;
+   samsung,dw-mshc-ddr-timing = 0 2;
+ 

[PATCH] arm: dts: fix NTC thermistor device nodes for cros5250

2013-08-22 Thread Naveen Krishna Chatradhi
This patch fixes NTC devices nodes connected to ADC channel 3, 4, 5 and 6
on exynos5250 based snow device.

Signed-off-by: Naveen Krishna Chatradhi ch.nav...@samsung.com
Signed-off-by: Doug Anderson diand...@chromium.org
---
 arch/arm/boot/dts/cros5250-common.dtsi |   33 
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/cros5250-common.dtsi 
b/arch/arm/boot/dts/cros5250-common.dtsi
index dc259e8b..26bc25a 100644
--- a/arch/arm/boot/dts/cros5250-common.dtsi
+++ b/arch/arm/boot/dts/cros5250-common.dtsi
@@ -313,4 +313,37 @@
gpio-key,wakeup;
};
};
+
+   adc@12D1 {
+   vdd-supply = buck5_reg;
+
+   ncp15wb473@3 {
+   compatible = ntc,ncp15wb473;
+   pullup-uv = 180;
+   pullup-ohm = 47000;
+   pulldown-ohm = 0;
+   io-channels = adc 3;
+   };
+   ncp15wb473@4 {
+   compatible = ntc,ncp15wb473;
+   pullup-uv = 180;
+   pullup-ohm = 47000;
+   pulldown-ohm = 0;
+   io-channels = adc 4;
+   };
+   ncp15wb473@5 {
+   compatible = ntc,ncp15wb473;
+   pullup-uv = 180;
+   pullup-ohm = 47000;
+   pulldown-ohm = 0;
+   io-channels = adc 5;
+   };
+   ncp15wb473@6 {
+   compatible = ntc,ncp15wb473;
+   pullup-uv = 180;
+   pullup-ohm = 47000;
+   pulldown-ohm = 0;
+   io-channels = adc 6;
+   };
+   };
 };
-- 
1.7.9.5

--
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 v5 1/3] ARM: dts: Fix the RTC DT node name for Exynos5250 SoC

2013-08-22 Thread Tomasz Figa
Hi Vikas,

On Thursday 22 of August 2013 17:03:26 Vikas Sajjan wrote:
 Fixes the RTC DT node name for Exynos5250 SoC as per the DT node naming
 convention.
 
 Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
 ---
  arch/arm/boot/dts/exynos5.dtsi|2 +-
  arch/arm/boot/dts/exynos5250.dtsi |2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/arch/arm/boot/dts/exynos5.dtsi
 b/arch/arm/boot/dts/exynos5.dtsi index 6afa57d..074739d 100644
 --- a/arch/arm/boot/dts/exynos5.dtsi
 +++ b/arch/arm/boot/dts/exynos5.dtsi
 @@ -95,7 +95,7 @@
   interrupts = 0 54 0;
   };
 
 - rtc {
 + rtc@101E {
   compatible = samsung,s3c6410-rtc;
   reg = 0x101E 0x100;
   interrupts = 0 43 0, 0 44 0;
 diff --git a/arch/arm/boot/dts/exynos5250.dtsi
 b/arch/arm/boot/dts/exynos5250.dtsi index 1eec646..b278b00 100644
 --- a/arch/arm/boot/dts/exynos5250.dtsi
 +++ b/arch/arm/boot/dts/exynos5250.dtsi
 @@ -180,7 +180,7 @@
   clock-names = mfc;
   };
 
 - rtc {
 + rtc@101E {
   clocks = clock 337;
   clock-names = rtc;
   };

This patch should also rename any other occurencies of rtc node in board 
dts files, because otherwise it breaks RTC support in bisections.

Otherwise the whole series looks fine to me.

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


[PATCH v6 0/3] Add RTC DT node to Exynos5420 SoC and Fix RTC DT node name for Exynos5250

2013-08-22 Thread Vikas Sajjan
This patchset does the following 3 things:
 1) Fixes the RTC DT node name for Exynos5250
 2) Update the status property of RTC DT node for Exynos5250 SoC
 3) Adds RTC DT node to Exynos5420 SoC

changes since v5:
- Fixed the RTC DT node name for Exynos5250 board files also,
because otherwise it breaks RTC support in bisections.

changes since v4:
- removed status property of RTC DT node from exynos5250 board dts 
files 

changes since v3:
- split the 5250 related modifications into 2 separate patch as 
suggested by Tomasz Figa t.f...@samsung.com

changes since v2:
- split the 5250 related modifications into a separate patch.
- placed the RTC node as per the alphabetical order in the DTS file as
suggested by Kukjin Kim kg...@kernel.org.

changes since v1:
- made DT node status as okay in the dtsi file itself.

Vikas Sajjan (3):
  ARM: dts: Fix the RTC DT node name for Exynos5250
  ARM: dts: Update the status property of RTC DT node for Exynos5250
SoC
  ARM: dts: Add RTC DT node to Exynos5420 SoC

 arch/arm/boot/dts/exynos5.dtsi   |2 +-
 arch/arm/boot/dts/exynos5250-arndale.dts |4 
 arch/arm/boot/dts/exynos5250-snow.dts|4 
 arch/arm/boot/dts/exynos5250.dtsi|3 ++-
 arch/arm/boot/dts/exynos5420.dtsi|6 ++
 5 files changed, 9 insertions(+), 10 deletions(-)

-- 
1.7.9.5

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


[PATCH v6 1/3] ARM: dts: Fix the RTC DT node name for Exynos5250

2013-08-22 Thread Vikas Sajjan
Fixes the RTC DT node name for Exynos5250 as per the DT node naming
convention.

Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
---
 arch/arm/boot/dts/exynos5.dtsi   |2 +-
 arch/arm/boot/dts/exynos5250-arndale.dts |2 +-
 arch/arm/boot/dts/exynos5250-snow.dts|2 +-
 arch/arm/boot/dts/exynos5250.dtsi|2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index 6afa57d..074739d 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -95,7 +95,7 @@
interrupts = 0 54 0;
};
 
-   rtc {
+   rtc@101E {
compatible = samsung,s3c6410-rtc;
reg = 0x101E 0x100;
interrupts = 0 43 0, 0 44 0;
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts 
b/arch/arm/boot/dts/exynos5250-arndale.dts
index 452d0b0..264913f 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -538,7 +538,7 @@
};
};
 
-   rtc {
+   rtc@101E {
status = okay;
};
 
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts 
b/arch/arm/boot/dts/exynos5250-snow.dts
index e79331d..24413a6 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -171,7 +171,7 @@
};
};
 
-   rtc {
+   rtc@101E {
status = okay;
};
 
diff --git a/arch/arm/boot/dts/exynos5250.dtsi 
b/arch/arm/boot/dts/exynos5250.dtsi
index 1eec646..b278b00 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -180,7 +180,7 @@
clock-names = mfc;
};
 
-   rtc {
+   rtc@101E {
clocks = clock 337;
clock-names = rtc;
};
-- 
1.7.9.5

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


[PATCH v6 2/3] ARM: dts: Update the status property of RTC DT node for Exynos5250 SoC

2013-08-22 Thread Vikas Sajjan
Moves the RTC DT node's status property from exynos5250 board
(arndale  snow) dts files to exynos5250.dtsi, since the bindings
in exynos5250.dtsi depicts the RTC h/w completely.

Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
---
 arch/arm/boot/dts/exynos5250-arndale.dts |4 
 arch/arm/boot/dts/exynos5250-snow.dts|4 
 arch/arm/boot/dts/exynos5250.dtsi|1 +
 3 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts 
b/arch/arm/boot/dts/exynos5250-arndale.dts
index 264913f..cee55fa 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -538,10 +538,6 @@
};
};
 
-   rtc@101E {
-   status = okay;
-   };
-
usb_hub_bus {
compatible = simple-bus;
#address-cells = 1;
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts 
b/arch/arm/boot/dts/exynos5250-snow.dts
index 24413a6..fd711e2 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -171,10 +171,6 @@
};
};
 
-   rtc@101E {
-   status = okay;
-   };
-
/*
 * On Snow we've got SIP WiFi and so can keep drive strengths low to
 * reduce EMI.
diff --git a/arch/arm/boot/dts/exynos5250.dtsi 
b/arch/arm/boot/dts/exynos5250.dtsi
index b278b00..b054c3c 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -183,6 +183,7 @@
rtc@101E {
clocks = clock 337;
clock-names = rtc;
+   status = okay;
};
 
tmu@1006 {
-- 
1.7.9.5

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


[PATCH v6 3/3] ARM: dts: Add RTC DT node to Exynos5420 SoC

2013-08-22 Thread Vikas Sajjan
Adds RTC DT node to Exynos5420 SoC

Signed-off-by: Vikas Sajjan vikas.saj...@linaro.org
---
 arch/arm/boot/dts/exynos5420.dtsi |6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index 5353e32..3f2b9c4 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -180,6 +180,12 @@
interrupts = 0 47 0;
};
 
+   rtc@101E {
+   clocks = clock 317;
+   clock-names = rtc;
+   status = okay;
+   };
+
serial@12C0 {
clocks = clock 257, clock 128;
clock-names = uart, clk_uart_baud0;
-- 
1.7.9.5

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


[PATCH] ASoC: samsung: Fix build error with dma function rename

2013-08-22 Thread Tushar Behera
commit 85ff3c29d720 (ASoC: samsung: Rename DMA platform registration
functions) renames the DMA registration functions. Fix the places where
it was left out.

Signed-off-by: Tushar Behera tushar.beh...@linaro.org
---
 sound/soc/samsung/pcm.c |4 ++--
 sound/soc/samsung/s3c2412-i2s.c |4 ++--
 sound/soc/samsung/s3c24xx-i2s.c |4 ++--
 sound/soc/samsung/spdif.c   |4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index 1566afe..e54256f 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -594,7 +594,7 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
goto err5;
}
 
-   ret = asoc_dma_platform_register(pdev-dev);
+   ret = samsung_asoc_dma_platform_register(pdev-dev);
if (ret) {
dev_err(pdev-dev, failed to get register DMA: %d\n, ret);
goto err6;
@@ -623,7 +623,7 @@ static int s3c_pcm_dev_remove(struct platform_device *pdev)
struct s3c_pcm_info *pcm = s3c_pcm[pdev-id];
struct resource *mem_res;
 
-   asoc_dma_platform_unregister(pdev-dev);
+   samsung_asoc_dma_platform_unregister(pdev-dev);
snd_soc_unregister_component(pdev-dev);
 
pm_runtime_disable(pdev-dev);
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c
index 47e2386..ea885cb 100644
--- a/sound/soc/samsung/s3c2412-i2s.c
+++ b/sound/soc/samsung/s3c2412-i2s.c
@@ -176,7 +176,7 @@ static int s3c2412_iis_dev_probe(struct platform_device 
*pdev)
return ret;
}
 
-   ret = asoc_dma_platform_register(pdev-dev);
+   ret = samsung_asoc_dma_platform_register(pdev-dev);
if (ret) {
pr_err(failed to register the DMA: %d\n, ret);
goto err;
@@ -190,7 +190,7 @@ err:
 
 static int s3c2412_iis_dev_remove(struct platform_device *pdev)
 {
-   asoc_dma_platform_unregister(pdev-dev);
+   samsung_asoc_dma_platform_unregister(pdev-dev);
snd_soc_unregister_component(pdev-dev);
return 0;
 }
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c
index 8b34145..9c8ebd8 100644
--- a/sound/soc/samsung/s3c24xx-i2s.c
+++ b/sound/soc/samsung/s3c24xx-i2s.c
@@ -480,7 +480,7 @@ static int s3c24xx_iis_dev_probe(struct platform_device 
*pdev)
return ret;
}
 
-   ret = asoc_dma_platform_register(pdev-dev);
+   ret = samsung_asoc_dma_platform_register(pdev-dev);
if (ret) {
pr_err(failed to register the dma: %d\n, ret);
goto err;
@@ -494,7 +494,7 @@ err:
 
 static int s3c24xx_iis_dev_remove(struct platform_device *pdev)
 {
-   asoc_dma_platform_unregister(pdev-dev);
+   samsung_asoc_dma_platform_unregister(pdev-dev);
snd_soc_unregister_component(pdev-dev);
return 0;
 }
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 5ea70ab..28487dc 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -442,7 +442,7 @@ static int spdif_probe(struct platform_device *pdev)
 
spdif-dma_playback = spdif_stereo_out;
 
-   ret = asoc_dma_platform_register(pdev-dev);
+   ret = samsung_asoc_dma_platform_register(pdev-dev);
if (ret) {
dev_err(pdev-dev, failed to register DMA: %d\n, ret);
goto err5;
@@ -468,7 +468,7 @@ static int spdif_remove(struct platform_device *pdev)
struct samsung_spdif_info *spdif = spdif_info;
struct resource *mem_res;
 
-   asoc_dma_platform_unregister(pdev-dev);
+   samsung_asoc_dma_platform_unregister(pdev-dev);
snd_soc_unregister_component(pdev-dev);
 
iounmap(spdif-regs);
-- 
1.7.9.5

--
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 v6 0/3] Add RTC DT node to Exynos5420 SoC and Fix RTC DT node name for Exynos5250

2013-08-22 Thread Tomasz Figa
Hi Vikas,

On Thursday 22 of August 2013 18:29:00 Vikas Sajjan wrote:
 This patchset does the following 3 things:
  1) Fixes the RTC DT node name for Exynos5250
  2) Update the status property of RTC DT node for Exynos5250 SoC
  3) Adds RTC DT node to Exynos5420 SoC
 
 changes since v5:
   - Fixed the RTC DT node name for Exynos5250 board files also,
   because otherwise it breaks RTC support in bisections.
 
 changes since v4:
   - removed status property of RTC DT node from exynos5250 board dts
 files
 
 changes since v3:
   - split the 5250 related modifications into 2 separate patch as
   suggested by Tomasz Figa t.f...@samsung.com
 
 changes since v2:
   - split the 5250 related modifications into a separate patch.
   - placed the RTC node as per the alphabetical order in the DTS file as
   suggested by Kukjin Kim kg...@kernel.org.
 
 changes since v1:
   - made DT node status as okay in the dtsi file itself.
 
 Vikas Sajjan (3):
   ARM: dts: Fix the RTC DT node name for Exynos5250
   ARM: dts: Update the status property of RTC DT node for Exynos5250
 SoC
   ARM: dts: Add RTC DT node to Exynos5420 SoC
 
  arch/arm/boot/dts/exynos5.dtsi   |2 +-
  arch/arm/boot/dts/exynos5250-arndale.dts |4 
  arch/arm/boot/dts/exynos5250-snow.dts|4 
  arch/arm/boot/dts/exynos5250.dtsi|3 ++-
  arch/arm/boot/dts/exynos5420.dtsi|6 ++
  5 files changed, 9 insertions(+), 10 deletions(-)

Looks good to me now.

Reviewed-by: Tomasz Figa t.f...@samsung.com

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] ASoC: samsung: Fix build error with dma function rename

2013-08-22 Thread Mark Brown
On Thu, Aug 22, 2013 at 06:15:02PM +0530, Tushar Behera wrote:
 commit 85ff3c29d720 (ASoC: samsung: Rename DMA platform registration
 functions) renames the DMA registration functions. Fix the places where
 it was left out.

Applied, thanks.


signature.asc
Description: Digital signature


Re: [GIT PULL 1/2] Samsung cleanup for v3.12

2013-08-22 Thread Kevin Hilman
Kukjin Kim kgene@samsung.com writes:

 The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:

   Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)

 are available in the git repository at:

   git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
 tags/samsung-cleanup-1

 for you to fetch changes up to 8c3736e20ee387acefffdfcac560ea23ee6fd4d8:

   ARM: SAMSUNG: Remove unnecessary exynos4_default_sdhci*() (2013-08-19
 05:23:32 +0900)

 
 samsung cleanup for v3.12
 - cleanup non-dt stuff in exynos
 - remove 0x from exynos dt files
 - remove unused codes

Pulled into next/cleanup

Kevin
--
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: [GIT PULL 2/2] Samsung Exynos DT for v3.12

2013-08-22 Thread Kevin Hilman
Kukjin Kim kgene@samsung.com writes:

 The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:

   Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)

 are available in the git repository at:

   git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
 tags/samsung-dt-1

 for you to fetch changes up to 6f9d02a056fff8e965da0f940a09d4c39a4fe80a:

   ARM: dts: Add USB host node for Exynos4 (2013-08-19 05:07:17 +0900)

 
 Samsung Exynos DT updates for v3.12
 - update codec, pmic, usb hub for Arndale
 - add exynos4412-trats 2 board dt
 - update camera, spi, sensor for Trats2
 - update fimc, sensor for Trats
 - add support tmu for exynos5440
 - add support g2d for exynos5250
 - correct camera pinctrl for exynos4x12
 - add support camera subsystem for exynos4
 - add support basic pm domain, fimd, dp for exynos5420
 - add support secure-firmware for OrigenQuad
 - update mfc and add support mfc for exynos5420
 - add usb host node for exynos4

Pulled into next/dt,

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


[PATCH V3] i2c: move of helpers into the core

2013-08-22 Thread Wolfram Sang
I2C of helpers used to live in of_i2c.c but experience (from SPI) shows
that it is much cleaner to have this in the core. This also removes a
circular dependency between the helpers and the core, and so we can
finally register child nodes in the core instead of doing this manually
in each driver. So, fix the drivers and documentation, too.

Acked-by: Rob Herring rob.herr...@calxeda.com
Reviewed-by: Felipe Balbi ba...@ti.com
Acked-by: Rafael J. Wysocki rafael.j.wyso...@intel.com
Tested-by: Sylwester Nawrocki s.nawro...@samsung.com
Signed-off-by: Wolfram Sang w...@the-dreams.de
---

V2-V3: Was trying to be too smart by only fixing includes needed.
Took a more general approach this time, converting of_i2c.h
to i2c.h in case i2c.h was not already there. Otherwise
remove it. Improved my build scripts and no build failures,
no complaints from buildbot as well.


 Documentation/acpi/enumeration.txt  |1 -
 arch/powerpc/platforms/44x/warp.c   |1 -
 drivers/gpu/drm/tilcdc/tilcdc_slave.c   |1 -
 drivers/gpu/drm/tilcdc/tilcdc_tfp410.c  |1 -
 drivers/gpu/host1x/drm/output.c |2 +-
 drivers/i2c/busses/i2c-at91.c   |3 -
 drivers/i2c/busses/i2c-cpm.c|6 --
 drivers/i2c/busses/i2c-davinci.c|2 -
 drivers/i2c/busses/i2c-designware-platdrv.c |2 -
 drivers/i2c/busses/i2c-gpio.c   |3 -
 drivers/i2c/busses/i2c-i801.c   |2 -
 drivers/i2c/busses/i2c-ibm_iic.c|4 -
 drivers/i2c/busses/i2c-imx.c|3 -
 drivers/i2c/busses/i2c-mpc.c|2 -
 drivers/i2c/busses/i2c-mv64xxx.c|3 -
 drivers/i2c/busses/i2c-mxs.c|3 -
 drivers/i2c/busses/i2c-nomadik.c|3 -
 drivers/i2c/busses/i2c-ocores.c |3 -
 drivers/i2c/busses/i2c-octeon.c |3 -
 drivers/i2c/busses/i2c-omap.c   |3 -
 drivers/i2c/busses/i2c-pnx.c|3 -
 drivers/i2c/busses/i2c-powermac.c   |9 +-
 drivers/i2c/busses/i2c-pxa.c|2 -
 drivers/i2c/busses/i2c-s3c2410.c|2 -
 drivers/i2c/busses/i2c-sh_mobile.c  |2 -
 drivers/i2c/busses/i2c-sirf.c   |3 -
 drivers/i2c/busses/i2c-stu300.c |2 -
 drivers/i2c/busses/i2c-tegra.c  |3 -
 drivers/i2c/busses/i2c-versatile.c  |2 -
 drivers/i2c/busses/i2c-wmt.c|3 -
 drivers/i2c/busses/i2c-xiic.c   |3 -
 drivers/i2c/i2c-core.c  |  109 +-
 drivers/i2c/i2c-mux.c   |3 -
 drivers/i2c/muxes/i2c-arb-gpio-challenge.c  |1 -
 drivers/i2c/muxes/i2c-mux-gpio.c|1 -
 drivers/i2c/muxes/i2c-mux-pinctrl.c |1 -
 drivers/media/platform/exynos4-is/fimc-is-i2c.c |4 +-
 drivers/media/platform/exynos4-is/fimc-is.c |2 +-
 drivers/media/platform/exynos4-is/media-dev.c   |1 -
 drivers/of/Kconfig  |6 --
 drivers/of/Makefile |1 -
 drivers/of/of_i2c.c |  114 ---
 drivers/staging/imx-drm/imx-tve.c   |2 +-
 include/linux/i2c.h |   20 
 include/linux/of_i2c.h  |   46 -
 sound/soc/fsl/imx-sgtl5000.c|2 +-
 sound/soc/fsl/imx-wm8962.c  |2 +-
 47 files changed, 138 insertions(+), 262 deletions(-)
 delete mode 100644 drivers/of/of_i2c.c
 delete mode 100644 include/linux/of_i2c.h

diff --git a/Documentation/acpi/enumeration.txt 
b/Documentation/acpi/enumeration.txt
index d9be7a9..958266e 100644
--- a/Documentation/acpi/enumeration.txt
+++ b/Documentation/acpi/enumeration.txt
@@ -238,7 +238,6 @@ An I2C bus (controller) driver does:
if (ret)
/* handle error */
 
-   of_i2c_register_devices(adapter);
/* Enumerate the slave devices behind this bus via ACPI */
acpi_i2c_register_devices(adapter);
 
diff --git a/arch/powerpc/platforms/44x/warp.c 
b/arch/powerpc/platforms/44x/warp.c
index 4cfa499..534574a 100644
--- a/arch/powerpc/platforms/44x/warp.c
+++ b/arch/powerpc/platforms/44x/warp.c
@@ -16,7 +16,6 @@
 #include linux/interrupt.h
 #include linux/delay.h
 #include linux/of_gpio.h
-#include linux/of_i2c.h
 #include linux/slab.h
 #include linux/export.h
 
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_slave.c 
b/drivers/gpu/drm/tilcdc/tilcdc_slave.c
index dfffaf0..a19f657 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_slave.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_slave.c
@@ -16,7 +16,6 @@
  */
 
 #include linux/i2c.h
-#include linux/of_i2c.h
 #include linux/pinctrl/pinmux.h
 #include 

[PATCH v6 0/3] mmc: dw_mmc: fixes for suspend/resume on exynos

2013-08-22 Thread Doug Anderson
This series of patches addresses some suspend/resume problems with
dw_mmc on exynos platforms, espeically exynos5420.  This patchset was
tested on the current ToT Chromeos 3.8 tree (which has lots of
backports from 3.10/3.11) and on ToT Linux (v3.11-rc6).  I have
confirmed basic booting and that SD cards work across suspend/resume
(both if they are plugged in and if they are not plugged in).

I have received confirmation from Samsung that the problem solved for
exynos5420 is a silicon errata and that this is a good fix.

Changes in v6:
- Took out TODO comment copied from main platform code.
- Replaces previous pathes that ensured saving/restoring clocks.

Changes in v5:
- Cleaned up dw_mci_exynos_resume_noirq() comment as per Seungwon.
- Don't memcpy dev_pm_ops structure, define a new one.

Changes in v4:
- Take Seungwon's suggestion and don't add any dw_mmc-pltfm code.

Changes in v3:
- Add freeze/thaw and poweroff/restore noirq entries.

Changes in v2:
- Use suspend_noirq as per James Hogan.

Doug Anderson (3):
  mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT
  mmc: dw_mmc: Honor requests to set the clock to 0 (turn off clock)
  mmc: dw_mmc: Set timeout to max upon resume

 drivers/mmc/host/dw_mmc-exynos.c | 53 +++-
 drivers/mmc/host/dw_mmc.c| 24 ++
 2 files changed, 66 insertions(+), 11 deletions(-)

-- 
1.8.3

--
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: Broken device trees for exynos in linux-next

2013-08-22 Thread Olof Johansson
Kukjin,

On Thu, Aug 22, 2013 at 2:55 AM, Kukjin Kim kg...@kernel.org wrote:
 Yeah, it can be used for test. But there are many differences between
 exynos_defconfig and exynos5440_defconfig...PCIe, GbE, HugeTLB and KVM...so
 I'm still wondering how to handle it without other defconfig.

 Olof, do you still having objection for exynos5440_defconfig? If so, OK I
 will revert exynos5440_defconfig for now so that I could pull out the
 'defconfig' branch to arm-soc for upcoming merge window. Then, let's discuss
 again :)

As far as I see it, you have two options:

1. Add the needed drivers to multi_v7_defconfig and use that for your platform.
2. Add them to both multi_v7_defconfig and exynos_defconfig.

Enabling the new drivers on exynos_defconfig does no harm.

I don't want to see a new defconfig for this.


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


[PATCH v6 1/3] mmc: dw_mmc: Add exynos resume_noirq callback to clear WAKEUP_INT

2013-08-22 Thread Doug Anderson
If the WAKEUP_INT is asserted at wakeup and not cleared, we'll end up
looping around forever.  This has been seen to happen on exynos5420
silicon despite the fact that we haven't enabled any wakeup events due
to a silicon errata.  It is safe to do on all exynos variants.

Signed-off-by: Doug Anderson diand...@chromium.org
---
Changes in v6:
- Took out TODO comment copied from main platform code.

Changes in v5:
- Cleaned up dw_mci_exynos_resume_noirq() comment as per Seungwon.
- Don't memcpy dev_pm_ops structure, define a new one.

Changes in v4:
- Take Seungwon's suggestion and don't add any dw_mmc-pltfm code.

Changes in v3:
- Add freeze/thaw and poweroff/restore noirq entries.

Changes in v2:
- Use suspend_noirq as per James Hogan.

 drivers/mmc/host/dw_mmc-exynos.c | 53 +++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
index 866edef..e8c6cc9 100644
--- a/drivers/mmc/host/dw_mmc-exynos.c
+++ b/drivers/mmc/host/dw_mmc-exynos.c
@@ -30,6 +30,7 @@
 #define SDMMC_CLKSEL_TIMING(x, y, z)   (SDMMC_CLKSEL_CCLK_SAMPLE(x) |  \
SDMMC_CLKSEL_CCLK_DRIVE(y) |\
SDMMC_CLKSEL_CCLK_DIVIDER(z))
+#define SDMMC_CLKSEL_WAKEUP_INTBIT(11)
 
 #define EXYNOS4210_FIXED_CIU_CLK_DIV   2
 #define EXYNOS4412_FIXED_CIU_CLK_DIV   4
@@ -100,6 +101,49 @@ static int dw_mci_exynos_setup_clock(struct dw_mci *host)
return 0;
 }
 
+#ifdef CONFIG_PM_SLEEP
+static int dw_mci_exynos_suspend(struct device *dev)
+{
+   struct dw_mci *host = dev_get_drvdata(dev);
+
+   return dw_mci_suspend(host);
+}
+
+static int dw_mci_exynos_resume(struct device *dev)
+{
+   struct dw_mci *host = dev_get_drvdata(dev);
+
+   return dw_mci_resume(host);
+}
+
+/**
+ * dw_mci_exynos_resume_noirq - Exynos-specific resume code
+ *
+ * On exynos5420 there is a silicon errata that will sometimes leave the
+ * WAKEUP_INT bit in the CLKSEL register asserted.  This bit is 1 to indicate
+ * that it fired and we can clear it by writing a 1 back.  Clear it to prevent
+ * interrupts from going off constantly.
+ *
+ * We run this code on all exynos variants because it doesn't hurt.
+ */
+
+static int dw_mci_exynos_resume_noirq(struct device *dev)
+{
+   struct dw_mci *host = dev_get_drvdata(dev);
+   u32 clksel;
+
+   clksel = mci_readl(host, CLKSEL);
+   if (clksel  SDMMC_CLKSEL_WAKEUP_INT)
+   mci_writel(host, CLKSEL, clksel);
+
+   return 0;
+}
+#else
+#define dw_mci_exynos_suspend  NULL
+#define dw_mci_exynos_resume   NULL
+#define dw_mci_exynos_resume_noirq NULL
+#endif /* CONFIG_PM_SLEEP */
+
 static void dw_mci_exynos_prepare_command(struct dw_mci *host, u32 *cmdr)
 {
/*
@@ -187,13 +231,20 @@ static int dw_mci_exynos_probe(struct platform_device 
*pdev)
return dw_mci_pltfm_register(pdev, drv_data);
 }
 
+const struct dev_pm_ops dw_mci_exynos_pmops = {
+   SET_SYSTEM_SLEEP_PM_OPS(dw_mci_exynos_suspend, dw_mci_exynos_resume)
+   .resume_noirq = dw_mci_exynos_resume_noirq,
+   .thaw_noirq = dw_mci_exynos_resume_noirq,
+   .restore_noirq = dw_mci_exynos_resume_noirq,
+};
+
 static struct platform_driver dw_mci_exynos_pltfm_driver = {
.probe  = dw_mci_exynos_probe,
.remove = __exit_p(dw_mci_pltfm_remove),
.driver = {
.name   = dwmmc_exynos,
.of_match_table = dw_mci_exynos_match,
-   .pm = dw_mci_pltfm_pmops,
+   .pm = dw_mci_exynos_pmops,
},
 };
 
-- 
1.8.3

--
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 v7] s5k5baf: add camera sensor driver

2013-08-22 Thread Stephen Warren
On 08/21/2013 08:41 AM, Andrzej Hajda wrote:
 Driver for Samsung S5K5BAF UXGA 1/5 2M CMOS Image Sensor
 with embedded SoC ISP.
 The driver exposes the sensor as two V4L2 subdevices:
 - S5K5BAF-CIS - pure CMOS Image Sensor, fixed 1600x1200 format,
   no controls.
 - S5K5BAF-ISP - Image Signal Processor, formats up to 1600x1200,
   pre/post ISP cropping, downscaling via selection API, controls.

The binding,
Acked-by: Stephen Warren swar...@nvidia.com

(although it would be great if another DT binding maintainer gave it a
quick look-over to make sure I didn't miss anything!)
--
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 v7] s5k5baf: add camera sensor driver

2013-08-22 Thread Tomasz Figa
Hi Andrzej,

Please see some minor comments inline.

On Wednesday 21 of August 2013 16:41:31 Andrzej Hajda wrote:
 Driver for Samsung S5K5BAF UXGA 1/5 2M CMOS Image Sensor
 with embedded SoC ISP.
 The driver exposes the sensor as two V4L2 subdevices:
 - S5K5BAF-CIS - pure CMOS Image Sensor, fixed 1600x1200 format,
   no controls.
 - S5K5BAF-ISP - Image Signal Processor, formats up to 1600x1200,
   pre/post ISP cropping, downscaling via selection API, controls.
 
 Signed-off-by: Sylwester Nawrocki s.nawro...@samsung.com
 Signed-off-by: Andrzej Hajda a.ha...@samsung.com
 Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
 ---
 Hi,
 
 This patch incorporates Stephen's suggestions, thanks.
 
 Regards
 Andrzej
 
 v7
 - changed description of 'clock-frequency' DT property
 
 v6
 - endpoint node presence is now optional,
 - added asynchronous subdev registration support and clock
   handling,
 - use named gpios in DT bindings
 
 v5
 - removed hflip/vflip device tree properties
 
 v4
 - GPL changed to GPLv2,
 - bitfields replaced by u8,
 - cosmetic changes,
 - corrected s_stream flow,
 - gpio pins are no longer exported,
 - added I2C addresses to subdev names,
 - CIS subdev registration postponed after
   succesfull HW initialization,
 - added enums for pads,
 - selections are initialized only during probe,
 - default resolution changed to 1600x1200,
 - state-error pattern removed from few other functions,
 - entity link creation moved to registered callback.
 
 v3:
 - narrowed state-error usage to i2c and power errors,
 - private gain controls replaced by red/blue balance user controls,
 - added checks to devicetree gpio node parsing
 
 v2:
 - lower-cased driver name,
 - removed underscore from regulator names,
 - removed platform data code,
 - v4l controls grouped in anonymous structs,
 - added s5k5baf_clear_error function,
 - private controls definitions moved to uapi header file,
 - added v4l2-controls.h reservation for private controls,
 - corrected subdev registered/unregistered code,
 - .log_status sudbev op set to v4l2 helper,
 - moved entity link creation to probe routines,
 - added cleanup on error to probe function.
 ---
  .../devicetree/bindings/media/samsung-s5k5baf.txt  |   59 +
  MAINTAINERS|7 +
  drivers/media/i2c/Kconfig  |7 +
  drivers/media/i2c/Makefile |1 +
  drivers/media/i2c/s5k5baf.c| 2045
  5 files changed, 2119 insertions(+)
  create mode 100644
 Documentation/devicetree/bindings/media/samsung-s5k5baf.txt create mode
 100644 drivers/media/i2c/s5k5baf.c
 
 diff --git a/Documentation/devicetree/bindings/media/samsung-s5k5baf.txt
 b/Documentation/devicetree/bindings/media/samsung-s5k5baf.txt new file
 mode 100644
 index 000..d680d99
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/media/samsung-s5k5baf.txt
 @@ -0,0 +1,59 @@
 +Samsung S5K5BAF UXGA 1/5 2M CMOS Image Sensor with embedded SoC ISP
 +
 +
 +Required properties:
 +
 +- compatible   : samsung,s5k5baf;
 +- reg  : I2C slave address of the sensor;

Can this sensor have an aribitrary slave address or only a set of well 
known possible addresses (e.g. listed in documentation)?

 +- vdda-supply  : analog power supply 2.8V (2.6V to 3.0V);
 +- vddreg-supply: regulator input power supply 1.8V (1.7V to 
1.9V)
 + or 2.8V (2.6V to 3.0);
 +- vddio-supply : I/O power supply 1.8V (1.65V to 1.95V)
 + or 2.8V (2.5V to 3.1V);
 +- stbyn-gpios  : GPIO connected to STDBYN pin;
 +- rstn-gpios   : GPIO connected to RSTN pin;

Both GPIOs above have names suggesting that they are active low. I wonder 
how the GPIO flags cell is interpreted here, namely the polarity bit.

Otherwise the binding looks good.

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 V3] ARM: dts: Add dwmmc DT nodes for exynos5420 SOC

2013-08-22 Thread Tomasz Figa
Hi Yuvaraj,

On Thursday 22 of August 2013 17:21:18 Yuvaraj Kumar C D wrote:
 This patch adds the device tree node entries for exynos5420 SOC.
 Exynos5420 has a different version of DWMMC controller,so a new
 compatible string is used to distinguish it from the prior SOC's.
 
 changes since V2:
   1.dropped num-slots property from node as its not required
 if number of card slots available is 1.
 
   2.Move the below properties
   a.fifo-depth
   b.card-detect-delay
   c.samsung,dw-mshc-ciu-div
   d.samsung,dw-mshc-sdr-timing
   e.samsung,dw-mshc-ddr-timing
   from board dts to SOC dts,as these are not board specific 
properties.
 
   3.Updated the binding document exynos-dw-mshc.txt.
 
 changes since V1:
   1.disable node by status = disabled in SOC file
   2.enable node by status = okay in board specific file
 
 Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com
 ---
  .../devicetree/bindings/mmc/exynos-dw-mshc.txt |4 ++
  arch/arm/boot/dts/exynos5420-smdk5420.dts  |   26 ++
  arch/arm/boot/dts/exynos5420.dtsi  |   51
  3 files changed, 81 insertions(+)

Please resend this patch with devicetree mailing list and other recipients 
added, as listed in MAINTAINERS file for Documentation/devicetree/ and 
arch/*/boot/dts/ directories.

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] ARM: dts: exynos5420/5250: add ADC device tree node

2013-08-22 Thread Tomasz Figa
Hi Naveen,

On Thursday 22 of August 2013 15:48:11 Naveen Krishna Chatradhi wrote:
 Add ADC device tree node for exynos5420 and exynos5250
 
 Signed-off-by: Naveen Krishna Chatradhi ch.nav...@samsung.com
 Signed-off-by: Doug Anderson diand...@chromium.org
 ---
  arch/arm/boot/dts/exynos5250.dtsi |   11 +++
  arch/arm/boot/dts/exynos5420.dtsi |   11 +++
  2 files changed, 22 insertions(+)

This patch looks good to me, but please resend it with all the recipients 
present in MAINTAINERS file for the directories from which files it 
changes, especially the devicet...@vger.kernel.org mailing list.

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] arm: dts: fix NTC thermistor device nodes for cros5250

2013-08-22 Thread Tomasz Figa
Hi Naveen,

On Thursday 22 of August 2013 17:18:34 Naveen Krishna Chatradhi wrote:
 This patch fixes NTC devices nodes connected to ADC channel 3, 4, 5 and
 6 on exynos5250 based snow device.
 
 Signed-off-by: Naveen Krishna Chatradhi ch.nav...@samsung.com
 Signed-off-by: Doug Anderson diand...@chromium.org
 ---
  arch/arm/boot/dts/cros5250-common.dtsi |   33
  1 file changed, 33 insertions(+)

This patch does not look like fixing anything. Instead it adds board 
specific data to adc node to cros5250 common dtsi file.

Also please resend this patch with all the recipients added according to 
MAINTAINERS file.

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] ARM: dts: Add dwmmc DT nodes for exynos5420 SOC

2013-08-22 Thread Tomasz Figa
On Thursday 22 of August 2013 12:24:58 Yuvaraj Kumar wrote:
 On Wed, Aug 21, 2013 at 4:00 PM, Tomasz Figa t.f...@samsung.com wrote:
  Hi Yuvaraj,
  
  On Wednesday 21 of August 2013 12:13:53 Yuvaraj Kumar C D wrote:
  This patch adds the device tree node entries for exynos5420 SOC.
  Exynos5420 has a different version of DWMMC controller,so a new
  compatible string is used to distinguish it from the prior SOC's.
  
  What are the difference between both versions? Is there a patch adding
  the new compatible to the driver somewhere?
 
 Exynos5250 has DWMMC controller of IP version 2.41a
 Exynos5420 has DWMMC controller of IP version 2.50a
 In addition Exynos5420 has Security Management Unit for eMMC.

OK. What about my second question?

  changes since V1:
1.disable node by status = disabled in SOC file
2.enable node by status = okay in board specific file
  
  Ahh, so you fixed this already in this version, thanks. Haven't
  noticed
  this patch at first and commented on previous one. Sorry for the
  noise.
  
  Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com
  ---
  
   .../devicetree/bindings/mmc/exynos-dw-mshc.txt |2 ++
   arch/arm/boot/dts/exynos5420-smdk5420.dts  |   38
  
   arch/arm/boot/dts/exynos5420.dtsi
  
  |   36 +++ 3 files changed, 76 insertions(+)
  
  diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
  b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt index
  6d1c098..84cd56f 100644
  --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
  +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
  
  @@ -16,6 +16,8 @@ Required Properties:
  specific extensions.

- samsung,exynos5250-dw-mshc: for controllers with Samsung
Exynos5250
  
  specific extensions.
  + - samsung,exynos5420-dw-mshc: for controllers with Samsung
  Exynos5420 +   specific extensions.
  
   * samsung,dw-mshc-ciu-div: Specifies the divider value for the card
  
  interface unit (ciu) clock. This property is applicable only for
  Exynos5 SoC's and diff --git
  a/arch/arm/boot/dts/exynos5420-smdk5420.dts
  b/arch/arm/boot/dts/exynos5420-smdk5420.dts index bafba25..6e65278
  100644
  --- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
  +++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
  @@ -31,6 +31,44 @@
  
};

};
  
  + dwmmc0@1220 {
  + status = okay;
  + num-slots = 1;
  
  You don't have to specify this property if there is only one slot.
  Also are you sure that this is a board specific property?
 
 Yes,If num-slots property is not defined dw_mmc driver assumes 1 slot
 is available.
 I think yes,its a board specific property as number of card slots is
 board dependent.
 
  + broken-cd;
  + bypass-smu;
  
  This property doesn't seem to be documented nor used anywhere.
 
 Sorry. I missed to add in binding document.Will add in next version.

Is there a patch adding support for this property to the driver?

  + supports-highspeed;
  
  Is it a board specific property?
  
  + fifo-depth = 0x80;
  
  Ditto.
 
 Ideally this can be move to SOC specific dts.But I am just following
 ,already merged smdk5250 board
 dts convensions.

This means that Exynos5250 board dts files need to be fixed as well.

  + card-detect-delay = 200;
  + samsung,dw-mshc-ciu-div = 3;
  + samsung,dw-mshc-sdr-timing = 0 4;
  + samsung,dw-mshc-ddr-timing = 0 2;
  
  Are the above three properties really board-specific?

Hmm?

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 v7 3/7] gpio: samsung: Skip initialization if device tree is present

2013-08-22 Thread Tomasz Figa
On Thursday 22 of August 2013 18:59:23 Kukjin Kim wrote:
 Tomasz Figa wrote:
  On Thursday 22 of August 2013 01:21:25 Linus Walleij wrote:
   On Wed, Aug 21, 2013 at 11:21 PM, Tomasz Figa
   tomasz.f...@gmail.com
  
  wrote:
Since this driver does not handle GPIO on device tree enabled
platforms
any more, it should be bypassed whenever device tree is available,
to
not conflict with the new pinctrl-samsung driver.

Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
   
   This seems like something I should apply to the GPIO tree
   right now, shall I?
  
  Would be nice, but since this patch is a dependency for rest of this
  series and there are no other dependencies on GPIO tree, it might be
  easier to just let Kukjin take all the patches with required Acks.
 
 Oh, I didn't see any dependencies...but if so, Linus do you agree with
 Tomasz' opinion?

Without this patch DT-based bootup would fail, because the legacy GPIO 
driver would kick in and register GPIO chips before the pinctrl driver. 
Things would compile fine, though. So this is a run time dependency, not 
compile time.

 Please let me know so that I could take this with others into the
 samsung tree. And please kindly ignore my previous reply on this ;-)

I would be really happy if we could finally merge this for this release. 
This series is not really invasive in any way, so it is unlikely to 
introduce any regressions and it has waited so many releases, without any 
significant changes, due to a lot of other dependencies.

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


[PATCH v8 1/7] irqchip: vic: Parse interrupt and resume masks from device tree

2013-08-22 Thread Tomasz Figa
This patch extends vic_of_init to parse valid interrupt sources
and resume sources masks from device tree.

If mask values are not specified in device tree, all sources
are assumed to be valid, as before this patch.

Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
---
 Documentation/devicetree/bindings/arm/vic.txt | 6 ++
 drivers/irqchip/irq-vic.c | 7 ++-
 2 files changed, 12 insertions(+), 1 deletion(-)

Changes since v7:
 - Renamed interrupt-mask property to valid-mask, for consistency with
   bindings of other interrupt controllers.

diff --git a/Documentation/devicetree/bindings/arm/vic.txt 
b/Documentation/devicetree/bindings/arm/vic.txt
index 266716b..3379666 100644
--- a/Documentation/devicetree/bindings/arm/vic.txt
+++ b/Documentation/devicetree/bindings/arm/vic.txt
@@ -18,6 +18,9 @@ Required properties:
 Optional properties:
 
 - interrupts : Interrupt source for parent controllers if the VIC is nested.
+- valid-mask : Bit mask of valid interrupt sources (defaults to all valid)
+- wakeup-mask : Bit mask of interrupt sources that can wake up the system
+  (defaults to all allowed)
 
 Example:
 
@@ -26,4 +29,7 @@ Example:
interrupt-controller;
#interrupt-cells = 1;
reg = 0x6 0x1000;
+
+   valid-mask = 0xff7f;
+   wakeup-mask = 0xff7f;
};
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index 2bbb004..6437b18 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -469,6 +469,8 @@ void __init vic_init(void __iomem *base, unsigned int 
irq_start,
 int __init vic_of_init(struct device_node *node, struct device_node *parent)
 {
void __iomem *regs;
+   u32 interrupt_mask = ~0;
+   u32 wakeup_mask = ~0;
 
if (WARN(parent, non-root VICs are not supported))
return -EINVAL;
@@ -477,10 +479,13 @@ int __init vic_of_init(struct device_node *node, struct 
device_node *parent)
if (WARN_ON(!regs))
return -EIO;
 
+   of_property_read_u32(node, valid-mask, interrupt_mask);
+   of_property_read_u32(node, wakeup-mask, wakeup_mask);
+
/*
 * Passing 0 as first IRQ makes the simple domain allocate descriptors
 */
-   __vic_init(regs, 0, ~0, ~0, node);
+   __vic_init(regs, 0, interrupt_mask, wakeup_mask, node);
 
return 0;
 }
-- 
1.8.3.2


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


[PATCH v8 5/7] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs

2013-08-22 Thread Tomasz Figa
This patch adds basic device tree definitions for Samsung S3C64xx SoCs.

Since all the SoCs in the series are very similar, the files are created
hierarchically - one file for the whole series and then separate files
for particular SoCs including the common one.

Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
---
 arch/arm/boot/dts/s3c6400.dtsi |  41 ++
 arch/arm/boot/dts/s3c6410.dtsi |  57 +++
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 687 +
 arch/arm/boot/dts/s3c64xx.dtsi | 199 ++
 4 files changed, 984 insertions(+)
 create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
 create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi

Changes since v7:
 - Updated VIC nodes to reflect changes done to patch 1/7 (renamed
   interrupt-mask property to valid-mask).

diff --git a/arch/arm/boot/dts/s3c6400.dtsi b/arch/arm/boot/dts/s3c6400.dtsi
new file mode 100644
index 000..9fec67e
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6400.dtsi
@@ -0,0 +1,41 @@
+/*
+ * Samsung's S3C6400 SoC device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa tomasz.f...@gmail.com
+ *
+ * Samsung's S3C6400 SoC device nodes are listed in this file. S3C6400
+ * based board files can include this file and provide values for board specfic
+ * bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C6400 SoC. As device tree coverage for S3C6400 increases, additional
+ * nodes can be added to this file.
+ *
+ * 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.
+*/
+
+#include s3c64xx.dtsi
+
+/ {
+   compatible = samsung,s3c6400;
+};
+
+vic0 {
+   valid-mask = 0xfe1f;
+   wakeup-mask = 0x0024;
+};
+
+vic1 {
+   valid-mask = 0x;
+   wakeup-mask = 0x5302;
+};
+
+soc {
+   clocks: clock-controller@7e00f000 {
+   compatible = samsung,s3c6400-clock;
+   reg = 0x7e00f000 0x1000;
+   #clock-cells = 1;
+   };
+};
diff --git a/arch/arm/boot/dts/s3c6410.dtsi b/arch/arm/boot/dts/s3c6410.dtsi
new file mode 100644
index 000..94276bd
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410.dtsi
@@ -0,0 +1,57 @@
+/*
+ * Samsung's S3C6410 SoC device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa tomasz.f...@gmail.com
+ *
+ * Samsung's S3C6410 SoC device nodes are listed in this file. S3C6410
+ * based board files can include this file and provide values for board specfic
+ * bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C6410 SoC. As device tree coverage for S3C6410 increases, additional
+ * nodes can be added to this file.
+ *
+ * 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.
+*/
+
+#include s3c64xx.dtsi
+
+/ {
+   compatible = samsung,s3c6410;
+
+   aliases {
+   i2c1 = i2c1;
+   };
+};
+
+vic0 {
+   valid-mask = 0xff7f;
+   wakeup-mask = 0x0024;
+};
+
+vic1 {
+   valid-mask = 0x;
+   wakeup-mask = 0x5302;
+};
+
+soc {
+   clocks: clock-controller@7e00f000 {
+   compatible = samsung,s3c6410-clock;
+   reg = 0x7e00f000 0x1000;
+   #clock-cells = 1;
+   };
+
+   i2c1: i2c@7f00f000 {
+   compatible = samsung,s3c2440-i2c;
+   reg = 0x7f00f000 0x1000;
+   interrupt-parent = vic0;
+   interrupts = 5;
+   clock-names = i2c;
+   clocks = clocks PCLK_IIC1;
+   status = disabled;
+   #address-cells = 1;
+   #size-cells = 0;
+   };
+};
diff --git a/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi 
b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
new file mode 100644
index 000..b1197d8
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
@@ -0,0 +1,687 @@
+/*
+ * Samsung's S3C64xx SoC series common device tree source
+ * - pin control-related definitions
+ *
+ * Copyright (c) 2013 Tomasz Figa tomasz.f...@gmail.com
+ *
+ * Samsung's S3C64xx SoCs pin banks, pin-mux and pin-config options are
+ * listed as device tree nodes in this file.
+ *
+ * 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.
+ */
+
+#define PIN_PULL_NONE  0
+#define PIN_PULL_DOWN  1
+#define PIN_PULL_UP2
+
+pinctrl0 {
+   /*
+* Pin banks
+*/
+
+   gpa: gpa {
+   gpio-controller;
+   #gpio-cells = 2;
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb: gpb {
+   

Re: [PATCH V3] ARM: dts: Add dwmmc DT nodes for exynos5420 SOC

2013-08-22 Thread Doug Anderson
Hi,

Thanks for adding my Thomasz,

On Thu, Aug 22, 2013 at 4:51 AM, Yuvaraj Kumar C D yuvaraj...@gmail.com wrote:
 This patch adds the device tree node entries for exynos5420 SOC.
 Exynos5420 has a different version of DWMMC controller,so a new
 compatible string is used to distinguish it from the prior SOC's.

 changes since V2:
 1.dropped num-slots property from node as its not required
   if number of card slots available is 1.

Just to mention: this is actually not board specific.  No exynos
products support more than one slot.  ...and in fact apparently NOBODY
supports more than one slot.  I have a plan to post up a patch
removing multislot support whenever I have a free moment.

Anyway, what you did is fine.


 2.Move the below properties
 a.fifo-depth

Right, not board-specific.  This is SoC specific.  Interestingly
enough you appear to have it wrong.  I have it on good authority that
5420 has a FIFO depth of 0x40 not 0x80.  Apparently the FIFO is 0x40
deep and 64 wide whereas the old FIFO is 0x80 deep and 32 wide.


 b.card-detect-delay
 c.samsung,dw-mshc-ciu-div
 d.samsung,dw-mshc-sdr-timing
 e.samsung,dw-mshc-ddr-timing

These ARE board specific, actually.  ...and Tomasz has pointed out.


 +   dwmmc_2: dwmmc2@1222 {
 +   compatible = samsung,exynos5420-dw-mshc;
 +   interrupts = 0 77 0;
 +   #address-cells = 1;
 +   #size-cells = 0;
 +   reg = 0x1222 0x2000;
 +   clocks = clock 353, clock 134;
 +   clock-names = biu, ciu;
 +   fifo-depth = 0x80;
 +   card-detect-delay = 200;
 +   samsung,dw-mshc-ciu-div = 3;
 +   samsung,dw-mshc-sdr-timing = 2 3;
 +   samsung,dw-mshc-ddr-timing = 1 2;

Note: I have information that says that these timings are not correct
and that nearly always the drive timing should be 0 and the sample
timing 4.  ...but we haven't landed that change ourselves yet, so
maybe keeping the timings you have is right.


-Doug
--
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 v6 0/3] Add RTC DT node to Exynos5420 SoC and Fix RTC DT node name for Exynos5250

2013-08-22 Thread Vikas Sajjan
Hi Kukjin,

On Thu, Aug 22, 2013 at 6:37 PM, Tomasz Figa t.f...@samsung.com wrote:
 Hi Vikas,

 On Thursday 22 of August 2013 18:29:00 Vikas Sajjan wrote:
 This patchset does the following 3 things:
  1) Fixes the RTC DT node name for Exynos5250
  2) Update the status property of RTC DT node for Exynos5250 SoC
  3) Adds RTC DT node to Exynos5420 SoC

 changes since v5:
   - Fixed the RTC DT node name for Exynos5250 board files also,
   because otherwise it breaks RTC support in bisections.

 changes since v4:
   - removed status property of RTC DT node from exynos5250 board dts
 files

 changes since v3:
   - split the 5250 related modifications into 2 separate patch as
   suggested by Tomasz Figa t.f...@samsung.com

 changes since v2:
   - split the 5250 related modifications into a separate patch.
   - placed the RTC node as per the alphabetical order in the DTS file as
   suggested by Kukjin Kim kg...@kernel.org.

 changes since v1:
   - made DT node status as okay in the dtsi file itself.

 Vikas Sajjan (3):
   ARM: dts: Fix the RTC DT node name for Exynos5250
   ARM: dts: Update the status property of RTC DT node for Exynos5250
 SoC
   ARM: dts: Add RTC DT node to Exynos5420 SoC

  arch/arm/boot/dts/exynos5.dtsi   |2 +-
  arch/arm/boot/dts/exynos5250-arndale.dts |4 
  arch/arm/boot/dts/exynos5250-snow.dts|4 
  arch/arm/boot/dts/exynos5250.dtsi|3 ++-
  arch/arm/boot/dts/exynos5420.dtsi|6 ++
  5 files changed, 9 insertions(+), 10 deletions(-)

 Looks good to me now.

 Reviewed-by: Tomasz Figa t.f...@samsung.com


Can you apply this patchset.


 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
--
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] PCI: exynos: add support for MSI

2013-08-22 Thread Jingoo Han
On Monday, August 12, 2013 7:57 PM, Thierry Reding wrote:
 On Mon, Aug 12, 2013 at 05:56:47PM +0900, Jingoo Han wrote:
 [...]
  diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
  index 855d4a7..9ef1c95 100644
  --- a/arch/arm/mach-exynos/Kconfig
  +++ b/arch/arm/mach-exynos/Kconfig
  @@ -93,6 +93,7 @@ config SOC_EXYNOS5440
  default y
  depends on ARCH_EXYNOS5
  select ARCH_HAS_OPP
  +   select ARCH_SUPPORTS_MSI
 
 This symbol goes away in Thomas Petazzoni's MSI patch series which is
 targetted at 3.12, so I don't think you should add that here.

OK, I see.
I will remove ARCH_SUPPORTS_MSI.

[.]

  +#endif
  +
   static void exynos_pcie_enable_interrupts(struct pcie_port *pp)
   {
  exynos_pcie_enable_irq_pulse(pp);
  +#ifdef CONFIG_PCI_MSI
  +   exynos_pcie_msi_init(pp);
  +#endif
  return;
   }
 
 Instead of the whole #ifdef business above, can't you just use something
 like this in exynos_pcie_enable_interrupts():
 
   if (IS_ENABLED(CONFIG_PCI_MSI))
   exynos_pcie_msi_init(pp);
 
 Now you can drop the #ifdef guards and the compiler will throw away all
 the related code automatically if PCI_MSI is not selected because the
 functions are all static and unused. This has the advantage of compiling
 all the code whether or not PCI_MSI is selected or not, therefore
 increasing compile coverage of the driver.

OK, I see.
I will use 'if IS_ENABLED(CONFIG_PCI_MSI))', and remove #ifdef guards.

[.]

  +
  +void arch_teardown_msi_irq(unsigned int irq)
  +{
  +   clear_irq(irq);
  +}
 
 And we've reworked this largely so that drivers no longer provide arch_*
 functions because that prevents multi-platform support. So I think you
 need to port this to the new msi_chip infrastructure that's being
 introduced in 3.12.

OK, I have looked at the new msi_chip infrastructure made by Thomas Petazzoni.
I will use this msi_chip.

I really appreciate your comment. :)
Thank you.

Best regards,
Jingoo Han


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