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

2014-02-14 Thread Krzysztof Kozlowski
On Thu, 2014-02-13 at 19:28 +, Mark Brown wrote:
 On Thu, Feb 13, 2014 at 10:14:04AM +0100, Krzysztof Kozlowski wrote:
  S2MPS11/S2MPS14 regulators support different modes of operation:
   - Always off;
   - On/Off controlled by pin/GPIO (PWREN/LDOEN/EMMCEN);
   - Always on;
  This is very similar to S5M8767 regulator driver which also supports
  opmodes (although S5M8767 have also low-power mode).
 
 What is the difference between always off/on and the normal enable
 control?  This sounds like a fairly standard register control that can
 be overridden by a GPIO.  The usual way of specifying that is by keying
 off the presence of the GPIO.

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.

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

Best regards,
Krzysztof

--
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 RESEND v2 00/12] clk/exynos convert clock IDs to macros

2014-02-14 Thread Tomasz Figa

Hi Kukjin,

On 14.02.2014 01:17, Kukjin Kim wrote:

On 02/14/14 09:10, Kukjin Kim wrote:

On 01/28/14 06:49, Mike Turquette wrote:

Quoting Tomasz Figa (2014-01-07 07:17:22)

Hi Mike,

On Tuesday 07 of January 2014 15:47:28 Andrzej Hajda wrote:

Hi,

This patch set adds header files with macros defining exynos clocks.
Then it converts dts files and drivers to use macros instead
of magic numbers or enums to describe clock bindings.

The patch set is rebased on the latest samsung-clk/samsung-next
branch.

The patches are generated by script.
Many clocks I have verified by hand.
I have also tested it successfully on exynos4 based board.

This is the 2nd version of the patchset.
Changes:
- corrected devicetree mailing list,
- added comments to include/dt-bindings/clock/exynos4.h for
clocks present only in particular chip,
- added tab alignement in headers,
- added comment to CLK_NR_CLKS,
- added copyright headers,
- split long lines in dts,
- corrected example in bindings/clock/exynos5250-clock.txt, to point
appropriate clocks.


I believe this has been already acked before, so could you still take
it for 3.14? For now I'd merge only the patches adding headers and
updating clock drivers to avoid merge conflicts and then after
release of 3.14-rc1 we could early merge dts patches for 3.15.


Hi Tomasz,

Let's go ahead and merge this after 3.14-rc1. I'll take it in when that
drops and the DTS data will go in during the same merge window.



Hi Mike,

As I talked to Tomasz, would be better to us if this series could be
handled in Samsung tree so I'm going to do it. How do you think?


Oops, already merged into mainline ;-)
Sorry, please kindly ignore my previous e-mail.


As you probably found out already, we've merged clock-side part of the 
series for 3.14 to ease things a bit and let you simply merge the 
DT-side for 3.15.


Also, since there were patches floating on the ML still using clock 
numbers, we decided to give them some more time to be applied, then stop 
accepting such patches and then finally rerun Andrzej's script on your 
tree and ask you to apply resulting conversion patches.


Since you seem to have already applied most of such floating patches, 
Andrzej will send you new series soon.


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 6/9 v6] ARM: dts: exynos5250/5420: add dt node for sss module

2014-02-14 Thread Tomasz Figa

Hi Kukjin,

On 14.02.2014 00:28, Kukjin Kim wrote:

On 02/07/14 14:24, Naveen Krishna Chatradhi wrote:

This patch adds the device tree node for SSS module
found on Exynos5420 and Exynos5250

Signed-off-by: Naveen Krishna Chatradhich.nav...@samsung.com
Reviewed-by: Tomasz Figat.f...@samsung.com
TO:linux-samsung-soc@vger.kernel.org
CC: Kukjin Kimkgene@samsung.com
CC:linux-cry...@vger.kernel.org
---
changes since v5:
1. Added Reviewed-by: Tomasz Figat.f...@samsung.com

  arch/arm/boot/dts/exynos5250.dtsi |8 
  arch/arm/boot/dts/exynos5420.dtsi |   10 ++
  2 files changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5250.dtsi
b/arch/arm/boot/dts/exynos5250.dtsi
index b7dec41..46b04e8 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -706,4 +706,12 @@
  io-channel-ranges;
  status = disabled;
  };
+
+sss@1083 {
+compatible = samsung,exynos4210-secss;
+reg =0x1083 0x1;
+interrupts =0 112 0;
+clocks =clock 348;
+clock-names = secss;
+};
  };
