summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWenlong Zhuang <daisen.zhuang@rock-chips.com>2018-09-30 16:55:42 +0800
committerTao Huang <huangtao@rock-chips.com>2018-11-02 10:44:23 +0800
commit44799d26ce36f6f1c10b15e742bb33476b2755ed (patch)
tree359b9e2378120d93fabf41c53213fd97b1c3d9f2
parent573f0547a89be335652d76b0d6e0f66ab63d576c (diff)
phy: rockchip: mipi-dphy-rx: move MIPI RX DPHY drivers to phy directory
This driver supports MIPI RX DPHY with Synopsys or Innosilicon IP block. It is also a v4l2 subdev driver. Also select PHY_ROCKCHIP_MIPI_RX when VIDEO_ROCKCHIP_ISP1 or VIDEO_ROCKCHIP_CIF is enabled. Change-Id: I6d828c9e506f03d4a530d80ab8419f5cddeff7d7 Signed-off-by: Wenlong Zhuang <daisen.zhuang@rock-chips.com>
-rw-r--r--drivers/media/platform/rockchip/cif/Kconfig1
-rw-r--r--drivers/media/platform/rockchip/isp1/Kconfig10
-rw-r--r--drivers/media/platform/rockchip/isp1/Makefile1
-rw-r--r--drivers/phy/rockchip/Kconfig8
-rw-r--r--drivers/phy/rockchip/Makefile1
-rw-r--r--drivers/phy/rockchip/phy-rockchip-mipi-rx.c (renamed from drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c)28
6 files changed, 25 insertions, 24 deletions
diff --git a/drivers/media/platform/rockchip/cif/Kconfig b/drivers/media/platform/rockchip/cif/Kconfig
index b38f3e79c669..019cb33fde57 100644
--- a/drivers/media/platform/rockchip/cif/Kconfig
+++ b/drivers/media/platform/rockchip/cif/Kconfig
@@ -6,6 +6,7 @@ config VIDEO_ROCKCHIP_CIF
depends on MEDIA_CAMERA_SUPPORT
select VIDEOBUF2_DMA_CONTIG
select V4L2_FWNODE
+ select PHY_ROCKCHIP_MIPI_RX
default n
help
Support for CIF on the rockchip SoCs like rk312x, rk3288.
diff --git a/drivers/media/platform/rockchip/isp1/Kconfig b/drivers/media/platform/rockchip/isp1/Kconfig
index a2f654bc2fa8..5637cc758cc5 100644
--- a/drivers/media/platform/rockchip/isp1/Kconfig
+++ b/drivers/media/platform/rockchip/isp1/Kconfig
@@ -6,15 +6,7 @@ config VIDEO_ROCKCHIP_ISP1
select VIDEOBUF2_DMA_CONTIG
select VIDEOBUF2_VMALLOC
select V4L2_FWNODE
- select VIDEO_ROCKCHIP_ISP_DPHY_SY
+ select PHY_ROCKCHIP_MIPI_RX
default n
help
Support for ISP1 on the rockchip SoC.
-
-config VIDEO_ROCKCHIP_ISP_DPHY_SY
- tristate "Rockchip Image Signal Processing v1 Dphy driver"
- depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
- depends on ARCH_ROCKCHIP || COMPILE_TEST
- default n
- help
- Support for ISP MIPI Synopsys DPHY on the rockchip SoC.
diff --git a/drivers/media/platform/rockchip/isp1/Makefile b/drivers/media/platform/rockchip/isp1/Makefile
index d698660ac500..5fe250336de9 100644
--- a/drivers/media/platform/rockchip/isp1/Makefile
+++ b/drivers/media/platform/rockchip/isp1/Makefile
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1) += video_rkisp1.o
-obj-$(CONFIG_VIDEO_ROCKCHIP_ISP_DPHY_SY) += mipi_dphy_sy.o
video_rkisp1-objs += rkisp1.o \
dev.o \
diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
index 2a10513b6b85..612362ddf339 100644
--- a/drivers/phy/rockchip/Kconfig
+++ b/drivers/phy/rockchip/Kconfig
@@ -51,6 +51,14 @@ config PHY_ROCKCHIP_DP
help
Enable this to support the Rockchip Display Port PHY.
+config PHY_ROCKCHIP_MIPI_RX
+ tristate "Rockchip MIPI RX D-PHY Driver"
+ depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
+ depends on ARCH_ROCKCHIP && OF
+ select GENERIC_PHY
+ help
+ Enable this to support the Rockchip MIPI D-PHY with Synopsys or Innosilicon IP block.
+
config PHY_ROCKCHIP_INNO_MIPI_DPHY
tristate "Rockchip INNO MIPI D-PHY Driver"
depends on ARCH_ROCKCHIP && OF
diff --git a/drivers/phy/rockchip/Makefile b/drivers/phy/rockchip/Makefile
index 7e8db07d435a..1ff9984133dd 100644
--- a/drivers/phy/rockchip/Makefile
+++ b/drivers/phy/rockchip/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o
obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB3) += phy-rockchip-inno-usb3.o
obj-$(CONFIG_PHY_ROCKCHIP_INNO_MIPI_DPHY) += phy-rockchip-inno-mipi-dphy.o
obj-$(CONFIG_PHY_ROCKCHIP_INNO_HDMI_PHY) += phy-rockchip-inno-hdmi-phy.o
+obj-$(CONFIG_PHY_ROCKCHIP_MIPI_RX) += phy-rockchip-mipi-rx.o
obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o
obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o
obj-$(CONFIG_PHY_ROCKCHIP_TYPEC) += phy-rockchip-typec.o
diff --git a/drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c b/drivers/phy/rockchip/phy-rockchip-mipi-rx.c
index d615e7cafb0e..937b3544cfe4 100644
--- a/drivers/media/platform/rockchip/isp1/mipi_dphy_sy.c
+++ b/drivers/phy/rockchip/phy-rockchip-mipi-rx.c
@@ -1,5 +1,5 @@
/*
- * Rockchip MIPI Synopsys DPHY driver
+ * Rockchip MIPI RX Synopsys/Innosilicon DPHY driver
*
* Copyright (C) 2017 Fuzhou Rockchip Electronics Co., Ltd.
*
@@ -134,10 +134,10 @@
#define HIWORD_UPDATE(val, mask, shift) \
((val) << (shift) | (mask) << ((shift) + 16))
-enum mipi_dphy_sy_pads {
- MIPI_DPHY_SY_PAD_SINK = 0,
- MIPI_DPHY_SY_PAD_SOURCE,
- MIPI_DPHY_SY_PADS_NUM,
+enum mipi_dphy_rx_pads {
+ MIPI_DPHY_RX_PAD_SINK = 0,
+ MIPI_DPHY_RX_PAD_SOURCE,
+ MIPI_DPHY_RX_PADS_NUM,
};
enum dphy_reg_id {
@@ -387,7 +387,7 @@ struct mipidphy_priv {
u64 data_rate_mbps;
struct v4l2_async_notifier notifier;
struct v4l2_subdev sd;
- struct media_pad pads[MIPI_DPHY_SY_PADS_NUM];
+ struct media_pad pads[MIPI_DPHY_RX_PADS_NUM];
struct mipidphy_sensor sensors[MAX_DPHY_SENSORS];
int num_sensors;
bool is_streaming;
@@ -505,7 +505,7 @@ static struct v4l2_subdev *get_remote_sensor(struct v4l2_subdev *sd)
struct media_pad *local, *remote;
struct media_entity *sensor_me;
- local = &sd->entity.pads[MIPI_DPHY_SY_PAD_SINK];
+ local = &sd->entity.pads[MIPI_DPHY_RX_PAD_SINK];
remote = media_entity_remote_pad(local);
if (!remote) {
v4l2_warn(sd, "No link between dphy and sensor\n");
@@ -1122,7 +1122,7 @@ rockchip_mipidphy_notifier_bound(struct v4l2_async_notifier *notifier,
ret = media_entity_create_link(
&sensor->sd->entity, pad,
- &priv->sd.entity, MIPI_DPHY_SY_PAD_SINK,
+ &priv->sd.entity, MIPI_DPHY_RX_PAD_SINK,
priv->num_sensors != 1 ? 0 : MEDIA_LNK_FL_ENABLED);
if (ret) {
dev_err(priv->dev,
@@ -1200,13 +1200,13 @@ static int rockchip_mipidphy_media_init(struct mipidphy_priv *priv)
{
int ret;
- priv->pads[MIPI_DPHY_SY_PAD_SOURCE].flags =
+ priv->pads[MIPI_DPHY_RX_PAD_SOURCE].flags =
MEDIA_PAD_FL_SOURCE | MEDIA_PAD_FL_MUST_CONNECT;
- priv->pads[MIPI_DPHY_SY_PAD_SINK].flags =
+ priv->pads[MIPI_DPHY_RX_PAD_SINK].flags =
MEDIA_PAD_FL_SINK | MEDIA_PAD_FL_MUST_CONNECT;
ret = media_entity_init(&priv->sd.entity,
- MIPI_DPHY_SY_PADS_NUM, priv->pads, 0);
+ MIPI_DPHY_RX_PADS_NUM, priv->pads, 0);
if (ret < 0)
return ret;
@@ -1292,7 +1292,7 @@ static int rockchip_mipidphy_probe(struct platform_device *pdev)
sd = &priv->sd;
v4l2_subdev_init(sd, &mipidphy_subdev_ops);
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
- snprintf(sd->name, sizeof(sd->name), "rockchip-sy-mipi-dphy");
+ snprintf(sd->name, sizeof(sd->name), "rockchip-mipi-dphy-rx");
sd->dev = dev;
platform_set_drvdata(pdev, &sd->entity);
@@ -1328,7 +1328,7 @@ static struct platform_driver rockchip_isp_mipidphy_driver = {
.probe = rockchip_mipidphy_probe,
.remove = rockchip_mipidphy_remove,
.driver = {
- .name = "rockchip-sy-mipi-dphy",
+ .name = "rockchip-mipi-dphy-rx",
.pm = &rockchip_mipidphy_pm_ops,
.of_match_table = rockchip_mipidphy_match_id,
},
@@ -1336,5 +1336,5 @@ static struct platform_driver rockchip_isp_mipidphy_driver = {
module_platform_driver(rockchip_isp_mipidphy_driver);
MODULE_AUTHOR("Rockchip Camera/ISP team");
-MODULE_DESCRIPTION("Rockchip MIPI DPHY driver");
+MODULE_DESCRIPTION("Rockchip MIPI RX DPHY driver");
MODULE_LICENSE("Dual BSD/GPL");