Re: [PATCH] ARM: exynos: Fix kernel panic when unplugging CPU1 on 4210

2014-05-25 Thread Kukjin Kim

On 05/25/14 02:31, Daniel Lezcano wrote:

On 05/24/2014 07:24 PM, Daniel Lezcano wrote:

A look at the code reveals use of S5P_VA_SYSRAM macro, in case of
certain SoC
revisions, which is not valid any longer, after SYSRAM started to be
mapped
dynamically. The new dynamic mapping is stored in sysram_base_addr
variable,
which is declared static in platsmp.c

This fix makes sysram_base_addr non-static, declared it in common.h
and used
in pm.c instead of S5P_VA_SYSRAM.

Signed-off-by: Daniel Lezcano daniel.lezc...@linaro.org
Suggested-by: Tomasz Figa t.f...@samsung.com


Hi Kukjin,

with this fix I confirm cpuidle is working well with the AFTR state on
the exynos 4210.


Thanks a lot.

I've applied this fix on top of cpuidle-exynos branch.

- 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 v10 3/3] ARM: dts: Add initial device tree support for EXYNOS5410

2014-05-25 Thread Kukjin Kim

On 05/24/14 06:15, Tomasz Figa wrote:

Hi Tarek,

On 23.05.2014 12:35, Tarek Dakhran wrote:

Add initial device tree nodes for EXYNOS5410 SoC and SMDK5410 board.

Signed-off-by: Tarek Dakhrant.dakh...@samsung.com
Signed-off-by: Vyacheslav Tyrtovv.tyr...@samsung.com
---
  arch/arm/boot/dts/Makefile|1 +
  arch/arm/boot/dts/exynos5410-smdk5410.dts |   82 
  arch/arm/boot/dts/exynos5410.dtsi |  206 +
  3 files changed, 289 insertions(+)
  create mode 100644 arch/arm/boot/dts/exynos5410-smdk5410.dts
  create mode 100644 arch/arm/boot/dts/exynos5410.dtsi


Looks good. Hopefully we can have this patch applied soon, so it won't
get outdated again.


Yes.

Tarek, please respin as soon as possible.


Reviewed-by: Tomasz Figat.f...@samsung.com



- 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 v2 0/3] Exynos multi-platform support

2014-05-25 Thread Kukjin Kim

On 05/24/14 06:02, Tomasz Figa wrote:

Hi Kukjin,


Hi,


On 23.05.2014 21:48, Kukjin Kim wrote:

On 05/24/14 04:17, Arnd Bergmann wrote:

On Friday 23 May 2014, Sachin Kamat wrote:

The patches in this series were earlier sent as part of other
series. Now that the other patches have been merged, re-sending
these after rebasing them on linux-next (20140523).
Tested on Exynos4210, 4412, 5250 and 5420 based boards.

A particular change in this series is the removal of single platform
support for Exynos as suggested by Arnd and Olof (patch 2/3). With
this change certain features (drivers) which are not yet multi-platform
aware like cpufreq, devfreq and DRM based gscaler will not be available
now.



Acked-by: Arnd Bergmanna...@arndb.de


Yes, it's time to move on exynos multiplatform and we can't wait for
more perfect something. Anyway if any problems, let's fix them after
this. Will apply this whole series.


I have tested v1 of this series on Exynos4210-TRATS and
Exynos4412-TRATS2 boards and they seemed to work fine with added two
patches that are already on the ML:
  - [PATCH v2] cpufreq: exynos: Fix driver compilation with
ARCH_MULTIPLATFORM,


Hmm...yeah, Thomas re-submitted v5 but the patches are depending on 
others which are not yet decided to apply for 3.16...maybe it can be 
upstreamed in 3.17?...



  - [PATCH] drm/exynos/fimd: allow multiplatform configuration.

Not tested too extensively, but primary features (boot, display, USB
gadget, cpufreq) seem to work at first glance with the above patches.


Thanks for your test and OK, I'll queue this with multiplatform patches.

- 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 v2] cpufreq: exynos: Fix driver compilation with ARCH_MULTIPLATFORM

2014-05-25 Thread Kukjin Kim

On 05/24/14 00:22, Tomasz Figa wrote:

Currently Exynos cpufreq drivers rely on globally mapped clock
controller registers to configure frequency of CPU cores. This is
obviously wrong and will be removed in near future, but to enable
support for multi-platform builds without introducing a regression it
needs to be worked around.

This patch hacks the code to look for clock controller node in device
tree and map its registers using of_iomap(), instead of relying on
global mapping, so dependencies on platform headers are removed and the
driver can compile again with multiplatform support.

Signed-off-by: Tomasz Figat.f...@samsung.com
---
  drivers/cpufreq/Kconfig.arm  |  6 ++---
  drivers/cpufreq/exynos-cpufreq.c |  2 --
  drivers/cpufreq/exynos-cpufreq.h | 30 -
  drivers/cpufreq/exynos4210-cpufreq.c | 39 +++-
  drivers/cpufreq/exynos4x12-cpufreq.c | 40 -
  drivers/cpufreq/exynos5250-cpufreq.c | 43 +---
  6 files changed, 119 insertions(+), 41 deletions(-)


Viresh,

I'm not sure Thomas' v5 cpufreq-cpu0 driver can be upstreamed for 3.16 
because of dependency with others, some of them got ack though...


* PM / OPP: move cpufreq specific helpers out of OPP layer
- https://www.mail-archive.com/linux-omap@vger.kernel.org/msg104610.html
* cpufreq: opp: Add device tree based lookup of boost mode frequency
- http://www.spinics.net/lists/arm-kernel/msg334336.html

So firstly, I've queued this instead with exynos-multiplatform series...

How do you think?

- Kukjin


diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 6a7dd3e..36d20d0 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -31,7 +31,7 @@ config ARM_EXYNOS_CPUFREQ

  config ARM_EXYNOS4210_CPUFREQ
bool SAMSUNG EXYNOS4210
-   depends on CPU_EXYNOS4210  !ARCH_MULTIPLATFORM
+   depends on CPU_EXYNOS4210
default y
select ARM_EXYNOS_CPUFREQ
help
@@ -42,7 +42,7 @@ config ARM_EXYNOS4210_CPUFREQ

  config ARM_EXYNOS4X12_CPUFREQ
bool SAMSUNG EXYNOS4x12
-   depends on (SOC_EXYNOS4212 || SOC_EXYNOS4412)  !ARCH_MULTIPLATFORM
+   depends on SOC_EXYNOS4212 || SOC_EXYNOS4412
default y
select ARM_EXYNOS_CPUFREQ
help
@@ -53,7 +53,7 @@ config ARM_EXYNOS4X12_CPUFREQ

  config ARM_EXYNOS5250_CPUFREQ
bool SAMSUNG EXYNOS5250
-   depends on SOC_EXYNOS5250  !ARCH_MULTIPLATFORM
+   depends on SOC_EXYNOS5250
default y
select ARM_EXYNOS_CPUFREQ
help
diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c
index 7c2a096..1e0ec57 100644
--- a/drivers/cpufreq/exynos-cpufreq.c
+++ b/drivers/cpufreq/exynos-cpufreq.c
@@ -19,8 +19,6 @@
  #includelinux/platform_device.h
  #includelinux/of.h

-#includeplat/cpu.h
-
  #include exynos-cpufreq.h

  static struct exynos_dvfs_info *exynos_info;
diff --git a/drivers/cpufreq/exynos-cpufreq.h b/drivers/cpufreq/exynos-cpufreq.h
index a28ee9d..8dfebac 100644
--- a/drivers/cpufreq/exynos-cpufreq.h
+++ b/drivers/cpufreq/exynos-cpufreq.h
@@ -50,6 +50,7 @@ struct exynos_dvfs_info {
struct cpufreq_frequency_table  *freq_table;
void (*set_freq)(unsigned int, unsigned int);
bool (*need_apll_change)(unsigned int, unsigned int);
+   void __iomem*cmu_regs;
  };

  #ifdef CONFIG_ARM_EXYNOS4210_CPUFREQ
@@ -77,24 +78,21 @@ static inline int exynos5250_cpufreq_init(struct 
exynos_dvfs_info *info)
  }
  #endif

-#includeplat/cpu.h
-#includemach/map.h
+#define EXYNOS4_CLKSRC_CPU 0x14200
+#define EXYNOS4_CLKMUX_STATCPU 0x14400