diff --git a/arch/arm/boot/dts/exynos5420.dtsi
b/arch/arm/boot/dts/exynos5420.dtsi
index 8db792b..b503e96 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -652,4 +652,14 @@
  clocks =clock 319,clock 318;
  clock-names = tmu_apbif, tmu_triminfo_apbif;
  };
+
+sss@1083 {
+compatible = samsung,exynos4210-secss;
+reg =0x1083 0x1;
+interrupts =0 112 0;
+clocks =clock 471;
+clock-names = secss;
+samsung,power-domain =g2d_pd;
+};
+
  };


Applied, thanks.

BTW, I think the numbering is strange...maybe I missed something?
[PATCH 5/5], [PATCH 5/6 V2], [PATCH 6/8 V3] and this [PATCH 6/9 V6]


I would wait with applying any patches from this series until they are 
acked by crypto subsystem maintainer and DT bindings by DT maintainers.


I'd like Naveen to resend this series in separate thread, with proper 
message threading, so we can make sure that we are not missing anything. 
Naveen, please also add


David S. Miller da...@davemloft.net

to Cc list, as he is also listed as crypto maintainer in 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 RESEND v2 00/12] clk/exynos convert clock IDs to macros

2014-02-14 Thread Sachin Kamat
Hi Tomasz,

On 14 February 2014 16:11, Tomasz Figa t.f...@samsung.com wrote:
 Hi Kukjin,


 On 14.02.2014 01:17, Kukjin Kim wrote:

 On 02/14/14 09:10, Kukjin Kim wrote:

 On 01/28/14 06:49, Mike Turquette wrote:

 Quoting Tomasz Figa (2014-01-07 07:17:22)

 Hi Mike,

 On Tuesday 07 of January 2014 15:47:28 Andrzej Hajda wrote:

 Hi,

 This patch set adds header files with macros defining exynos clocks.
 Then it converts dts files and drivers to use macros instead
 of magic numbers or enums to describe clock bindings.

 The patch set is rebased on the latest samsung-clk/samsung-next
 branch.

 The patches are generated by script.
 Many clocks I have verified by hand.
 I have also tested it successfully on exynos4 based board.

 This is the 2nd version of the patchset.
 Changes:
 - corrected devicetree mailing list,
 - added comments to include/dt-bindings/clock/exynos4.h for
 clocks present only in particular chip,
 - added tab alignement in headers,
 - added comment to CLK_NR_CLKS,
 - added copyright headers,
 - split long lines in dts,
 - corrected example in bindings/clock/exynos5250-clock.txt, to point
 appropriate clocks.


 I believe this has been already acked before, so could you still take
 it for 3.14? For now I'd merge only the patches adding headers and
 updating clock drivers to avoid merge conflicts and then after
 release of 3.14-rc1 we could early merge dts patches for 3.15.


 Hi Tomasz,

 Let's go ahead and merge this after 3.14-rc1. I'll take it in when that
 drops and the DTS data will go in during the same merge window.


 Hi Mike,

 As I talked to Tomasz, would be better to us if this series could be
 handled in Samsung tree so I'm going to do it. How do you think?

 Oops, already merged into mainline ;-)
 Sorry, please kindly ignore my previous e-mail.


 As you probably found out already, we've merged clock-side part of the
 series for 3.14 to ease things a bit and let you simply merge the DT-side
 for 3.15.

 Also, since there were patches floating on the ML still using clock numbers,
 we decided to give them some more time to be applied, then stop accepting
 such patches and then finally rerun Andrzej's script on your tree and ask
 you to apply resulting conversion patches.

 Since you seem to have already applied most of such floating patches,
 Andrzej will send you new series soon.

There are still quite a few board support patches of Arndale-octa and 5420 SMDK
that need to be applied. I believe Kukjin will apply them over the weekend.

-- 
With warm regards,
Sachin
--
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 2/3] ARM: dts: add dts files for exynos5260 SoC

2014-02-14 Thread Tomasz Figa

On 14.02.2014 12:28, Rahul Sharma wrote:

On 14 February 2014 08:54, Rahul Sharma r.sh.o...@gmail.com wrote:

Thanks Tomasz,

I will add these changes to v3.

Regards,
Rahul Sharma.

On 11 February 2014 15:34, Tomasz Figa tomasz.f...@gmail.com wrote:

Hi Rahul,


On 11.02.2014 06:22, Rahul Sharma wrote:


Hi Tomasz,

On 6 February 2014 18:51, Tomasz Figa t.f...@samsung.com wrote:


Hi Rahul, Pankaj, Arun,

[adding linux-arm-kernel, devicetree MLs and DT people on Cc]

I think it's good time to stop accepting DTS files like this and force
new
ones to use the proper structure with soc node, labels for every node and
node references.



