[PATCHv2 1/2] ARM: dts: exynos5420: add nodes for jpeg codec

2015-03-06 Thread Andrzej Pietrasiewicz
Signed-off-by: Andrzej Pietrasiewicz andrze...@samsung.com
---
 arch/arm/boot/dts/exynos5420.dtsi | 16 
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index 73c1851..f8f583c 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -775,6 +775,22 @@
iommus = sysmmu_gscl1;
};
 
+   jpeg_0: jpeg@11F5 {
+   compatible = samsung,exynos5420-jpeg;
+   reg = 0x11F5 0x1000;
+   interrupts = 0 89 0;
+   clock-names = jpeg;
+   clocks = clock CLK_JPEG;
+   };
+
+   jpeg_1: jpeg@11F6 {
+   compatible = samsung,exynos5420-jpeg;
+   reg = 0x11F6 0x1000;
+   interrupts = 0 168 0;
+   clock-names = jpeg;
+   clocks = clock CLK_JPEG2;
+   };
+
pmu_system_controller: system-controller@1004 {
compatible = samsung,exynos5420-pmu, syscon;
reg = 0x1004 0x5000;
-- 
1.9.1

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


[PATCHv2 2/2] media: s5p-jpeg: add 5420 family support

2015-03-06 Thread Andrzej Pietrasiewicz
JPEG IP found in Exynos5420 is similar to what is in Exynos3250, but
there are some subtle differences which this patch takes into account.

Signed-off-by: Andrzej Pietrasiewicz andrze...@samsung.com
---
 .../bindings/media/exynos-jpeg-codec.txt   |  2 +-
 drivers/media/platform/s5p-jpeg/jpeg-core.c| 59 +++---
 drivers/media/platform/s5p-jpeg/jpeg-core.h| 12 +++--
 3 files changed, 51 insertions(+), 22 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt 
b/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt
index bf52ed4..4ef4563 100644
--- a/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt
+++ b/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt
@@ -4,7 +4,7 @@ Required properties:
 
 - compatible   : should be one of:
  samsung,s5pv210-jpeg, samsung,exynos4210-jpeg,
- samsung,exynos3250-jpeg;
+ samsung,exynos3250-jpeg, samsung,exynos5420-jpeg;
 - reg  : address and length of the JPEG codec IP register set;
 - interrupts   : specifies the JPEG codec IP interrupt;
 - clock-names   : should contain:
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c 
b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 12f7452..8b0ca2e 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -621,6 +621,7 @@ static int s5p_jpeg_to_user_subsampling(struct s5p_jpeg_ctx 
*ctx)
return V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
return ctx-subsampling;
case SJPEG_EXYNOS3250:
+   case SJPEG_EXYNOS5420:
if (ctx-subsampling  3)
return V4L2_JPEG_CHROMA_SUBSAMPLING_411;
return exynos3250_decoded_subsampling[ctx-subsampling];
@@ -1142,13 +1143,13 @@ static void jpeg_bound_align_image(struct s5p_jpeg_ctx 
*ctx,
w_step = 1  walign;
h_step = 1  halign;
 
-   if (ctx-jpeg-variant-version == SJPEG_EXYNOS3250) {
+   if (ctx-jpeg-variant-hw3250_compat) {
/*
 * Rightmost and bottommost pixels are cropped by the
-* Exynos3250 JPEG IP for RGB formats, for the specific
-* width and height values respectively. This assignment
-* will result in v4l_bound_align_image returning dimensions
-* reduced by 1 for the aforementioned cases.
+* Exynos3250/compatible JPEG IP for RGB formats, for the
+* specific width and height values respectively. This
+* assignment will result in v4l_bound_align_image returning
+* dimensions reduced by 1 for the aforementioned cases.
 */
if (w_step == 4  ((width  3) == 1)) {
wmax = width;
@@ -1384,12 +1385,12 @@ static int s5p_jpeg_s_fmt(struct s5p_jpeg_ctx *ct, 
struct v4l2_format *f)
 
/*
 * Prevent downscaling to YUV420 format by more than 2
-* for Exynos3250 SoC as it produces broken raw image
+* for Exynos3250/compatible SoC as it produces broken raw image
 * in such cases.
 */
if (ct-mode == S5P_JPEG_DECODE 
f_type == FMT_TYPE_CAPTURE 
-   ct-jpeg-variant-version == SJPEG_EXYNOS3250 
+   ct-jpeg-variant-hw3250_compat 
pix-pixelformat == V4L2_PIX_FMT_YUV420 
ct-scale_factor  2) {
scale_rect.width = ct-out_q.w / 2;
@@ -1569,12 +1570,12 @@ static int s5p_jpeg_s_selection(struct file *file, void 
*fh,
if (s-target == V4L2_SEL_TGT_COMPOSE) {
if (ctx-mode != S5P_JPEG_DECODE)
return -EINVAL;
-   if (ctx-jpeg-variant-version == SJPEG_EXYNOS3250)
+   if (ctx-jpeg-variant-hw3250_compat)
ret = exynos3250_jpeg_try_downscale(ctx, rect);
} else if (s-target == V4L2_SEL_TGT_CROP) {
if (ctx-mode != S5P_JPEG_ENCODE)
return -EINVAL;
-   if (ctx-jpeg-variant-version == SJPEG_EXYNOS3250)
+   if (ctx-jpeg-variant-hw3250_compat)
ret = exynos3250_jpeg_try_crop(ctx, rect);
}
 
@@ -1604,8 +1605,9 @@ static int s5p_jpeg_adjust_subs_ctrl(struct s5p_jpeg_ctx 
*ctx, int *ctrl_val)
case SJPEG_S5P:
return 0;
case SJPEG_EXYNOS3250:
+   case SJPEG_EXYNOS5420:
/*
-* The exynos3250 device can produce JPEG image only
+* The exynos3250/compatible device can produce JPEG image only
 * of 4:4:4 subsampling when given RGB32 source image.
 */
if (ctx-out_q.fmt-fourcc == V4L2_PIX_FMT_RGB32)
@@ -1624,7 +1626,7 @@ static int s5p_jpeg_adjust_subs_ctrl(struct s5p_jpeg_ctx 
*ctx, int *ctrl_val)
}
 
/*
-* The exynos4x12 and exynos3250 

[PATCHv2 0/2] Support for JPEG IP on Exynos542x

2015-03-06 Thread Andrzej Pietrasiewicz
This short series adds support for JPEG IP on Exynos542x SoC.
The first patch adds necessary device tree nodes and the second
one does JPEG IP support proper. The JPEG IP on Exynos542x is
similar to what is on Exynos3250, there just slight differences.

v1..v2:
- implemented changes resulting from Jacek's review
- removed iommu entries in device tree nodes as iommu is
not available at this moment
- added hw3250_compat and htbl_reinit flags to s5p_jpeg_variant,
which simplifies the code a bit

Andrzej Pietrasiewicz (2):
  ARM: dts: exynos5420: add nodes for jpeg codec
  media: s5p-jpeg: add 5420 family support

 .../bindings/media/exynos-jpeg-codec.txt   |  2 +-
 arch/arm/boot/dts/exynos5420.dtsi  | 16 ++
 drivers/media/platform/s5p-jpeg/jpeg-core.c| 59 +++---
 drivers/media/platform/s5p-jpeg/jpeg-core.h| 12 +++--
 4 files changed, 67 insertions(+), 22 deletions(-)

-- 
1.9.1

--
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] ARM: exynos_defconfig: Disable IOMMU support

2015-03-06 Thread Javier Martinez Canillas
Hello Inki,

On 03/06/2015 02:32 PM, Inki Dae wrote:
 
 Another interesting data point is that the error in next-20150303 for
 these 2 boards was the NULL pointer dereference in exynos_plane_destroy
 that I got with 4.0-rc2 (when IOMMU is disabled) in Snow and Peach Pit.
 
 I think the NULL pointer dereference issue may be fixed with below patch
 I merged to exynos-drm-fixes just a while ago,
 https://lkml.org/lkml/2015/2/17/434
 
 Could you test it with this patch again?


Thanks, I tested v4.0-rc2 + the patch to disable IOMMU + the patch you
mentioned and the crash does not happen anymore in Peach Pit and Snow.

 
 Another thing that may be useful to detect these issues early is to have
 exynos-drm-next be pulled by linux-next since otherwise the integration
 is not tested until the changes are picked by the DRM maintainer.
 

I know that I may sound like a broken record but could you please make
sure that your tree is included in linux-next?

That way the fix could be tested by all the machines that are testing
linux-next daily since right now Exynos will still be broken until you
send a pull request to the DRM maintainer.

So it would be nice to get the changes as soon as possible into -next
to avoid a recurrent error to mask other possible new issues.

Best regards,
Javier
--
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: Check for NULL dereference of crtc

2015-03-06 Thread Charles Keepax
On Fri, Mar 06, 2015 at 10:13:42PM +0900, Inki Dae wrote:
 On 2015년 02월 18일 02:14, Charles Keepax wrote:
  The commit drm/exynos: remove exynos_plane_dpms (d9ea6256) removed the
  use of the enabled flag, which means that the code may attempt to call
  win_enable on a NULL crtc. This results in the following oops on
 
 Hmm... it's strange. plane-funcs-destroy() is called prior to
 crtc-funcs-destroy() so it should be exynos_crtc is not NULL. However,
 it seems there is any corner case we didn't catch up.
 
 Applied.

Thanks, it seems the offending path in an error path, looks like
Arndale is missing some required DT setting which causes
exynos_drm_load to fail:

[1.638109] of_graph_get_next_endpoint(): no port node found in 
/dp-controller@145B
[1.646424] exynos-drm exynos-drm: bound 1440.fimd (ops 
fimd_component_ops)
[1.652704] /dp-controller@145B: could not find display-timings node
[1.659323] /dp-controller@145B: no timings specified
[1.664709] [drm:exynos_dp_bind] *ERROR* failed: of_get_videomode() : -22
[1.671485] exynos-drm exynos-drm: failed to bind 145b.dp-controller 
(ops exynos_dp_ops): -22

Which ends up calling exynos_plane_destroy as part of the clean up:

[1.698655] [c0015db4] (unwind_backtrace) from [c00121cc] 
(show_stack+0x20/0x24)
[1.706385] [c00121cc] (show_stack) from [c0528230] 
(dump_stack+0x78/0xc4)
[1.713588] [c0528230] (dump_stack) from [c02f72ec] 
(exynos_disable_plane+0x2c/0x60)
[1.721660] [c02f72ec] (exynos_disable_plane) from [c02f733c] 
(exynos_plane_destroy+0x1c/0x30)
[1.730605] [c02f733c] (exynos_plane_destroy) from [c02e37c4] 
(drm_mode_config_cleanup+0x168/0x20c)
[1.739982] [c02e37c4] (drm_mode_config_cleanup) from [c02f3d18] 
(exynos_drm_load+0xac/0x12c)
[1.748832] [c02f3d18] (exynos_drm_load) from [c02dc074] 
(drm_dev_register+0xb0/0x110)
[1.757075] [c02dc074] (drm_dev_register) from [c02ddc88] 
(drm_platform_init+0x50/0xe0)
[1.765405] [c02ddc88] (drm_platform_init) from [c02f3a08] 
(exynos_drm_bind+0x20/0x28)
[1.773655] [c02f3a08] (exynos_drm_bind) from [c02fe664] 
(try_to_bring_up_master.part.1+0xd8/0x114)
[1.783027] [c02fe664] (try_to_bring_up_master.part.1) from [c02fe754] 
(component_master_add_with_match+0xb4/0x134)
[1.793792] [c02fe754] (component_master_add_with_match) from [c02f3e94] 
(exynos_drm_platform_probe+0xfc/0x124)
[1.804207] [c02f3e94] (exynos_drm_platform_probe) from [c0304a44] 
(platform_drv_probe+0x58/0xb4)
[1.813411] [c0304a44] (platform_drv_probe) from [c0302fa8] 
(driver_probe_device+0x11c/0x23c)
[1.822261] [c0302fa8] (driver_probe_device) from [c0303164] 
(__driver_attach+0x9c/0xa0)
[1.830679] [c0303164] (__driver_attach) from [c03014a0] 
(bus_for_each_dev+0x64/0x98)
[1.838838] [c03014a0] (bus_for_each_dev) from [c0302a4c] 
(driver_attach+0x2c/0x30)
[1.846824] [c0302a4c] (driver_attach) from [c030269c] 
(bus_add_driver+0xe8/0x1e4)
[1.854722] [c030269c] (bus_add_driver) from [c0303ad8] 
(driver_register+0x88/0x104)
[1.862794] [c0303ad8] (driver_register) from [c03048ac] 
(__platform_driver_register+0x58/0x6c)
[1.871827] [c03048ac] (__platform_driver_register) from [c02f3f84] 
(exynos_drm_init+0xc8/0x124)
[1.880936] [c02f3f84] (exynos_drm_init) from [c00089f4] 
(do_one_initcall+0x90/0x1e0)
[1.889096] [c00089f4] (do_one_initcall) from [c08b2e24] 
(kernel_init_freeable+0x114/0x1e0)
[1.897779] [c08b2e24] (kernel_init_freeable) from [c05235ac] 
(kernel_init+0x18/0xfc)
[1.905934] [c05235ac] (kernel_init) from [c000efa0] 
(ret_from_fork+0x14/0x34)

Hope that helps some, afraid I am not really familiar enough with
the graphics stack to chase that down much more though.

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


Re: [GIT PULL 2/2] Samsung fixes-2 for v4.0

2015-03-06 Thread Javier Martinez Canillas
Hello Kukjin,

On Fri, Mar 6, 2015 at 10:43 AM, Kukjin Kim kg...@kernel.org wrote:
 Javier Martinez Canillas wrote:

 Hello Arnd,

 Hi,

 On Thu, Mar 5, 2015 at 12:04 AM, Arnd Bergmann a...@arndb.de wrote:
  On Wednesday 04 March 2015 21:04:40 Arnd Bergmann wrote:
  On Tuesday 03 March 2015 04:00:14 Kukjin Kim wrote:
   Please pull Samsung tmu and hdmi regression fixes for v4.0 and I know
   this is quite big for fixes but I couldn't handle this series for
   previous merge window because of dependency with driver side...sorry for
   that and please pull so that we could support them in v4.0 on exynos
   platforms.
 
  What kind of dependency do you have there? It really should not be
  necessary to wait for driver changes, unless you do an incompatible
  DT binding change, which you should avoid.
 
  I've pulled it into fixes, but won't forward it until I hear a
  good explanation.
 
  Even with both fixes-1 and fixes-2 applied, we still get boot failures
  on Exynos:
 
  http://arm-soc.lixom.net/bootlogs/arm-soc/v4.0-rc2-104-g2ee4716/
 
  Any idea what is going on?
 

 Yes, the problem is the Exynos DRM driver which has a lot of issues.
 It's broken if CONFIG_DRM_EXYNOS_IOMMU is enabled which defaults to
 yes after commit 8dcc14f82f06 (drm/exynos: IOMMU support should not
 be selectable by user).

 I posted a patch to disable IOMMU support on Exynos to avoid these
 boot failures and also mentioned to Kukjin that it should be a fix for
 4.0 [0]. But even with IOMMU disabled, the Exynos DRM is broken in
 some boards [1] so we may have to disable that driver until everything
 gets sorted out and is stable again.

 Yes, the fix is in my tree and it will be sent to upstream via arm-soc soon.


Thanks a lot for your help. You meant the patch to disable IOMMU
support right? While being there could you please also disable the DRM
driver as discussed since is unlikely that the Exynos DRM maintainers
would be able to sort out all the issues in time for 4.0.

 Thanks,
 Kukjin


Best regards,
Javier
--
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] ARM: exynos_defconfig: Disable IOMMU support

2015-03-06 Thread Inki Dae
Hi all,

On 2015년 03월 04일 19:24, Javier Martinez Canillas wrote:
 +Gustavo which has been looking at the issues
 
 Hello,
 
 On 03/04/2015 09:50 AM, Marek Szyprowski wrote:
 Hello,

 On 2015-03-03 21:36, Kevin Hilman wrote:
 Javier Martinez Canillas javier.marti...@collabora.co.uk writes:

 Enabling Exynos DRM IOMMU support for Exynos is currently broken and
 causes a BUG on exynos-iommu driver. This was not an issue since the
 options was disabled in exynos_defconfig but after commit 8dcc14f82f06
 (drm/exynos: IOMMU support should not be selectable by user), it is
 selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.

 So a kernel built using exynos_defconfig after the mentioned commit
 fails to boot [0]. Disable IOMMU support in Exynos defconfig until
 things get sorted out.
 So some other exynos boards started failing in next-20150303[1], and
 appear are DRM failures.

 Interestingly, (re)enabling CONFIG_EXYNOS_IOMMU for these cause things to
 work again.  Even more intersting, with IOMMU enabled, peach-pi is

 
 I built both 4.0-rc2 and linux-next (tag next-20150303) with and without
 CONFIG_EXYNOS_IOMMU and boot tested on Snow, Peach Pit and Pi.
 
 We still don't have a Peach Pit hooked in LAVA so I tested it locally
 and pasted the boot logs.
 
 4.0-rc2 (which has CONFIG_EXYNOS_IOMMU enabled)
 ---
 
  * Snow: NULL pointer dereference at fimd_wait_for_vblank [0]
 
  * Peach Pi: kernel BUG at drivers/iommu/exynos-iommu.c:481 [1]
 
  * Peach Pit: NULL pointer dereference at fimd_wait_for_vblank [2]
 
 4.0-rc2 + CONFIG_EXYNOS_IOMMU disabled
 --
 
  * Snow: NULL pointer dereference at exynos_plane_destroy [3]
 
  * Peach Pi: no error, kernel booted successfully [4]
 
  * Peach Pit: NULL pointer dereference at exynos_plane_destroy [5]
 
 next-20150303 (which has CONFIG_EXYNOS_IOMMU disabled)
 -
 
  * Snow: no error, kernel booted successfully [6]
  * Peach Pi: no error, kernel booted successfully [7]
  * Peach Pit: no error, kernel booted successfully [8]
 
 next-20150303 + CONFIG_EXYNOS_IOMMU (re)enabled
 ---
 
 Snow: no error, kernel booted successfully [9]
 Peach Pi: no error, kernel booted successfully [10]
 Peach Pit: no error, kernel booted successfully [11]
 
 Is interesting that the only Exynos5 machines that failed to boot in
 next-20150303 were exynos5250-arndale and exynos5422-odroidxu3 [12].
 
 Also, only the exynos5250-arndale failed to boot with next-20150304 [13]
 while exynos5422-odroidxu3 booted successfully and there were no changes
 for the exynos drm driver between next-20150303 and next-20150304.
 
 Another interesting data point is that the error in next-20150303 for
 these 2 boards was the NULL pointer dereference in exynos_plane_destroy
 that I got with 4.0-rc2 (when IOMMU is disabled) in Snow and Peach Pit.

I think the NULL pointer dereference issue may be fixed with below patch
I merged to exynos-drm-fixes just a while ago,
https://lkml.org/lkml/2015/2/17/434

Could you test it with this patch again?

Thanks,
Inki Dae

 
 So it appears the error is not consistent and may be a race condition.
 
 I'm starting to think it's the DRM driver that needs to be disabled
 until it actually gets some testing, rathre than disabling IOMMU.

 
 It's true that there are a lot of issues with the Exynos DRM driver
 but OTOH those are exposed because the config is enabled by default.
 
 My fear is that if we disable the driver, it could silently break
 and be noticed much later when a user enables the option.
 
 Well, this only shows that broken patch has been merged to exynos-drm-next
 kernel tree. I think that we should keep Exynos DRM enabled and give Exynos
 DRM developers a chance to fix their stuff and then test their stuff.

 
 Agree, hopefully all these issues are sorted out during the -rc cycle but
 if not then I think we would have to disable the driver as Kevin suggests.
 
 Another thing that may be useful to detect these issues early is to have
 exynos-drm-next be pulled by linux-next since otherwise the integration
 is not tested until the changes are picked by the DRM maintainer.
 
 Best regards

 
 Best regards,
 Javier
 
 [0]: https://lava.collabora.co.uk/scheduler/job/8559/log_file
 [1]: https://lava.collabora.co.uk/scheduler/job/8558/log_file
 [2]: http://hastebin.com/gupoworepa.xml
 [3]: https://lava.collabora.co.uk/scheduler/job/8560/log_file
 [4]: https://lava.collabora.co.uk/scheduler/job/8566/log_file
 [5]: http://hastebin.com/ziyiruretu.xml
 [6]: https://lava.collabora.co.uk/scheduler/job/8570/log_file
 [7]: https://lava.collabora.co.uk/scheduler/job/8571/log_file
 [8]: http://hastebin.com/felopehimi.vhdl
 [9]: https://lava.collabora.co.uk/scheduler/job/8572/log_file
 [10]: https://lava.collabora.co.uk/scheduler/job/8573/log_file
 [11]: http://hastebin.com/kazupucufu.vhdl
 [12]: 

Re: [PATCH v5 1/9] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-03-06 Thread Chanwoo Choi
Hi,

On 03/06/2015 08:40 PM, Mark Rutland wrote:
 CPU0 (boot CPU) is only well working for CPU_OFF.
 But when I try to turn on the CPU0 after CPU_OFF, I failed it.

 That's rather worrying. Can you look into what's going on here? I'd
 rather not have dts describing things which are known to be broken.

 The board dts don't include any node for CPU_ON/OFF.

 I don't understand. The CPU_ON and CPU_OFF IDs are in the psci node
 quoted above, and all the CPUs had enable-method = psci.

 I mean that there are not additional dt node except for 'cpu' and 'psci' 
 node.
 
 The psci node and cpu enable-method are sufficient. No other nodes
 should be relevant.

You're right.

 

 When I try to turn on the CPU0 (boot CPU), fail to turn on and lockup 
 happen.
 After lockup happen, I cannot use the console.

 That sounds like a pretty major bug.

 Are you able to investigate with a hardware debugger?

 I can't do because there are not any jtag connector.
 
 That is very unfortunate. Which PSCI implementation are you using?
 Surely whoever developed it has access to debug. Surely they should have
 tested this?

I just used the lateset Linux 4.0-rc2 for PSCI (arch/arm64/kernel/psci.c)
without any modification. Unfortunately, I don't know who is the h/w developer 
of Exynos5433 SoC.

 
 Do other CPUs eventually log errors regarding the lockup? Or is the
 machine completely dead from this point on?

 I tested CPU0 on/off. When I turn on the CPU0, I fail it. But, kernel just 
 show the error log without lockup.
 I gave you wrong infromation about CPU0 off.
 
 Ok. However that's still a major bug.
 
 [...]
 
 I take it CPUs boot at EL2?

 Do the CPUs boot at EL1 or EL2?

 Unfortunately, I cannot check the secure firmware for Exynos5433 SoC.
 I think that a few SoC provider probably would know it.

 I guess I asked the wrong question.

 Do CPUs enter the kernel at EL2 or at EL1?

 Could you give me a tip how to check the kernel at EL2 or EL1?
 
 Hmm... I thought we logged this but it looks like we don't.
 
 You could hack in a check of is_hyp_mode_available() and
 is_hyp_mode_mismatched(). That will tell you if EL2/hyp is available,
 and whether all CPUs enter at the same mode (mandatory per the boot
 protocol).

OK, I'll try it.

Thanks,
Chanwoo Choi

--
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: Check for NULL dereference of crtc

2015-03-06 Thread Inki Dae
On 2015년 02월 18일 02:14, Charles Keepax wrote:
 The commit drm/exynos: remove exynos_plane_dpms (d9ea6256) removed the
 use of the enabled flag, which means that the code may attempt to call
 win_enable on a NULL crtc. This results in the following oops on

Hmm... it's strange. plane-funcs-destroy() is called prior to
crtc-funcs-destroy() so it should be exynos_crtc is not NULL. However,
it seems there is any corner case we didn't catch up.

Applied.

Thanks,
Inki Dae

 Arndale:
 
 [1.673479] Unable to handle kernel NULL pointer dereference at virtual 
 address 0368
 [1.681500] pgd = c0004000
 [1.684154] [0368] *pgd=
 [1.687713] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
 [1.693012] Modules linked in:
 [1.696045] CPU: 1 PID: 1 Comm: swapper/0 Not tainted
 3.19.0-07545-g57485fa #1907
 [1.703524] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
 ()
 [2.014803] [c02f9cfc] (exynos_plane_destroy) from [c02e61b4] 
 (drm_mode_config_cleanup+0x168/0x20c)
 [2.024178] [c02e61b4] (drm_mode_config_cleanup) from [c02f66fc] 
 (exynos_drm_load+0xac/0x12c)
 
 This patch adds in a check to ensure exynos_crtc is not NULL before it
 is dereferenced.
 
 Signed-off-by: Charles Keepax ckee...@opensource.wolfsonmicro.com
 ---
  drivers/gpu/drm/exynos/exynos_drm_plane.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c 
 b/drivers/gpu/drm/exynos/exynos_drm_plane.c
 index 2dfb847..78fc0a1 100644
 --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c
 +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c
 @@ -176,7 +176,7 @@ static int exynos_disable_plane(struct drm_plane *plane)
   struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
   struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(plane-crtc);
  
 - if (exynos_crtc-ops-win_disable)
 + if (exynos_crtc  exynos_crtc-ops-win_disable)
   exynos_crtc-ops-win_disable(exynos_crtc,
 exynos_plane-zpos);
  
 

--
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] drm/exynos: fix typo config name correctly.

2015-03-06 Thread Inki Dae
This patch fixes DRM_EXYNOS7DECON to DRM_EXYNOS7_DECON.

Signed-off-by: Inki Dae inki@samsung.com
---
 drivers/gpu/drm/exynos/Kconfig |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index a5e7461..0a67803 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -50,7 +50,7 @@ config DRM_EXYNOS_DSI
 
 config DRM_EXYNOS_DP
bool EXYNOS DRM DP driver support
-   depends on (DRM_EXYNOS_FIMD || DRM_EXYNOS7DECON)  ARCH_EXYNOS  
(DRM_PTN3460=n || DRM_PTN3460=y || DRM_PTN3460=DRM_EXYNOS)
+   depends on (DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON)  ARCH_EXYNOS  
(DRM_PTN3460=n || DRM_PTN3460=y || DRM_PTN3460=DRM_EXYNOS)
default DRM_EXYNOS
select DRM_PANEL
help
-- 
1.7.9.5

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


Re: [PATCH v5 1/9] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-03-06 Thread Mark Rutland
  CPU0 (boot CPU) is only well working for CPU_OFF.
  But when I try to turn on the CPU0 after CPU_OFF, I failed it.
 
  That's rather worrying. Can you look into what's going on here? I'd
  rather not have dts describing things which are known to be broken.
 
  The board dts don't include any node for CPU_ON/OFF.
  
  I don't understand. The CPU_ON and CPU_OFF IDs are in the psci node
  quoted above, and all the CPUs had enable-method = psci.
 
 I mean that there are not additional dt node except for 'cpu' and 'psci' node.

The psci node and cpu enable-method are sufficient. No other nodes
should be relevant.

  
  When I try to turn on the CPU0 (boot CPU), fail to turn on and lockup 
  happen.
  After lockup happen, I cannot use the console.
  
  That sounds like a pretty major bug.
  
  Are you able to investigate with a hardware debugger?
 
 I can't do because there are not any jtag connector.

That is very unfortunate. Which PSCI implementation are you using?
Surely whoever developed it has access to debug. Surely they should have
tested this?

  Do other CPUs eventually log errors regarding the lockup? Or is the
  machine completely dead from this point on?
 
 I tested CPU0 on/off. When I turn on the CPU0, I fail it. But, kernel just 
 show the error log without lockup.
 I gave you wrong infromation about CPU0 off.

Ok. However that's still a major bug.

[...]

  I take it CPUs boot at EL2?
 
  Do the CPUs boot at EL1 or EL2?
 
  Unfortunately, I cannot check the secure firmware for Exynos5433 SoC.
  I think that a few SoC provider probably would know it.
  
  I guess I asked the wrong question.
  
  Do CPUs enter the kernel at EL2 or at EL1?
 
 Could you give me a tip how to check the kernel at EL2 or EL1?

Hmm... I thought we logged this but it looks like we don't.

You could hack in a check of is_hyp_mode_available() and
is_hyp_mode_mismatched(). That will tell you if EL2/hyp is available,
and whether all CPUs enter at the same mode (mandatory per the boot
protocol).

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


RE: [GIT PULL 2/2] Samsung fixes-2 for v4.0

2015-03-06 Thread Kukjin Kim
Javier Martinez Canillas wrote:
 
 Hello Arnd,
 
Hi,

 On Thu, Mar 5, 2015 at 12:04 AM, Arnd Bergmann a...@arndb.de wrote:
  On Wednesday 04 March 2015 21:04:40 Arnd Bergmann wrote:
  On Tuesday 03 March 2015 04:00:14 Kukjin Kim wrote:
   Please pull Samsung tmu and hdmi regression fixes for v4.0 and I know
   this is quite big for fixes but I couldn't handle this series for
   previous merge window because of dependency with driver side...sorry for
   that and please pull so that we could support them in v4.0 on exynos
   platforms.
 
  What kind of dependency do you have there? It really should not be
  necessary to wait for driver changes, unless you do an incompatible
  DT binding change, which you should avoid.
 
  I've pulled it into fixes, but won't forward it until I hear a
  good explanation.
 
  Even with both fixes-1 and fixes-2 applied, we still get boot failures
  on Exynos:
 
  http://arm-soc.lixom.net/bootlogs/arm-soc/v4.0-rc2-104-g2ee4716/
 
  Any idea what is going on?
 
 
 Yes, the problem is the Exynos DRM driver which has a lot of issues.
 It's broken if CONFIG_DRM_EXYNOS_IOMMU is enabled which defaults to
 yes after commit 8dcc14f82f06 (drm/exynos: IOMMU support should not
 be selectable by user).
 
 I posted a patch to disable IOMMU support on Exynos to avoid these
 boot failures and also mentioned to Kukjin that it should be a fix for
 4.0 [0]. But even with IOMMU disabled, the Exynos DRM is broken in
 some boards [1] so we may have to disable that driver until everything
 gets sorted out and is stable again.
 
Yes, the fix is in my tree and it will be sent to upstream via arm-soc soon.

Thanks,
Kukjin

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


RE: [GIT PULL 2/2] Samsung fixes-2 for v4.0

2015-03-06 Thread Kukjin Kim
Arnd Bergmann wrote:
 
+ Eduardo

Hi Arnd,

 On Tuesday 03 March 2015 04:00:14 Kukjin Kim wrote:
  Please pull Samsung tmu and hdmi regression fixes for v4.0 and I know
  this is quite big for fixes but I couldn't handle this series for
  previous merge window because of dependency with driver side...sorry for
  that and please pull so that we could support them in v4.0 on exynos
  platforms.
 
 What kind of dependency do you have there? It really should not be
 necessary to wait for driver changes, unless you do an incompatible
 DT binding change, which you should avoid.
 
For TMU patches, I've asked Eduardo to provide topic branch for
'include/dt-bindings/thermal/thermal_exynos.h' has been added via thermal tree
because if I can't apply the patch in Samsung tree for arm-soc, kernel build
breakage will be happened. But I couldn't get Eduardo's topic branch.

http://www.spinics.net/lists/linux-samsung-soc/msg41877.html


For HDMI patches, I thought the DT changes have a dependency with drm/exynos:
add support for 'hdmi' clock so waited for its applying then in drm tree. But
I couldn't send it to arm-soc after that...

http://www.spinics.net/lists/linux-samsung-soc/msg42173.html


I asked about the situation (late DT changes?) when I sent a pull-request, then
I couldn't get a access my kernel.org because of biz. trip to China :(

http://www.spinics.net/lists/linux-samsung-soc/msg42235.html


 I've pulled it into fixes, but won't forward it until I hear a
 good explanation.
 
As you know, basically I tried to make a clear branch for pull-request but in
that case, I couldn't find a solution. Sorry for the inconvenience.

I hope v4.0 can support them properly.

Thanks,
Kukjin

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


Re: [PATCHv2 2/2] media: s5p-jpeg: add 5420 family support

2015-03-06 Thread Jacek Anaszewski

Hi Andrzej,

On 03/06/2015 11:32 AM, Andrzej Pietrasiewicz wrote:

JPEG IP found in Exynos5420 is similar to what is in Exynos3250, but
there are some subtle differences which this patch takes into account.

Signed-off-by: Andrzej Pietrasiewicz andrze...@samsung.com
---


Acked-by: Jacek Anaszewski j.anaszew...@samsung.com


  .../bindings/media/exynos-jpeg-codec.txt   |  2 +-
  drivers/media/platform/s5p-jpeg/jpeg-core.c| 59 +++---
  drivers/media/platform/s5p-jpeg/jpeg-core.h| 12 +++--
  3 files changed, 51 insertions(+), 22 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt 
b/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt
index bf52ed4..4ef4563 100644
--- a/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt
+++ b/Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt
@@ -4,7 +4,7 @@ Required properties:

  - compatible  : should be one of:
  samsung,s5pv210-jpeg, samsung,exynos4210-jpeg,
- samsung,exynos3250-jpeg;
+ samsung,exynos3250-jpeg, samsung,exynos5420-jpeg;
  - reg : address and length of the JPEG codec IP register set;
  - interrupts  : specifies the JPEG codec IP interrupt;
  - clock-names   : should contain:
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c 
b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 12f7452..8b0ca2e 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -621,6 +621,7 @@ static int s5p_jpeg_to_user_subsampling(struct s5p_jpeg_ctx 
*ctx)
return V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY;
return ctx-subsampling;
case SJPEG_EXYNOS3250:
+   case SJPEG_EXYNOS5420:
if (ctx-subsampling  3)
return V4L2_JPEG_CHROMA_SUBSAMPLING_411;
return exynos3250_decoded_subsampling[ctx-subsampling];
@@ -1142,13 +1143,13 @@ static void jpeg_bound_align_image(struct s5p_jpeg_ctx 
*ctx,
w_step = 1  walign;
h_step = 1  halign;

-   if (ctx-jpeg-variant-version == SJPEG_EXYNOS3250) {
+   if (ctx-jpeg-variant-hw3250_compat) {
/*
 * Rightmost and bottommost pixels are cropped by the
-* Exynos3250 JPEG IP for RGB formats, for the specific
-* width and height values respectively. This assignment
-* will result in v4l_bound_align_image returning dimensions
-* reduced by 1 for the aforementioned cases.
+* Exynos3250/compatible JPEG IP for RGB formats, for the
+* specific width and height values respectively. This
+* assignment will result in v4l_bound_align_image returning
+* dimensions reduced by 1 for the aforementioned cases.
 */
if (w_step == 4  ((width  3) == 1)) {
wmax = width;
@@ -1384,12 +1385,12 @@ static int s5p_jpeg_s_fmt(struct s5p_jpeg_ctx *ct, 
struct v4l2_format *f)

/*
 * Prevent downscaling to YUV420 format by more than 2
-* for Exynos3250 SoC as it produces broken raw image
+* for Exynos3250/compatible SoC as it produces broken raw image
 * in such cases.
 */
if (ct-mode == S5P_JPEG_DECODE 
f_type == FMT_TYPE_CAPTURE 
-   ct-jpeg-variant-version == SJPEG_EXYNOS3250 
+   ct-jpeg-variant-hw3250_compat 
pix-pixelformat == V4L2_PIX_FMT_YUV420 
ct-scale_factor  2) {
scale_rect.width = ct-out_q.w / 2;
@@ -1569,12 +1570,12 @@ static int s5p_jpeg_s_selection(struct file *file, void 
*fh,
if (s-target == V4L2_SEL_TGT_COMPOSE) {
if (ctx-mode != S5P_JPEG_DECODE)
return -EINVAL;
-   if (ctx-jpeg-variant-version == SJPEG_EXYNOS3250)
+   if (ctx-jpeg-variant-hw3250_compat)
ret = exynos3250_jpeg_try_downscale(ctx, rect);
} else if (s-target == V4L2_SEL_TGT_CROP) {
if (ctx-mode != S5P_JPEG_ENCODE)
return -EINVAL;
-   if (ctx-jpeg-variant-version == SJPEG_EXYNOS3250)
+   if (ctx-jpeg-variant-hw3250_compat)
ret = exynos3250_jpeg_try_crop(ctx, rect);
}

@@ -1604,8 +1605,9 @@ static int s5p_jpeg_adjust_subs_ctrl(struct s5p_jpeg_ctx 
*ctx, int *ctrl_val)
case SJPEG_S5P:
return 0;
case SJPEG_EXYNOS3250:
+   case SJPEG_EXYNOS5420:
/*
-* The exynos3250 device can produce JPEG image only
+* The exynos3250/compatible device can produce JPEG image only
 * of 4:4:4 subsampling when given RGB32 source image.
 */
if (ctx-out_q.fmt-fourcc == V4L2_PIX_FMT_RGB32)
@@ -1624,7 +1626,7 @@ static int 

Re: [PATCH v4] pinctrl: exynos: Add support for Exynos5433

2015-03-06 Thread Linus Walleij
On Tue, Feb 24, 2015 at 3:47 AM, Chanwoo Choi cw00.c...@samsung.com wrote:

 This patch adds driver data for Exynos5433 SoC. Exynos5433 includes 228 multi-
 functional input/output port pins and 135 memory port pins. There are 41 
 general
 port groups and 2 memory port groups.

 Cc: Tomasz Figa tomasz.f...@gmail.com
 Cc: Thomas Abraham thomas.abra...@linaro.org
 Cc: Linus Walleij linus.wall...@linaro.org
 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 Acked-by: Inki Dae inki@samsung.com
 Acked-by: Tomasz Figa tomasz.f...@gmail.com
 ---
 Changes from v3:
 - Rebase it on Linux 4.0-rc1
 - Add acked messgae of Tomasz Figa

Already merged v3. Thanks anyway!

Yours,
Linus Walleij
--
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 05/10] ARM: s3c64xx: enable sparse IRQ support

2015-03-06 Thread Charles Keepax
On Mon, Mar 02, 2015 at 01:35:58PM +0100, Arnd Bergmann wrote:
 This is another prerequisite for enabling multiplatform
 support, and it is the part I am least certain about.
 
 I assume it will cause the extra boot message Cannot
 allocate irq_descs @ IRQ%d, assuming pre-allocated to
 be printed, but otherwise work ok. This definitely needs
 to be tested on real hardware to see if it works.
 
 Signed-off-by: Arnd Bergmann a...@arndb.de
 ---

This one appears to cause some problems with the IRQs on
Cragganmore, I need to look into it a bit more but it looks like
one of the PMICs can't allocate its IRQs:

[0.961455] wm831x 1-0034: WM8311 revision C
[0.965066] wm831x 1-0034: Failed to allocate IRQs: -17

And the CODEC can't request its IRQ:

[4.252735] arizona spi0.1: WM5102 revision C
[4.269763] arizona spi0.1: Failed to request primary IRQ 263: -22

Hopefully I can look into this a little more next week.

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


Re: [GIT PULL 2/2] Samsung fixes-2 for v4.0

2015-03-06 Thread Eduardo Valentin
On Fri, Mar 06, 2015 at 07:16:53PM +0900, Kukjin Kim wrote:
 Arnd Bergmann wrote:
  
 + Eduardo
 
 Hi Arnd,
 
  On Tuesday 03 March 2015 04:00:14 Kukjin Kim wrote:
   Please pull Samsung tmu and hdmi regression fixes for v4.0 and I know
   this is quite big for fixes but I couldn't handle this series for
   previous merge window because of dependency with driver side...sorry for
   that and please pull so that we could support them in v4.0 on exynos
   platforms.
  
  What kind of dependency do you have there? It really should not be
  necessary to wait for driver changes, unless you do an incompatible
  DT binding change, which you should avoid.
  
 For TMU patches, I've asked Eduardo to provide topic branch for
 'include/dt-bindings/thermal/thermal_exynos.h' has been added via thermal tree
 because if I can't apply the patch in Samsung tree for arm-soc, kernel build
 breakage will be happened. But I couldn't get Eduardo's topic branch.


Specifically, the developer, while migrating the driver to support DT
and OF thermal, decided to create a header with constants. The header is
used by DT files and the driver code. The header was the dependency.


BR,

Eduardo Valentin

 
 http://www.spinics.net/lists/linux-samsung-soc/msg41877.html
 
 
 For HDMI patches, I thought the DT changes have a dependency with drm/exynos:
 add support for 'hdmi' clock so waited for its applying then in drm tree. But
 I couldn't send it to arm-soc after that...
 
 http://www.spinics.net/lists/linux-samsung-soc/msg42173.html
 
 
 I asked about the situation (late DT changes?) when I sent a pull-request, 
 then
 I couldn't get a access my kernel.org because of biz. trip to China :(
 
 http://www.spinics.net/lists/linux-samsung-soc/msg42235.html
 
 
  I've pulled it into fixes, but won't forward it until I hear a
  good explanation.
  
 As you know, basically I tried to make a clear branch for pull-request but in
 that case, I couldn't find a solution. Sorry for the inconvenience.
 
 I hope v4.0 can support them properly.
 
 Thanks,
 Kukjin
 


signature.asc
Description: Digital signature


[alsa-devel] [PATCH] ARM: dts: Support audio on Exynos5422-odroidxu3 using simple-audio-card

2015-03-06 Thread Inha Song
Add MAX98090 audio codec, I2S interface and the sound nodes to support
audio on Exynos5422 SoC Based Odroid-XU3 board. Now we can support audio
in Odroid-XU3 board using simple-audio-card DT binding.

Signed-off-by: Inha Song ideal.s...@samsung.com
---
 arch/arm/boot/dts/exynos5420.dtsi  |  9 +
 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 57 ++
 2 files changed, 66 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index c0e98cf..a70005e 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -411,6 +411,9 @@
clock_audss EXYNOS_I2S_BUS,
clock_audss EXYNOS_SCLK_I2S;
clock-names = iis, i2s_opclk0, i2s_opclk1;
+   #clock-cells = 1;
+   clock-output-names = i2s_cdclk0;
+   #sound-dai-cells = 1;
samsung,idma-addr = 0x0300;
pinctrl-names = default;
pinctrl-0 = i2s0_bus;
@@ -425,6 +428,9 @@
dma-names = tx, rx;
clocks = clock CLK_I2S1, clock CLK_SCLK_I2S1;
clock-names = iis, i2s_opclk0;
+   #clock-cells = 1;
+   clock-output-names = i2s_cdclk1;
+   #sound-dai-cells = 1;
pinctrl-names = default;
pinctrl-0 = i2s1_bus;
status = disabled;
@@ -438,6 +444,9 @@
dma-names = tx, rx;
clocks = clock CLK_I2S2, clock CLK_SCLK_I2S2;
clock-names = iis, i2s_opclk0;
+   #clock-cells = 1;
+   clock-output-names = i2s_cdclk2;
+   #sound-dai-cells = 1;
pinctrl-names = default;
pinctrl-0 = i2s2_bus;
status = disabled;
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts 
b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index edc25cf..9275ad6 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -11,6 +11,7 @@
 */
 
 /dts-v1/;
+#include dt-bindings/sound/samsung-i2s.h
 #include exynos5800.dtsi
 
 / {
@@ -285,6 +286,62 @@
rtc@101E {
status = okay;
};
+
+   sound: sound {
+   compatible = simple-audio-card;
+   assigned-clocks = clock_audss EXYNOS_MOUT_AUDSS,
+   clock_audss EXYNOS_MOUT_I2S,
+   clock_audss EXYNOS_DOUT_AUD_BUS;
+   assigned-clock-parents = clock CLK_FIN_PLL,
+   clock_audss EXYNOS_MOUT_AUDSS;
+   assigned-clock-rates = 0,
+   0,
+   1920;
+
+   simple-audio-card,name = Odroid-XU3;
+
+   simple-audio-card,widgets =
+   Headphone, Headphone Jack,
+   Speakers, Speakers;
+   simple-audio-card,routing =
+   Headphone Jack, HPL,
+   Headphone Jack, HPR,
+   Headphone Jack, MICBIAS,
+   IN1, Headphone Jack,
+   Speakers, SPKL,
+   Speakers, SPKR;
+
+   simple-audio-card,format = i2s;
+   simple-audio-card,bitclock-master = link0_codec;
+   simple-audio-card,frame-master = link0_codec;
+
+   simple-audio-card,cpu {
+   sound-dai = i2s0 0;
+   system-clock-frequency = 1920;
+   };
+
+   link0_codec: simple-audio-card,codec {
+   sound-dai = max98090;
+   clocks = i2s0 CLK_I2S_CDCLK;
+   };
+   };
+};
+
+hsi2c_5 {
+   status = okay;
+   max98090: max98090@10 {
+   compatible = maxim,max98090;
+   reg = 0x10;
+   interrupt-parent = gpx3;
+   interrupts = 2 0;
+   clocks = i2s0 CLK_I2S_CDCLK;
+   clock-names = mclk;
+   #sound-dai-cells = 0;
+   };
+};
+
+i2s0 {
+   status = okay;
 };
 
 hdmi {
-- 
2.0.0.390.gcb682f8

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