-#define EXYNOS4_CLKSRC_CPU (S5P_VA_CMU + 0x14200)
-#define EXYNOS4_CLKMUX_STATCPU (S5P_VA_CMU + 0x14400)
-
-#define EXYNOS4_CLKDIV_CPU (S5P_VA_CMU + 0x14500)
-#define EXYNOS4_CLKDIV_CPU1(S5P_VA_CMU + 0x14504)
-#define EXYNOS4_CLKDIV_STATCPU (S5P_VA_CMU + 0x14600)
-#define EXYNOS4_CLKDIV_STATCPU1(S5P_VA_CMU + 0x14604)
+#define EXYNOS4_CLKDIV_CPU 0x14500
+#define EXYNOS4_CLKDIV_CPU10x14504
+#define EXYNOS4_CLKDIV_STATCPU 0x14600
+#define EXYNOS4_CLKDIV_STATCPU10x14604

  #define EXYNOS4_CLKSRC_CPU_MUXCORE_SHIFT  (16)
  #define EXYNOS4_CLKMUX_STATCPU_MUXCORE_MASK   (0x7  
EXYNOS4_CLKSRC_CPU_MUXCORE_SHIFT)

-#define EXYNOS5_APLL_LOCK  (S5P_VA_CMU + 0x0)
-#define EXYNOS5_APLL_CON0  (S5P_VA_CMU + 0x00100)
-#define EXYNOS5_CLKMUX_STATCPU (S5P_VA_CMU + 0x00400)
-#define EXYNOS5_CLKDIV_CPU0(S5P_VA_CMU + 0x00500)
-#define EXYNOS5_CLKDIV_CPU1(S5P_VA_CMU + 0x00504)
-#define EXYNOS5_CLKDIV_STATCPU0(S5P_VA_CMU + 0x00600)
-#define 

Re: [PATCH v5 0/7] cpufreq: use cpufreq-cpu0 driver for exynos based platforms

2014-05-25 Thread Kukjin Kim

On 05/23/14 23:27, Thomas Abraham wrote:

Changes since v4:
- Various changes in clock code suggested by Tomasz Figat.f...@samsung.com
- This series depends on mutiple other patches
   [a] patch that introduces read-only attribute for clock dividers.
   - 
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259264.html
   [b] the series PM / OPP: move cpufreq specific helpers out of OPP layer
   - https://www.mail-archive.com/linux-omap@vger.kernel.org/msg104610.html
   [c] the series cpufreq: opp: Add device tree based lookup of boost mode 
frequency
   - http://www.spinics.net/lists/arm-kernel/msg334336.html

This series looks good to me after quick loking at but as I replied on 
other thread, I'm not sure above changes are ready for 3.16 or not...


Maybe we can revisit this series for 3.17?...hmm...

- Kukjin


Changes since v3:
- Addressed comments from Tomasz Figat.f...@samsung.com
   [http://www.spinics.net/lists/cpufreq/msg09290.html]
- Rebased to v3.15-rc4

Changes since v2:
- Safe operating voltage is not required while switching APLL frequency
   since the temporary parent's clock is divided down to keep armclk within
   permissible limits. Thanks to Heiko Stuebnerhe...@sntech.de  for
   suggesting this.
- Rob had suggested to use max frequency for each of the divider clock
   outputs instead of divider values. But due to certain SoC specific
   characteristics, the divider values corresponding to the input clock
   frequency for the CMU_CPU clock blocks have to be used.

Changes since v1:
- Removes Exynos4x12 and Exynos5250 cpufreq driver also.
- Device tree based clock configuration lookup as suggested by Lukasz
   Majewski and Tomasz Figa.
- safe operating point binding reworked as suggested by Shawn Guo.

The patch series removes the use of Exynos specific cpufreq driver and enables
the use of cpufreq-cpu0 driver for Exynos4210, Exynos4x12 and Exynos5250 based
platforms. This is being done for few reasons.

(a) The Exynos cpufreq driver reads/writes clock controller registers
 bypassing the Exynos CCF driver which is sort of problematic.
(b) Removes the need for having clock controller register definitions
 in the cpufreq driver and also removes the need for statically
 io-remapping clock controller address space (helps in moving towards
 multiplatform kernel).

Thomas Abraham (7):
   cpufreq: cpufreq-cpu0: allow use of optional boost mode frequencies
   clk: samsung: add infrastructure to register cpu clocks
   Documentation: devicetree: add cpu clock configuration data binding for 
Exynos4/5
   clk: exynos: use cpu-clock provider type to represent arm clock
   ARM: dts: Exynos: add cpu nodes, opp and cpu clock configuration data
   ARM: Exynos: switch to using generic cpufreq-cpu0 driver
   cpufreq: exynos: remove all exynos specific cpufreq driver support

  .../devicetree/bindings/clock/exynos4-clock.txt|   37 ++
  .../devicetree/bindings/clock/exynos5250-clock.txt |   36 ++
  .../devicetree/bindings/cpufreq/cpufreq-cpu0.txt   |2 +
  arch/arm/boot/dts/exynos4210-origen.dts|6 +
  arch/arm/boot/dts/exynos4210-trats.dts |6 +
  arch/arm/boot/dts/exynos4210-universal_c210.dts|6 +
  arch/arm/boot/dts/exynos4210.dtsi  |   35 ++
  arch/arm/boot/dts/exynos4212.dtsi  |   18 +
  arch/arm/boot/dts/exynos4412-odroidx.dts   |6 +
  arch/arm/boot/dts/exynos4412-origen.dts|6 +
  arch/arm/boot/dts/exynos4412-trats2.dts|6 +
  arch/arm/boot/dts/exynos4412.dtsi  |   31 ++
  arch/arm/boot/dts/exynos4x12.dtsi  |   36 ++
  arch/arm/boot/dts/exynos5250-arndale.dts   |6 +
  arch/arm/boot/dts/exynos5250-cros-common.dtsi  |6 +
  arch/arm/boot/dts/exynos5250-smdk5250.dts  |6 +
  arch/arm/boot/dts/exynos5250.dtsi  |   41 ++
  arch/arm/mach-exynos/exynos.c  |4 +-
  drivers/clk/samsung/Makefile   |2 +-
  drivers/clk/samsung/clk-cpu.c  |  448 
  drivers/clk/samsung/clk-exynos4.c  |   25 +-
  drivers/clk/samsung/clk-exynos5250.c   |   16 +-
  drivers/clk/samsung/clk.h  |4 +
  drivers/cpufreq/Kconfig|1 +
  drivers/cpufreq/Kconfig.arm|   52 ---
  drivers/cpufreq/Makefile   |4 -
  drivers/cpufreq/cpufreq-cpu0.c |3 +
  drivers/cpufreq/exynos-cpufreq.c   |  218 --
  drivers/cpufreq/exynos-cpufreq.h   |   99 -
  drivers/cpufreq/exynos4210-cpufreq.c   |  157 ---
  drivers/cpufreq/exynos4x12-cpufreq.c   |  208 -
  drivers/cpufreq/exynos5250-cpufreq.c   |  183 
  include/dt-bindings/clock/exynos5250.h |1 +
  33 files changed, 

Re: [PATCH v5 0/7] cpufreq: use cpufreq-cpu0 driver for exynos based platforms

2014-05-25 Thread Tomasz Figa
Hi Kukjin,

On 26.05.2014 00:50, Kukjin Kim wrote:
 On 05/23/14 23:27, Thomas Abraham wrote:
 Changes since v4:
 - Various changes in clock code suggested by Tomasz
 Figat.f...@samsung.com
 - This series depends on mutiple other patches
[a] patch that introduces read-only attribute for clock dividers.
-
 http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259264.html

[b] the series PM / OPP: move cpufreq specific helpers out of OPP
 layer
-
 https://www.mail-archive.com/linux-omap@vger.kernel.org/msg104610.html
[c] the series cpufreq: opp: Add device tree based lookup of boost
 mode frequency
- http://www.spinics.net/lists/arm-kernel/msg334336.html

 This series looks good to me after quick loking at but as I replied on
 other thread, I'm not sure above changes are ready for 3.16 or not...
 
 Maybe we can revisit this series for 3.17?...hmm...

Also two more issues:

1) DT bindings are not acked by DT maintainers,
2) there are my comments to DT bindings from v4 not addressed.

There are also several comments about the code of v4 not addressed, but
this is not that important, as opposed to DT bindings which are supposed
to be stable ABI.

Still, I don't think this is a big deal anymore, as we can have cpufreq
working with multiplatform with my hack patch and polish the
implementation of this series without any hurry.

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 v5 0/7] cpufreq: use cpufreq-cpu0 driver for exynos based platforms

2014-05-25 Thread Kukjin Kim
Tomasz Figa wrote:
 
 Hi Kukjin,
 