I am unable to find information on SoC node and grouping inside SoC node.
Please
share some pointers.



Well, there is not much information needed about this. Basically all the
devices built into the SoC should be listed under respective bus nodes or a
single soc node, instead of root level. Such node should be a simple-bus
and just group the components together to separate board-specific devices
(which are still at root level) from SoC devices.

Even though it might seem useless, it improves DT readability a bit and
still most of the platforms use this approach, so for consistency, Exynos
should use too.

Just for reference, back in April 2013, in his review of S3C64xx DT series
[1], Rob Herring requested that we don't submit any new device trees using
flat approach and start using bus hierarchy.

[1]
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-April/163659.html





+   spi0_bus: spi0-bus {
+   samsung,pins = gpa2-0, gpa2-1, gpa2-2,
gpa2-3;




What is the reason for SPI0 to have 4 pins, while SPI1 has just 3?



I should align SPI1 with SPI0.



Are you sure that SPI0 is the correct one? SPI usually uses four pins - SDI,
SDO, SCK and nCS, but we always used to treat nCS as a simple GPIO, due to
the fact that the controller can only support one dedicated chip select and
with direct GPIO control you can have more.

What is the fourth pin here?



As you said, these are CLK, SS, MISO, MOSI (gpa2-0 to gpa2-3). Fourth pin is
CS. It can be defined as a simple GPIO but better to include it in the
SPI pingroup
as it belongs to there.


I have to disagree here.

If you define a pin in pinctrl group then it is tied to this specific 
hardware function and you can't use it as GPIO.


Since it's board specific to use it as HW chip select or GPIO chip 
select (the usual setup), it should not be included in this group.


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] spi: s3c24xx: Convert to let spi core validate bits_per_word

2014-02-14 Thread Axel Lin
Set bits_per_word_mask so spi core will reject transfers that attempt to use
an unsupported bits_per_word value.

