]> git.baikalelectronics.ru Git - kernel.git/commit
phy: exynos-video-mipi: Fix regression by adding support for PMU regmap
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Fri, 16 Jan 2015 17:30:37 +0000 (18:30 +0100)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 30 Jan 2015 10:36:48 +0000 (16:06 +0530)
commit3f982b80144b1059ebdd9ac78226a3881a9bfa35
treeb95d215c79ce0d6d620155ca3f38f729c6a5cbfd
parentd15c6c8d0525848cc723ff3846c508773565c188
phy: exynos-video-mipi: Fix regression by adding support for PMU regmap

After the Exynos Power Management Unit (PMU) driver was converted
to the platform device driver in commit a362bd1f4d555dc4b3b4b1f55
("ARM: EXYNOS: Add platform driver support for Exynos PMU") and
then PMU device nodes added to Exynos4 DTs in commit
ea33b63541ef6e6e1688 ("ARM: dts: add PMU syscon node for exynos4")
the mipi video phy driver started failing probing, due to overlapping
memory mapped register region resources.

Now all the Exynos peripheral devices which have registers in the PMU
region are supposed to use the regmap provided by the syscon driver.
So support for regmap is added in this patch, this unfortunately
creates yet another indirection into that supposedly trivial driver.

The additional mutex is required because single register is used by
PHY pairs (they share bit in a register). An improvement here could
be to allow a PHY instance be created with a driver custom mutex,
which would then be common for each PHY pair. This would eliminate
one of 3 mutexes which need to be taken in the phy_power_on/
phy_power_off code path. However, I tried to keep this bug fix patch
possibly simple.

This change is needed to make MIPI DSI displays and MIPI CSI-2
camera sensors working again on Exynos4 boards.

Cc: Pankaj Dubey <pankaj.dubey@samsung.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Documentation/devicetree/bindings/phy/samsung-phy.txt
drivers/phy/phy-exynos-mipi-video.c
include/linux/mfd/syscon/exynos4-pmu.h [new file with mode: 0644]