Hi,

 On 26.05.2014 00:50, Kukjin Kim wrote:
  On 05/23/14 23:27, Thomas Abraham wrote:
  Changes since v4:
  - Various changes in clock code suggested by Tomasz
  Figat.f...@samsung.com
  - This series depends on mutiple other patches
 [a] patch that introduces read-only attribute for clock dividers.
 -
  http://lists.infradead.org/pipermail/linux-arm-kernel/2014-
 May/259264.html
 
 [b] the series PM / OPP: move cpufreq specific helpers out of OPP
  layer
 -
  https://www.mail-archive.com/linux-omap@vger.kernel.org/msg104610.html
 [c] the series cpufreq: opp: Add device tree based lookup of boost
  mode frequency
 - http://www.spinics.net/lists/arm-kernel/msg334336.html
 
  This series looks good to me after quick loking at but as I replied on
  other thread, I'm not sure above changes are ready for 3.16 or not...
 
  Maybe we can revisit this series for 3.17?...hmm...
 
 Also two more issues:
 
 1) DT bindings are not acked by DT maintainers,
 2) there are my comments to DT bindings from v4 not addressed.
 
 There are also several comments about the code of v4 not addressed, but
 this is not that important, as opposed to DT bindings which are supposed
 to be stable ABI.
 
 Still, I don't think this is a big deal anymore, as we can have cpufreq
 working with multiplatform with my hack patch and polish the
 implementation of this series without any hurry.
 
Yeah, I'm waiting for Viresh's ack on your v2 exynos-cpufreq changes for
multiplatform...

- 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


[GIT PULL 2nd 2/2] Samsung DT updates for 3.16

2014-05-25 Thread Kukjin Kim
The following changes since commit b5839bd87f197e133a0025c36df286eab6e1d858:

  ARM: dts: Add MFC memory banks to exynos5420 boards (2014-05-20 01:04:13
+0900)

are available in the git repository at:

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

for you to fetch changes up to 3c8977f17796f0b8816a1a283b0b80b71c83d416:

  ARM: dts: enable usb nodes for exynos4412-trats2 (2014-05-23 03:31:33
+0900)


Samsung 2nd DT updates for v3.16

- exynos4
  : add hsotg device, exynos_usbphy nodes
  : add PMU syscon and audio subsystem nodes
  : replace number by macro in clock binding

- exynos4210-universal_c210
 : add external sd card node and multimedia nodes
 : enable USB functionality

- exynos4412-trats2
 : enable usb nodes and usb gagdet functionality
 : add cm36651 light/proximity sensor node
 : fixed gpio key node

- exynos5250 and exynos5420
  : add pmu syscon handle and sysreg system controller nodes
  : add support for usb2phy
  : replace number by macro in clock binding
  : add USB 2.0 support on exynos5420

- exynos5420-peach-pit
  : move dp hpd gpio pin to pinctrl_0


Beomho Seo (5):
  ARM: dts: add cm36651 light/proximity sensor node for
exynos4412-trats2
  ARM: dts: fixed gpio key node for exynos4412-trats2
  ARM: dts: replace number by macro in clock binding for exynos4
  ARM: dts: replace number by macro in clock binding for exynos5250
  ARM: dts: replace number by macro in clock binding for exynos5420

Chanho Park (4):
  ARM: dts: add PMU syscon node for exynos4
  ARM: dts: add exynos_usbphy node for exynos4
  ARM: dts: add hsotg device node for exynos4
  ARM: dts: enable usb nodes for exynos4412-trats2

Kamil Debski (1):
  ARM: dts: Add usb2phy to exynos5250

Marek Szyprowski (3):
  ARM: dts: enable USB functionality for exynos4210-universal_c210
  ARM: dts: add multimedia nodes for exynos4210-universal_c210
  ARM: dts: add external sd card node for exynos4210-universal_c210

Rahul Sharma (3):
  ARM: dts: move dp hpd gpio pin to pinctrl_0 for exynos5420 peach_pit
  ARM: dts: add pmu syscon handle to exynos5250 hdmi
  ARM: dts: add pmu syscon handle to exynos5420 hdmi

Sylwester Nawrocki (1):
  ARM: dts: Add audio subsystem nodes to exynos4.dtsi

Tomasz Figa (1):
  ARM: dts: Enable USB gadget functionality for exynos4210-trats

Vivek Gautam (3):
  ARM: dts: Add sysreg sytem controller node to exynos5250 and
exynos5420
  ARM: dts: Add usb2phy support on exynos5420
  ARM: dts: Add USB 2.0 support on exynos5420

 .../devicetree/bindings/arm/samsung/pmu.txt|3 +
 .../devicetree/bindings/arm/samsung/sysreg.txt |   11 +++-
 arch/arm/boot/dts/exynos4.dtsi |   66
+++-
 arch/arm/boot/dts/exynos4210-trats.dts |   10 +++
 arch/arm/boot/dts/exynos4210-universal_c210.dts|   59 +
 arch/arm/boot/dts/exynos4412-trats2.dts|   54 +---
 arch/arm/boot/dts/exynos4412.dtsi  |4 ++
 arch/arm/boot/dts/exynos4x12.dtsi  |9 +++
 arch/arm/boot/dts/exynos5250.dtsi  |   32 +-
 arch/arm/boot/dts/exynos5420-peach-pit.dts |   14 ++---
 arch/arm/boot/dts/exynos5420.dtsi  |   48 +-
 11 files changed, 289 insertions(+), 21 deletions(-)

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


[GIT PULL 2nd 1/2] Samsung cleanup for 3.16

2014-05-25 Thread Kukjin Kim
Hi Arnd, Olof, Kevin

Here is 2nd Samsung updates for 3.16 and including cleanup and 2nd dt
updates.

When pulling cleanup, merge conflict will be happened like following.

diff --cc arch/arm/mach-exynos/firmware.c
index 4135edb,f6cb510..000
--- a/arch/arm/mach-exynos/firmware.c
+++ b/arch/arm/mach-exynos/firmware.c
@@@ -18,8 -18,6 +18,11 @@@

  #include mach/map.h

++ HEAD
 +#include plat/cpu.h
 +
++===
++ v3.16-next/cleanup-samsung
  #include common.h
  #include smc.h

And its resolution is 'removing inclusion of plat/cpu.h', sorry about
that.

Note that now exynos cpuidle, soc and multiplatform is waiting for cpufreq
related ack...
One more, I re-tagged samsung-cleanup and exynos-cpuidle, so please
ignore previous tags if you fetched samsung tree.

If any problems, please kindly let me know.

Thanks,
Kukjin


The following changes since commit b5783dcaed065ae6622a9795a19a4eda748b64f8:

  Merge branch 'v3.16-next/clk-s3c24xx-3' into v3.16-next/cleanup-samsung
(2014-05-26 04:04:47 +0900)

are available in the git repository at:


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

for you to fetch changes up to be1f7c8d7e2bc8b8c76846aa6f276e8d2ef8975a:

  cpufreq: exynos: Fix the compile error (2014-05-26 04:05:01 +0900)


Samsung cleanup for v3.16

- use a common macro v7_exit_coherency_flush macro instead of local function
- cleanup mach-exynos/Makefile and remove inclusion plat/cpu.h in
mach-exynos
- migrate exynos macros from plat-samsung to mach-exynos
- cleanup s3c24xx debug macro/earlyprintk to remove arch dependency
- fixed compilation error for cpufreq due to moving header in this branch
  : use of_machine_is_compatible() instead of soc_is_exynos...()

Note that based on tags/samsung-clk and tags/samsung-fixes.


Heiko Stuebner (4):
  ARM: compressed/head.S: remove s3c24xx special case
  ARM: S3C24XX: trim down debug uart handling
  ARM: S3C24XX: use generic DEBUG_UART_PHY/_VIRT in debug macro
  ARM: S3C24XX: move debug-macro.S into the common space

Jonghwan Choi (1):
  cpufreq: exynos: Fix the compile error

Leela Krishna Amudala (1):
  ARM: EXYNOS: use v7_exit_coherency_flush macro for cache disabling

Sachin Kamat (4):
  ARM: EXYNOS: Remove duplicate lines in Makefile
  ARM: EXYNOS: Remove exynos_subsys registration
  ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
  ARM: EXYNOS: Remove unnecessary inclusion of cpu.h

 arch/arm/Kconfig.debug   |   54 +++-
 arch/arm/boot/compressed/head.S  |5 --
 arch/arm/include/debug/s3c24xx.S |   46 ++
 arch/arm/mach-exynos/Makefile|7 +-
 arch/arm/mach-exynos/common.h|   72 +++
 arch/arm/mach-exynos/cpuidle.c   |1 -
 arch/arm/mach-exynos/exynos.c|   13 ---
 arch/arm/mach-exynos/firmware.c  |3 +-
 arch/arm/mach-exynos/hotplug.c   |   65 +-
 arch/arm/mach-exynos/platsmp.c   |2 -
 arch/arm/mach-exynos/pm.c|1 -
 arch/arm/mach-exynos/pmu.c   |2 -
 arch/arm/mach-s3c24xx/Kconfig|   28 --
 arch/arm/mach-s3c24xx/include/mach/debug-macro.S |  101