Signed-off-by: Axel Lin axel@ingics.com
---
 drivers/spi/spi-s3c24xx.c | 11 +--
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/spi/spi-s3c24xx.c b/drivers/spi/spi-s3c24xx.c
index c20df45..a275445 100644
--- a/drivers/spi/spi-s3c24xx.c
+++ b/drivers/spi/spi-s3c24xx.c
@@ -122,25 +122,15 @@ static int s3c24xx_spi_update_state(struct spi_device 
*spi,
 {
struct s3c24xx_spi *hw = to_hw(spi);
struct s3c24xx_spi_devstate *cs = spi-controller_state;
-   unsigned int bpw;
unsigned int hz;
unsigned int div;
unsigned long clk;
 
-   bpw = t ? t-bits_per_word : spi-bits_per_word;
hz  = t ? t-speed_hz : spi-max_speed_hz;
 
-   if (!bpw)
-   bpw = 8;
-
if (!hz)
hz = spi-max_speed_hz;
 
-   if (bpw != 8) {
-   dev_err(spi-dev, invalid bits-per-word (%d)\n, bpw);
-   return -EINVAL;
-   }
-
if (spi-mode != cs-mode) {
u8 spcon = SPCON_DEFAULT | S3C2410_SPCON_ENSCK;
 
@@ -543,6 +533,7 @@ static int s3c24xx_spi_probe(struct platform_device *pdev)
 
master-num_chipselect = hw-pdata-num_cs;
master-bus_num = pdata-bus_num;
+   master-bits_per_word_mask = SPI_BPW_MASK(8);
 
/* setup the state for the bitbang driver */
 
-- 
1.8.1.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


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

2014-02-14 Thread Krzysztof Kozlowski


On Thu, 2014-02-13 at 17:46 +0530, Yadwinder Singh Brar wrote:
 Hi,
 
 On Thu, Feb 13, 2014 at 2:44 PM, Krzysztof Kozlowski
 k.kozlow...@samsung.com wrote:
  S2MPS11/S2MPS14 regulators support different modes of operation:
   - Always off;
   - On/Off controlled by pin/GPIO (PWREN/LDOEN/EMMCEN);
   - Always on;
  This is very similar to S5M8767 regulator driver which also supports
  opmodes (although S5M8767 have also low-power mode).
 
  This patch adds parsing the operation mode from DTS by reading a
  op_mode property from regulator child node.
 
 
 First thing since op_mode is not generic property, I think it should
 be appended with some driver specific prefix.
 
 But IMHO its quite generic property used and required by many other
 PMICs(almost all used by Samsung).
 I would like to use this opportunity to discuss about adding it as
 generic regulator constraint(as initial_mode)
 by providing a default mapping of generic Regulator operating
 modes(kernel specific) to operating modes supported by hardware in
 regulator driver itself.
 
 Regards,
 Yadwinder

Hi,

I was thinking about this. This relates also to ideas pointed by Mark:
 - Maybe s2mps11 and s5m8767 regulator drivers could be merged into one;
 - The external control should be determined by presence of attribute
with gpios.

The S5M8767 has following operation modes (except on/off):
 - external control by GPIO;
 - On/Off controlled by PWREN;
 - low-power mode;
 - low-power mode controlled by PWREN;
Although not all are present for each regulator.

The S2MPS14 is easier:
 - external control by GPIO;
 - On/Off controlled by PWREN;

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


What do you think?

Best regards,
Krzysztof

--
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 2/3] ARM: dts: add dts files for exynos5260 SoC

2014-02-14 Thread Rahul Sharma
The patch adds the dts files for exynos5260.

Signed-off-by: Pankaj Dubey pankaj.du...@samsung.com
Signed-off-by: Rahul Sharma rahul.sha...@samsung.com
Signed-off-by: Arun Kumar K arun...@samsung.com
---
 arch/arm/boot/dts/exynos5260-pinctrl.dtsi |  574 +
 arch/arm/boot/dts/exynos5260.dtsi |  304 +++
 2 files changed, 878 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos5260-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/exynos5260.dtsi

diff --git a/arch/arm/boot/dts/exynos5260-pinctrl.dtsi 
b/arch/arm/boot/dts/exynos5260-pinctrl.dtsi
new file mode 100644
index 000..f6ee55e
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5260-pinctrl.dtsi
@@ -0,0 +1,574 @@
+/*
+ * Samsung's Exynos5260 SoC pin-mux and pin-config device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Samsung's Exynos5260 SoC pin-mux and pin-config options are listed as device
+ * tree nodes are listed 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_UP3
+
+pinctrl_0 {
+   gpa0: gpa0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpa1: gpa1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpa2: gpa2 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb0: gpb0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb1: gpb1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb2: gpb2 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb3: gpb3 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb4: gpb4 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpb5: gpb5 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpd0: gpd0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpd1: gpd1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpd2: gpd2 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpe0: gpe0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpe1: gpe1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpf0: gpf0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpf1: gpf1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpk0: gpk0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpx0: gpx0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpx1: gpx1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpx2: gpx2 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpx3: gpx3 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   

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

2014-02-14 Thread Rahul Sharma
The patch adds the dts files for xyref5260 board which
is based on Exynos5260 Evt0 sample.

Signed-off-by: Rahul Sharma rahul.sha...@samsung.com
---
 arch/arm/boot/dts/Makefile  |1 +
 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  105 +++
 2 files changed, 106 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index fa70ea2..c513a69 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -64,6 +64,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
exynos5250-arndale.dtb \
exynos5250-smdk5250.dtb \
exynos5250-snow.dtb \
+   exynos5260-xyref5260-evt0.dtb \
exynos5420-arndale-octa.dtb \
exynos5420-smdk5420.dtb \
exynos5440-sd5v1.dtb \
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
@@ -0,0 +1,105 @@
+/*
+ * SAMSUNG XYREF5260 EVT0 board device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+#include exynos5260.dtsi
+
+/ {
+   model = SAMSUNG XYREF5260 EVT0 board based on EXYNOS5260;
+   compatible = samsung,xyref5260, samsung,exynos5260;
+
+   memory {
+   reg = 0x2000 0x8000;
+   };
+
+   chosen {
+   bootargs = console=ttySAC2,115200;
+   };
+
+   clocks {
+   compatible = simple-bus;
+   #address-cells = 1;
+   #size-cells = 0;
+
+   fin_pll: oscillator@0 {
+   compatible = fixed-clock;
+   reg = 0;
+   clock-frequency = 2400;
+   clock-output-names = fin_pll;
+   #clock-cells = 0;
+   };
+   };
+};
+
+pinctrl_0 {
+   hdmi_hpd_irq: hdmi-hpd-irq {
+   samsung,pins = gpx3-7;
+   samsung,pin-function = 0;
+   samsung,pin-pud = 1;
+   samsung,pin-drv = 0;
+   };
+};
+
+uart0 {
+   status = okay;
+};
+
+uart1 {
+   status = okay;
+};
+
+uart2 {
+   status = okay;
+};
+
+uart3 {
+   status = okay;
+};
+
+mmc_0 {
+   status = okay;
+   num-slots = 1;
+   broken-cd;
+   bypass-smu;
+   supports-highspeed;
+   supports-hs200-mode; /* 200 Mhz */
+   fifo-depth = 0x40;
+   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;
+   card-detect-delay = 200;
+   samsung,dw-mshc-ciu-div = 3;
+   samsung,dw-mshc-sdr-timing = 2 3;
+   samsung,dw-mshc-ddr-timing = 1 2;
+   pinctrl-names = default;
+   pinctrl-0 = sd2_clk sd2_cmd sd2_cd sd2_bus1 sd2_bus4;
+
+   slot@0 {
+   reg = 0;
+   bus-width = 4;
+   disable-wp;
+   };
+};
-- 
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 0/3] exynos: arch: add support for exynos5260 SoC

