* [PATCH 0/2] DRM: ARC: add HDMI 2.0 TX encoder support @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: devicetree, David Airlie, Maarten Lankhorst, linux-kernel, Maxime Ripard, Rob Herring, Daniel Vetter, linux-snps-arc, Eugeniy Paltsev Eugeniy Paltsev (2): DRM: ARC: add HDMI 2.0 TX encoder support dt-bindings: Document the Synopsys ARC HDMI TX bindings .../display/bridge/snps,arc-dw-hdmi.txt | 73 ++++++++++ MAINTAINERS | 6 + drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/arc/Kconfig | 7 + drivers/gpu/drm/arc/Makefile | 1 + drivers/gpu/drm/arc/arc-dw-hdmi.c | 126 ++++++++++++++++++ 6 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt create mode 100644 drivers/gpu/drm/arc/arc-dw-hdmi.c -- 2.21.1 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/2] DRM: ARC: add HDMI 2.0 TX encoder support @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: devicetree, David Airlie, linux-kernel, Rob Herring, linux-snps-arc, Eugeniy Paltsev Eugeniy Paltsev (2): DRM: ARC: add HDMI 2.0 TX encoder support dt-bindings: Document the Synopsys ARC HDMI TX bindings .../display/bridge/snps,arc-dw-hdmi.txt | 73 ++++++++++ MAINTAINERS | 6 + drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/arc/Kconfig | 7 + drivers/gpu/drm/arc/Makefile | 1 + drivers/gpu/drm/arc/arc-dw-hdmi.c | 126 ++++++++++++++++++ 6 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt create mode 100644 drivers/gpu/drm/arc/arc-dw-hdmi.c -- 2.21.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/2] DRM: ARC: add HDMI 2.0 TX encoder support @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: linux-snps-arc, linux-kernel, David Airlie, Daniel Vetter, Maarten Lankhorst, Maxime Ripard, devicetree, Rob Herring, Eugeniy Paltsev Eugeniy Paltsev (2): DRM: ARC: add HDMI 2.0 TX encoder support dt-bindings: Document the Synopsys ARC HDMI TX bindings .../display/bridge/snps,arc-dw-hdmi.txt | 73 ++++++++++ MAINTAINERS | 6 + drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/arc/Kconfig | 7 + drivers/gpu/drm/arc/Makefile | 1 + drivers/gpu/drm/arc/arc-dw-hdmi.c | 126 ++++++++++++++++++ 6 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt create mode 100644 drivers/gpu/drm/arc/arc-dw-hdmi.c -- 2.21.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/2] DRM: ARC: add HDMI 2.0 TX encoder support 2020-03-16 14:46 ` Eugeniy Paltsev (?) @ 2020-03-16 14:46 ` Eugeniy Paltsev -1 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: devicetree, David Airlie, Maarten Lankhorst, linux-kernel, Maxime Ripard, Rob Herring, Daniel Vetter, linux-snps-arc, Eugeniy Paltsev The Synopsys ARC SoCs (like HSDK4xD) include on-chip DesignWare HDMI encoders. Support them with a platform driver to provide platform glue data to the dw-hdmi driver. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> --- MAINTAINERS | 6 ++ drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/arc/Kconfig | 7 ++ drivers/gpu/drm/arc/Makefile | 1 + drivers/gpu/drm/arc/arc-dw-hdmi.c | 126 ++++++++++++++++++++++++++++++ 5 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/arc/arc-dw-hdmi.c diff --git a/MAINTAINERS b/MAINTAINERS index a6fbdf354d34..a6dd992c5f95 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1258,6 +1258,12 @@ S: Supported F: drivers/gpu/drm/arc/ F: Documentation/devicetree/bindings/display/snps,arcpgu.txt +ARC DW HDMI DRIVER +M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> +S: Supported +F: drivers/gpu/drm/arc/arc-dw-hdmi.c +F: Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt + ARCNET NETWORK LAYER M: Michael Grzeschik <m.grzeschik@pengutronix.de> L: netdev@vger.kernel.org diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 6493088a0fdd..5b0bcf7f45cd 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -109,7 +109,7 @@ obj-y += panel/ obj-y += bridge/ obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ -obj-$(CONFIG_DRM_ARCPGU)+= arc/ +obj-y += arc/ obj-y += hisilicon/ obj-$(CONFIG_DRM_ZTE) += zte/ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ diff --git a/drivers/gpu/drm/arc/Kconfig b/drivers/gpu/drm/arc/Kconfig index e8f3d63e0b91..baec9d2a4fba 100644 --- a/drivers/gpu/drm/arc/Kconfig +++ b/drivers/gpu/drm/arc/Kconfig @@ -8,3 +8,10 @@ config DRM_ARCPGU Choose this option if you have an ARC PGU controller. If M is selected the module will be called arcpgu. + +config DRM_ARC_DW_HDMI + tristate "ARC DW HDMI" + depends on DRM && OF + select DRM_DW_HDMI + help + Synopsys DW HDMI driver for various ARC development boards diff --git a/drivers/gpu/drm/arc/Makefile b/drivers/gpu/drm/arc/Makefile index c7028b7427b3..7a156d8c2c3c 100644 --- a/drivers/gpu/drm/arc/Makefile +++ b/drivers/gpu/drm/arc/Makefile @@ -1,3 +1,4 @@ # SPDX-License-Identifier: GPL-2.0-only arcpgu-y := arcpgu_crtc.o arcpgu_hdmi.o arcpgu_sim.o arcpgu_drv.o obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o +obj-$(CONFIG_DRM_ARC_DW_HDMI) += arc-dw-hdmi.o diff --git a/drivers/gpu/drm/arc/arc-dw-hdmi.c b/drivers/gpu/drm/arc/arc-dw-hdmi.c new file mode 100644 index 000000000000..4869dd668a51 --- /dev/null +++ b/drivers/gpu/drm/arc/arc-dw-hdmi.c @@ -0,0 +1,126 @@ +// SPDX-License-Identifier: GPL-2.0+ +// +// Synopsys DW HDMI driver for various ARC development boards +// +// Copyright (C) 2020 Synopsys +// Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> + +#include <linux/component.h> +#include <linux/module.h> +#include <linux/platform_device.h> +#include <linux/regmap.h> +#include <drm/bridge/dw_hdmi.h> +#include <drm/drm_crtc_helper.h> +#include <drm/drm_edid.h> +#include <drm/drm_encoder_slave.h> +#include <drm/drm_of.h> + +static const struct dw_hdmi_mpll_config snps_hdmi_mpll_cfg[] = { + { + 27000000, { + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 } + }, + }, { + 74250000, { + { 0x0072, 0x0001}, + { 0x0072, 0x0001}, + { 0x0072, 0x0001} + }, + }, { + 148500000, { + { 0x0051, 0x0002}, + { 0x0051, 0x0002}, + { 0x0051, 0x0002} + }, + }, { + ~0UL, { + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + }, + } +}; + +static const struct dw_hdmi_curr_ctrl snps_hdmi_cur_ctr[] = { + /* pixelclk bpp8 bpp10 bpp12 */ + { 27000000, { 0x0000, 0x0000, 0x0000 }, }, + { 74250000, { 0x0008, 0x0008, 0x0008 }, }, + { 148500000, { 0x001b, 0x001b, 0x001b }, }, + { ~0UL, { 0x0000, 0x0000, 0x0000 }, } +}; + + +static const struct dw_hdmi_phy_config snps_hdmi_phy_config[] = { + /* pixelclk symbol term vlev */ + { 27000000, 0x8009, 0x0004, 0x0232}, + { 74250000, 0x8009, 0x0004, 0x0232}, + { 148500000, 0x8009, 0x0004, 0x0232}, + { ~0UL, 0x8009, 0x0004, 0x0232} +}; + +static enum drm_mode_status snps_dw_hdmi_mode_valid(struct drm_connector *con, + const struct drm_display_mode *mode) +{ + return MODE_OK; +} + +static struct dw_hdmi_plat_data snps_dw_hdmi_drv_data = { + .mpll_cfg = snps_hdmi_mpll_cfg, + .cur_ctr = snps_hdmi_cur_ctr, + .phy_config = snps_hdmi_phy_config, + .mode_valid = snps_dw_hdmi_mode_valid, +}; + +static const struct of_device_id snps_dw_hdmi_dt_ids[] = { + { + .compatible = "snps,dw-hdmi-hsdk", + .data = &snps_dw_hdmi_drv_data + }, { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, snps_dw_hdmi_dt_ids); + +static int snps_dw_hdmi_probe(struct platform_device *pdev) +{ + const struct dw_hdmi_plat_data *plat_data; + const struct of_device_id *match; + struct dw_hdmi *hdmi; + + if (!pdev->dev.of_node) + return -ENODEV; + + match = of_match_node(snps_dw_hdmi_dt_ids, pdev->dev.of_node); + plat_data = match->data; + + hdmi = dw_hdmi_probe(pdev, plat_data); + if (IS_ERR(hdmi)) + return PTR_ERR(hdmi); + + platform_set_drvdata(pdev, hdmi); + + return 0; +} + +static int snps_dw_hdmi_remove(struct platform_device *pdev) +{ + struct dw_hdmi *hdmi = platform_get_drvdata(pdev); + + dw_hdmi_remove(hdmi); + + return 0; +} + +static struct platform_driver snps_dw_hdmi_platform_driver = { + .probe = snps_dw_hdmi_probe, + .remove = snps_dw_hdmi_remove, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = snps_dw_hdmi_dt_ids, + }, +}; +module_platform_driver(snps_dw_hdmi_platform_driver); + +MODULE_LICENSE("GPL v2"); +MODULE_DESCRIPTION("ARC specific DW-HDMI driver extension"); +MODULE_AUTHOR("Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>"); -- 2.21.1 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/2] DRM: ARC: add HDMI 2.0 TX encoder support @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: devicetree, David Airlie, linux-kernel, Rob Herring, linux-snps-arc, Eugeniy Paltsev The Synopsys ARC SoCs (like HSDK4xD) include on-chip DesignWare HDMI encoders. Support them with a platform driver to provide platform glue data to the dw-hdmi driver. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> --- MAINTAINERS | 6 ++ drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/arc/Kconfig | 7 ++ drivers/gpu/drm/arc/Makefile | 1 + drivers/gpu/drm/arc/arc-dw-hdmi.c | 126 ++++++++++++++++++++++++++++++ 5 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/arc/arc-dw-hdmi.c diff --git a/MAINTAINERS b/MAINTAINERS index a6fbdf354d34..a6dd992c5f95 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1258,6 +1258,12 @@ S: Supported F: drivers/gpu/drm/arc/ F: Documentation/devicetree/bindings/display/snps,arcpgu.txt +ARC DW HDMI DRIVER +M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> +S: Supported +F: drivers/gpu/drm/arc/arc-dw-hdmi.c +F: Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt + ARCNET NETWORK LAYER M: Michael Grzeschik <m.grzeschik@pengutronix.de> L: netdev@vger.kernel.org diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 6493088a0fdd..5b0bcf7f45cd 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -109,7 +109,7 @@ obj-y += panel/ obj-y += bridge/ obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ -obj-$(CONFIG_DRM_ARCPGU)+= arc/ +obj-y += arc/ obj-y += hisilicon/ obj-$(CONFIG_DRM_ZTE) += zte/ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ diff --git a/drivers/gpu/drm/arc/Kconfig b/drivers/gpu/drm/arc/Kconfig index e8f3d63e0b91..baec9d2a4fba 100644 --- a/drivers/gpu/drm/arc/Kconfig +++ b/drivers/gpu/drm/arc/Kconfig @@ -8,3 +8,10 @@ config DRM_ARCPGU Choose this option if you have an ARC PGU controller. If M is selected the module will be called arcpgu. + +config DRM_ARC_DW_HDMI + tristate "ARC DW HDMI" + depends on DRM && OF + select DRM_DW_HDMI + help + Synopsys DW HDMI driver for various ARC development boards diff --git a/drivers/gpu/drm/arc/Makefile b/drivers/gpu/drm/arc/Makefile index c7028b7427b3..7a156d8c2c3c 100644 --- a/drivers/gpu/drm/arc/Makefile +++ b/drivers/gpu/drm/arc/Makefile @@ -1,3 +1,4 @@ # SPDX-License-Identifier: GPL-2.0-only arcpgu-y := arcpgu_crtc.o arcpgu_hdmi.o arcpgu_sim.o arcpgu_drv.o obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o +obj-$(CONFIG_DRM_ARC_DW_HDMI) += arc-dw-hdmi.o diff --git a/drivers/gpu/drm/arc/arc-dw-hdmi.c b/drivers/gpu/drm/arc/arc-dw-hdmi.c new file mode 100644 index 000000000000..4869dd668a51 --- /dev/null +++ b/drivers/gpu/drm/arc/arc-dw-hdmi.c @@ -0,0 +1,126 @@ +// SPDX-License-Identifier: GPL-2.0+ +// +// Synopsys DW HDMI driver for various ARC development boards +// +// Copyright (C) 2020 Synopsys +// Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> + +#include <linux/component.h> +#include <linux/module.h> +#include <linux/platform_device.h> +#include <linux/regmap.h> +#include <drm/bridge/dw_hdmi.h> +#include <drm/drm_crtc_helper.h> +#include <drm/drm_edid.h> +#include <drm/drm_encoder_slave.h> +#include <drm/drm_of.h> + +static const struct dw_hdmi_mpll_config snps_hdmi_mpll_cfg[] = { + { + 27000000, { + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 } + }, + }, { + 74250000, { + { 0x0072, 0x0001}, + { 0x0072, 0x0001}, + { 0x0072, 0x0001} + }, + }, { + 148500000, { + { 0x0051, 0x0002}, + { 0x0051, 0x0002}, + { 0x0051, 0x0002} + }, + }, { + ~0UL, { + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + }, + } +}; + +static const struct dw_hdmi_curr_ctrl snps_hdmi_cur_ctr[] = { + /* pixelclk bpp8 bpp10 bpp12 */ + { 27000000, { 0x0000, 0x0000, 0x0000 }, }, + { 74250000, { 0x0008, 0x0008, 0x0008 }, }, + { 148500000, { 0x001b, 0x001b, 0x001b }, }, + { ~0UL, { 0x0000, 0x0000, 0x0000 }, } +}; + + +static const struct dw_hdmi_phy_config snps_hdmi_phy_config[] = { + /* pixelclk symbol term vlev */ + { 27000000, 0x8009, 0x0004, 0x0232}, + { 74250000, 0x8009, 0x0004, 0x0232}, + { 148500000, 0x8009, 0x0004, 0x0232}, + { ~0UL, 0x8009, 0x0004, 0x0232} +}; + +static enum drm_mode_status snps_dw_hdmi_mode_valid(struct drm_connector *con, + const struct drm_display_mode *mode) +{ + return MODE_OK; +} + +static struct dw_hdmi_plat_data snps_dw_hdmi_drv_data = { + .mpll_cfg = snps_hdmi_mpll_cfg, + .cur_ctr = snps_hdmi_cur_ctr, + .phy_config = snps_hdmi_phy_config, + .mode_valid = snps_dw_hdmi_mode_valid, +}; + +static const struct of_device_id snps_dw_hdmi_dt_ids[] = { + { + .compatible = "snps,dw-hdmi-hsdk", + .data = &snps_dw_hdmi_drv_data + }, { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, snps_dw_hdmi_dt_ids); + +static int snps_dw_hdmi_probe(struct platform_device *pdev) +{ + const struct dw_hdmi_plat_data *plat_data; + const struct of_device_id *match; + struct dw_hdmi *hdmi; + + if (!pdev->dev.of_node) + return -ENODEV; + + match = of_match_node(snps_dw_hdmi_dt_ids, pdev->dev.of_node); + plat_data = match->data; + + hdmi = dw_hdmi_probe(pdev, plat_data); + if (IS_ERR(hdmi)) + return PTR_ERR(hdmi); + + platform_set_drvdata(pdev, hdmi); + + return 0; +} + +static int snps_dw_hdmi_remove(struct platform_device *pdev) +{ + struct dw_hdmi *hdmi = platform_get_drvdata(pdev); + + dw_hdmi_remove(hdmi); + + return 0; +} + +static struct platform_driver snps_dw_hdmi_platform_driver = { + .probe = snps_dw_hdmi_probe, + .remove = snps_dw_hdmi_remove, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = snps_dw_hdmi_dt_ids, + }, +}; +module_platform_driver(snps_dw_hdmi_platform_driver); + +MODULE_LICENSE("GPL v2"); +MODULE_DESCRIPTION("ARC specific DW-HDMI driver extension"); +MODULE_AUTHOR("Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>"); -- 2.21.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/2] DRM: ARC: add HDMI 2.0 TX encoder support @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: linux-snps-arc, linux-kernel, David Airlie, Daniel Vetter, Maarten Lankhorst, Maxime Ripard, devicetree, Rob Herring, Eugeniy Paltsev The Synopsys ARC SoCs (like HSDK4xD) include on-chip DesignWare HDMI encoders. Support them with a platform driver to provide platform glue data to the dw-hdmi driver. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> --- MAINTAINERS | 6 ++ drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/arc/Kconfig | 7 ++ drivers/gpu/drm/arc/Makefile | 1 + drivers/gpu/drm/arc/arc-dw-hdmi.c | 126 ++++++++++++++++++++++++++++++ 5 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/arc/arc-dw-hdmi.c diff --git a/MAINTAINERS b/MAINTAINERS index a6fbdf354d34..a6dd992c5f95 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1258,6 +1258,12 @@ S: Supported F: drivers/gpu/drm/arc/ F: Documentation/devicetree/bindings/display/snps,arcpgu.txt +ARC DW HDMI DRIVER +M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> +S: Supported +F: drivers/gpu/drm/arc/arc-dw-hdmi.c +F: Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt + ARCNET NETWORK LAYER M: Michael Grzeschik <m.grzeschik@pengutronix.de> L: netdev@vger.kernel.org diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 6493088a0fdd..5b0bcf7f45cd 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -109,7 +109,7 @@ obj-y += panel/ obj-y += bridge/ obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ -obj-$(CONFIG_DRM_ARCPGU)+= arc/ +obj-y += arc/ obj-y += hisilicon/ obj-$(CONFIG_DRM_ZTE) += zte/ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ diff --git a/drivers/gpu/drm/arc/Kconfig b/drivers/gpu/drm/arc/Kconfig index e8f3d63e0b91..baec9d2a4fba 100644 --- a/drivers/gpu/drm/arc/Kconfig +++ b/drivers/gpu/drm/arc/Kconfig @@ -8,3 +8,10 @@ config DRM_ARCPGU Choose this option if you have an ARC PGU controller. If M is selected the module will be called arcpgu. + +config DRM_ARC_DW_HDMI + tristate "ARC DW HDMI" + depends on DRM && OF + select DRM_DW_HDMI + help + Synopsys DW HDMI driver for various ARC development boards diff --git a/drivers/gpu/drm/arc/Makefile b/drivers/gpu/drm/arc/Makefile index c7028b7427b3..7a156d8c2c3c 100644 --- a/drivers/gpu/drm/arc/Makefile +++ b/drivers/gpu/drm/arc/Makefile @@ -1,3 +1,4 @@ # SPDX-License-Identifier: GPL-2.0-only arcpgu-y := arcpgu_crtc.o arcpgu_hdmi.o arcpgu_sim.o arcpgu_drv.o obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o +obj-$(CONFIG_DRM_ARC_DW_HDMI) += arc-dw-hdmi.o diff --git a/drivers/gpu/drm/arc/arc-dw-hdmi.c b/drivers/gpu/drm/arc/arc-dw-hdmi.c new file mode 100644 index 000000000000..4869dd668a51 --- /dev/null +++ b/drivers/gpu/drm/arc/arc-dw-hdmi.c @@ -0,0 +1,126 @@ +// SPDX-License-Identifier: GPL-2.0+ +// +// Synopsys DW HDMI driver for various ARC development boards +// +// Copyright (C) 2020 Synopsys +// Author: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> + +#include <linux/component.h> +#include <linux/module.h> +#include <linux/platform_device.h> +#include <linux/regmap.h> +#include <drm/bridge/dw_hdmi.h> +#include <drm/drm_crtc_helper.h> +#include <drm/drm_edid.h> +#include <drm/drm_encoder_slave.h> +#include <drm/drm_of.h> + +static const struct dw_hdmi_mpll_config snps_hdmi_mpll_cfg[] = { + { + 27000000, { + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 } + }, + }, { + 74250000, { + { 0x0072, 0x0001}, + { 0x0072, 0x0001}, + { 0x0072, 0x0001} + }, + }, { + 148500000, { + { 0x0051, 0x0002}, + { 0x0051, 0x0002}, + { 0x0051, 0x0002} + }, + }, { + ~0UL, { + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + { 0x00B3, 0x0000 }, + }, + } +}; + +static const struct dw_hdmi_curr_ctrl snps_hdmi_cur_ctr[] = { + /* pixelclk bpp8 bpp10 bpp12 */ + { 27000000, { 0x0000, 0x0000, 0x0000 }, }, + { 74250000, { 0x0008, 0x0008, 0x0008 }, }, + { 148500000, { 0x001b, 0x001b, 0x001b }, }, + { ~0UL, { 0x0000, 0x0000, 0x0000 }, } +}; + + +static const struct dw_hdmi_phy_config snps_hdmi_phy_config[] = { + /* pixelclk symbol term vlev */ + { 27000000, 0x8009, 0x0004, 0x0232}, + { 74250000, 0x8009, 0x0004, 0x0232}, + { 148500000, 0x8009, 0x0004, 0x0232}, + { ~0UL, 0x8009, 0x0004, 0x0232} +}; + +static enum drm_mode_status snps_dw_hdmi_mode_valid(struct drm_connector *con, + const struct drm_display_mode *mode) +{ + return MODE_OK; +} + +static struct dw_hdmi_plat_data snps_dw_hdmi_drv_data = { + .mpll_cfg = snps_hdmi_mpll_cfg, + .cur_ctr = snps_hdmi_cur_ctr, + .phy_config = snps_hdmi_phy_config, + .mode_valid = snps_dw_hdmi_mode_valid, +}; + +static const struct of_device_id snps_dw_hdmi_dt_ids[] = { + { + .compatible = "snps,dw-hdmi-hsdk", + .data = &snps_dw_hdmi_drv_data + }, { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, snps_dw_hdmi_dt_ids); + +static int snps_dw_hdmi_probe(struct platform_device *pdev) +{ + const struct dw_hdmi_plat_data *plat_data; + const struct of_device_id *match; + struct dw_hdmi *hdmi; + + if (!pdev->dev.of_node) + return -ENODEV; + + match = of_match_node(snps_dw_hdmi_dt_ids, pdev->dev.of_node); + plat_data = match->data; + + hdmi = dw_hdmi_probe(pdev, plat_data); + if (IS_ERR(hdmi)) + return PTR_ERR(hdmi); + + platform_set_drvdata(pdev, hdmi); + + return 0; +} + +static int snps_dw_hdmi_remove(struct platform_device *pdev) +{ + struct dw_hdmi *hdmi = platform_get_drvdata(pdev); + + dw_hdmi_remove(hdmi); + + return 0; +} + +static struct platform_driver snps_dw_hdmi_platform_driver = { + .probe = snps_dw_hdmi_probe, + .remove = snps_dw_hdmi_remove, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = snps_dw_hdmi_dt_ids, + }, +}; +module_platform_driver(snps_dw_hdmi_platform_driver); + +MODULE_LICENSE("GPL v2"); +MODULE_DESCRIPTION("ARC specific DW-HDMI driver extension"); +MODULE_AUTHOR("Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>"); -- 2.21.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings 2020-03-16 14:46 ` Eugeniy Paltsev (?) @ 2020-03-16 14:46 ` Eugeniy Paltsev -1 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: devicetree, David Airlie, Maarten Lankhorst, linux-kernel, Maxime Ripard, Rob Herring, Daniel Vetter, linux-snps-arc, Eugeniy Paltsev This patch adds documentation of device tree bindings for the Synopsys HDMI 2.0 TX encoder driver for ARC SoCs. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> --- .../display/bridge/snps,arc-dw-hdmi.txt | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt new file mode 100644 index 000000000000..d5e006b392cc --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt @@ -0,0 +1,73 @@ +Synopsys DesignWare HDMI 2.0 TX encoder driver for ARC SoCs +================================ + +The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP +with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP. + +These DT bindings follow the Synopsys DWC HDMI TX bindings defined in +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt +with the following device-specific properties. + + +Required properties: + +- compatible : Shall contain + - "snps,dw-hdmi-hsdk" for HSDK4xD compatible HDMI TX + +- reg: See dw_hdmi.txt. +- interrupts: HDMI interrupt number. +- clocks: See dw_hdmi.txt. +- clock-names: Must contain "iahb" and "isfr" as defined in dw_hdmi.txt. +- ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 + corresponding to the video input of the controller and one port numbered 1 + corresponding to its HDMI output. + +Example: + +hdmi: hdmi@0x10000 { + compatible = "snps,dw-hdmi-hsdk"; + reg = <0x10000 0x10000>; + reg-io-width = <4>; + interrupts = <14>; + clocks = <&apbclk>, <&hdmi_pix_clk>; + clock-names = "iahb", "isfr"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + hdmi_enc_input: endpoint { + remote-endpoint = <&pgu_output>; + }; + }; + + port@1 { + reg = <1>; + hdmi_enc_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; +}; + +hdmi-out { + ... + + port { + hdmi_con: endpoint { + remote-endpoint = <&hdmi_enc_out>; + }; + }; +}; + +pgu { + ... + + port_o: port { + pgu_output: endpoint { + remote-endpoint = <&hdmi_enc_input>; + }; + }; +}; -- 2.21.1 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: devicetree, David Airlie, linux-kernel, Rob Herring, linux-snps-arc, Eugeniy Paltsev This patch adds documentation of device tree bindings for the Synopsys HDMI 2.0 TX encoder driver for ARC SoCs. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> --- .../display/bridge/snps,arc-dw-hdmi.txt | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt new file mode 100644 index 000000000000..d5e006b392cc --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt @@ -0,0 +1,73 @@ +Synopsys DesignWare HDMI 2.0 TX encoder driver for ARC SoCs +================================ + +The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP +with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP. + +These DT bindings follow the Synopsys DWC HDMI TX bindings defined in +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt +with the following device-specific properties. + + +Required properties: + +- compatible : Shall contain + - "snps,dw-hdmi-hsdk" for HSDK4xD compatible HDMI TX + +- reg: See dw_hdmi.txt. +- interrupts: HDMI interrupt number. +- clocks: See dw_hdmi.txt. +- clock-names: Must contain "iahb" and "isfr" as defined in dw_hdmi.txt. +- ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 + corresponding to the video input of the controller and one port numbered 1 + corresponding to its HDMI output. + +Example: + +hdmi: hdmi@0x10000 { + compatible = "snps,dw-hdmi-hsdk"; + reg = <0x10000 0x10000>; + reg-io-width = <4>; + interrupts = <14>; + clocks = <&apbclk>, <&hdmi_pix_clk>; + clock-names = "iahb", "isfr"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + hdmi_enc_input: endpoint { + remote-endpoint = <&pgu_output>; + }; + }; + + port@1 { + reg = <1>; + hdmi_enc_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; +}; + +hdmi-out { + ... + + port { + hdmi_con: endpoint { + remote-endpoint = <&hdmi_enc_out>; + }; + }; +}; + +pgu { + ... + + port_o: port { + pgu_output: endpoint { + remote-endpoint = <&hdmi_enc_input>; + }; + }; +}; -- 2.21.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings @ 2020-03-16 14:46 ` Eugeniy Paltsev 0 siblings, 0 replies; 12+ messages in thread From: Eugeniy Paltsev @ 2020-03-16 14:46 UTC (permalink / raw) To: dri-devel, Alexey Brodkin Cc: linux-snps-arc, linux-kernel, David Airlie, Daniel Vetter, Maarten Lankhorst, Maxime Ripard, devicetree, Rob Herring, Eugeniy Paltsev This patch adds documentation of device tree bindings for the Synopsys HDMI 2.0 TX encoder driver for ARC SoCs. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> --- .../display/bridge/snps,arc-dw-hdmi.txt | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt new file mode 100644 index 000000000000..d5e006b392cc --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt @@ -0,0 +1,73 @@ +Synopsys DesignWare HDMI 2.0 TX encoder driver for ARC SoCs +================================ + +The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP +with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP. + +These DT bindings follow the Synopsys DWC HDMI TX bindings defined in +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt +with the following device-specific properties. + + +Required properties: + +- compatible : Shall contain + - "snps,dw-hdmi-hsdk" for HSDK4xD compatible HDMI TX + +- reg: See dw_hdmi.txt. +- interrupts: HDMI interrupt number. +- clocks: See dw_hdmi.txt. +- clock-names: Must contain "iahb" and "isfr" as defined in dw_hdmi.txt. +- ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 + corresponding to the video input of the controller and one port numbered 1 + corresponding to its HDMI output. + +Example: + +hdmi: hdmi@0x10000 { + compatible = "snps,dw-hdmi-hsdk"; + reg = <0x10000 0x10000>; + reg-io-width = <4>; + interrupts = <14>; + clocks = <&apbclk>, <&hdmi_pix_clk>; + clock-names = "iahb", "isfr"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + hdmi_enc_input: endpoint { + remote-endpoint = <&pgu_output>; + }; + }; + + port@1 { + reg = <1>; + hdmi_enc_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; +}; + +hdmi-out { + ... + + port { + hdmi_con: endpoint { + remote-endpoint = <&hdmi_enc_out>; + }; + }; +}; + +pgu { + ... + + port_o: port { + pgu_output: endpoint { + remote-endpoint = <&hdmi_enc_input>; + }; + }; +}; -- 2.21.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings 2020-03-16 14:46 ` Eugeniy Paltsev (?) @ 2020-03-16 15:05 ` Sam Ravnborg -1 siblings, 0 replies; 12+ messages in thread From: Sam Ravnborg @ 2020-03-16 15:05 UTC (permalink / raw) To: Eugeniy Paltsev Cc: devicetree, David Airlie, Alexey Brodkin, linux-kernel, dri-devel, Rob Herring, linux-snps-arc Hi Eugeniy. On Mon, Mar 16, 2020 at 05:46:47PM +0300, Eugeniy Paltsev wrote: > This patch adds documentation of device tree bindings for the Synopsys > HDMI 2.0 TX encoder driver for ARC SoCs. > > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > --- > .../display/bridge/snps,arc-dw-hdmi.txt | 73 +++++++++++++++++++ New bindings in DT Schema format please (.yaml files). We are working on migrating all bindings to DT Schema format. Sam > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > > diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > new file mode 100644 > index 000000000000..d5e006b392cc > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > @@ -0,0 +1,73 @@ > +Synopsys DesignWare HDMI 2.0 TX encoder driver for ARC SoCs > +================================ > + > +The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP > +with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP. > + > +These DT bindings follow the Synopsys DWC HDMI TX bindings defined in > +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt > +with the following device-specific properties. > + > + > +Required properties: > + > +- compatible : Shall contain > + - "snps,dw-hdmi-hsdk" for HSDK4xD compatible HDMI TX > + > +- reg: See dw_hdmi.txt. > +- interrupts: HDMI interrupt number. > +- clocks: See dw_hdmi.txt. > +- clock-names: Must contain "iahb" and "isfr" as defined in dw_hdmi.txt. > +- ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 > + corresponding to the video input of the controller and one port numbered 1 > + corresponding to its HDMI output. > + > +Example: > + > +hdmi: hdmi@0x10000 { > + compatible = "snps,dw-hdmi-hsdk"; > + reg = <0x10000 0x10000>; > + reg-io-width = <4>; > + interrupts = <14>; > + clocks = <&apbclk>, <&hdmi_pix_clk>; > + clock-names = "iahb", "isfr"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + hdmi_enc_input: endpoint { > + remote-endpoint = <&pgu_output>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + hdmi_enc_out: endpoint { > + remote-endpoint = <&hdmi_con>; > + }; > + }; > + }; > +}; > + > +hdmi-out { > + ... > + > + port { > + hdmi_con: endpoint { > + remote-endpoint = <&hdmi_enc_out>; > + }; > + }; > +}; > + > +pgu { > + ... > + > + port_o: port { > + pgu_output: endpoint { > + remote-endpoint = <&hdmi_enc_input>; > + }; > + }; > +}; > -- > 2.21.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings @ 2020-03-16 15:05 ` Sam Ravnborg 0 siblings, 0 replies; 12+ messages in thread From: Sam Ravnborg @ 2020-03-16 15:05 UTC (permalink / raw) To: Eugeniy Paltsev Cc: devicetree, David Airlie, Alexey Brodkin, linux-kernel, dri-devel, Rob Herring, linux-snps-arc Hi Eugeniy. On Mon, Mar 16, 2020 at 05:46:47PM +0300, Eugeniy Paltsev wrote: > This patch adds documentation of device tree bindings for the Synopsys > HDMI 2.0 TX encoder driver for ARC SoCs. > > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > --- > .../display/bridge/snps,arc-dw-hdmi.txt | 73 +++++++++++++++++++ New bindings in DT Schema format please (.yaml files). We are working on migrating all bindings to DT Schema format. Sam > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > > diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > new file mode 100644 > index 000000000000..d5e006b392cc > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > @@ -0,0 +1,73 @@ > +Synopsys DesignWare HDMI 2.0 TX encoder driver for ARC SoCs > +================================ > + > +The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP > +with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP. > + > +These DT bindings follow the Synopsys DWC HDMI TX bindings defined in > +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt > +with the following device-specific properties. > + > + > +Required properties: > + > +- compatible : Shall contain > + - "snps,dw-hdmi-hsdk" for HSDK4xD compatible HDMI TX > + > +- reg: See dw_hdmi.txt. > +- interrupts: HDMI interrupt number. > +- clocks: See dw_hdmi.txt. > +- clock-names: Must contain "iahb" and "isfr" as defined in dw_hdmi.txt. > +- ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 > + corresponding to the video input of the controller and one port numbered 1 > + corresponding to its HDMI output. > + > +Example: > + > +hdmi: hdmi@0x10000 { > + compatible = "snps,dw-hdmi-hsdk"; > + reg = <0x10000 0x10000>; > + reg-io-width = <4>; > + interrupts = <14>; > + clocks = <&apbclk>, <&hdmi_pix_clk>; > + clock-names = "iahb", "isfr"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + hdmi_enc_input: endpoint { > + remote-endpoint = <&pgu_output>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + hdmi_enc_out: endpoint { > + remote-endpoint = <&hdmi_con>; > + }; > + }; > + }; > +}; > + > +hdmi-out { > + ... > + > + port { > + hdmi_con: endpoint { > + remote-endpoint = <&hdmi_enc_out>; > + }; > + }; > +}; > + > +pgu { > + ... > + > + port_o: port { > + pgu_output: endpoint { > + remote-endpoint = <&hdmi_enc_input>; > + }; > + }; > +}; > -- > 2.21.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings @ 2020-03-16 15:05 ` Sam Ravnborg 0 siblings, 0 replies; 12+ messages in thread From: Sam Ravnborg @ 2020-03-16 15:05 UTC (permalink / raw) To: Eugeniy Paltsev Cc: dri-devel, Alexey Brodkin, devicetree, David Airlie, linux-kernel, Rob Herring, linux-snps-arc Hi Eugeniy. On Mon, Mar 16, 2020 at 05:46:47PM +0300, Eugeniy Paltsev wrote: > This patch adds documentation of device tree bindings for the Synopsys > HDMI 2.0 TX encoder driver for ARC SoCs. > > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > --- > .../display/bridge/snps,arc-dw-hdmi.txt | 73 +++++++++++++++++++ New bindings in DT Schema format please (.yaml files). We are working on migrating all bindings to DT Schema format. Sam > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > > diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > new file mode 100644 > index 000000000000..d5e006b392cc > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.txt > @@ -0,0 +1,73 @@ > +Synopsys DesignWare HDMI 2.0 TX encoder driver for ARC SoCs > +================================ > + > +The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP > +with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP. > + > +These DT bindings follow the Synopsys DWC HDMI TX bindings defined in > +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt > +with the following device-specific properties. > + > + > +Required properties: > + > +- compatible : Shall contain > + - "snps,dw-hdmi-hsdk" for HSDK4xD compatible HDMI TX > + > +- reg: See dw_hdmi.txt. > +- interrupts: HDMI interrupt number. > +- clocks: See dw_hdmi.txt. > +- clock-names: Must contain "iahb" and "isfr" as defined in dw_hdmi.txt. > +- ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 > + corresponding to the video input of the controller and one port numbered 1 > + corresponding to its HDMI output. > + > +Example: > + > +hdmi: hdmi@0x10000 { > + compatible = "snps,dw-hdmi-hsdk"; > + reg = <0x10000 0x10000>; > + reg-io-width = <4>; > + interrupts = <14>; > + clocks = <&apbclk>, <&hdmi_pix_clk>; > + clock-names = "iahb", "isfr"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + hdmi_enc_input: endpoint { > + remote-endpoint = <&pgu_output>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + hdmi_enc_out: endpoint { > + remote-endpoint = <&hdmi_con>; > + }; > + }; > + }; > +}; > + > +hdmi-out { > + ... > + > + port { > + hdmi_con: endpoint { > + remote-endpoint = <&hdmi_enc_out>; > + }; > + }; > +}; > + > +pgu { > + ... > + > + port_o: port { > + pgu_output: endpoint { > + remote-endpoint = <&hdmi_enc_input>; > + }; > + }; > +}; > -- > 2.21.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-03-16 15:08 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-03-16 14:46 [PATCH 0/2] DRM: ARC: add HDMI 2.0 TX encoder support Eugeniy Paltsev 2020-03-16 14:46 ` Eugeniy Paltsev 2020-03-16 14:46 ` Eugeniy Paltsev 2020-03-16 14:46 ` [PATCH 1/2] " Eugeniy Paltsev 2020-03-16 14:46 ` Eugeniy Paltsev 2020-03-16 14:46 ` Eugeniy Paltsev 2020-03-16 14:46 ` [PATCH 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings Eugeniy Paltsev 2020-03-16 14:46 ` Eugeniy Paltsev 2020-03-16 14:46 ` Eugeniy Paltsev 2020-03-16 15:05 ` Sam Ravnborg 2020-03-16 15:05 ` Sam Ravnborg 2020-03-16 15:05 ` Sam Ravnborg
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.