--
 arch/arm/plat-samsung/include/plat/cpu.h |   61 -
 drivers/cpufreq/exynos-cpufreq.c |   19 ++--
 drivers/cpufreq/exynos-cpufreq.h |8 ++
 drivers/cpufreq/exynos4x12-cpufreq.c |   11 +--
 18 files changed, 199 insertions(+), 300 deletions(-)
 create mode 100644 arch/arm/include/debug/s3c24xx.S
 delete mode 100644 arch/arm/mach-s3c24xx/include/mach/debug-macro.S

--
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 v11 2/3] clk: exynos5410: register clocks using common clock framework

2014-05-25 Thread Tarek Dakhran
The EXYNOS5410 clocks are statically listed and registered
using the Samsung specific common clock helper functions.

Signed-off-by: Tarek Dakhran t.dakh...@samsung.com
Signed-off-by: Vyacheslav Tyrtov v.tyr...@samsung.com
---
 .../devicetree/bindings/clock/exynos5410-clock.txt |   45 +
 drivers/clk/samsung/Makefile   |1 +
 drivers/clk/samsung/clk-exynos5410.c   |  209 
 include/dt-bindings/clock/exynos5410.h |   33 
 4 files changed, 288 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/exynos5410-clock.txt
 create mode 100644 drivers/clk/samsung/clk-exynos5410.c
 create mode 100644 include/dt-bindings/clock/exynos5410.h

diff --git a/Documentation/devicetree/bindings/clock/exynos5410-clock.txt 
b/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
new file mode 100644
index 000..aeab635
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
@@ -0,0 +1,45 @@
+* Samsung Exynos5410 Clock Controller
+
+The Exynos5410 clock controller generates and supplies clock to various
+controllers within the Exynos5410 SoC.
+
+Required Properties:
+
+- compatible: should be samsung,exynos5410-clock
+
+- reg: physical base address of the controller and length of memory mapped
+  region.
+
+- #clock-cells: should be 1.
+
+All available clocks are defined as preprocessor macros in
+dt-bindings/clock/exynos5410.h header and can be used in device
+tree sources.
+
+External clock:
+
+There is clock that is generated outside the SoC. It
+is expected that it is defined using standard clock bindings
+with following clock-output-name:
+
+ - fin_pll - PLL input clock from XXTI
+
+Example 1: An example of a clock controller node is listed below.
+
+   clock: clock-controller@0x1001 {
+   compatible = samsung,exynos5410-clock;
+   reg = 0x1001 0x3;
+   #clock-cells = 1;
+   };
+
+Example 2: UART controller node that consumes the clock generated by the clock
+  controller. Refer to the standard clock bindings for information
+  about 'clocks' and 'clock-names' property.
+
+   serial@12C2 {
+   compatible = samsung,exynos4210-uart;
+   reg = 0x12C0 0x100;
+   interrupts = 0 51 0;
+   clocks = clock CLK_UART0, clock CLK_SCLK_UART0;
+   clock-names = uart, clk_uart_baud0;
+   };
diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
index 25646c6..69e8177 100644
--- a/drivers/clk/samsung/Makefile
+++ b/drivers/clk/samsung/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_SOC_EXYNOS3250)+= clk-exynos3250.o
 obj-$(CONFIG_ARCH_EXYNOS4) += clk-exynos4.o
 obj-$(CONFIG_SOC_EXYNOS5250)   += clk-exynos5250.o
 obj-$(CONFIG_SOC_EXYNOS5260)   += clk-exynos5260.o
+obj-$(CONFIG_SOC_EXYNOS5410)   += clk-exynos5410.o
 obj-$(CONFIG_SOC_EXYNOS5420)   += clk-exynos5420.o
 obj-$(CONFIG_SOC_EXYNOS5440)   += clk-exynos5440.o
 obj-$(CONFIG_ARCH_EXYNOS)  += clk-exynos-audss.o
diff --git a/drivers/clk/samsung/clk-exynos5410.c 
b/drivers/clk/samsung/clk-exynos5410.c
new file mode 100644
index 000..c9505ab
--- /dev/null
+++ b/drivers/clk/samsung/clk-exynos5410.c
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ * Author: Tarek Dakhran t.dakh...@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.
+ *
+ * Common Clock Framework support for Exynos5410 SoC.
+*/
+
+#include dt-bindings/clock/exynos5410.h
+
+#include linux/clk.h
+#include linux/clkdev.h
+#include linux/clk-provider.h
+#include linux/of.h
+#include linux/of_address.h
+
+#include clk.h
+
+#define APLL_LOCK   0x0
+#define APLL_CON0   0x100
+#define CPLL_LOCK   0x10020
+#define CPLL_CON0   0x10120
+#define MPLL_LOCK   0x4000
+#define MPLL_CON0   0x4100
+#define BPLL_LOCK   0x20010
+#define BPLL_CON0   0x20110
+#define KPLL_LOCK   0x28000
+#define KPLL_CON0   0x28100
+
+#define SRC_CPU0x200
+#define DIV_CPU0   0x500
+#define SRC_CPERI1 0x4204
+#define DIV_TOP0   0x10510
+#define DIV_TOP1   0x10514
+#define DIV_FSYS1  0x1054c
+#define DIV_FSYS2  0x10550
+#define DIV_PERIC0 0x10558
+#define SRC_TOP0   0x10210
+#define SRC_TOP1   0x10214
+#define SRC_TOP2   0x10218
+#define SRC_FSYS   0x10244
+#define SRC_PERIC0 0x10250
+#define SRC_MASK_FSYS  0x10340
+#define SRC_MASK_PERIC00x10350
+#define GATE_BUS_FSYS0 0x10740
+#define GATE_IP_FSYS   0x10944
+#define GATE_IP_PERIC  0x10950
+#define 

[PATCH v11 3/3] ARM: dts: Add initial device tree support for EXYNOS5410

2014-05-25 Thread Tarek Dakhran
Add initial device tree nodes for EXYNOS5410 SoC and SMDK5410 board.

Signed-off-by: Tarek Dakhran t.dakh...@samsung.com
Signed-off-by: Vyacheslav Tyrtov v.tyr...@samsung.com
Reviewed-by: Tomasz Figa t.f...@samsung.com
---
 arch/arm/boot/dts/Makefile|1 +
 arch/arm/boot/dts/exynos5410-smdk5410.dts |   82 
 arch/arm/boot/dts/exynos5410.dtsi |  206 +
 3 files changed, 289 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos5410-smdk5410.dts
 create mode 100644 arch/arm/boot/dts/exynos5410.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index cd399a2..709f862 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -73,6 +73,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