2014-02-14 Thread Rahul Sharma
From: Rahul Sharma rahul.sha...@samsung.com

V3:
  1) Addressed review comments from Tomasz figa.

V2:
  1) Split up DT patch into SoC and Board patch.

This series is dependent on Sachin's patch
ARM: EXYNOS: Consolidate CPU init code at
http://comments.gmane.org/gmane.linux.kernel.samsung-soc/26560

This series is based on Kukjin's for-next branch at
http://git.kernel.org/?p=linux/kernel/git/kgene/linux-samsung.git

Pankaj Dubey (1):
  ARM: EXYNOS: initial board support for exynos5260 SoC

Rahul Sharma (2):
  ARM: dts: add dts files for exynos5260 SoC
  ARM: dts: add dts files for xyref5260 board

 arch/arm/boot/dts/Makefile  |1 +
 arch/arm/boot/dts/exynos5260-pinctrl.dtsi   |  574 +++
 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts |  105 +
 arch/arm/boot/dts/exynos5260.dtsi   |  304 
 arch/arm/mach-exynos/Kconfig|9 +
 arch/arm/mach-exynos/common.c   |   11 +
 arch/arm/mach-exynos/include/mach/map.h |1 +
 arch/arm/mach-exynos/mach-exynos5-dt.c  |1 +
 arch/arm/plat-samsung/include/plat/cpu.h|8 +
 9 files changed, 1014 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos5260-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts
 create mode 100644 arch/arm/boot/dts/exynos5260.dtsi

-- 
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 v3] phy: Add new Exynos5 USB 3.0 PHY driver

2014-02-14 Thread Vivek Gautam
Hi Tomasz,


On Thu, Feb 6, 2014 at 7:37 PM, Tomasz Figa t.f...@samsung.com wrote:
 Hi Vivek,

 This patch is just adding the PHY driver. I would also like to look at some
 users of it, to see how this works when put together.

The DWC3's changes had been posted by Kishon sometime back, which will enable
DWC3 to use generic PHY dirver. [1]
I had skipped posting corresponding arch patch to use DWC3 on Exynos5
(although i had
posted that in earlier versions of the patch-series).
I will post the corresponding arch patches in the next version of the
patch-series.


 For now, please see my comments inline.


 On 20.01.2014 14:42, Vivek Gautam wrote:

 Add a new driver for the USB 3.0 PHY on Exynos5 series of SoCs.
 The new driver uses the generic PHY framework and will interact
 with DWC3 controller present on Exynos5 series of SoCs.
 Thereby, removing old phy-samsung-usb3 driver and related code
 used untill now which was based on usb/phy framework.

 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 ---

 Changes from v2:
 1) Added support for multiple PHYs (UTMI+ and PIPE3) and
 related changes in the driver structuring.


 I'm a bit skeptical about this separation. Can the PHY operate with just the
 UTMI+ or PIPE3 part enabled alone without the other? Can any PHY consumer
 operate this way?

