diff mbox series

phy: exynos-mipi-video: Add support for NXP i.MX8MM

Message ID 20201003225020.164358-1-marex@denx.de
State New
Headers show
Series phy: exynos-mipi-video: Add support for NXP i.MX8MM | expand

Commit Message

Marek Vasut Oct. 3, 2020, 10:50 p.m. UTC
This patch adds support for MIPI DPHY found in NXP i.MX8MM.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Abel Vesa <abel.vesa@nxp.com>
Cc: Dong Aisheng <aisheng.dong@nxp.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Guido Günther <agx@sigxcpu.org>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-samsung-soc@vger.kernel.org
Cc: devicetree@vger.kernel.org
---
 .../devicetree/bindings/phy/samsung-phy.txt   |  7 ++++---
 drivers/phy/samsung/Kconfig                   |  6 +++---
 drivers/phy/samsung/phy-exynos-mipi-video.c   | 21 +++++++++++++++++++
 3 files changed, 28 insertions(+), 6 deletions(-)

Comments

Marek Szyprowski Oct. 5, 2020, 4:46 a.m. UTC | #1
On 04.10.2020 00:50, Marek Vasut wrote:
> This patch adds support for MIPI DPHY found in NXP i.MX8MM.

>

> Signed-off-by: Marek Vasut <marex@denx.de>

> Cc: Abel Vesa <abel.vesa@nxp.com>

> Cc: Dong Aisheng <aisheng.dong@nxp.com>

> Cc: Fabio Estevam <festevam@gmail.com>

> Cc: Guido Günther <agx@sigxcpu.org>

> Cc: Jaehoon Chung <jh80.chung@samsung.com>

> Cc: Lucas Stach <l.stach@pengutronix.de>

> Cc: Marek Szyprowski <m.szyprowski@samsung.com>

> Cc: NXP Linux Team <linux-imx@nxp.com>

> Cc: Rob Herring <robh+dt@kernel.org>

> Cc: Shawn Guo <shawnguo@kernel.org>

> Cc: linux-samsung-soc@vger.kernel.org

> Cc: devicetree@vger.kernel.org


Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>


> ---

>   .../devicetree/bindings/phy/samsung-phy.txt   |  7 ++++---

>   drivers/phy/samsung/Kconfig                   |  6 +++---

>   drivers/phy/samsung/phy-exynos-mipi-video.c   | 21 +++++++++++++++++++

>   3 files changed, 28 insertions(+), 6 deletions(-)

>

> diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt

> index 7510830a79bd..7b9dc361ab0c 100644

> --- a/Documentation/devicetree/bindings/phy/samsung-phy.txt

> +++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt

> @@ -1,14 +1,15 @@

> -Samsung S5P/Exynos SoC series MIPI CSIS/DSIM DPHY

> --------------------------------------------------

> +Samsung S5P/Exynos and NXP i.MX8MM SoC series MIPI CSIS/DSIM DPHY

> +-----------------------------------------------------------------

>   

>   Required properties:

>   - compatible : should be one of the listed compatibles:

>   	- "samsung,s5pv210-mipi-video-phy"

>   	- "samsung,exynos5420-mipi-video-phy"

>   	- "samsung,exynos5433-mipi-video-phy"

> +	- "fsl,imx8mm-mipi-video-phy"

>   - #phy-cells : from the generic phy bindings, must be 1;

>   

> -In case of s5pv210 and exynos5420 compatible PHYs:

> +In case of s5pv210, exynos5420, imx8mm compatible PHYs:

>   - syscon - phandle to the PMU system controller

>   

>   In case of exynos5433 compatible PHY:

> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig

> index e20d2fcc9fe7..342b75f6e4f6 100644

> --- a/drivers/phy/samsung/Kconfig

> +++ b/drivers/phy/samsung/Kconfig

> @@ -12,14 +12,14 @@ config PHY_EXYNOS_DP_VIDEO

>   	  Support for Display Port PHY found on Samsung Exynos SoCs.

>   

>   config PHY_EXYNOS_MIPI_VIDEO

> -	tristate "S5P/Exynos SoC series MIPI CSI-2/DSI PHY driver"

> +	tristate "S5P/Exynos/i.MX8MM SoC series MIPI CSI-2/DSI PHY driver"

>   	depends on HAS_IOMEM

> -	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST

> +	depends on ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MXC || COMPILE_TEST

>   	select GENERIC_PHY

>   	default y if ARCH_S5PV210 || ARCH_EXYNOS

>   	help

>   	  Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P

> -	  and Exynos SoCs.

> +	  and Exynos SoCs, and on NXP i.MX8MM SoCs.

>   

>   config PHY_EXYNOS_PCIE

>   	bool "Exynos PCIe PHY driver"

> diff --git a/drivers/phy/samsung/phy-exynos-mipi-video.c b/drivers/phy/samsung/phy-exynos-mipi-video.c

> index c1df1ef3ee3c..b735b8089cd7 100644

> --- a/drivers/phy/samsung/phy-exynos-mipi-video.c

> +++ b/drivers/phy/samsung/phy-exynos-mipi-video.c

> @@ -214,6 +214,24 @@ static const struct mipi_phy_device_desc exynos5433_mipi_phy = {

>   	},

>   };

>   

> +static const struct mipi_phy_device_desc imx8mm_mipi_phy = {

> +	.num_regmaps = 1,

> +	.regmap_names = {"syscon"},

> +	.num_phys = 1,

> +	.phys = {

> +		{

> +			/* EXYNOS_MIPI_PHY_ID_DSIM0 */

> +			.coupled_phy_id = EXYNOS_MIPI_PHY_ID_NONE,

> +			.enable_val = BIT(17),

> +			.enable_reg = 8,

> +			.enable_map = EXYNOS_MIPI_REGMAP_PMU,

> +			.resetn_val = BIT(5),

> +			.resetn_reg = 0,

> +			.resetn_map = EXYNOS_MIPI_REGMAP_PMU,

> +		},

> +	},

> +};