exynos5250-smdk5250.dtb \
exynos5250-snow.dtb \
exynos5260-xyref5260.dtb \
+   exynos5410-smdk5410.dtb \
exynos5420-arndale-octa.dtb \
exynos5420-peach-pit.dtb \
exynos5420-smdk5420.dtb \
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts 
b/arch/arm/boot/dts/exynos5410-smdk5410.dts
new file mode 100644
index 000..7275bbd
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
@@ -0,0 +1,82 @@
+/*
+ * SAMSUNG SMDK5410 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 exynos5410.dtsi
+/ {
+   model = Samsung SMDK5410 board based on EXYNOS5410;
+   compatible = samsung,smdk5410, samsung,exynos5410, 
samsung,exynos5;
+
+   memory {
+   reg = 0x4000 0x8000;
+   };
+
+   chosen {
+   bootargs = console=ttySAC2,115200;
+   };
+
+   fin_pll: xxti {
+   compatible = fixed-clock;
+   clock-frequency = 2400;
+   clock-output-names = fin_pll;
+   #clock-cells = 0;
+   };
+
+   firmware@02037000 {
+   compatible = samsung,secure-firmware;
+   reg = 0x02037000 0x1000;
+   };
+
+};
+
+mmc_0 {
+   status = okay;
+   num-slots = 1;
+   supports-highspeed;
+   broken-cd;
+   card-detect-delay = 200;
+   samsung,dw-mshc-ciu-div = 3;
+   samsung,dw-mshc-sdr-timing = 2 3;
+   samsung,dw-mshc-ddr-timing = 1 2;
+
+   slot@0 {
+   reg = 0;
+   bus-width = 8;
+   };
+};
+
+mmc_2 {
+   status = okay;
+   num-slots = 1;
+   supports-highspeed;
+   card-detect-delay = 200;
+   samsung,dw-mshc-ciu-div = 3;
+   samsung,dw-mshc-sdr-timing = 2 3;
+   samsung,dw-mshc-ddr-timing = 1 2;
+
+   slot@0 {
+   reg = 0;
+   bus-width = 4;
+   disable-wp;
+   };
+};
+
+uart0 {
+   status = okay;
+};
+
+uart1 {
+   status = okay;
+};
+
+uart2 {
+   status = okay;
+};
diff --git a/arch/arm/boot/dts/exynos5410.dtsi 
b/arch/arm/boot/dts/exynos5410.dtsi
new file mode 100644
index 000..3839c26
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -0,0 +1,206 @@
+/*
+ * SAMSUNG EXYNOS5410 SoC device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * SAMSUNG EXYNOS5410 SoC device nodes are listed in this file.
+ * EXYNOS5410 based board files can include this file and provide
+ * values for board specfic bindings.
+ *
+ * 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 skeleton.dtsi
+#include dt-bindings/clock/exynos5410.h
+
+/ {
+   compatible = samsung,exynos5410, samsung,exynos5;
+   interrupt-parent = gic;
+
+   cpus {
+   #address-cells = 1;
+   #size-cells = 0;
+
+   CPU0: cpu@0 {
+   device_type = cpu;
+   compatible = arm,cortex-a15;
+   reg = 0x0;
+   };
+
+   CPU1: cpu@1 {
+   device_type = cpu;
+   compatible = arm,cortex-a15;
+   reg = 0x1;
+   };
+
+   CPU2: cpu@2 {
+   device_type = cpu;
+   compatible = arm,cortex-a15;
+   reg = 0x2;
+   };
+
+   CPU3: cpu@3 {
+   device_type = cpu;
+   compatible = arm,cortex-a15;
+   reg = 0x3;
+   };
+   };
+
+   soc: soc {
+   compatible = simple-bus;
+   #address-cells = 1;
+   #size-cells = 1;
+   

[PATCH v11 1/3] ARM: EXYNOS: Add support for EXYNOS5410 SoC

2014-05-25 Thread Tarek Dakhran
EXYNOS5410 is SoC in Samsung's Exynos5 SoC series.
Add initial support for this SoC.

Signed-off-by: Tarek Dakhran t.dakh...@samsung.com
Signed-off-by: Vyacheslav Tyrtov v.tyr...@samsung.com
---
 arch/arm/mach-exynos/Kconfig  |5 +
 arch/arm/mach-exynos/common.h |   12 ++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 15fa610..d58995c9 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -88,6 +88,11 @@ config SOC_EXYNOS5260
default y
depends on ARCH_EXYNOS5
 
+config SOC_EXYNOS5410
+   bool SAMSUNG EXYNOS5410
+   default y
+   depends on ARCH_EXYNOS5
+
 config SOC_EXYNOS5420
bool SAMSUNG EXYNOS5420
default y
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
index 9eb6258..80b90e3 100644
--- a/arch/arm/mach-exynos/common.h
+++ b/arch/arm/mach-exynos/common.h
@@ -24,6 +24,7 @@
 #define EXYNOS4_CPU_MASK   0xFFFE
 
 #define EXYNOS5250_SOC_ID  0x4352
+#define EXYNOS5410_SOC_ID  0xE541
 #define EXYNOS5420_SOC_ID  0xE542
 #define EXYNOS5440_SOC_ID  0xE544
 #define EXYNOS5800_SOC_ID  0xE5422000
@@ -42,6 +43,7 @@ IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, 
EXYNOS4_CPU_MASK)
 IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK)
 IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK)
 IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
+IS_SAMSUNG_CPU(exynos5410, EXYNOS5410_SOC_ID, EXYNOS5_SOC_MASK)
 IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
 IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
 IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK)
@@ -80,6 +82,12 @@ IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, 
EXYNOS5_SOC_MASK)
 # define soc_is_exynos5250()   0
 #endif
 
+#if defined(CONFIG_SOC_EXYNOS5410)
+# define soc_is_exynos5410()   is_samsung_exynos5410()
+#else
+# define soc_is_exynos5410()   0
+#endif
+
 #if defined(CONFIG_SOC_EXYNOS5420)
 # define soc_is_exynos5420()   is_samsung_exynos5420()
 #else
@@ -100,8 +108,8 @@ IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, 
EXYNOS5_SOC_MASK)
 
 #define soc_is_exynos4() (soc_is_exynos4210() || soc_is_exynos4212() || \
  soc_is_exynos4412())
-#define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5420() || \
- soc_is_exynos5800())
+#define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5410() || \
+ soc_is_exynos5420() || soc_is_exynos5800())
 
 void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
 
-- 
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 v11 0/3] Exynos 5410 support

2014-05-25 Thread Tarek Dakhran
The series of patches represent support of Exynos 5410 SoC

The Exynos 5410 is the first Samsung SoC based on big.LITTLE architecture

Patches add new platform description, support of clock controller and device
tree for Exynos 5410.

Has been build on Samsung Linux Kernel
  (branch: for-next, commit: 97eae6c Merge branch 'v3.16-next/multiplatform' 
into for-next)

Has been tested on: 1) Exynos 5410 reference board (exynos_defconfig)
2) Exynos 5410 reference board (multi_v7_defconfig)
3) Odroid-XU board (exynos_defconfig)
4) Odroid-XU board (multi_v7_defconfig)

I hope this is clean and would be applied.

Tarek.

Tarek Dakhran (3):
  ARM: EXYNOS: Add support for EXYNOS5410 SoC
  clk: exynos5410: register clocks using common clock framework
  ARM: dts: Add initial device tree support for EXYNOS5410

 .../devicetree/bindings/clock/exynos5410-clock.txt |   45 +
 arch/arm/boot/dts/Makefile |1 +
 arch/arm/boot/dts/exynos5410-smdk5410.dts  |   82 
 arch/arm/boot/dts/exynos5410.dtsi  |  206 +++
 arch/arm/mach-exynos/Kconfig   |5 +
 arch/arm/mach-exynos/common.h  |   12 +-
 drivers/clk/samsung/Makefile   |1 +
 drivers/clk/samsung/clk-exynos5410.c   |  209 
 include/dt-bindings/clock/exynos5410.h |   33 
 9 files changed, 592 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/exynos5410-clock.txt
 create mode 100644 arch/arm/boot/dts/exynos5410-smdk5410.dts
 create mode 100644 arch/arm/boot/dts/exynos5410.dtsi
 create mode 100644 drivers/clk/samsung/clk-exynos5410.c
 create mode 100644 include/dt-bindings/clock/exynos5410.h

-- 
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 1/5] ARM: dts: Enable RTC node on Origen boards

2014-05-25 Thread Sachin Kamat
On 23 May 2014 11:38, Sachin Kamat sachin.ka...@linaro.org wrote:
 Enabled RTC node on Origen 4210 and 4412 boards.

 Signed-off-by: Sachin Kamat sachin.ka...@linaro.org
 ---
  arch/arm/boot/dts/exynos4210-origen.dts |4 
  arch/arm/boot/dts/exynos4412-origen.dts |4 
  2 files changed, 8 insertions(+)

 diff --git a/arch/arm/boot/dts/exynos4210-origen.dts 
 b/arch/arm/boot/dts/exynos4210-origen.dts
 index 72fb11f7ea21..95efb1189cf0 100644
 --- a/arch/arm/boot/dts/exynos4210-origen.dts
 +++ b/arch/arm/boot/dts/exynos4210-origen.dts
 @@ -48,6 +48,10 @@
 };
 };

 +   rtc@1007 {
 +   status = okay;
 +   };
 +
 tmu@100C {
 status = okay;
 };
 diff --git a/arch/arm/boot/dts/exynos4412-origen.dts 
 b/arch/arm/boot/dts/exynos4412-origen.dts
 index e2c0dcab4d81..934fe7ecca7e 100644
 --- a/arch/arm/boot/dts/exynos4412-origen.dts
 +++ b/arch/arm/boot/dts/exynos4412-origen.dts
 @@ -48,6 +48,10 @@
 };
 };

 +   rtc@1007 {
 +   status = okay;
 +   };
 +
 pinctrl@1100 {
 keypad_rows: keypad-rows {
 samsung,pins = gpx2-0, gpx2-1, gpx2-2;
 --
 1.7.9.5


Kukjin,

The patches in this series are really simple and do not want them to
wait for another
cycle. Please review and send them with your next pull request for
3.16. Also please
look at the 2 patches related to secondary cpu boot sent by Tushar.

-- 
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 1/1] clk: exynos5420: Staticize local variables

2014-05-25 Thread Sachin Kamat
On 21 May 2014 17:28, Sachin Kamat sachin.ka...@linaro.org wrote:
 Local symbols are made static.

 Signed-off-by: Sachin Kamat sachin.ka...@linaro.org
 ---
  drivers/clk/samsung/clk-exynos5420.c |   10 +-
  1 file changed, 5 insertions(+), 5 deletions(-)

 diff --git a/drivers/clk/samsung/clk-exynos5420.c 
 b/drivers/clk/samsung/clk-exynos5420.c
 index 9d7d7eed03fd..41b507baf5d6 100644
 --- a/drivers/clk/samsung/clk-exynos5420.c
 +++ b/drivers/clk/samsung/clk-exynos5420.c
 @@ -474,7 +474,7 @@ static struct samsung_fixed_factor_clock
 FFACTOR(0, ff_dout_spll2, mout_sclk_spll, 1, 2, 0),
  };

 -struct samsung_mux_clock exynos5800_mux_clks[] __initdata = {
 +static struct samsung_mux_clock exynos5800_mux_clks[] __initdata = {
 MUX(0, mout_aclk400_isp, mout_group3_5800_p, SRC_TOP0, 0, 3),
 MUX(0, mout_aclk400_mscl, mout_group3_5800_p, SRC_TOP0, 4, 3),
 MUX(0, mout_aclk400_wcore, mout_group2_5800_p, SRC_TOP0, 16, 3),
 @@ -523,7 +523,7 @@ struct samsung_mux_clock exynos5800_mux_clks[] __initdata 
 = {
 MUX(0, mout_fimd1, mout_group2_p, SRC_DISP10, 4, 3),
  };

 -struct samsung_div_clock exynos5800_div_clks[] __initdata = {
 +static struct samsung_div_clock exynos5800_div_clks[] __initdata = {
 DIV(0, dout_aclk400_wcore, mout_aclk400_wcore, DIV_TOP0, 16, 3),

 DIV(0, dout_aclk550_cam, mout_aclk550_cam,
 @@ -539,14 +539,14 @@ struct samsung_div_clock exynos5800_div_clks[] 
 __initdata = {
 DIV(0, dout_sclk_sw, sclk_spll, DIV_TOP9, 24, 6),
  };

 -struct samsung_gate_clock exynos5800_gate_clks[] __initdata = {
 +static struct samsung_gate_clock exynos5800_gate_clks[] __initdata = {
 GATE(CLK_ACLK550_CAM, aclk550_cam, mout_user_aclk550_cam,
 GATE_BUS_TOP, 24, 0, 0),
 GATE(CLK_ACLK432_SCALER, aclk432_scaler, mout_user_aclk432_scaler,
 GATE_BUS_TOP, 27, 0, 0),
  };

 -struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
 +static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
 MUX(0, sclk_bpll, mout_bpll_p, TOP_SPARE2, 0, 1),
 MUX(0, mout_aclk400_wcore_bpll, mout_aclk400_wcore_bpll_p,
 TOP_SPARE2, 4, 1),
 @@ -576,7 +576,7 @@ struct samsung_mux_clock exynos5420_mux_clks[] __initdata 
 = {
 MUX(0, mout_fimd1, mout_group3_p, SRC_DISP10, 4, 1),
  };

 -struct samsung_div_clock exynos5420_div_clks[] __initdata = {
 +static struct samsung_div_clock exynos5420_div_clks[] __initdata = {
 DIV(0, dout_aclk400_wcore, mout_aclk400_wcore_bpll,
 DIV_TOP0, 16, 3),
  };
 --
 1.7.9.5


Gentle ping, Tomasz :)

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


[GIT PULL 3rd 0/3] Samsung updates for 3.16

2014-05-25 Thread Kukjin Kim
Hi Arnd, Olof and Kevin,

Here is 3rd Samsung pull-request for 3.16

Actually this series is depending on multiplatform and as you know it it
alreay ready, honestly almost but it should be fine for 3.16 soon.

Note, please see the resolution for tags/exynos-cpuidle in the [GIT PULL 3rd
1/3] Samsung Exynos cpuidle updates for 3.16.

One more, maybe you need to pull following for samsung updates for 3.16,
once exynos-multiplatform is ready to pull ;-)

From 1st pull-request:
- tags/samsung-clk ([GIT PULL 2/5] Samsung clock updates for 3.16)
- tags/exynos-mcpm ([GIT PULL 5/5] Samsung Exynos MCPM support for 3.16)

From 2nd pull-request:
- (nothing)

From this:
- tags/cpuidle-exynos
- tags/exynos-soc
- tags/samsung-clk-2


If any problems, please kindly let me know.

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


[GIT PULL 3rd 2/3] Samsung Exynos SoC updates for 3.16

2014-05-25 Thread Kukjin Kim
The following changes since commit be1f7c8d7e2bc8b8c76846aa6f276e8d2ef8975a:

  cpufreq: exynos: Fix the compile error (2014-05-26 04:05:01 +0900)

are available in the git repository at:

  http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/exynos-soc

for you to fetch changes up to 455ae9aba2f05e77eaf1073b78e887b06f93a4fd:

  ARM: dts: Add device tree sources for exynos3250 (2014-05-26 05:32:02
+0900)


Exynos new SoCs support for v3.16

- add support for exynos5260 SoC and exynos5260-xyref5260 board
- add support for exynos5800 SoC and exynos5800-peach-pi board
- add support for exynos3250 SoC

Note that this branch is on top of tags/samsung-cleanup.


Arun Kumar K (4):
  ARM: EXYNOS: Add 5800 SoC support
  ARM: dts: Add exynos5800 dt file
  ARM: dts: Add exynos5800-peach-pi board support
  ARM: dts: Add mfc node for exynos5800

Chanwoo Choi (2):
  ARM: EXYNOS: Add Exynos3250 SoC ID
  ARM: EXYNOS: Support secondary CPU boot of Exynos3250

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

Rahul Sharma (5):
  ARM: dts: add dts files for exynos5260 SoC
  ARM: dts: add dts files for exynos5260-xyref5260 board
  ARM: dts: enable hdmi for exynos5800-peach-pi board
  ARM: dts: enable display controller for exynos5800-peach-pi board
  ARM: dts: enable fimd for exynos5800-peach-pi board

Tomasz Figa (1):
  ARM: dts: Add device tree sources for exynos3250

Vivek Gautam (1):
  ARM: dts: Add Vbus regulator for USB 3.0 on exynos5800-peach-pi

 arch/arm/boot/dts/Makefile |4 +-
 arch/arm/boot/dts/exynos3250-pinctrl.dtsi  |  475 +++
 arch/arm/boot/dts/exynos3250.dtsi  |  439 +
 arch/arm/boot/dts/exynos5260-pinctrl.dtsi  |  574

 arch/arm/boot/dts/exynos5260-xyref5260.dts |  103 +
 arch/arm/boot/dts/exynos5260.dtsi  |  304 +++
 arch/arm/boot/dts/exynos5800-peach-pi.dts  |  253 
 arch/arm/boot/dts/exynos5800.dtsi  |   28 ++
 arch/arm/mach-exynos/Kconfig   |   32 ++
 arch/arm/mach-exynos/common.h  |   21 +-
 arch/arm/mach-exynos/exynos.c  |3 +
 arch/arm/mach-exynos/firmware.c|9 +-
 arch/arm/mach-exynos/platsmp.c |2 +-
 13 files changed, 2243 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/boot/dts/exynos3250-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/exynos3250.dtsi
 create mode 100644 arch/arm/boot/dts/exynos5260-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/exynos5260-xyref5260.dts
 create mode 100644 arch/arm/boot/dts/exynos5260.dtsi
 create mode 100644 arch/arm/boot/dts/exynos5800-peach-pi.dts
 create mode 100644 arch/arm/boot/dts/exynos5800.dtsi

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


[GIT PULL 3rd 3/3] Samsung clk-2 updates for 3.16

2014-05-25 Thread Kukjin Kim
The following changes since commit 6520e968eef4f88c076a84a80e026049d157132e:

  clk: exynos5420: Add 5800 specific clocks (2014-05-19 22:15:08 +0900)

are available in the git repository at:

  http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/samsung-clk-2

for you to fetch changes up to bfed1074f213051e94648bfad0d0611a16d81366:

  clk: exynos5250: Add missing sysmmu clocks for DISP and ISP blocks
(2014-05-26 06:48:10 +0900)


Samsung 2nd clock updates for 3.16  

- Add missing sysmmu clocks for DISP and ISP blocks for exynos5250


Cho KyongHo (1):
  clk: exynos5250: Add missing sysmmu clocks for DISP and ISP blocks

 drivers/clk/samsung/clk-exynos5250.c   |   35

 include/dt-bindings/clock/exynos5250.h |   16 +++
 2 files changed, 51 insertions(+)

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


[GIT PULL 3rd 1/3] Samsung Exynos cpuidle updates for 3.16

2014-05-25 Thread Kukjin Kim
Note: merge conflict will be happened when pulling this for
arch/arm/mach-exynos/cpuidle.
You may just fixup with 'git rm arch/arm/mach-exynos/cpuidle.', it is due to
'removing inclusion of plat/cpu.h' before moving cpuidle driver into
drivers/cpuidle...

- Kukjin

The following changes since commit 985326c9f65a4c1a3b5ab875e6ce0c97c39449ec:

  Merge branch 'v3.16-next/clk-samsung' into v3.16-next/cpuidle-exynos
(2014-05-26 05:20:25 +0900)

are available in the git repository at:


  http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/exynos-cpuidle

for you to fetch changes up to cd245f59aae5d6ef265f46aa6cea78354d61b629:

  ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos (2014-05-26
05:21:47 +0900)


Samsung exynos-cpuidle updates for v3.16

- From Daniel Lezcano:
 This patchset relies on the cpm_pm notifier to initiate the
 powerdown sequence operations from pm.c instead cpuidle.c.
 Thus the cpuidle driver is no longer dependent from arch
 specific code as everything is called from the pm.c file.

Note, this is based on tags/exnos-mcpm and tags/samsung-clk


Amit Daniel Kachhap (1):
  ARM: EXYNOS: Move arm core power down clock to exynos5250 common clock

Daniel Lezcano (20):
  ARM: EXYNOS: Prevent forward declaration for cpuidle
  ARM: EXYNOS: Use cpuidle_register
  ARM: EXYNOS: Change function name prefix for cpuidle
  ARM: EXYNOS: Encapsulate register access inside a function for pm
  ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle
  ARM: EXYNOS: Fix S5P_WAKEUP_STAT call for cpuidle
  ARM: EXYNOS: Use the cpu_pm notifier for pm
  ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
  ARM: EXYNOS: Remove ifdef for scu_enable in pm
  ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
  ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
  ARM: EXYNOS: Disable cpuidle for exynos5440
  ARM: EXYNOS: Encapsulate the AFTR code into a function
  ARM: EXYNOS: Move the AFTR state function into pm.c
  ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
  ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
  ARM: EXYNOS: Pass the AFTR callback to the platform_data
  ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
  ARM: EXYNOS: Move the driver to drivers/cpuidle directory
  ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos

 arch/arm/mach-exynos/Makefile|1 -
 arch/arm/mach-exynos/common.h|2 +
 arch/arm/mach-exynos/cpuidle.c   |  256
--
 arch/arm/mach-exynos/exynos.c|8 +-
 arch/arm/mach-exynos/platsmp.c   |2 +-
 arch/arm/mach-exynos/pm.c|  152 
 arch/arm/mach-exynos/regs-pmu.h  |2 -
 drivers/clk/samsung/clk-exynos5250.c |   42 ++
 drivers/cpuidle/Kconfig.arm  |6 +
 drivers/cpuidle/Makefile |1 +
 drivers/cpuidle/cpuidle-exynos.c |   99 +
 11 files changed, 280 insertions(+), 291 deletions(-)
 delete mode 100644 arch/arm/mach-exynos/cpuidle.c
 create mode 100644 drivers/cpuidle/cpuidle-exynos.c

--
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 1/1] clk/exynos4: Fix compilation warning

2014-05-25 Thread Sachin Kamat
Fixes the following warning:
WARNING: drivers/built-in.o(.text.unlikely+0x2c50): Section mismatch in 
reference from the function exynos4_clk_sleep_init() to the (unknown reference) 
.init.data:(unknown)
   The function exynos4_clk_sleep_init() references
   the (unknown reference) __initdata (unknown).
   This is often because exynos4_clk_sleep_init lacks a __initdata
   annotation or the annotation of (unknown) is wrong.

Signed-off-by: Sachin Kamat sachin.ka...@linaro.org
Reported-by: kbuild test robot fengguang...@intel.com
---
 drivers/clk/samsung/clk-exynos4.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/samsung/clk-exynos4.c 
b/drivers/clk/samsung/clk-exynos4.c
index c4df294bb7fb..4f150c9dd38c 100644
--- a/drivers/clk/samsung/clk-exynos4.c
+++ b/drivers/clk/samsung/clk-exynos4.c
@@ -324,7 +324,7 @@ static struct syscore_ops exynos4_clk_syscore_ops = {
.resume = exynos4_clk_resume,
 };
 
-static void exynos4_clk_sleep_init(void)
+static void __init exynos4_clk_sleep_init(void)
 {
exynos4_save_common = samsung_clk_alloc_reg_dump(exynos4_clk_regs,
ARRAY_SIZE(exynos4_clk_regs));
@@ -359,7 +359,7 @@ err_warn:
__func__);
 }
 #else
-static void exynos4_clk_sleep_init(void) {}
+static void __init exynos4_clk_sleep_init(void) {}
 #endif
 
 /* list of all parent clock list */