Yes :-)
As also pointed by Kishon the PHY consumer (which is DWC3 in case of
Exynos5 SoC series)
should theoretically be able use either UTMI+ phy for High speed
operations or both (UTMI+ and PIPE3)
for Super Speed operations.


 Introducing separation of something that can't exist alone doesn't add any
 value, but instead makes things more difficult to work with. Of course, it's
 fine if the answer to my questions above if yes, but better safe than sorry.





 2) Added a xlate function to get the required phy out of
 number of PHYs in mutiple PHY scenerio.
 3) Changed the names of few structures and variables to
 have a clearer meaning.
 4) Added 'usb3phy_config' structure to take care of mutiple
 phys for a SoC having 'exynos5_usb3phy_drv_data' driver data.
 5) Not deleting support for old driver 'phy-samsung-usb3' until
 required support for generic phy is added to DWC3.


 [snip]


 +
 +- aliases: For SoCs like Exynos5420 having multiple USB PHY controllers,
 +  'usb3_phy' nodes should have numbered alias in the aliases
 node,
 +  in the form of usb3phyN, N = 0, 1... (depending on number of
 +  controllers).
 +Example:
 +   aliases {
 +   usb3phy0 = usb3_phy0;
 +   usb3phy1 = usb3_phy1;
 +   };


 What is the reason to have these aliases?


 diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
 index 330ef2d..32f9f38 100644
 --- a/drivers/phy/Kconfig
 +++ b/drivers/phy/Kconfig
 @@ -51,4 +51,12 @@ config PHY_EXYNOS_DP_VIDEO
 help
   Support for Display Port PHY found on Samsung EXYNOS SoCs.

 +config PHY_EXYNOS5_USB3
 +   tristate Exynos5 SoC series USB 3.0 PHY driver
 +   depends on ARCH_EXYNOS5
 +   select GENERIC_PHY
 +   select MFD_SYSCON
 +   help
 + Enable USB 3.0 PHY support for Exynos 5 SoC series
 +
   endmenu
 diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
 index d0caae9..9c06a61 100644
 --- a/drivers/phy/Makefile
 +++ b/drivers/phy/Makefile
 @@ -7,3 +7,4 @@ obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO)   +=
 phy-exynos-dp-video.o
   obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO)   += phy-exynos-mipi-video.o
   obj-$(CONFIG_OMAP_USB2)   += phy-omap-usb2.o
   obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
 +obj-$(CONFIG_PHY_EXYNOS5_USB3) += phy-exynos5-usb3.o
 diff --git a/drivers/phy/phy-exynos5-usb3.c
 b/drivers/phy/phy-exynos5-usb3.c
 new file mode 100644
 index 000..24efed0
 --- /dev/null
 +++ b/drivers/phy/phy-exynos5-usb3.c
 @@ -0,0 +1,621 @@
 +/*
 + * Samsung EXYNOS5 SoC series USB 3.0 PHY driver
 + *
 + * Copyright (C) 2013 Samsung Electronics Co., Ltd.
 + * Author: Vivek Gautam gautam.vi...@samsung.com
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + */
 +
 +#include linux/clk.h
 +#include linux/delay.h
 +#include linux/io.h
 +#include linux/kernel.h
 +#include linux/module.h
 +#include linux/of.h
 +#include linux/of_address.h
 +#include linux/phy/phy.h
 +#include linux/platform_device.h
 +#include linux/mutex.h
 +#include linux/mfd/syscon.h
 +#include linux/regmap.h
 +
 +/* Exynos USB PHY registers */
 +#define EXYNOS5_FSEL_9MHZ6 0x0
 +#define EXYNOS5_FSEL_10MHZ 0x1
 +#define EXYNOS5_FSEL_12MHZ 0x2
 +#define EXYNOS5_FSEL_19MHZ20x3
 +#define EXYNOS5_FSEL_20MHZ 0x4
 +#define EXYNOS5_FSEL_24MHZ 0x5
 +#define EXYNOS5_FSEL_50MHZ 0x7
 +
 +/* EXYNOS5: USB 3.0 DRD PHY registers */
 +#define EXYNOS5_DRD_LINKSYSTEM   

Re: Instructions to release your payment.

2014-02-14 Thread Dr.William Davies
Attention

Sir,

Following an application brought, seeking the release of your due payment
through British bank, I am directed to inform you that the application has
been approved and Natwest bank of London has been mandated to make transfer
of your payment to the bank account you will nominate. Please kindly reply
for immediate release of your US$6.2 Million to you nominates account.

Sir, for the avoidance of doubts, reconfirm the following information to
me to enable us forward same to Natwest bank to contact you for your
payment.

Name:

Address:

Tel/Fax No.:

Nationality:

Occupation:

Date of birth: 

As soon as I received the above information, I will forward them to
Natwest bank to contact you for your approved payment. Please see in the
attachment, letter I wrote to Natwest bank informing them of the
transaction

Yours faithfully

Dr.William Davies
Chairman,British Banking Regulatory Board.
--
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] phy: Add new Exynos5 USB 3.0 PHY driver

2014-02-14 Thread Tomasz Figa

Hi Vivek,

On 14.02.2014 14:53, Vivek Gautam wrote:

Changes from v2:
1) Added support for multiple PHYs (UTMI+ and PIPE3) and
 related changes in the driver structuring.



I'm a bit skeptical about this separation. Can the PHY operate with just the
UTMI+ or PIPE3 part enabled alone without the other? Can any PHY consumer
operate this way?


Yes :-)
As also pointed by Kishon the PHY consumer (which is DWC3 in case of
Exynos5 SoC series)
should theoretically be able use either UTMI+ phy for High speed
operations or both (UTMI+ and PIPE3)
for Super Speed operations.


