aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch186
1 files changed, 0 insertions, 186 deletions
diff --git a/target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch b/target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch
deleted file mode 100644
index c84b119a4f..0000000000
--- a/target/linux/layerscape/patches-5.4/805-display-0014-drm-ls1028a-Add-DP-driver-support-for-LS1028A.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 06e912bd821b21d9360a75cde2d78b03f17a5872 Mon Sep 17 00:00:00 2001
-From: Wen He <wen.he_1@nxp.com>
-Date: Tue, 17 Sep 2019 15:35:52 +0800
-Subject: [PATCH] drm: ls1028a: Add DP driver support for LS1028A
-
-Add Display Port driver support for NXP Layerscape LS1028A platform.
-
-Signed-off-by: Wen He <wen.he_1@nxp.com>
----
- drivers/gpu/drm/bridge/cadence/cdns-dp-core.c | 1 +
- drivers/gpu/drm/imx/Makefile | 2 +-
- drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c | 13 +++
- drivers/gpu/drm/imx/cdn-mhdp-ls1028a.c | 110 ++++++++++++++++++++++++++
- drivers/gpu/drm/imx/cdns-mhdp-imx.h | 2 +
- 5 files changed, 127 insertions(+), 1 deletion(-)
- create mode 100644 drivers/gpu/drm/imx/cdn-mhdp-ls1028a.c
-
---- a/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c
-+++ b/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c
-@@ -275,6 +275,7 @@ static int cdns_dp_bridge_attach(struct
- struct drm_connector *connector = &mhdp->connector.base;
-
- connector->interlace_allowed = 1;
-+
- connector->polled = DRM_CONNECTOR_POLL_HPD;
-
- drm_connector_helper_add(connector, &cdns_dp_connector_helper_funcs);
---- a/drivers/gpu/drm/imx/Makefile
-+++ b/drivers/gpu/drm/imx/Makefile
-@@ -9,4 +9,4 @@ obj-$(CONFIG_DRM_IMX_TVE) += imx-tve.o
- obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o
-
- obj-$(CONFIG_DRM_IMX_HDMI) += dw_hdmi-imx.o
--obj-$(CONFIG_DRM_IMX_CDNS_MHDP) += cdn-mhdp-imxdrv.o cdn-mhdp-dp-phy.o cdn-mhdp-hdmi-phy.o cdn-mhdp-imx8qm.o
-+obj-$(CONFIG_DRM_IMX_CDNS_MHDP) += cdn-mhdp-imxdrv.o cdn-mhdp-dp-phy.o cdn-mhdp-hdmi-phy.o cdn-mhdp-imx8qm.o cdn-mhdp-ls1028a.o
---- a/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c
-+++ b/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c
-@@ -94,6 +94,16 @@ static struct cdns_plat_data imx8qm_dp_d
- .is_dp = true,
- };
-
-+static struct cdns_plat_data ls1028a_dp_drv_data = {
-+ .bind = cdns_dp_bind,
-+ .unbind = cdns_dp_unbind,
-+ .phy_set = cdns_dp_phy_set_imx8mq,
-+ .power_on = cdns_mhdp_power_on_ls1028a,
-+ .firmware_init = cdns_mhdp_firmware_init_imx8qm,
-+ .pclk_rate = cdns_mhdp_pclk_rate_ls1028a,
-+ .bus_type = BUS_TYPE_NORMAL_APB,
-+};
-+
- static const struct of_device_id cdns_mhdp_imx_dt_ids[] = {
- { .compatible = "cdn,imx8mq-hdmi",
- .data = &imx8mq_hdmi_drv_data
-@@ -107,6 +117,9 @@ static const struct of_device_id cdns_mh
- { .compatible = "cdn,imx8qm-dp",
- .data = &imx8qm_dp_drv_data
- },
-+ { .compatible = "cdn,ls1028a-dp",
-+ .data = &ls1028a_dp_drv_data
-+ },
- {},
- };
- MODULE_DEVICE_TABLE(of, cdns_mhdp_imx_dt_ids);
---- /dev/null
-+++ b/drivers/gpu/drm/imx/cdn-mhdp-ls1028a.c
-@@ -0,0 +1,110 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * Copyright 2019 NXP
-+ *
-+ */
-+#include <linux/clk.h>
-+#include <drm/drmP.h>
-+#include <linux/of.h>
-+#include <linux/of_address.h>
-+#include <linux/of_device.h>
-+
-+#include "cdns-mhdp-imx.h"
-+
-+static const struct of_device_id scfg_device_ids[] = {
-+ { .compatible = "fsl,ls1028a-scfg", },
-+ {}
-+};
-+
-+static void ls1028a_phy_reset(u8 reset)
-+{
-+ struct device_node *scfg_node;
-+ void __iomem *scfg_base = NULL;
-+
-+ scfg_node = of_find_matching_node(NULL, scfg_device_ids);
-+ if (scfg_node)
-+ scfg_base = of_iomap(scfg_node, 0);
-+
-+ iowrite32(reset, scfg_base + 0x230);
-+}
-+
-+int ls1028a_clocks_init(struct imx_mhdp_device *imx_mhdp)
-+{
-+ struct device *dev = imx_mhdp->mhdp.dev;
-+ struct imx_hdp_clks *clks = &imx_mhdp->clks;
-+
-+ clks->clk_core = devm_clk_get(dev, "clk_core");
-+ if (IS_ERR(clks->clk_core)) {
-+ dev_warn(dev, "failed to get hdp core clk\n");
-+ return PTR_ERR(clks->clk_core);
-+ }
-+
-+ clks->clk_pxl = devm_clk_get(dev, "clk_pxl");
-+ if (IS_ERR(clks->clk_pxl)) {
-+ dev_warn(dev, "failed to get pxl clk\n");
-+ return PTR_ERR(clks->clk_pxl);
-+ }
-+
-+ return true;
-+}
-+
-+static int ls1028a_pixel_clk_enable(struct imx_mhdp_device *imx_mhdp)
-+{
-+ struct imx_hdp_clks *clks = &imx_mhdp->clks;
-+ struct device *dev = imx_mhdp->mhdp.dev;
-+ int ret;
-+
-+ ret = clk_prepare_enable(clks->clk_pxl);
-+ if (ret < 0) {
-+ dev_err(dev, "%s, pre clk pxl error\n", __func__);
-+ return ret;
-+ }
-+
-+ return ret;
-+}
-+
-+static void ls1028a_pixel_clk_disable(struct imx_mhdp_device *imx_mhdp)
-+{
-+ struct imx_hdp_clks *clks = &imx_mhdp->clks;
-+
-+ clk_disable_unprepare(clks->clk_pxl);
-+}
-+
-+static void ls1028a_pixel_clk_set_rate(struct imx_mhdp_device *imx_mhdp,
-+ u32 pclock)
-+{
-+ struct imx_hdp_clks *clks = &imx_mhdp->clks;
-+
-+ clk_set_rate(clks->clk_pxl, pclock);
-+}
-+
-+int cdns_mhdp_power_on_ls1028a(struct cdns_mhdp_device *mhdp)
-+{
-+ struct imx_mhdp_device *imx_mhdp = container_of
-+ (mhdp, struct imx_mhdp_device, mhdp);
-+
-+ /* clock init and rate set */
-+ ls1028a_clocks_init(imx_mhdp);
-+
-+ ls1028a_pixel_clk_enable(imx_mhdp);
-+
-+ /* Init pixel clock with 148.5MHz before FW init */
-+ ls1028a_pixel_clk_set_rate(imx_mhdp, 148500000);
-+
-+ ls1028a_phy_reset(1);
-+
-+ return 0;
-+}
-+
-+void cdns_mhdp_pclk_rate_ls1028a(struct cdns_mhdp_device *mhdp)
-+{
-+ struct imx_mhdp_device *imx_mhdp = container_of
-+ (mhdp, struct imx_mhdp_device, mhdp);
-+
-+ /* set pixel clock before video mode setup */
-+ ls1028a_pixel_clk_disable(imx_mhdp);
-+
-+ ls1028a_pixel_clk_set_rate(imx_mhdp, imx_mhdp->mhdp.mode.clock * 1000);
-+
-+ ls1028a_pixel_clk_enable(imx_mhdp);
-+}
---- a/drivers/gpu/drm/imx/cdns-mhdp-imx.h
-+++ b/drivers/gpu/drm/imx/cdns-mhdp-imx.h
-@@ -78,4 +78,6 @@ void cdns_mhdp_plat_deinit_imx8qm(struct
- void cdns_mhdp_pclk_rate_imx8qm(struct cdns_mhdp_device *mhdp);
- int cdns_mhdp_firmware_init_imx8qm(struct cdns_mhdp_device *mhdp);
- int cdns_mhdp_power_on_imx8qm(struct cdns_mhdp_device *mhdp);
-+int cdns_mhdp_power_on_ls1028a(struct cdns_mhdp_device *mhdp);
-+void cdns_mhdp_pclk_rate_ls1028a(struct cdns_mhdp_device *mhdp);
- #endif /* CDNS_MHDP_IMX_H_ */