-- 
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/6] add cpuidle support for Exynos5420

2014-05-25 Thread Chander Kashyap
On 19 May 2014 11:10, Chander Kashyap chander.kash...@linaro.org wrote:
 Hi Daniel/Kgene,

 On 16 May 2014 13:33, Chander Kashyap chander.kash...@linaro.org wrote:
 Exynos5420 is a big-little Soc from Samsung. It has 4 A15 and 4 A7 cores.

 This patchset adds cpuidle support for Exynos5420 SoC based on
 generic big.little cpuidle driver.

 Tested on SMDK5420.

 This patch set depends on:
 1. [PATCH 0/5] MCPM backend for Exynos5420
http://www.spinics.net/lists/arm-kernel/msg331100.html
 Changelog is in respective patches.
 Chander Kashyap (5):
   driver: cpuidle-big-little: add of_device_id structure
   arm: exynos: add generic function to calculate cpu number
   cpuidle: config: Add ARCH_EXYNOS entry to select cpuidle-big-little
 driver
   driver: cpuidle: cpuidle-big-little: init driver for Exynos5420
   exynos: cpuidle: do not allow cpuidle registration for Exynos5420
   mcpm: exynos: populate suspend and powered_up callbacks

  arch/arm/mach-exynos/exynos.c|4 +++-
  arch/arm/mach-exynos/mcpm-exynos.c   |   36 
 ++
  arch/arm/mach-exynos/regs-pmu.h  |9 +
  drivers/cpuidle/Kconfig.arm  |2 +-
  drivers/cpuidle/cpuidle-big_little.c |   12 +++-
  5 files changed, 60 insertions(+), 3 deletions(-)

 --
 1.7.9.5


 As dependency patches are merged. If their are no further comment, can
 these patches be taken?