OK, that's fine then. This is the explanation I needed, thanks.



I believe the right thing to do here is to do all the initialization in
.power_on() and let the driver simply call phy_power_on() when it needs the
PHY and phy_power_off() otherwise.


If this is what we should be doing then what will be the purpose of
two separate APIs :
phy_power_on() and phy_init().
Am i missing while understanding the things.



I don't understand this separation as well. Operations that should be 
done together shouldn't be separated. Is there any case when you can 
call one of phy_power_on() and phy_init() without calling another one 
right before/after it?


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 2/3] arm64: Add Kconfig option for Samsung GH7 SoC family

2014-02-14 Thread Arnd Bergmann
On Thursday 13 February 2014, Olof Johansson wrote:
 On Mon, Feb 10, 2014 at 6:52 PM, Kukjin Kim kgene@samsung.com wrote:
  On 02/13/14 04:14, Arnd Bergmann wrote:
  On Wednesday 12 February 2014 13:04:40 Kumar Gala wrote:
  Basically, I agreed with Arnd's suggestion to use ARCH_SBSA. Or we need to
  define level in Kconfig like ARCH_SBSA_L1 for level1. BTW, how about
  compliant with SBSA Level1 and having some specific features?

My feeling is that we don't need to use the levels for Kconfig, although
we might want to use them DT compatible strings, even if it ends up looking
a little funny when you do 

compatible = arm,sbsa-l3, arm,sbsa-l2, arm,sbsa-l1;

 What kind of features are you expecting though? More IP
 blocks/devices? Those are just kernel config options to enable,
 ideally as modules.

Right, I think we can just put them into defconfig. No need to
select them from Kconfig since the extra options wouldn't be
required for booting or using the system.

Arnd
--
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] spi: s3c24xx: Convert to let spi core validate bits_per_word

2014-02-14 Thread Mark Brown
On Fri, Feb 14, 2014 at 08:38:16PM +0800, Axel Lin wrote:
 Set bits_per_word_mask so spi core will reject transfers that attempt to use
 an unsupported bits_per_word value.

Applied, thanks.


signature.asc
Description: Digital signature


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

2014-02-14 Thread Tomasz Figa

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.



+   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 v3 1/3] ARM: EXYNOS: initial board support for exynos5260 SoC

2014-02-14 Thread Tomasz Figa

Hi,

On 14.02.2014 14:37, Rahul Sharma wrote:

From: Pankaj Dubey pankaj.du...@samsung.com

This patch add basic arch side support for exynos5260 SoC.

Signed-off-by: Pankaj Dubey pankaj.du...@samsung.com
Signed-off-by: Arun Kumar K arun...@samsung.com
Signed-off-by: Rahul Sharma rahul.sha...@samsung.com
---
  arch/arm/mach-exynos/Kconfig |9 +
  arch/arm/mach-exynos/common.c|   11 +++
  arch/arm/mach-exynos/include/mach/map.h  |1 +
  arch/arm/mach-exynos/mach-exynos5-dt.c   |1 +
  arch/arm/plat-samsung/include/plat/cpu.h |8 
  5 files changed, 30 insertions(+)


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 v1 0/2] exynos_mct driver: fix irq allocation and cleanup