> +

>   struct exynos_mipi_video_phy {

>   	struct regmap *regmaps[EXYNOS_MIPI_REGMAPS_NUM];

>   	int num_phys;

> @@ -349,6 +367,9 @@ static const struct of_device_id exynos_mipi_video_phy_of_match[] = {

>   	}, {

>   		.compatible = "samsung,exynos5433-mipi-video-phy",

>   		.data = &exynos5433_mipi_phy,

> +	}, {

> +		.compatible = "fsl,imx8mm-mipi-video-phy",

> +		.data = &imx8mm_mipi_phy,

>   	},

>   	{ /* sentinel */ },

>   };


Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Rob Herring (Arm) Oct. 6, 2020, 9:16 p.m. UTC | #2
On Sun, 04 Oct 2020 00:50:19 +0200, Marek Vasut wrote:
> This patch adds support for MIPI DPHY found in NXP i.MX8MM.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Abel Vesa <abel.vesa@nxp.com>
> Cc: Dong Aisheng <aisheng.dong@nxp.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Guido Günther <agx@sigxcpu.org>
> Cc: Jaehoon Chung <jh80.chung@samsung.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> ---
>  .../devicetree/bindings/phy/samsung-phy.txt   |  7 ++++---
>  drivers/phy/samsung/Kconfig                   |  6 +++---
>  drivers/phy/samsung/phy-exynos-mipi-video.c   | 21 +++++++++++++++++++
>  3 files changed, 28 insertions(+), 6 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt
index 7510830a79bd..7b9dc361ab0c 100644
--- a/Documentation/devicetree/bindings/phy/samsung-phy.txt
+++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt
@@ -1,14 +1,15 @@ 
-Samsung S5P/Exynos SoC series MIPI CSIS/DSIM DPHY
--------------------------------------------------
+Samsung S5P/Exynos and NXP i.MX8MM SoC series MIPI CSIS/DSIM DPHY
+-----------------------------------------------------------------
 
 Required properties:
 - compatible : should be one of the listed compatibles:
 	- "samsung,s5pv210-mipi-video-phy"
 	- "samsung,exynos5420-mipi-video-phy"
 	- "samsung,exynos5433-mipi-video-phy"
+	- "fsl,imx8mm-mipi-video-phy"
 - #phy-cells : from the generic phy bindings, must be 1;
 
-In case of s5pv210 and exynos5420 compatible PHYs:
+In case of s5pv210, exynos5420, imx8mm compatible PHYs:
 - syscon - phandle to the PMU system controller
 
 In case of exynos5433 compatible PHY:
diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
index e20d2fcc9fe7..342b75f6e4f6 100644
--- a/drivers/phy/samsung/Kconfig
+++ b/drivers/phy/samsung/Kconfig
@@ -12,14 +12,14 @@  config PHY_EXYNOS_DP_VIDEO
 	  Support for Display Port PHY found on Samsung Exynos SoCs.
 
 config PHY_EXYNOS_MIPI_VIDEO
-	tristate "S5P/Exynos SoC series MIPI CSI-2/DSI PHY driver"
+	tristate "S5P/Exynos/i.MX8MM SoC series MIPI CSI-2/DSI PHY driver"
 	depends on HAS_IOMEM
-	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
+	depends on ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MXC || COMPILE_TEST
 	select GENERIC_PHY
 	default y if ARCH_S5PV210 || ARCH_EXYNOS
 	help
 	  Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
-	  and Exynos SoCs.
+	  and Exynos SoCs, and on NXP i.MX8MM SoCs.
 
 config PHY_EXYNOS_PCIE
 	bool "Exynos PCIe PHY driver"
diff --git a/drivers/phy/samsung/phy-exynos-mipi-video.c b/drivers/phy/samsung/phy-exynos-mipi-video.c
index c1df1ef3ee3c..b735b8089cd7 100644
--- a/drivers/phy/samsung/phy-exynos-mipi-video.c
+++ b/drivers/phy/samsung/phy-exynos-mipi-video.c
@@ -214,6 +214,24 @@  static const struct mipi_phy_device_desc exynos5433_mipi_phy = {
 	},
 };
 
+static const struct mipi_phy_device_desc imx8mm_mipi_phy = {
+	.num_regmaps = 1,
+	.regmap_names = {"syscon"},
+	.num_phys = 1,
+	.phys = {
+		{
+			/* EXYNOS_MIPI_PHY_ID_DSIM0 */
+			.coupled_phy_id = EXYNOS_MIPI_PHY_ID_NONE,
+			.enable_val = BIT(17),
+			.enable_reg = 8,
+			.enable_map = EXYNOS_MIPI_REGMAP_PMU,
+			.resetn_val = BIT(5),
+			.resetn_reg = 0,
+			.resetn_map = EXYNOS_MIPI_REGMAP_PMU,
+		},
+	},
+};
+
 struct exynos_mipi_video_phy {
 	struct regmap *regmaps[EXYNOS_MIPI_REGMAPS_NUM];
 	int num_phys;
@@ -349,6 +367,9 @@  static const struct of_device_id exynos_mipi_video_phy_of_match[] = {
 	}, {
 		.compatible = "samsung,exynos5433-mipi-video-phy",
 		.data = &exynos5433_mipi_phy,
+	}, {
+		.compatible = "fsl,imx8mm-mipi-video-phy",
+		.data = &imx8mm_mipi_phy,
 	},
 	{ /* sentinel */ },
 };