ping

 --
 with warm regards,
 Chander Kashyap



-- 
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 v2] cpufreq: exynos: Fix driver compilation with ARCH_MULTIPLATFORM

2014-05-25 Thread Viresh Kumar
On 23 May 2014 20:52, Tomasz Figa t.f...@samsung.com wrote:
 Currently Exynos cpufreq drivers rely on globally mapped clock
 controller registers to configure frequency of CPU cores. This is
 obviously wrong and will be removed in near future, but to enable
 support for multi-platform builds without introducing a regression it
 needs to be worked around.

 This patch hacks the code to look for clock controller node in device
 tree and map its registers using of_iomap(), instead of relying on
 global mapping, so dependencies on platform headers are removed and the
 driver can compile again with multiplatform support.

 Signed-off-by: Tomasz Figa t.f...@samsung.com
 ---
  drivers/cpufreq/Kconfig.arm  |  6 ++---
  drivers/cpufreq/exynos-cpufreq.c |  2 --
  drivers/cpufreq/exynos-cpufreq.h | 30 -
  drivers/cpufreq/exynos4210-cpufreq.c | 39 +++-
  drivers/cpufreq/exynos4x12-cpufreq.c | 40 -
  drivers/cpufreq/exynos5250-cpufreq.c | 43 
 +---
  6 files changed, 119 insertions(+), 41 deletions(-)

Looks fine..

Acked-by: Viresh Kumar viresh.ku...@linaro.org
--
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] drm/exynos: Make exynos_drm_init() call late during the bootup

2014-05-25 Thread Naveen Krishna Ch
Hello Everyone,

On 21 May 2014 21:16, Thierry Reding thierry.red...@gmail.com wrote:
 On Wed, May 14, 2014 at 05:09:45PM +0530, Naveen Krishna Chatradhi wrote:
 exynos_drm_init() does probing of various drivers like dp_panel,
 hdmi, fimd, mixer, etc in an order and finally binds them together.

 Some of the drm devices (Eg: dp_panel) try to do regulator_get()
 and enable few supplies during their probe.
 Chances are that, these devices may get probed before the respective
 supply/PMIC is hooked.  In such cases, dp_panel would continue with
 dummy regulator. Which is not what the system wants.

 Lets give the core connectivity and regulators modules some time
 to hookup the supplies before Exynos DRM devices comes into picture.

 Signed-off-by: Naveen Krishna Chatradhi ch.nav...@samsung.com
 ---
 This change is proposed after
 1. Discussing with I2C/SPI  DMA subsystem maintainers and Others
@ https://lkml.org/lkml/2014/5/9/333
Trying to change the I2C, SPI and DMA drivers as subsys_initcall()
Which was strictly opposed, as a flaw was found in DRM subsystem.

 2. -EPROBE_DEFER won't work well with the current sequency of
 platform_driver_register()s in exynos_drm_init()

 Then this is the problem that you need to fix. If the driver doesn't
 handle -EPROBE_DEFER properly then that means the driver is broken. No
 amount of initcall ordering can fix this for you.