2014-02-14 Thread Tarek Dakhran
On Thu, Feb 13, 2014 at 10:31 PM, Tarek Dakhran t.dakh...@gmail.com wrote:
 Hi Tomasz,

 On Thursday, February 13, 2014, Tomasz Figa t.f...@samsung.com wrote:

 Hi Tarek,

 On 13.02.2014 04:08, Tarek Dakhran wrote:

 exynos4_local_timer_setup called on the secondary cpu before
 irqs are enabled. request_irq can sleep, which produces next warning:

 on boot:
 [0.37] CPU0: thread -1, cpu 0, socket 0, mpidr 8000
 [0.37] Setting up static identity map for 0x403b5700 - 0x403b5758
 [0.395000] CPU1: Booted secondary processor
 [0.395000] [ cut here ]
 [0.395000] WARNING: CPU: 1 PID: 0 at kernel/locking/lockdep.c:2742
 lockdep_trace_alloc+0xe0/0xfc()
 [0.395000] DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))
 [0.395000] Modules linked in:
 [0.395000] CPU: 1 PID: 0 Comm: swapper/1 Not tainted
 3.14.0-rc2-4-g0db95f4 #128
 [0.395000] [c0014308] (unwind_backtrace) from [c0011690]
 (show_stack+0x10/0x14)
 [0.395000] [c0011690] (show_stack) from [c03ae7d0]
 (dump_stack+0x6c/0xb8)
 [0.395000] [c03ae7d0] (dump_stack) from [c001d504]
 (warn_slowpath_common+0x68/0x8c)
 [0.395000] [c001d504] (warn_slowpath_common) from [c001d5bc]
 (warn_slowpath_fmt+0x30/0x40)
 [0.395000] [c001d5bc] (warn_slowpath_fmt) from [c0059824]
 (lockdep_trace_alloc+0xe0/0xfc)
 [0.395000] [c0059824] (lockdep_trace_alloc) from [c00bee24]
 (kmem_cache_alloc+0x24/0x160)
 [0.395000] [c00bee24] (kmem_cache_alloc) from [c0068174]
 (request_threaded_irq+0x64/0x130)
 [0.395000] [c0068174] (request_threaded_irq) from [c02efaf8]
 (exynos4_local_timer_setup+0xd0/0x124)
 [0.395000] [c02efaf8] (exynos4_local_timer_setup) from [c02efc34]
 (exynos4_mct_cpu_notify+0x78/0xf0)
 [0.395000] [c02efc34] (exynos4_mct_cpu_notify) from [c003d318]
 (notifier_call_chain+0x44/0x84)
 [0.395000] [c003d318] (notifier_call_chain) from [c001d61c]
 (__cpu_notify+0x24/0x40)
 [0.395000] [c001d61c] (__cpu_notify) from [c0013314]
 (secondary_start_kernel+0xe4/0x134)
 [0.395000] [c0013314] (secondary_start_kernel) from [40008624]
 (0x40008624)
 [0.395000] ---[ end trace 347890460e745f50 ]---
 [0.42] CPU1: update cpu_power 1024
 [0.42] CPU1: thread -1, cpu 1, socket 0, mpidr 8001

 on hotplug:
 [  108.04] CPU3: Booted secondary processor
 [  108.04] BUG: sleeping function called from invalid context at
 mm/slub.c:965
 [  108.04] in_atomic(): 1, irqs_disabled(): 128, pid: 0, name:
 swapper/3
 [  108.04] INFO: lockdep is turned off.
 [  108.04] irq event stamp: 0
 [  108.04] hardirqs last  enabled at (0): [  (null)]   (null)
 [  108.04] hardirqs last disabled at (0): [c001b768]
 copy_process.part.2+0x2a4/0x12f4
 [  108.04] softirqs last  enabled at (0): [c001b768]
 copy_process.part.2+0x2a4/0x12f4
 [  108.04] softirqs last disabled at (0): [  (null)]   (null)
 [  108.04] CPU: 3 PID: 0 Comm: swapper/3 Tainted: GW
 3.14.0-rc2-4-g0db95f4 #128
 [  108.04] [c0014308] (unwind_backtrace) from [c0011690]
 (show_stack+0x10/0x14)
 [  108.04] [c0011690] (show_stack) from [c03ae7d0]
 (dump_stack+0x6c/0xb8)
 [  108.04] [c03ae7d0] (dump_stack) from [c00beed4]
 (kmem_cache_alloc+0xd4/0x160)
 [  108.04] [c00beed4] (kmem_cache_alloc) from [c0068174]
 (request_threaded_irq+0x64/0x130)
 [  108.04] [c0068174] (request_threaded_irq) from [c02efaf8]
 (exynos4_local_timer_setup+0xd0/0x124)
 [  108.04] [c02efaf8] (exynos4_local_timer_setup) from [c02efc34]
 (exynos4_mct_cpu_notify+0x78/0xf0)
 [  108.04] [c02efc34] (exynos4_mct_cpu_notify) from [c003d318]
 (notifier_call_chain+0x44/0x84)
 [  108.04] [c003d318] (notifier_call_chain) from [c001d61c]
 (__cpu_notify+0x24/0x40)
 [  108.04] [c001d61c] (__cpu_notify) from [c0013314]
 (secondary_start_kernel+0xe4/0x134)
 [  108.04] [c0013314] (secondary_start_kernel) from [40008624]
 (0x40008624)

 First patch fixes this problem by removing request_irq from
 exynos4_local_timer_setup
 Second removes non-dt stuff.

 Tested on linux kernel v3.14-rc2.


 It would be nice to say on which boards it has been tested. Let me check
 this on our boards anyway.

 Best regards,
 Tomasz


 Tested on smdk5410 reference board with lockdep enabled.
 I think the problem will present on all boards due to call sleeping function
 in irq_disabled context.

 Best Regards,
 Tarek

Has anyone else tested this patches?
if yes, what is the result?


Best regards,
. Tarek
--
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