Sylwester Nawrocki [Fri, 31 May 2013 14:37:25 +0000 (11:37 -0300)]
[media] exynos4-is: Add locking at fimc(-lite) subdev unregistered handler
Protect the fimc/fimc-lite video nodes unregistration with their video
lock. This prevents a kernel crash when e.g. udev opens a video node
right after the driver registers it and then the driver tries to
unregister it and defers its probing. Using video_is_unregistered()
together with the video mutex allows safe unregistration of the video
nodes at any time.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:24 +0000 (11:37 -0300)]
[media] exynos4-is: Fix sensor subdev -> FIMC notification setup
Ensure the v4l2_device notifications from sensor subdev works
also after the media links reconfiguration.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:23 +0000 (11:37 -0300)]
[media] exynos4-is: Remove WARN_ON() from __fimc_pipeline_close()
It's not a critical error to call __fimc_pipeline_close() with missing
sensor subdev entity. Replace WARN_ON() with pr_warn() and return 0
instead of -EINVAL to fix control flow in some conditions.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:22 +0000 (11:37 -0300)]
[media] exynos4-is: Use common exynos_media_pipeline data structure
This enumeration is now private to exynos4-is and the exynos5 camera
subsystem driver may have the subdevs handling designed differently.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:21 +0000 (11:37 -0300)]
[media] exynos4-is: Do not use asynchronous runtime PM in release fop
Use pm_runtime_put_sync() instead of pm_runtime_put() to avoid races
in handling the 'state' bit flags when the fimc-capture drivers'
runtime_resume callback is called from the PM workqueue.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:20 +0000 (11:37 -0300)]
[media] exynos4-is: Media graph/video device locking rework
Remove driver private video node reference counters and use entity->use_count
instead. This makes the video pipelines power handling more similar to the
method used in omap3isp driver.
Now the graph mutex is taken always after the video mutex, as it is not
possible to ensure apposite order at the all modules.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:19 +0000 (11:37 -0300)]
[media] exynos4-is: Preserve state of controls between /dev/video open/close
This patch moves the code for inheriting subdev v4l2 controls on the
FIMC video capture nodes from open()/close() fops to the link setup
notification callback. This allows for the state of the FIMC controls
to be always kept, in opposite to the current situation when it is
lost when last process closes video device.
There is no visible change for the original V4L2 compliant interface.
For the MC aware applications (user_subdev_api == true) inheriting
of the controls is dropped, since there can be same controls on the
subdevs withing single pipeline, now when the ISP (FIMC-IS) is also
used.
This patch is a prerequisite to allow /dev/video device to be opened
without errors even if there is no media links connecting it to an
image source (sensor) subdev. This is required for a libv4l2 plugin
to be initialized while a video node is opened and it also should be
possible to always open the device to query the capabilities.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 14:37:18 +0000 (11:37 -0300)]
[media] exynos4-is: Add struct exynos_video_entity
This patch introduces common structure for the video entities
to handle all video nodes and media pipelines associated with
them in more generic way.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Mon, 10 Jun 2013 11:51:44 +0000 (08:51 -0300)]
[media] exynos4-is: Move common functions to a separate module
Create a common module (exynos4-is-common.ko) for common functions
used across the exynos4-is video device and subdev drivers.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sachin Kamat [Tue, 16 Apr 2013 05:02:21 +0000 (02:02 -0300)]
[media] exynos4-is: Staticize local symbols
These symbols are used only in their respective files and hence
should be made static.
[s.nawrocki@samsung.com: dropped the __fimc_is_hw_update_param()
function change]
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Tue, 30 Apr 2013 12:27:53 +0000 (09:27 -0300)]
[media] exynos4-is: Correct querycap ioctl handling at fimc-lite driver
Fill in properly bus_info and card fields and set device_caps.
The querycap ioctl handler is renamed for consistency with the
other ioctls.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Tue, 30 Apr 2013 12:27:08 +0000 (09:27 -0300)]
[media] exynos4-is: Remove platform_device_id table at fimc-lite driver
The driver id_table is unused since all SoCs containing the FIMC-LITE
IP block have been dt-only. Just remove it.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sachin Kamat [Tue, 30 Apr 2013 03:51:33 +0000 (00:51 -0300)]
[media] exynos4-is: Remove redundant NULL check in fimc-lite.c
clk_unprepare checks for NULL pointer. Hence convert IS_ERR_OR_NULL
to IS_ERR only.
[s.nawrocki: replaced initialisations to NULL with ERR_PTR() value]
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Fri, 31 May 2013 22:43:35 +0000 (00:43 +0200)]
s5c73m3: Do not ignore errors from regulator_enable()
This fixes following compilation warning:
drivers/media/i2c/s5c73m3/s5c73m3-core.c: In function ‘__s5c73m3_power_off’:
drivers/media/i2c/s5c73m3/s5c73m3-core.c:1389:19: warning: ignoring return value
of ‘regulator_enable’, declared with attribute warn_unused_result
Cc: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 9 May 2013 11:29:33 +0000 (08:29 -0300)]
[media] V4L: Remove all links of the media entity when unregistering subdev
Remove all links of the subdev's media entity after internal_ops
'unregistered' call and right before unregistering the entity from
a media device.
It is assumed here that an unregistered (orphan) media entity cannot
have links to other entities registered to a media device.
It is also assumed the media links should be created/removed with
the media graph's mutex held.
The above implies that the caller of v4l2_device_unregister_subdev()
must not hold the graph's mutex.
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Thu, 9 May 2013 11:29:32 +0000 (08:29 -0300)]
[media] media: Add a function removing all links of a media entity
This function allows to remove all media entity's links to other
entities, leaving no references to a media entity's links array
at its remote entities.
Currently, when a driver of some entity is removed it will free its
media entities links[] array, leaving dangling pointers at other
entities that are part of same media graph. This is troublesome when
drivers of a media device entities are in separate kernel modules,
removing only some modules will leave others in an incorrect state.
This function is intended to be used when an entity is being
unregistered from a media device.
With an assumption that normally the media links should be created
between media entities registered to a media device, with the graph
mutex held.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Wed, 8 May 2013 17:24:14 +0000 (19:24 +0200)]
exynos4-is: Fix example dts in .../bindings/samsung-fimc.txt
The s5c73m3 sensor node should be off an I2C bus controller node.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Andrzej Hajda [Mon, 3 Jun 2013 08:16:13 +0000 (05:16 -0300)]
[media] media: Rename media_entity_remote_source to media_entity_remote_pad
Function media_entity_remote_source actually returns the remote pad to
the given one, regardless if this is the source or the sink pad.
Name media_entity_remote_pad is more adequate for this function.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Sylwester Nawrocki [Tue, 5 Feb 2013 11:19:19 +0000 (12:19 +0100)]
exynos4-is: Add csis parent clock setup
With this patch the driver will set "parent" clock as a parent
clock of "mux" clock. When the samsung clocks driver is reworked
to use new composite clock type, the "mux" clock can be removed.
"parent" clock should be set in relevant dtsi file and can be
overwritten in a board dts file. This way it is ensured the
SCLK_CSIS has correct parent clock set, and the parent clock
can be selected per each board if required.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Sylwester Nawrocki [Tue, 5 Feb 2013 10:16:10 +0000 (11:16 +0100)]
exynos4-is: Add fimc parent clock setup
With this patch the driver will set "parent" clock as a parent
clock of "mux" clock. When the samsung clocks driver is reworked
to use new composite clock type, the "mux" clock can be removed.
"parent" clock should be set in related dtsi file and can be
overwritten in a board dts file. This way it is ensured the
SCLK_FIMC clock has correct parent clock set, and the parent
clock can be selected per each board if required.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Sylwester Nawrocki [Fri, 19 Apr 2013 13:38:50 +0000 (15:38 +0200)]
drm/exynos: Remove MODULE_DEVICE_TABLE table from vidi driver
Currently there are multiple OF module_device_tables defined which
prevents building the whole driver as a module. The compiler error
is as below.
LD [M] drivers/gpu/drm/exynos/exynosdrm.o
drivers/gpu/drm/exynos/exynos_drm_vidi.o: In function `.LANCHOR0':
exynos_drm_vidi.c:(.rodata+0x26c): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/exynos/exynos_drm_fimd.o:exynos_drm_fimd.c:(.rodata+0x170): first defined here
/usr/bin/arm-linux-gnueabi-ld: Warning: size of symbol `__mod_of_device_table' changed from 588
in drivers/gpu/drm/exynos/exynos_drm_fimd.o to 392 in drivers/gpu/drm/exynos/exynos_drm_vidi.o
make[4]: *** [drivers/gpu/drm/exynos/exynosdrm.o] Error 1
Fix this by removing MODULE_DEVICE_TABLE(of,...) entry for the vidi driver,
leaving the one for FIMD driver.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Donghwa Lee [Thu, 18 Apr 2013 05:30:29 +0000 (14:30 +0900)]
video: display: panel-s6e8aa0: support others panel version configuration
existing driver only supports v32 and v142, but we have to support a large
variety of panel version. This patch is just workaround code.
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Jacek Anaszewski [Tue, 7 May 2013 10:41:39 +0000 (12:41 +0200)]
iio:ak8975 Implement data ready interrupt handling
Implement "data ready" interrupt handling in addition to the
two existing read modes - DRDY GPIO polling and ST1 register
DRDY bit polling.
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Jacek Anaszewski [Tue, 7 May 2013 10:41:38 +0000 (12:41 +0200)]
iio:ak8975 Add support for gpios DT property
Add support for parsing 'gpios' property when initializing
from oftree.
This patch adds also the binding documentation file.
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Sylwester Nawrocki [Thu, 11 Apr 2013 15:32:41 +0000 (17:32 +0200)]
ARM: dts: Update the wm1811 codec node in exynos4412-slp_pq.dts
Add required properties for the wm1811 codec node according
to the DT binding.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Fri, 5 Apr 2013 16:50:54 +0000 (18:50 +0200)]
ARM: dts: Update ISP clocks in exyno4x12.dtsi
Update fimc-is node clock properties to match changed div clocks
base index.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Lukasz Majewski [Fri, 5 Apr 2013 16:31:42 +0000 (18:31 +0200)]
ARM:clock:cpufreq: Correct MPLL clock and DTS binding
According to specification the mout_mpll_user_c clock shall be used instead
of sclk.
Moreover correct clock number (18) was assigned to mout_mpll_user_c.
It coply with ./Documentation/devicetree/bindings/clock/exynos4-clock.txt
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Jonghwa Lee [Fri, 5 Apr 2013 09:01:53 +0000 (18:01 +0900)]
power: max77693: Add kernel configuation of Max77693 charger
The patch 'power: max77693: Add max77693 charger driver.'
omitted CHARGER_MAX77693 kerenel configuration.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Jonghwa Lee [Fri, 5 Apr 2013 06:55:47 +0000 (15:55 +0900)]
mfd: max77686: Fix NULL pointer error of max77686 platform data.
If max77686 mfd driver gets the initial data from device tree,
dev->plat_data might be NULL. So, when sub devices want to get
parent platform data, it can get only NULL pointer even parent
mfd driver probed completely. So we need to re-initialize
dev->plat_data at end of parsing device tree.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Jonghwa Lee [Fri, 5 Apr 2013 06:48:47 +0000 (15:48 +0900)]
regulator: max77693: Support to parse data from device tree
This patch supports max77693 regulator driver to get a initial
data from device tree.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Jonghwa Lee [Tue, 2 Apr 2013 08:08:58 +0000 (17:08 +0900)]
power: max77693: Add max77693 charger dirver.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Jonghwa Lee [Fri, 5 Apr 2013 06:45:21 +0000 (15:45 +0900)]
mfd: max77693: Support device tree in max77693 mfd driver.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Jonghwa Lee [Fri, 5 Apr 2013 07:13:17 +0000 (16:13 +0900)]
dts: pq: Add max77693's initial data to pq's device tree.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Sylwester Nawrocki [Thu, 28 Mar 2013 20:29:23 +0000 (21:29 +0100)]
ARM: dts: Add missing clocks to fimc-is node in exynos4x12.dtsi
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 28 Mar 2013 14:28:55 +0000 (15:28 +0100)]
ARM: dts: Add clock properties to ISP I2C node in exynos4x12.dtsi
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Jacek Anaszewski [Tue, 2 Apr 2013 12:54:51 +0000 (14:54 +0200)]
ARM: dts: Add I2C bus and the device node for LPS331 sensor for PQ board
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Jacek Anaszewski [Fri, 29 Mar 2013 11:09:10 +0000 (12:09 +0100)]
ARM: dts: Add ak8975 device node for PQ/M0 board
This patch adds ak8975 magnetometer node and corresponding
i2c-gpio bus node for PQ/M0 board.
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Chanho Park [Wed, 27 Mar 2013 07:55:49 +0000 (16:55 +0900)]
packaging: add .spec file to generate kernel-headers
This patch is able to generate kernel-headers by GBS. I'll add build script
to generate a kernel binary.
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Tomasz Figa [Tue, 26 Mar 2013 13:54:56 +0000 (14:54 +0100)]
video: display: panel-s6d6aa1: Add support for suspend/resume
This patch adds suspend and resume callbacks to the driver to turn off
the display on suspend and turn it back on on resume if it was enabled
before.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Tue, 26 Mar 2013 13:52:33 +0000 (14:52 +0100)]
video: display: panel-s6e8aa0: Add support for suspend/resume
This patch adds suspend and resume callbacks to the driver to turn off
the display on suspend and turn it back on on resume if it was enabled
before.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 8 Feb 2013 13:57:03 +0000 (14:57 +0100)]
ARM: EXYNOS: Fix incorrect usage of S5P_ARM_CORE1_* registers
S5P_ARM_CORE1_* registers affect only core 1. To control further cores
properly another registers must be used.
This patch replaces S5P_ARM_CORE1_* register definitions with
S5P_ARM_CORE_*(x) macro which return addresses of registers for specified
core.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Wed, 20 Mar 2013 11:24:57 +0000 (12:24 +0100)]
ARM: dts: exynos4210-trats: Adjust regulator configuration
This patch modifies configuration of voltage regulators to match those
used in exynos-3.0-dev kernel.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Chanho Park [Fri, 22 Mar 2013 05:11:09 +0000 (14:11 +0900)]
ARM: dts: change mdma clock node of 4x12
A MDMA gate clock is controlled by CLK_GATE_IP_IMAGE. Its base address differs
4210 and 4x12. If we use a 4x12 board, we should use right clock node of mdma.
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Donghwa Lee [Thu, 21 Mar 2013 00:45:29 +0000 (09:45 +0900)]
ARM: DISPLAY: support suspend/resume for mipi dsi of DISPLAY CORE
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Chanho Park [Wed, 20 Mar 2013 11:47:51 +0000 (20:47 +0900)]
ARM: dts: exynos4412-redwood: Add menu key
This patch adds a node of menu key. The redwood has menu(home) key and its key
code is 139.
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Donghwa Lee [Wed, 20 Mar 2013 10:44:23 +0000 (19:44 +0900)]
ARM: i2c-s3c2410: register resume early function
register i2c-s3c2410 resume function earlier than other device.
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Tomasz Figa [Wed, 20 Feb 2013 18:41:00 +0000 (19:41 +0100)]
ARM: configs: Add tizen_defconfig
This patch adds a config which is made to work on Trats, SLP PQ, M0 and
Redwood targets with Tizen userspace.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Sylwester Nawrocki [Wed, 13 Mar 2013 18:28:36 +0000 (19:28 +0100)]
ARM: dts: exynos4: Make ISP I2C1 device node a child of fimc-is node
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Marek Szyprowski [Tue, 20 Aug 2013 11:39:37 +0000 (13:39 +0200)]
ARM: dts: exynos4: Move fimc-lite nodes to root level
There is no need for the fimc-lite nodes to be children of
fimc-is node. FIMC-LITE can work independently of the FIMC-IS.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Sylwester Nawrocki [Wed, 13 Mar 2013 16:45:31 +0000 (17:45 +0100)]
ARM: dts: exynos4: Add sysreg properties to fimc nodes
Through the "samsung,sysreg" property the driver can get a handle
to regmap instance exposing the SYSREG block registers.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Wed, 13 Mar 2013 12:30:19 +0000 (13:30 +0100)]
ARM: dts: Add SYSREG block node for Exynos4 SoC series
The sysreg node corresponds to SYSREG block registers. It is used
to instantiate the MFD syscon driver that exposes a regmap interface
for SYSREG registers.
Not the sysreg clock is not currently handled by the syscon driver
in any way.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Wed, 6 Feb 2013 17:34:42 +0000 (18:34 +0100)]
ARM: dts: exynos4: Update i2c-isp node in exynos4412-slp_pq.dts
Update compatible property and add pinctrl properties for ISP I2C1
device node.
ARM: dts: Add camera device nodes for PQ board
This patch adds all nodes for camera devices on an example Exynos4412 SoC
based board. This is all what's required in the board dts file to enable
rear facing camera (S5C73M3 sensor).
The aliases node contains entries required for the camera processing
data path entity drivers.
The sensor nodes use standard port/remote-endpoint nodes convention.
Internal SoC links between entities are not specified this way and
are coded in the driver instead.
The S5C73M3 sensor uses two control buses: I2C and SPI. There are
two, i2c_0 and spi_1 bus controller child nodes assigned to it.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Sylwester Nawrocki [Thu, 7 Mar 2013 14:08:22 +0000 (15:08 +0100)]
ARM: dts: PQ mipi-csis clock frequency correction
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 14 Mar 2013 18:28:27 +0000 (19:28 +0100)]
ARM: dts: Add detailed FIMC properties to exynos4210.dtsi
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Sun, 24 Feb 2013 21:14:06 +0000 (22:14 +0100)]
ARM: dts: Add detailed FIMC properties to exynos4x12.dtsi
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Wed, 13 Mar 2013 19:02:57 +0000 (20:02 +0100)]
sound: exynos4_wm1811: Disable suspend code for uninitialized AIF
Currently there is only AIF1 interface initialized in this driver.
Temporarily disable code that tries to suspend AIF2 until support
for this interface is added.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Andrzej Hajda [Mon, 11 Mar 2013 13:26:30 +0000 (14:26 +0100)]
ARM: dts: exynos: re-enabled ISP power domain
ISP power domain could be enabled after fixing
ISP clock flags in previous commit.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Sylwester Nawrocki [Tue, 12 Mar 2013 17:00:46 +0000 (18:00 +0100)]
m5mols: Fix regulator_enable() errors handling
This fixes following compilation warning:
drivers/media/i2c/m5mols/m5mols_core.c: In function ‘m5mols_sensor_power’:
drivers/media/i2c/m5mols/m5mols_core.c:754: warning: array subscript is above array bounds
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Tue, 26 Feb 2013 15:54:27 +0000 (16:54 +0100)]
ARM: dts: Add pmu subnode for Exynos4 fimc-is device
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Tue, 26 Feb 2013 16:40:10 +0000 (17:40 +0100)]
ARM: dts: Move isp-i2c node to root level
There is no need for the ISP I2C controller nodes to be children
of the fimc-is node. The I2C controllers could be also used as
standalone devices, without relation to FIMC-IS.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Fri, 1 Mar 2013 18:22:32 +0000 (19:22 +0100)]
ARM: dts: Add audio device nodes for PQ board
This patch adds wm1811 codec, I2S0 and the sound device nodes.
TODO:
- regulator definitions may need to be corrected.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Mon, 4 Mar 2013 16:49:37 +0000 (17:49 +0100)]
sound: Add exynos4/wm1811 machine driver
TODO:
- complete bindings documentation,
- enable remaining audio interfaces (Voice, Bluetooth,
Secondary DAI).
Signed-off-by: KwangHui Cho <kwanghui.cho@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Tue, 5 Mar 2013 16:40:41 +0000 (17:40 +0100)]
mfd: wm8994-irq: Enable initialization with NULL platform_data
Interrupts are disabled, until the FIFO error interrupt flooding
issue is resolved.
TODO: Add proper support for device tree based initialization.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Andrzej Hajda [Tue, 5 Mar 2013 09:10:28 +0000 (10:10 +0100)]
ARM: dts: exynos4412-redwood: added rear camera support
Added:
- camera node,
- fimc nodes,
- csis_0 node,
- camera regulators,
- s5c73m3 node.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 15:03:12 +0000 (16:03 +0100)]
ARM: dts: exynos4412-slp_pq: Add physical display size properties
This patch adds physical size properties to panel node.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 15:03:00 +0000 (16:03 +0100)]
ARM: dts: exynos4412-redwood: Add physical display size properties
This patch adds physical size properties to panel node.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 14:27:59 +0000 (15:27 +0100)]
ARM: dts: exynos4210-trats: Add physical display size properties
This patch adds physical size properties to panel node.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 14:27:05 +0000 (15:27 +0100)]
gpu: drm: exynos: fimd: Parse display physical size from DT
This patch adds a temporary solution for getting physical display size
from device tree by parsing driver-specific properties in display node.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 14:25:55 +0000 (15:25 +0100)]
gpu: drm: exynos: fimd: Fix parsing video mode from incorrect DT node
This patch fixes the driver to parse video mode from display node
received by parsing samsung,fimd-display phandle, falling back
to parsing from fimd node only if no display phandle is specified.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 14:24:46 +0000 (15:24 +0100)]
ARM: dts: exynos4210-trats: Add node for max17042 battery fuel gauge
This patch adds device tree node for max17042 battery fuel gauge present
on Trats board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 1 Mar 2013 14:22:45 +0000 (15:22 +0100)]
power: max8997-charger: Fix getting platform data
This patch fixes incorrect way of getting platform data, which should be
read from MFD private data structure instead.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 19:06:13 +0000 (20:06 +0100)]
cpufreq: Make ARM_EXYNOS*_CPUFREQ depend on ARM_EXYNOS_CPUFREQ
This patch adds dependency on ARM_EXYNOS_CPUFREQ to particular SoC
drivers to avoid compilation errors when ARM_EXYNOS_CPUFREQ is disabled.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 18:42:59 +0000 (19:42 +0100)]
ARM: dts: exynos4210-trats: Add nodes for audio hardware
This patch adds nodes for audio hardware present on Trats board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 18:42:08 +0000 (19:42 +0100)]
ARM: dts: exynos4210-trats: Add LDO1 regulator node
This patch adds missing node for LDO1 regulator required by audio
components.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 18:41:30 +0000 (19:41 +0100)]
sound: soc: samsung: Add Trats platform audio driver
This patch adds ASoC platform glue driver for Trats board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 18:38:05 +0000 (19:38 +0100)]
sound: soc: codecs: Import Yamaha YMU823 (MC1N2) codec driver
This patch adds initial version of Yamaha YMU823 (MC1N2) codec driver
ported for Linux 3.8 and Device Tree.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 17:57:07 +0000 (18:57 +0100)]
ARM: dts: exynos4: Add clkout Device Tree node
This patch adds device tree node for CLKOUT clock controller (part of
Exynos 4 PMU block).
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 17:53:27 +0000 (18:53 +0100)]
clk: samsung: exynos4: Add support for CLKOUT
This patch adds the ability to control gating and muxing of CLKOUT
signal through common clock routines.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 28 Feb 2013 17:48:54 +0000 (18:48 +0100)]
sound: samsung: i2s: Correct I2S clock handling
Moving to Common Clock Framework introduced the need to configure clock
hierarchy and rates in driver.
This patch reworks clock handling in samsung-i2s driver to meet this
requirement.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Sylwester Nawrocki [Thu, 21 Feb 2013 14:58:27 +0000 (15:58 +0100)]
ARM: dts: Add Exynos Audio Subsystem clock controller node
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Sylwester Nawrocki [Thu, 21 Feb 2013 14:54:19 +0000 (15:54 +0100)]
regulator: wm8994: Enable device tree based driver matching
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 21 Feb 2013 20:23:42 +0000 (21:23 +0100)]
clk: Add Exynos Audio Subsystem clocks driver
TODO: gate clocks.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Sylwester Nawrocki [Thu, 21 Feb 2013 14:23:39 +0000 (15:23 +0100)]
ARM: dts: Add I2S device nodes for Exynos4 SoCs
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Sylwester Nawrocki [Fri, 15 Feb 2013 17:55:41 +0000 (18:55 +0100)]
ARM: dts: Use generic DMA bindings for Exynos4 SPI devices
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 14 Feb 2013 17:33:26 +0000 (18:33 +0100)]
ASoC: samsung: Add pinctrl support to I2S driver
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Fri, 10 May 2013 13:16:07 +0000 (15:16 +0200)]
ARM: dts: exynos4210-trats: add s5k5baf sensor support
Added:
- i2c-gpio bus for the sensor,
- required regulators,
- MIPI-CSIS1 node,
- sensor node.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 27 Feb 2013 13:34:40 +0000 (14:34 +0100)]
m5mols: added device tree support
The only property required by m5mols is "gpios",
which should contain specification of reset GPIO.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 27 Feb 2013 12:26:29 +0000 (13:26 +0100)]
m5mols: device initialization moved to V4L2 registered callback
Since parent media device controls camera clock
device initialization must be performed in registered callback.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 27 Feb 2013 11:32:39 +0000 (12:32 +0100)]
m5mols: improved power on routine
1. Regulators are enabled sequentially.
2. Added 1ms delay after GPIO reset.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Andrzej Hajda [Wed, 13 Feb 2013 14:33:06 +0000 (15:33 +0100)]
ARM: dts: added trats m5mols camera support
The patch adds:
- m5mols camera node,
- csis0 node,
- m5mols camera fixed regulators.
Additionally all fixed regulators are moved to regulators node.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Andrzej Hajda [Wed, 27 Feb 2013 09:36:38 +0000 (10:36 +0100)]
ARM: dts: added cam_port_a to exynos4210 pinctrl
Patch adds cam_port a to exynos4210.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Thomas Abraham [Wed, 27 Feb 2013 09:13:06 +0000 (10:13 +0100)]
ARM: dts: add mshc controller node for Exynos4x12 SoCs
Commit
cea0f256 ("ARM: dts: Add board dts file for ODROID-X") includes a node
to describe the board level properties for mshc controller. But the mshc
controller node was not added in the Exynos4x12 dtsi file which resulted
in the following warning when compiling the dtb files.
Warning (reg_format): "reg" property in /mshc@
12550000/slot@0 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value for /mshc@
12550000/slot@0
Warning (avoid_default_addr_size): Relying on default #size-cells value for /mshc@
12550000/slot@0
Fix this by adding the mshc controller node for Exynos4x12 SoCs.
Cc: Dongjin Kim <tobetter@gmail.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
[s.nawrocki: resolved merge conflict]
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Tested-by: Dongjin Kim <tobetter@gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tomasz Figa [Thu, 21 Feb 2013 15:23:39 +0000 (16:23 +0100)]
ARM: dts: exynos4412-redwood: Add gpu node for ARM Mali 400
This patch adds gpu node with board-specific properties and status
override to enable G3D on Redwood board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Wed, 20 Feb 2013 09:59:43 +0000 (10:59 +0100)]
ARM: dts: exynos4210-trats: Add gpu node for ARM Mali 400
This patch adds gpu node with board-specific properties and status
override to enable G3D on Trats board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Wed, 20 Feb 2013 09:57:42 +0000 (10:57 +0100)]
ARM: dts: exynos4210-trats: Add G3D voltage regulator
This patch adds G3D voltage regulator, which is needed for voltage
scaling in Mali driver, to PMIC node.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 14 Feb 2013 11:25:47 +0000 (12:25 +0100)]
ARM: dts: exynos4412-slp_pq: Add gpu node for ARM Mali 400
This patch adds gpu node with board-specific properties and status
override to enable G3D on SLP_PQ board.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Thu, 14 Feb 2013 11:24:07 +0000 (12:24 +0100)]
ARM: dts: exynos4: Add gpu node for ARM Mali 400
This patch adds gpu node to exynos4 dtsi with properties common for all
Exynos4 SoCs.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 10 May 2013 17:11:22 +0000 (19:11 +0200)]
gpu: arm: mali400: mali: Add exynos4 platform code
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 10 May 2013 17:10:17 +0000 (19:10 +0200)]
gpu: arm: mali400: Add support for Device Tree
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Tomasz Figa [Fri, 10 May 2013 17:06:39 +0000 (19:06 +0200)]
gpu: arm: mali400: ump: Remove call to flush_all_cpu_caches()
This function is not available anymore in Linux 3.8.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>