We seem to have a problem with the probe sequencing and usage of _EPROBE_DEFER
in DRM.  Component way of registration doesnt seem to fix everything.

Inki Dae,
Is there any discussion or approach underway.
Anyone working on this.

 Thierry



-- 
Shine bright,
(: Nav :)
--
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] cpufreq: exynos: Fix driver compilation with ARCH_MULTIPLATFORM

2014-05-25 Thread Viresh Kumar
On 26 May 2014 03:11, Kukjin Kim kgene@samsung.com wrote:
 I'm not sure Thomas' v5 cpufreq-cpu0 driver can be upstreamed for 3.16
 because of dependency with others, some of them got ack though...

 * PM / OPP: move cpufreq specific helpers out of OPP layer
 - https://www.mail-archive.com/linux-omap@vger.kernel.org/msg104610.html

This is already lying in Rafael's tree.

 * cpufreq: opp: Add device tree based lookup of boost mode frequency
 - http://www.spinics.net/lists/arm-kernel/msg334336.html

 So firstly, I've queued this instead with exynos-multiplatform series...

 How do you think?

Looks fine to me. Thanks.
--
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: exynos: Enable mcpm for dual-cluster 5800 SoC

2014-05-25 Thread Abhilash Kesavan
5800 is very similar to 5420. We can re-use the existing
MCPM support for 5800 for secondary boot-up and switching.

Signed-off-by: Abhilash Kesavan a.kesa...@samsung.com
---
 arch/arm/mach-exynos/mcpm-exynos.c |8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/mcpm-exynos.c 
b/arch/arm/mach-exynos/mcpm-exynos.c
index 1ac618c..20707bd 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -290,13 +290,19 @@ static void __naked exynos_pm_power_up_setup(unsigned int 
affinity_level)
b  cci_enable_port_for_self);
 }
 
+static const struct of_device_id exynos_dt_mcpm_match[] = {
+   { .compatible = samsung,exynos5420 },
+   { .compatible = samsung,exynos5800 },
+   {},
+};
+
 static int __init exynos_mcpm_init(void)
 {
struct device_node *node;
void __iomem *ns_sram_base_addr;
int ret;
 
-   node = of_find_compatible_node(NULL, NULL, samsung,exynos5420);
+   node = of_find_matching_node(NULL, exynos_dt_mcpm_match);
if (!node)
return -ENODEV;
of_node_put(node);
-- 
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] arm: exynos: Fix allmodconfig build errors in mcpm and hotplug

2014-05-25 Thread Abhilash Kesavan
This fixes the following build errors:

/tmp/ccRbZlaA.s: Assembler messages:
/tmp/ccRbZlaA.s:69: Error: selected processor does not support ARM mode `isb '
/tmp/ccRbZlaA.s:75: Error: selected processor does not support ARM mode `isb '
/tmp/ccRbZlaA.s:76: Error: selected processor does not support ARM mode `dsb '
make[1]: *** [arch/arm/mach-exynos/hotplug.o] Error 1

/tmp/ccJEg4jw.s: Assembler messages:
/tmp/ccJEg4jw.s:454: Error: selected processor does not support ARM mode `isb'
/tmp/ccJEg4jw.s:455: Error: selected processor does not support ARM mode `dsb'
/tmp/ccJEg4jw.s:465: Error: selected processor does not support ARM mode `isb'
/tmp/ccJEg4jw.s:474: Error: selected processor does not support ARM mode `isb'
/tmp/ccJEg4jw.s:475: Error: selected processor does not support ARM mode `dsb'
/tmp/ccJEg4jw.s:516: Error: selected processor does not support ARM mode `isb'
/tmp/ccJEg4jw.s:525: Error: selected processor does not support ARM mode `isb'
/tmp/ccJEg4jw.s:526: Error: selected processor does not support ARM mode `dsb'
make[1]: *** [arch/arm/mach-exynos/mcpm-exynos.o] Error 1

Reported-by: Sachin Kamat sachin.ka...@linaro.org
Signed-off-by: Abhilash Kesavan a.kesa...@samsung.com
---
 arch/arm/mach-exynos/Makefile |2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
index 6f36086..788f26d 100644
--- a/arch/arm/mach-exynos/Makefile
+++ b/arch/arm/mach-exynos/Makefile
@@ -22,8 +22,10 @@ obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o
 obj-$(CONFIG_SMP)  += platsmp.o headsmp.o
 
 obj-$(CONFIG_HOTPLUG_CPU)  += hotplug.o
+CFLAGS_hotplug.o   += -march=armv7-a
 
 plus_sec := $(call as-instr,.arch_extension sec,+sec)
 AFLAGS_exynos-smc.o:=-Wa,-march=armv7-a$(plus_sec)
 
 obj-$(CONFIG_EXYNOS5420_MCPM)  += mcpm-exynos.o
+CFLAGS_mcpm-exynos.o   += -march=armv7-a
-- 
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 v4 1/2] cpufreq / OPP: Allow boost frequency to be looked up from device tree

2014-05-25 Thread Viresh Kumar
On 23 May 2014 19:07, Thomas Abraham thomas...@samsung.com wrote:
 From: Thomas Abraham thomas...@samsung.com

 Commit 6f19efc0 (cpufreq: Add boost frequency support in core) adds
 support for CPU boost mode. This patch adds support for finding available
 boost frequencies from device tree and marking them as usable in boost mode.

 Cc: Nishanth Menon n...@ti.com
 Cc: Lukasz Majewski l.majew...@samsung.com
 Signed-off-by: Thomas Abraham thomas...@samsung.com
 ---
  drivers/cpufreq/cpufreq_opp.c |   44 
 +
  1 file changed, 44 insertions(+)

 diff --git a/drivers/cpufreq/cpufreq_opp.c b/drivers/cpufreq/cpufreq_opp.c
 index c0c6f4a..2b3905b 100644
 --- a/drivers/cpufreq/cpufreq_opp.c
 +++ b/drivers/cpufreq/cpufreq_opp.c
 @@ -19,6 +19,7 @@
  #include linux/pm_opp.h
  #include linux/rcupdate.h
  #include linux/slab.h
 +#include linux/of.h

  /**
   * dev_pm_opp_init_cpufreq_table() - create a cpufreq table for a device
 @@ -51,6 +52,10 @@ int dev_pm_opp_init_cpufreq_table(struct device *dev,
 struct cpufreq_frequency_table *freq_table = NULL;
 int i, max_opps, ret = 0;
 unsigned long rate;
 +#ifdef CONFIG_CPU_FREQ_BOOST_SW
 +   int j, len;
 +   u32 *boost_freqs = NULL;
 +#endif

 rcu_read_lock();

 @@ -82,6 +87,45 @@ int dev_pm_opp_init_cpufreq_table(struct device *dev,

 *table = freq_table[0];

 +#ifdef CONFIG_CPU_FREQ_BOOST_SW
 +   if (of_find_property(dev-of_node, boost-frequencies, len)) {

Maybe:
if(!of_find_property(...))
goto out;

To get rid of extra indentation levels below..

 +   struct cpufreq_frequency_table *ft;

Declare at the top with boost_freqs, etc..

 +   if (len == 0 || (len  (sizeof(u32) - 1)) != 0) {

s/len == 0/!len

And use IS_ALIGNED() instead of the right hand side of ||

 +   dev_err(dev, %s: invalid boost frequency\n, 
 __func__);
 +   ret = -EINVAL;
 +   goto out;
 +   }
 +
 +   boost_freqs = kzalloc(len, GFP_KERNEL);

Can we do a devm_kzalloc instead? And why not kmalloc BTW ?

 +   if (!boost_freqs) {
 +   dev_warn(dev, %s: no memory for boost freq table\n,

dev_err ?

 +   __func__);
 +   ret = -ENOMEM;
 +   goto out;
 +   }
 +   of_property_read_u32_array(dev-of_node, boost-frequencies,
 +   boost_freqs, len / sizeof(u32));


Create int count = len / sizeof(u32) instead.. You have used this
multiple times.

 +   for (j = 0; j  len / sizeof(u32); j++) {
 +   ft = *table;
 +   for (i = 0; ft-frequency != CPUFREQ_TABLE_END; i++) {

See if new macros can be used here instead. cpufreq_for_each_valid_entry().

 +   if (boost_freqs[j] == ft-frequency) {
 +   ft-flags |= CPUFREQ_BOOST_FREQ;
 +   break;
 +   }
 +   ft++;
 +   }
 +
 +   if (ft-frequency == CPUFREQ_TABLE_END)
 +   pr_err(%s: invalid boost frequency %d\n,
 +   __func__, boost_freqs[j]);

Maybe a pr_debug on the else part as well ? With boost freqs ..

 +   }
 +   }
 +
 +   kfree(boost_freqs);
 +#endif
 +
  out:
 rcu_read_unlock();
 if (ret)
 --
 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