Re: [PATCH] phy: exynos-mipi-video: Add support for NXP i.MX8MM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>
> Cc: Abel Vesa <abel.vesa@xxxxxxx>
> Cc: Dong Aisheng <aisheng.dong@xxxxxxx>
> Cc: Fabio Estevam <festevam@xxxxxxxxx>
> Cc: Guido Günther <agx@xxxxxxxxxxx>
> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> Cc: NXP Linux Team <linux-imx@xxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Shawn Guo <shawnguo@xxxxxxxxxx>
> Cc: linux-samsung-soc@xxxxxxxxxxxxxxx
> Cc: devicetree@xxxxxxxxxxxxxxx

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

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




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux