mirror of https://github.com/armbian/build.git
rockchip64-edge: bump to 6.14
This commit is contained in:
parent
47381df472
commit
328cd82221
|
@ -33,7 +33,7 @@ case $BRANCH in
|
|||
;;
|
||||
|
||||
edge)
|
||||
declare -g KERNEL_MAJOR_MINOR="6.13"
|
||||
declare -g KERNEL_MAJOR_MINOR="6.14"
|
||||
declare -g LINUXFAMILY=rockchip64
|
||||
declare -g LINUXCONFIG='linux-rockchip64-'$BRANCH
|
||||
;;
|
||||
|
|
|
@ -1,511 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Stuebner <heiko.stuebner@cherry.de>
|
||||
Date: Fri, 6 Dec 2024 11:34:01 +0100
|
||||
Subject: phy: phy-rockchip-samsung-hdptx: Don't use dt aliases to determine
|
||||
phy-id
|
||||
|
||||
The phy needs to know its identity in the system (phy0 or phy1 on rk3588)
|
||||
for some actions and the driver currently contains code abusing of_alias
|
||||
for that.
|
||||
|
||||
Devicetree aliases are always optional and should not be used for core
|
||||
device functionality, so instead keep a list of phys on a soc in the
|
||||
of_device_data and find the phy-id by comparing against the mapped
|
||||
register-base.
|
||||
|
||||
Fixes: c4b09c562086 ("phy: phy-rockchip-samsung-hdptx: Add clock provider support")
|
||||
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
|
||||
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
Link: https://lore.kernel.org/r/20241206103401.1780416-3-heiko@sntech.de
|
||||
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 50 ++++++++--
|
||||
1 file changed, 44 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
|
||||
@@ -263,11 +263,22 @@ enum rk_hdptx_reset {
|
||||
RST_MAX
|
||||
};
|
||||
|
||||
+#define MAX_HDPTX_PHY_NUM 2
|
||||
+
|
||||
+struct rk_hdptx_phy_cfg {
|
||||
+ unsigned int num_phys;
|
||||
+ unsigned int phy_ids[MAX_HDPTX_PHY_NUM];
|
||||
+};
|
||||
+
|
||||
struct rk_hdptx_phy {
|
||||
struct device *dev;
|
||||
struct regmap *regmap;
|
||||
struct regmap *grf;
|
||||
|
||||
+ /* PHY const config */
|
||||
+ const struct rk_hdptx_phy_cfg *cfgs;
|
||||
+ int phy_id;
|
||||
+
|
||||
struct phy *phy;
|
||||
struct phy_config *phy_cfg;
|
||||
struct clk_bulk_data *clks;
|
||||
@@ -1007,15 +1018,14 @@ static int rk_hdptx_phy_clk_register(struct rk_hdptx_phy *hdptx)
|
||||
struct device *dev = hdptx->dev;
|
||||
const char *name, *pname;
|
||||
struct clk *refclk;
|
||||
- int ret, id;
|
||||
+ int ret;
|
||||
|
||||
refclk = devm_clk_get(dev, "ref");
|
||||
if (IS_ERR(refclk))
|
||||
return dev_err_probe(dev, PTR_ERR(refclk),
|
||||
"Failed to get ref clock\n");
|
||||
|
||||
- id = of_alias_get_id(dev->of_node, "hdptxphy");
|
||||
- name = id > 0 ? "clk_hdmiphy_pixel1" : "clk_hdmiphy_pixel0";
|
||||
+ name = hdptx->phy_id > 0 ? "clk_hdmiphy_pixel1" : "clk_hdmiphy_pixel0";
|
||||
pname = __clk_get_name(refclk);
|
||||
|
||||
hdptx->hw.init = CLK_HW_INIT(name, pname, &hdptx_phy_clk_ops,
|
||||
@@ -1058,8 +1068,9 @@ static int rk_hdptx_phy_probe(struct platform_device *pdev)
|
||||
struct phy_provider *phy_provider;
|
||||
struct device *dev = &pdev->dev;
|
||||
struct rk_hdptx_phy *hdptx;
|
||||
+ struct resource *res;
|
||||
void __iomem *regs;
|
||||
- int ret;
|
||||
+ int ret, id;
|
||||
|
||||
hdptx = devm_kzalloc(dev, sizeof(*hdptx), GFP_KERNEL);
|
||||
if (!hdptx)
|
||||
@@ -1067,11 +1078,27 @@ static int rk_hdptx_phy_probe(struct platform_device *pdev)
|
||||
|
||||
hdptx->dev = dev;
|
||||
|
||||
- regs = devm_platform_ioremap_resource(pdev, 0);
|
||||
+ regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
|
||||
if (IS_ERR(regs))
|
||||
return dev_err_probe(dev, PTR_ERR(regs),
|
||||
"Failed to ioremap resource\n");
|
||||
|
||||
+ hdptx->cfgs = device_get_match_data(dev);
|
||||
+ if (!hdptx->cfgs)
|
||||
+ return dev_err_probe(dev, -EINVAL, "missing match data\n");
|
||||
+
|
||||
+ /* find the phy-id from the io address */
|
||||
+ hdptx->phy_id = -ENODEV;
|
||||
+ for (id = 0; id < hdptx->cfgs->num_phys; id++) {
|
||||
+ if (res->start == hdptx->cfgs->phy_ids[id]) {
|
||||
+ hdptx->phy_id = id;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (hdptx->phy_id < 0)
|
||||
+ return dev_err_probe(dev, -ENODEV, "no matching device found\n");
|
||||
+
|
||||
ret = devm_clk_bulk_get_all(dev, &hdptx->clks);
|
||||
if (ret < 0)
|
||||
return dev_err_probe(dev, ret, "Failed to get clocks\n");
|
||||
@@ -1132,8 +1159,19 @@ static const struct dev_pm_ops rk_hdptx_phy_pm_ops = {
|
||||
rk_hdptx_phy_runtime_resume, NULL)
|
||||
};
|
||||
|
||||
+static const struct rk_hdptx_phy_cfg rk3588_hdptx_phy_cfgs = {
|
||||
+ .num_phys = 2,
|
||||
+ .phy_ids = {
|
||||
+ 0xfed60000,
|
||||
+ 0xfed70000,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
static const struct of_device_id rk_hdptx_phy_of_match[] = {
|
||||
- { .compatible = "rockchip,rk3588-hdptx-phy", },
|
||||
+ {
|
||||
+ .compatible = "rockchip,rk3588-hdptx-phy",
|
||||
+ .data = &rk3588_hdptx_phy_cfgs
|
||||
+ },
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, rk_hdptx_phy_of_match);
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
Date: Sat, 7 Dec 2024 21:38:38 +0200
|
||||
Subject: drm/rockchip: dw_hdmi_qp: Add support for RK3588 HDMI1 output
|
||||
|
||||
Provide the basic support required to enable the second HDMI TX port
|
||||
found on RK3588 SoC.
|
||||
|
||||
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
---
|
||||
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 119 ++++++++--
|
||||
1 file changed, 96 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
|
||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
|
||||
@@ -28,20 +28,26 @@
|
||||
#define RK3588_GRF_SOC_CON2 0x0308
|
||||
#define RK3588_HDMI0_HPD_INT_MSK BIT(13)
|
||||
#define RK3588_HDMI0_HPD_INT_CLR BIT(12)
|
||||
+#define RK3588_HDMI1_HPD_INT_MSK BIT(15)
|
||||
+#define RK3588_HDMI1_HPD_INT_CLR BIT(14)
|
||||
#define RK3588_GRF_SOC_CON7 0x031c
|
||||
#define RK3588_SET_HPD_PATH_MASK GENMASK(13, 12)
|
||||
#define RK3588_GRF_SOC_STATUS1 0x0384
|
||||
#define RK3588_HDMI0_LEVEL_INT BIT(16)
|
||||
+#define RK3588_HDMI1_LEVEL_INT BIT(24)
|
||||
#define RK3588_GRF_VO1_CON3 0x000c
|
||||
+#define RK3588_GRF_VO1_CON6 0x0018
|
||||
#define RK3588_SCLIN_MASK BIT(9)
|
||||
#define RK3588_SDAIN_MASK BIT(10)
|
||||
#define RK3588_MODE_MASK BIT(11)
|
||||
#define RK3588_I2S_SEL_MASK BIT(13)
|
||||
#define RK3588_GRF_VO1_CON9 0x0024
|
||||
#define RK3588_HDMI0_GRANT_SEL BIT(10)
|
||||
+#define RK3588_HDMI1_GRANT_SEL BIT(12)
|
||||
|
||||
#define HIWORD_UPDATE(val, mask) ((val) | (mask) << 16)
|
||||
#define HOTPLUG_DEBOUNCE_MS 150
|
||||
+#define MAX_HDMI_PORT_NUM 2
|
||||
|
||||
struct rockchip_hdmi_qp {
|
||||
struct device *dev;
|
||||
@@ -53,6 +59,7 @@ struct rockchip_hdmi_qp {
|
||||
struct phy *phy;
|
||||
struct gpio_desc *enable_gpio;
|
||||
struct delayed_work hpd_work;
|
||||
+ int port_id;
|
||||
};
|
||||
|
||||
static struct rockchip_hdmi_qp *to_rockchip_hdmi_qp(struct drm_encoder *encoder)
|
||||
@@ -127,20 +134,24 @@ dw_hdmi_qp_rk3588_read_hpd(struct dw_hdmi_qp *dw_hdmi, void *data)
|
||||
u32 val;
|
||||
|
||||
regmap_read(hdmi->regmap, RK3588_GRF_SOC_STATUS1, &val);
|
||||
+ val &= hdmi->port_id ? RK3588_HDMI1_LEVEL_INT : RK3588_HDMI0_LEVEL_INT;
|
||||
|
||||
- return val & RK3588_HDMI0_LEVEL_INT ?
|
||||
- connector_status_connected : connector_status_disconnected;
|
||||
+ return val ? connector_status_connected : connector_status_disconnected;
|
||||
}
|
||||
|
||||
static void dw_hdmi_qp_rk3588_setup_hpd(struct dw_hdmi_qp *dw_hdmi, void *data)
|
||||
{
|
||||
struct rockchip_hdmi_qp *hdmi = (struct rockchip_hdmi_qp *)data;
|
||||
+ u32 val;
|
||||
+
|
||||
+ if (hdmi->port_id)
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI1_HPD_INT_CLR,
|
||||
+ RK3588_HDMI1_HPD_INT_CLR | RK3588_HDMI1_HPD_INT_MSK);
|
||||
+ else
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_CLR,
|
||||
+ RK3588_HDMI0_HPD_INT_CLR | RK3588_HDMI0_HPD_INT_MSK);
|
||||
|
||||
- regmap_write(hdmi->regmap,
|
||||
- RK3588_GRF_SOC_CON2,
|
||||
- HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_CLR,
|
||||
- RK3588_HDMI0_HPD_INT_CLR |
|
||||
- RK3588_HDMI0_HPD_INT_MSK));
|
||||
+ regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON2, val);
|
||||
}
|
||||
|
||||
static const struct dw_hdmi_qp_phy_ops rk3588_hdmi_phy_ops = {
|
||||
@@ -173,8 +184,12 @@ static irqreturn_t dw_hdmi_qp_rk3588_hardirq(int irq, void *dev_id)
|
||||
regmap_read(hdmi->regmap, RK3588_GRF_SOC_STATUS1, &intr_stat);
|
||||
|
||||
if (intr_stat) {
|
||||
- val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_MSK,
|
||||
- RK3588_HDMI0_HPD_INT_MSK);
|
||||
+ if (hdmi->port_id)
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI1_HPD_INT_MSK,
|
||||
+ RK3588_HDMI1_HPD_INT_MSK);
|
||||
+ else
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_MSK,
|
||||
+ RK3588_HDMI0_HPD_INT_MSK);
|
||||
regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON2, val);
|
||||
return IRQ_WAKE_THREAD;
|
||||
}
|
||||
@@ -191,22 +206,44 @@ static irqreturn_t dw_hdmi_qp_rk3588_irq(int irq, void *dev_id)
|
||||
if (!intr_stat)
|
||||
return IRQ_NONE;
|
||||
|
||||
- val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_CLR,
|
||||
- RK3588_HDMI0_HPD_INT_CLR);
|
||||
+ if (hdmi->port_id)
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI1_HPD_INT_CLR,
|
||||
+ RK3588_HDMI1_HPD_INT_CLR);
|
||||
+ else
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_CLR,
|
||||
+ RK3588_HDMI0_HPD_INT_CLR);
|
||||
regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON2, val);
|
||||
|
||||
mod_delayed_work(system_wq, &hdmi->hpd_work,
|
||||
msecs_to_jiffies(HOTPLUG_DEBOUNCE_MS));
|
||||
|
||||
- val |= HIWORD_UPDATE(0, RK3588_HDMI0_HPD_INT_MSK);
|
||||
+ if (hdmi->port_id)
|
||||
+ val |= HIWORD_UPDATE(0, RK3588_HDMI1_HPD_INT_MSK);
|
||||
+ else
|
||||
+ val |= HIWORD_UPDATE(0, RK3588_HDMI0_HPD_INT_MSK);
|
||||
regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON2, val);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
+struct rockchip_hdmi_qp_cfg {
|
||||
+ unsigned int num_ports;
|
||||
+ unsigned int port_ids[MAX_HDMI_PORT_NUM];
|
||||
+ const struct dw_hdmi_qp_phy_ops *phy_ops;
|
||||
+};
|
||||
+
|
||||
+static const struct rockchip_hdmi_qp_cfg rk3588_hdmi_cfg = {
|
||||
+ .num_ports = 2,
|
||||
+ .port_ids = {
|
||||
+ 0xfde80000,
|
||||
+ 0xfdea0000,
|
||||
+ },
|
||||
+ .phy_ops = &rk3588_hdmi_phy_ops,
|
||||
+};
|
||||
+
|
||||
static const struct of_device_id dw_hdmi_qp_rockchip_dt_ids[] = {
|
||||
{ .compatible = "rockchip,rk3588-dw-hdmi-qp",
|
||||
- .data = &rk3588_hdmi_phy_ops },
|
||||
+ .data = &rk3588_hdmi_cfg },
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, dw_hdmi_qp_rockchip_dt_ids);
|
||||
@@ -219,11 +256,13 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
|
||||
"ref" /* keep "ref" last */
|
||||
};
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
+ const struct rockchip_hdmi_qp_cfg *cfg;
|
||||
struct dw_hdmi_qp_plat_data plat_data;
|
||||
struct drm_device *drm = data;
|
||||
struct drm_connector *connector;
|
||||
struct drm_encoder *encoder;
|
||||
struct rockchip_hdmi_qp *hdmi;
|
||||
+ struct resource *res;
|
||||
struct clk *clk;
|
||||
int ret, irq, i;
|
||||
u32 val;
|
||||
@@ -235,12 +274,31 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
|
||||
if (!hdmi)
|
||||
return -ENOMEM;
|
||||
|
||||
- plat_data.phy_ops = of_device_get_match_data(dev);
|
||||
- if (!plat_data.phy_ops)
|
||||
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
+ if (!res)
|
||||
+ return -ENODEV;
|
||||
+
|
||||
+ cfg = of_device_get_match_data(dev);
|
||||
+ if (!cfg)
|
||||
return -ENODEV;
|
||||
|
||||
- plat_data.phy_data = hdmi;
|
||||
hdmi->dev = &pdev->dev;
|
||||
+ hdmi->port_id = -ENODEV;
|
||||
+
|
||||
+ /* Identify port ID by matching base IO address */
|
||||
+ for (i = 0; i < cfg->num_ports; i++) {
|
||||
+ if (res->start == cfg->port_ids[i]) {
|
||||
+ hdmi->port_id = i;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ if (hdmi->port_id < 0) {
|
||||
+ drm_err(hdmi, "Failed to match HDMI port ID\n");
|
||||
+ return hdmi->port_id;
|
||||
+ }
|
||||
+
|
||||
+ plat_data.phy_ops = cfg->phy_ops;
|
||||
+ plat_data.phy_data = hdmi;
|
||||
|
||||
encoder = &hdmi->encoder.encoder;
|
||||
encoder->possible_crtcs = drm_of_find_possible_crtcs(drm, dev->of_node);
|
||||
@@ -303,17 +361,26 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
|
||||
HIWORD_UPDATE(RK3588_SDAIN_MASK, RK3588_SDAIN_MASK) |
|
||||
HIWORD_UPDATE(RK3588_MODE_MASK, RK3588_MODE_MASK) |
|
||||
HIWORD_UPDATE(RK3588_I2S_SEL_MASK, RK3588_I2S_SEL_MASK);
|
||||
- regmap_write(hdmi->vo_regmap, RK3588_GRF_VO1_CON3, val);
|
||||
+ regmap_write(hdmi->vo_regmap,
|
||||
+ hdmi->port_id ? RK3588_GRF_VO1_CON6 : RK3588_GRF_VO1_CON3,
|
||||
+ val);
|
||||
|
||||
val = HIWORD_UPDATE(RK3588_SET_HPD_PATH_MASK,
|
||||
RK3588_SET_HPD_PATH_MASK);
|
||||
regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON7, val);
|
||||
|
||||
- val = HIWORD_UPDATE(RK3588_HDMI0_GRANT_SEL,
|
||||
- RK3588_HDMI0_GRANT_SEL);
|
||||
+ if (hdmi->port_id)
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI1_GRANT_SEL,
|
||||
+ RK3588_HDMI1_GRANT_SEL);
|
||||
+ else
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI0_GRANT_SEL,
|
||||
+ RK3588_HDMI0_GRANT_SEL);
|
||||
regmap_write(hdmi->vo_regmap, RK3588_GRF_VO1_CON9, val);
|
||||
|
||||
- val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_MSK, RK3588_HDMI0_HPD_INT_MSK);
|
||||
+ if (hdmi->port_id)
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI1_HPD_INT_MSK, RK3588_HDMI1_HPD_INT_MSK);
|
||||
+ else
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI0_HPD_INT_MSK, RK3588_HDMI0_HPD_INT_MSK);
|
||||
regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON2, val);
|
||||
|
||||
INIT_DELAYED_WORK(&hdmi->hpd_work, dw_hdmi_qp_rk3588_hpd_work);
|
||||
@@ -391,14 +458,20 @@ static int __maybe_unused dw_hdmi_qp_rockchip_resume(struct device *dev)
|
||||
HIWORD_UPDATE(RK3588_SDAIN_MASK, RK3588_SDAIN_MASK) |
|
||||
HIWORD_UPDATE(RK3588_MODE_MASK, RK3588_MODE_MASK) |
|
||||
HIWORD_UPDATE(RK3588_I2S_SEL_MASK, RK3588_I2S_SEL_MASK);
|
||||
- regmap_write(hdmi->vo_regmap, RK3588_GRF_VO1_CON3, val);
|
||||
+ regmap_write(hdmi->vo_regmap,
|
||||
+ hdmi->port_id ? RK3588_GRF_VO1_CON6 : RK3588_GRF_VO1_CON3,
|
||||
+ val);
|
||||
|
||||
val = HIWORD_UPDATE(RK3588_SET_HPD_PATH_MASK,
|
||||
RK3588_SET_HPD_PATH_MASK);
|
||||
regmap_write(hdmi->regmap, RK3588_GRF_SOC_CON7, val);
|
||||
|
||||
- val = HIWORD_UPDATE(RK3588_HDMI0_GRANT_SEL,
|
||||
- RK3588_HDMI0_GRANT_SEL);
|
||||
+ if (hdmi->port_id)
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI1_GRANT_SEL,
|
||||
+ RK3588_HDMI1_GRANT_SEL);
|
||||
+ else
|
||||
+ val = HIWORD_UPDATE(RK3588_HDMI0_GRANT_SEL,
|
||||
+ RK3588_HDMI0_GRANT_SEL);
|
||||
regmap_write(hdmi->vo_regmap, RK3588_GRF_VO1_CON9, val);
|
||||
|
||||
dw_hdmi_qp_resume(dev, hdmi->hdmi);
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
Date: Sat, 7 Dec 2024 21:45:12 +0200
|
||||
Subject: arm64: dts: rockchip: Add PHY node for HDMI1 TX port on RK3588
|
||||
|
||||
In preparation to enable the second HDMI output port found on RK3588
|
||||
SoC, add the related PHY node. This requires a GRF, hence add the
|
||||
dependent node as well.
|
||||
|
||||
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi | 21 ++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
|
||||
@@ -90,6 +90,11 @@ u2phy1_otg: otg-port {
|
||||
};
|
||||
};
|
||||
|
||||
+ hdptxphy1_grf: syscon@fd5e4000 {
|
||||
+ compatible = "rockchip,rk3588-hdptxphy-grf", "syscon";
|
||||
+ reg = <0x0 0xfd5e4000 0x0 0x100>;
|
||||
+ };
|
||||
+
|
||||
i2s8_8ch: i2s@fddc8000 {
|
||||
compatible = "rockchip,rk3588-i2s-tdm";
|
||||
reg = <0x0 0xfddc8000 0x0 0x1000>;
|
||||
@@ -451,6 +456,22 @@ sata-port@0 {
|
||||
};
|
||||
};
|
||||
|
||||
+ hdptxphy1: phy@fed70000 {
|
||||
+ compatible = "rockchip,rk3588-hdptx-phy";
|
||||
+ reg = <0x0 0xfed70000 0x0 0x2000>;
|
||||
+ clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX1>;
|
||||
+ clock-names = "ref", "apb";
|
||||
+ #phy-cells = <0>;
|
||||
+ resets = <&cru SRST_HDPTX1>, <&cru SRST_P_HDPTX1>,
|
||||
+ <&cru SRST_HDPTX1_INIT>, <&cru SRST_HDPTX1_CMN>,
|
||||
+ <&cru SRST_HDPTX1_LANE>, <&cru SRST_HDPTX1_ROPLL>,
|
||||
+ <&cru SRST_HDPTX1_LCPLL>;
|
||||
+ reset-names = "phy", "apb", "init", "cmn", "lane", "ropll",
|
||||
+ "lcpll";
|
||||
+ rockchip,grf = <&hdptxphy1_grf>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
usbdp_phy1: phy@fed90000 {
|
||||
compatible = "rockchip,rk3588-usbdp-phy";
|
||||
reg = <0x0 0xfed90000 0x0 0x10000>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
Date: Sat, 7 Dec 2024 21:53:07 +0200
|
||||
Subject: arm64: dts: rockchip: Add HDMI1 node on RK3588
|
||||
|
||||
Add support for the second HDMI TX port found on RK3588 SoC.
|
||||
|
||||
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi | 41 ++++++++++
|
||||
1 file changed, 41 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
|
||||
@@ -196,6 +196,47 @@ hdmi_receiver: hdmi_receiver@fdee0000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ hdmi1: hdmi@fdea0000 {
|
||||
+ compatible = "rockchip,rk3588-dw-hdmi-qp";
|
||||
+ reg = <0x0 0xfdea0000 0x0 0x20000>;
|
||||
+ clocks = <&cru PCLK_HDMITX1>,
|
||||
+ <&cru CLK_HDMITX1_EARC>,
|
||||
+ <&cru CLK_HDMITX1_REF>,
|
||||
+ <&cru MCLK_I2S6_8CH_TX>,
|
||||
+ <&cru CLK_HDMIHDP1>,
|
||||
+ <&cru HCLK_VO1>;
|
||||
+ clock-names = "pclk", "earc", "ref", "aud", "hdp", "hclk_vo1";
|
||||
+ interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
+ <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
+ <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
+ <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
+ <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
+ interrupt-names = "avp", "cec", "earc", "main", "hpd";
|
||||
+ phys = <&hdptxphy1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&hdmim2_tx1_cec &hdmim0_tx1_hpd
|
||||
+ &hdmim1_tx1_scl &hdmim1_tx1_sda>;
|
||||
+ power-domains = <&power RK3588_PD_VO1>;
|
||||
+ resets = <&cru SRST_HDMITX1_REF>, <&cru SRST_HDMIHDP1>;
|
||||
+ reset-names = "ref", "hdp";
|
||||
+ rockchip,grf = <&sys_grf>;
|
||||
+ rockchip,vo-grf = <&vo1_grf>;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ hdmi1_in: port@0 {
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+
|
||||
+ hdmi1_out: port@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
pcie3x4: pcie@fe150000 {
|
||||
compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
|
||||
#address-cells = <3>;
|
||||
--
|
||||
Armbian
|
||||
|
|
@ -1,352 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Muhammed Efe Cetin <efectn@protonmail.com>
|
||||
Date: Tue, 10 Dec 2024 21:10:02 +0300
|
||||
Subject: arm64: dts: rockchip: mark led as heartbeat indicator for Orange Pi
|
||||
5+
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
@@ -110,7 +110,7 @@ pwm-leds {
|
||||
|
||||
led {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
- function = LED_FUNCTION_INDICATOR;
|
||||
+ function = LED_FUNCTION_HEARTBEAT;
|
||||
function-enumerator = <2>;
|
||||
max-brightness = <255>;
|
||||
pwms = <&pwm2 0 25000 0>;
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Muhammed Efe Cetin <efectn@protonmail.com>
|
||||
Date: Tue, 10 Dec 2024 21:11:02 +0300
|
||||
Subject: arm64: dts: rockchip: add bluetooth rfkill node for Orange Pi 5+
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
@@ -124,6 +124,13 @@ rfkill {
|
||||
shutdown-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
+ rfkill-bt {
|
||||
+ compatible = "rfkill-gpio";
|
||||
+ label = "rfkill-m2-bt";
|
||||
+ radio-type = "bluetooth";
|
||||
+ shutdown-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Muhammed Efe Cetin <efectn@protonmail.com>
|
||||
Date: Tue, 10 Dec 2024 21:11:43 +0300
|
||||
Subject: arm64: dts: rockchip: fix hym8563 pinctrl for Orange Pi 5+
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
@@ -465,7 +465,7 @@ &pcie3x4 {
|
||||
&pinctrl {
|
||||
hym8563 {
|
||||
hym8563_int: hym8563-int {
|
||||
- rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Muhammed Efe Cetin <efectn@protonmail.com>
|
||||
Date: Tue, 10 Dec 2024 21:18:52 +0300
|
||||
Subject: arm64: dts: rockchip: add support for USB-C port for Orange Pi 5+
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 130 ++++++++++
|
||||
1 file changed, 130 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
@@ -195,6 +195,18 @@ vcc3v3_pcie30: regulator-vcc3v3-pcie30 {
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
+ vbus5v0_typec: vbus5v0-typec-regulator {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ enable-active-high;
|
||||
+ gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
|
||||
+ regulator-name = "vbus5v0_typec";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&typec5v_pwren>;
|
||||
+ vin-supply = <&vcc5v0_sys>;
|
||||
+ };
|
||||
+
|
||||
vcc3v3_pcie_eth: regulator-vcc3v3-pcie-eth {
|
||||
compatible = "regulator-fixed";
|
||||
gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
|
||||
@@ -351,6 +363,53 @@ &i2c6 {
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
+ usbc0: usb-typec@22 {
|
||||
+ compatible = "fcs,fusb302";
|
||||
+ reg = <0x22>;
|
||||
+ interrupt-parent = <&gpio0>;
|
||||
+ interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&usbc0_int>;
|
||||
+ vbus-supply = <&vbus5v0_typec>;
|
||||
+
|
||||
+ usb_con: connector {
|
||||
+ compatible = "usb-c-connector";
|
||||
+ label = "USB-C";
|
||||
+ data-role = "dual";
|
||||
+ power-role = "dual";
|
||||
+ try-power-role = "source";
|
||||
+ op-sink-microwatt = <1000000>;
|
||||
+ sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
|
||||
+ source-pdos = <PDO_FIXED(5000, 1500, PDO_FIXED_USB_COMM)>;
|
||||
+
|
||||
+ ports {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ port@0 {
|
||||
+ reg = <0>;
|
||||
+ usbc0_orien_sw: endpoint {
|
||||
+ remote-endpoint = <&usbdp_phy0_orientation_switch>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ port@1 {
|
||||
+ reg = <1>;
|
||||
+ usbc0_role_sw: endpoint {
|
||||
+ remote-endpoint = <&usb_host0_xhci_role_switch>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ port@2 {
|
||||
+ reg = <2>;
|
||||
+ dp_altmode_mux: endpoint {
|
||||
+ remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
@@ -488,6 +547,14 @@ hp_detect: hp-detect {
|
||||
};
|
||||
|
||||
usb {
|
||||
+ typec5v_pwren: typec5v-pwren {
|
||||
+ rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ usbc0_int: usbc0-int {
|
||||
+ rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+
|
||||
vcc5v0_usb20_en: vcc5v0-usb20-en {
|
||||
rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
@@ -883,6 +950,22 @@ &tsadc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&u2phy0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&u2phy0_otg {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&u2phy1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&u2phy1_otg {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&u2phy2 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -911,6 +994,34 @@ &uart9 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usbdp_phy0 {
|
||||
+ orientation-switch;
|
||||
+ mode-switch;
|
||||
+ sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||
+ sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ usbdp_phy0_orientation_switch: endpoint@0 {
|
||||
+ reg = <0>;
|
||||
+ remote-endpoint = <&usbc0_orien_sw>;
|
||||
+ };
|
||||
+
|
||||
+ usbdp_phy0_dp_altmode_mux: endpoint@1 {
|
||||
+ reg = <1>;
|
||||
+ remote-endpoint = <&dp_altmode_mux>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&usbdp_phy1 {
|
||||
+ rockchip,dp-lane-mux = <2 3>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -919,6 +1030,20 @@ &usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usb_host0_xhci {
|
||||
+ usb-role-switch;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ usb_host0_xhci_role_switch: endpoint@0 {
|
||||
+ reg = <0>;
|
||||
+ remote-endpoint = <&usbc0_role_sw>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&usb_host1_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -927,6 +1052,11 @@ &usb_host1_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&usb_host1_xhci {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&vop_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Muhammed Efe Cetin <efectn@protonmail.com>
|
||||
Date: Thu, 26 Dec 2024 23:45:39 +0300
|
||||
Subject: arm64: dts: rockchip: add support for HDMI1 port to OPi5+
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 38 ++++++++++
|
||||
1 file changed, 38 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
|
||||
@@ -97,6 +97,17 @@ hdmi0_con_in: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+ hdmi0-con {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi1_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi1_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
fan: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
cooling-levels = <0 70 75 80 100>;
|
||||
@@ -315,10 +326,30 @@ hdmi0_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+&hdmi1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi1_in {
|
||||
+ hdmi1_in_vp1: endpoint {
|
||||
+ remote-endpoint = <&vp1_out_hdmi1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&hdmi1_out {
|
||||
+ hdmi1_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi1_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&hdptxphy_hdmi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdptxphy1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0m2_xfer>;
|
||||
@@ -1071,3 +1102,10 @@ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
remote-endpoint = <&hdmi0_in_vp0>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+&vp1 {
|
||||
+ vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
|
||||
+ reg = <ROCKCHIP_VOP2_EP_HDMI1>;
|
||||
+ remote-endpoint = <&hdmi1_in_vp1>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
Armbian
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
config: # This is file 'patch/kernel/archive/rockchip64-6.13/0000.patching_config.yaml'
|
||||
|
||||
# Just some info stuff; not used by the patching scripts
|
||||
name: rockchip64-6.13
|
||||
name: rockchip64-6.14
|
||||
kind: kernel
|
||||
type: mainline # or: vendor
|
||||
branch: linux-6.13.y
|
||||
last-known-good-tag: v6.13-rc4
|
||||
branch: linux-6.14.y
|
||||
last-known-good-tag: v6.14-rc2
|
||||
maintainers:
|
||||
- { github: rpardini, name: Ricardo Pardini, email: ricardo@pardini.net, armbian-forum: rpardini }
|
||||
- { github: paolosabatino, name: Paolo Sabatino, email: paolo.sabatino@gmail.com, armbian-forum: jock }
|
|
@ -10,8 +10,8 @@ is the complete set of changes actually done.
|
|||
|
||||
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 714 ++++++++--
|
||||
1 file changed, 634 insertions(+), 80 deletions(-)
|
||||
arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 716 ++++++++--
|
||||
1 file changed, 635 insertions(+), 81 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
index 111111111111..222222222222 100644
|
||||
|
@ -339,7 +339,7 @@ index 111111111111..222222222222 100644
|
|||
};
|
||||
|
||||
&cpu_l0 {
|
||||
@@ -275,6 +447,21 @@ &cpu_l3 {
|
||||
@@ -275,7 +447,22 @@ &cpu_l3 {
|
||||
cpu-supply = <&vdd_cpu_l>;
|
||||
};
|
||||
|
||||
|
@ -361,7 +361,8 @@ index 111111111111..222222222222 100644
|
|||
+ rockchip,enable-strobe-pulldown;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -295,6 +481,11 @@ &gmac {
|
||||
|
||||
@@ -295,6 +482,11 @@ &gmac {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -373,7 +374,7 @@ index 111111111111..222222222222 100644
|
|||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
i2c-scl-rising-time-ns = <168>;
|
||||
@@ -310,6 +501,7 @@ rk808: pmic@1b {
|
||||
@@ -310,6 +502,7 @@ rk808: pmic@1b {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
system-power-controller;
|
||||
|
@ -381,7 +382,7 @@ index 111111111111..222222222222 100644
|
|||
vcc1-supply = <&vcc5v0_sys>;
|
||||
vcc2-supply = <&vcc5v0_sys>;
|
||||
vcc3-supply = <&vcc5v0_sys>;
|
||||
@@ -326,6 +518,19 @@ rk808: pmic@1b {
|
||||
@@ -326,6 +519,19 @@ rk808: pmic@1b {
|
||||
#clock-cells = <1>;
|
||||
|
||||
regulators {
|
||||
|
@ -401,7 +402,7 @@ index 111111111111..222222222222 100644
|
|||
vdd_cpu_l: DCDC_REG2 {
|
||||
regulator-name = "vdd_cpu_l";
|
||||
regulator-always-on;
|
||||
@@ -333,19 +538,48 @@ vdd_cpu_l: DCDC_REG2 {
|
||||
@@ -333,19 +539,48 @@ vdd_cpu_l: DCDC_REG2 {
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
|
@ -451,7 +452,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
@@ -358,25 +592,61 @@ vcc_sdio_s0: LDO_REG4 {
|
||||
@@ -358,25 +593,61 @@ vcc_sdio_s0: LDO_REG4 {
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
|
@ -515,7 +516,7 @@ index 111111111111..222222222222 100644
|
|||
};
|
||||
};
|
||||
|
||||
@@ -384,12 +654,33 @@ vdd_cpu_b: regulator@40 {
|
||||
@@ -384,12 +655,33 @@ vdd_cpu_b: regulator@40 {
|
||||
compatible = "silergy,syr827";
|
||||
reg = <0x40>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
|
@ -549,7 +550,7 @@ index 111111111111..222222222222 100644
|
|||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
@@ -404,17 +695,101 @@ &i2c2 {
|
||||
@@ -404,17 +696,101 @@ &i2c2 {
|
||||
i2c-scl-falling-time-ns = <30>;
|
||||
status = "okay";
|
||||
|
||||
|
@ -653,7 +654,7 @@ index 111111111111..222222222222 100644
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -427,6 +802,7 @@ &pcie0 {
|
||||
@@ -427,6 +803,7 @@ &pcie0 {
|
||||
max-link-speed = <2>;
|
||||
num-lanes = <2>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -661,7 +662,7 @@ index 111111111111..222222222222 100644
|
|||
status = "okay";
|
||||
|
||||
vpcie12v-supply = <&vcc12v_dcin>;
|
||||
@@ -436,36 +812,116 @@ &pcie0 {
|
||||
@@ -436,36 +813,116 @@ &pcie0 {
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
|
@ -786,7 +787,7 @@ index 111111111111..222222222222 100644
|
|||
hdd_a_power_en: hdd-a-power-en {
|
||||
rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
@@ -485,7 +941,7 @@ usb_lan_en: usb-lan-en {
|
||||
@@ -485,7 +942,7 @@ usb_lan_en: usb-lan-en {
|
||||
|
||||
vcc3v0-sd {
|
||||
sdmmc0_pwr_h: sdmmc0-pwr-h {
|
||||
|
@ -795,7 +796,7 @@ index 111111111111..222222222222 100644
|
|||
};
|
||||
};
|
||||
};
|
||||
@@ -505,10 +961,28 @@ &pwm1 {
|
||||
@@ -505,10 +962,28 @@ &pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -59,7 +59,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
@@ -501,6 +501,7 @@ rk808: pmic@1b {
|
||||
@@ -502,6 +502,7 @@ rk808: pmic@1b {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
system-power-controller;
|
|
@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
|
||||
@@ -799,7 +799,6 @@ &pcie_phy {
|
||||
@@ -800,7 +800,6 @@ &pcie_phy {
|
||||
};
|
||||
|
||||
&pcie0 {
|
|
@ -229,7 +229,7 @@ index 111111111111..222222222222 100644
|
|||
};
|
||||
};
|
||||
|
||||
@@ -118,31 +157,58 @@ &cpu0 {
|
||||
@@ -118,30 +157,57 @@ &cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
|
@ -290,7 +290,6 @@ index 111111111111..222222222222 100644
|
|||
+ snps,reset-active-low;
|
||||
+ snps,reset-delays-us = <0 10000 30000>;
|
||||
+ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||
snps,aal;
|
||||
+ snps,rxpbl = <0x4>;
|
||||
+ snps,txpbl = <0x4>;
|
||||
+ tx_delay = <0x24>;
|
||||
|
@ -299,7 +298,7 @@ index 111111111111..222222222222 100644
|
|||
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
@@ -154,36 +220,35 @@ mdio {
|
||||
@@ -153,36 +219,35 @@ mdio {
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
|
@ -351,7 +350,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
@@ -192,12 +257,11 @@ regulator-state-mem {
|
||||
@@ -191,12 +256,11 @@ regulator-state-mem {
|
||||
|
||||
vdd_arm: DCDC_REG2 {
|
||||
regulator-name = "vdd_arm";
|
||||
|
@ -367,7 +366,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <950000>;
|
||||
@@ -208,19 +272,17 @@ vcc_ddr: DCDC_REG3 {
|
||||
@@ -207,19 +271,17 @@ vcc_ddr: DCDC_REG3 {
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
@ -391,7 +390,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
@@ -229,11 +291,10 @@ regulator-state-mem {
|
||||
@@ -228,11 +290,10 @@ regulator-state-mem {
|
||||
|
||||
vcc_18: LDO_REG1 {
|
||||
regulator-name = "vcc_18";
|
||||
|
@ -405,7 +404,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
@@ -242,11 +303,10 @@ regulator-state-mem {
|
||||
@@ -241,11 +302,10 @@ regulator-state-mem {
|
||||
|
||||
vcc18_emmc: LDO_REG2 {
|
||||
regulator-name = "vcc18_emmc";
|
||||
|
@ -419,7 +418,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
@@ -255,11 +315,10 @@ regulator-state-mem {
|
||||
@@ -254,11 +314,10 @@ regulator-state-mem {
|
||||
|
||||
vdd_10: LDO_REG3 {
|
||||
regulator-name = "vdd_10";
|
||||
|
@ -433,7 +432,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
@@ -270,20 +329,21 @@ regulator-state-mem {
|
||||
@@ -269,20 +328,21 @@ regulator-state-mem {
|
||||
};
|
||||
|
||||
&io_domains {
|
||||
|
@ -465,7 +464,7 @@ index 111111111111..222222222222 100644
|
|||
};
|
||||
};
|
||||
|
||||
@@ -293,61 +353,165 @@ eth_phy_reset_pin: eth-phy-reset-pin {
|
||||
@@ -292,61 +352,165 @@ eth_phy_reset_pin: eth-phy-reset-pin {
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -657,7 +656,7 @@ index 111111111111..222222222222 100644
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -363,13 +527,16 @@ &u2phy_otg {
|
||||
@@ -362,13 +526,16 @@ &u2phy_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -677,7 +676,7 @@ index 111111111111..222222222222 100644
|
|||
};
|
||||
|
||||
&usbdrd3 {
|
||||
@@ -378,17 +545,10 @@ &usbdrd3 {
|
||||
@@ -377,17 +544,10 @@ &usbdrd3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -7,16 +7,14 @@ Signed-off-by: John Doe <john.doe@somewhere.on.planet>
|
|||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts | 41 +++++++---
|
||||
drivers/net/ethernet/realtek/r8169_main.c | 11 +++
|
||||
drivers/net/phy/realtek.c | 11 +++
|
||||
drivers/net/phy/realtek/realtek_main.c | 11 +++
|
||||
3 files changed, 53 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts b/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
|
||||
index fb1f65c86..553a9e599 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
|
||||
@@ -50,23 +50,25 @@ gpio-leds {
|
||||
|
||||
power_led: led-0 {
|
||||
@@ -52,19 +52,21 @@ power_led: led-0 {
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_POWER;
|
||||
gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
|
@ -39,11 +37,7 @@ index fb1f65c86..553a9e599 100644
|
|||
};
|
||||
};
|
||||
|
||||
vcc3v3_sys: regulator-vcc3v3-sys {
|
||||
compatible = "regulator-fixed";
|
||||
@@ -135,22 +137,31 @@ &cpu2 {
|
||||
&cpu3 {
|
||||
cpu-supply = <&vdd_cpu>;
|
||||
@@ -137,18 +139,27 @@ &cpu3 {
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
|
@ -74,11 +68,7 @@ index fb1f65c86..553a9e599 100644
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&gpu {
|
||||
mali-supply = <&vdd_gpu>;
|
||||
@@ -407,22 +418,32 @@ rgmii_phy1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
@@ -409,10 +420,8 @@ rgmii_phy1: ethernet-phy@1 {
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <RK_PC3 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -91,8 +81,7 @@ index fb1f65c86..553a9e599 100644
|
|||
};
|
||||
};
|
||||
|
||||
&pcie2x1 {
|
||||
pinctrl-names = "default";
|
||||
@@ -421,6 +430,18 @@ &pcie2x1 {
|
||||
pinctrl-0 = <&pcie_reset_h>;
|
||||
reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
|
@ -111,11 +100,7 @@ index fb1f65c86..553a9e599 100644
|
|||
};
|
||||
|
||||
&pinctrl {
|
||||
gpio-leds {
|
||||
lan_led_pin: lan-led-pin {
|
||||
@@ -437,12 +458,12 @@ wan_led_pin: wan-led-pin {
|
||||
rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
@@ -439,8 +460,8 @@ wan_led_pin: wan-led-pin {
|
||||
};
|
||||
|
||||
gmac {
|
||||
|
@ -126,15 +111,11 @@ index fb1f65c86..553a9e599 100644
|
|||
};
|
||||
};
|
||||
|
||||
pcie {
|
||||
pcie_reset_h: pcie-reset-h {
|
||||
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
index 8a3959bb2..f8c046a69 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -19,10 +19,11 @@
|
||||
#include <linux/phy.h>
|
||||
#include <linux/if_vlan.h>
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <linux/in.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/ip.h>
|
||||
|
@ -142,11 +123,7 @@ index 8a3959bb2..f8c046a69 100644
|
|||
#include <linux/tcp.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/bitfield.h>
|
||||
@@ -2404,10 +2405,19 @@ void r8169_apply_firmware(struct rtl8169_private *tp)
|
||||
!(val & BMCR_RESET),
|
||||
50000, 600000, true);
|
||||
@@ -2436,6 +2437,15 @@ void r8169_apply_firmware(struct rtl8169_private *tp)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -162,11 +139,7 @@ index 8a3959bb2..f8c046a69 100644
|
|||
static void rtl8168_config_eee_mac(struct rtl8169_private *tp)
|
||||
{
|
||||
/* Adjust EEE LED frequency */
|
||||
if (tp->mac_version != RTL_GIGA_MAC_VER_38)
|
||||
RTL_W8(tp, EEE_LED, RTL_R8(tp, EEE_LED) & ~0x07);
|
||||
@@ -3389,10 +3399,11 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
|
||||
|
||||
rtl_eri_write(tp, 0xc0, ERIAR_MASK_0011, 0x0000);
|
||||
@@ -3421,6 +3431,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
|
||||
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
|
||||
|
||||
rtl8168_config_eee_mac(tp);
|
||||
|
@ -174,15 +147,11 @@ index 8a3959bb2..f8c046a69 100644
|
|||
|
||||
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN);
|
||||
RTL_W8(tp, MISC_1, RTL_R8(tp, MISC_1) & ~PFM_D3COLD_EN);
|
||||
|
||||
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~TX_10M_PS_EN);
|
||||
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
|
||||
index f65d7f1f3..f5d831924 100644
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -121,10 +121,19 @@ static int rtl821x_read_page(struct phy_device *phydev)
|
||||
static int rtl821x_write_page(struct phy_device *phydev, int page)
|
||||
{
|
||||
diff --git a/drivers/net/phy/realtek/realtek_main.c b/drivers/net/phy/realtek/realtek_main.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/net/phy/realtek/realtek_main.c
|
||||
+++ b/drivers/net/phy/realtek/realtek_main.c
|
||||
@@ -125,6 +125,15 @@ static int rtl821x_write_page(struct phy_device *phydev, int page)
|
||||
return __phy_write(phydev, RTL821x_PAGE_SELECT, page);
|
||||
}
|
||||
|
||||
|
@ -198,11 +167,7 @@ index f65d7f1f3..f5d831924 100644
|
|||
static int rtl821x_probe(struct phy_device *phydev)
|
||||
{
|
||||
struct device *dev = &phydev->mdio.dev;
|
||||
struct rtl821x_priv *priv;
|
||||
u32 phy_id = phydev->drv->phy_id;
|
||||
@@ -440,10 +449,12 @@ static int rtl8211f_config_init(struct phy_device *phydev)
|
||||
dev_dbg(dev,
|
||||
"2ns RX delay was already %s (by pin-strapping RXD0 or bootloader configuration)\n",
|
||||
@@ -444,6 +453,8 @@ static int rtl8211f_config_init(struct phy_device *phydev)
|
||||
val_rxdly ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
|
@ -211,8 +176,6 @@ index f65d7f1f3..f5d831924 100644
|
|||
if (priv->has_phycr2) {
|
||||
ret = phy_modify_paged(phydev, 0xa43, RTL8211F_PHYCR2,
|
||||
RTL8211F_CLKOUT_EN, priv->phycr2);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "clkout configuration failed: %pe\n",
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
Armbian
|
||||
|
|
@ -176,7 +176,7 @@ index 111111111111..222222222222 100644
|
|||
&gmac2io {
|
||||
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
|
||||
assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
|
||||
@@ -122,6 +160,10 @@ mdio {
|
||||
@@ -121,6 +159,10 @@ mdio {
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -187,7 +187,7 @@ index 111111111111..222222222222 100644
|
|||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
@@ -151,6 +193,7 @@ vdd_log: DCDC_REG1 {
|
||||
@@ -150,6 +192,7 @@ vdd_log: DCDC_REG1 {
|
||||
regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
@ -195,7 +195,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
@@ -165,6 +208,7 @@ vdd_arm: DCDC_REG2 {
|
||||
@@ -164,6 +207,7 @@ vdd_arm: DCDC_REG2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
@ -203,7 +203,7 @@ index 111111111111..222222222222 100644
|
|||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
@@ -346,6 +390,7 @@ &usbdrd3 {
|
||||
@@ -345,6 +389,7 @@ &usbdrd3 {
|
||||
rtl8153: device@2 {
|
||||
compatible = "usbbda,8153";
|
||||
reg = <2>;
|
|
@ -186,7 +186,7 @@ index 111111111111..222222222222 100644
|
|||
#include <linux/hrtimer.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -565,6 +566,11 @@ struct tcpm_port {
|
||||
@@ -575,6 +576,11 @@ struct tcpm_port {
|
||||
unsigned int message_id_prime;
|
||||
unsigned int rx_msgid_prime;
|
||||
|
||||
|
@ -197,8 +197,8 @@ index 111111111111..222222222222 100644
|
|||
+
|
||||
/* Timer deadline values configured at runtime */
|
||||
struct pd_timings timings;
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
@@ -955,6 +961,35 @@ static void tcpm_ams_finish(struct tcpm_port *port)
|
||||
|
||||
@@ -968,6 +974,35 @@ static void tcpm_ams_finish(struct tcpm_port *port)
|
||||
port->ams = NONE_AMS;
|
||||
}
|
||||
|
||||
|
@ -234,7 +234,7 @@ index 111111111111..222222222222 100644
|
|||
static int tcpm_pd_transmit(struct tcpm_port *port,
|
||||
enum tcpm_transmit_type tx_sop_type,
|
||||
const struct pd_message *msg)
|
||||
@@ -1194,6 +1229,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached,
|
||||
@@ -1207,6 +1242,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached,
|
||||
typec_set_data_role(port->typec_port, data);
|
||||
typec_set_pwr_role(port->typec_port, role);
|
||||
|
||||
|
@ -243,7 +243,7 @@ index 111111111111..222222222222 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -1749,7 +1786,7 @@ static void svdm_consume_modes(struct tcpm_port *port, const u32 *p, int cnt,
|
||||
@@ -1780,7 +1817,7 @@ static void svdm_consume_modes(struct tcpm_port *port, const u32 *p, int cnt,
|
||||
paltmode->mode = i;
|
||||
paltmode->vdo = p[i];
|
||||
|
||||
|
@ -252,7 +252,7 @@ index 111111111111..222222222222 100644
|
|||
pmdata->altmodes, paltmode->svid,
|
||||
paltmode->mode, paltmode->vdo);
|
||||
|
||||
@@ -1773,6 +1810,8 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
||||
@@ -1804,6 +1841,8 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
||||
tcpm_log(port, "Failed to register partner SVID 0x%04x",
|
||||
modep->altmode_desc[i].svid);
|
||||
altmode = NULL;
|
||||
|
@ -261,7 +261,7 @@ index 111111111111..222222222222 100644
|
|||
}
|
||||
port->partner_altmode[i] = altmode;
|
||||
}
|
||||
@@ -2149,11 +2188,13 @@ static int tcpm_pd_svdm(struct tcpm_port *port, struct typec_altmode *adev,
|
||||
@@ -2180,11 +2219,13 @@ static int tcpm_pd_svdm(struct tcpm_port *port, struct typec_altmode *adev,
|
||||
modep->svid_index++;
|
||||
if (modep->svid_index < modep->nsvids) {
|
||||
u16 svid = modep->svids[modep->svid_index];
|
||||
|
@ -275,7 +275,7 @@ index 111111111111..222222222222 100644
|
|||
*response_tx_sop_type = TCPC_TX_SOP_PRIME;
|
||||
response[0] = VDO(USB_SID_PD, 1,
|
||||
typec_get_cable_svdm_version(typec),
|
||||
@@ -4361,6 +4402,7 @@ static void tcpm_typec_disconnect(struct tcpm_port *port)
|
||||
@@ -4413,6 +4454,7 @@ static void tcpm_typec_disconnect(struct tcpm_port *port)
|
||||
port->cable = NULL;
|
||||
if (port->connected) {
|
||||
if (port->partner) {
|
||||
|
@ -283,7 +283,7 @@ index 111111111111..222222222222 100644
|
|||
typec_partner_set_usb_power_delivery(port->partner, NULL);
|
||||
typec_unregister_partner(port->partner);
|
||||
port->partner = NULL;
|
||||
@@ -4455,6 +4497,8 @@ static void tcpm_detach(struct tcpm_port *port)
|
||||
@@ -4507,6 +4549,8 @@ static void tcpm_detach(struct tcpm_port *port)
|
||||
}
|
||||
|
||||
tcpm_reset_port(port);
|
||||
|
@ -292,7 +292,7 @@ index 111111111111..222222222222 100644
|
|||
}
|
||||
|
||||
static void tcpm_src_detach(struct tcpm_port *port)
|
||||
@@ -7111,6 +7155,64 @@ static void tcpm_fw_get_timings(struct tcpm_port *port, struct fwnode_handle *fw
|
||||
@@ -7165,6 +7209,64 @@ static void tcpm_fw_get_timings(struct tcpm_port *port, struct fwnode_handle *fw
|
||||
port->timings.snk_bc12_cmpletion_time = val;
|
||||
}
|
||||
|
||||
|
@ -357,7 +357,7 @@ index 111111111111..222222222222 100644
|
|||
static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode)
|
||||
{
|
||||
struct fwnode_handle *capabilities, *child, *caps = NULL;
|
||||
@@ -7124,6 +7226,23 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode
|
||||
@@ -7178,6 +7280,23 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode
|
||||
if (!fwnode)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -381,8 +381,8 @@ index 111111111111..222222222222 100644
|
|||
/*
|
||||
* This fwnode has a "compatible" property, but is never populated as a
|
||||
* struct device. Instead we simply parse it to read the properties.
|
||||
@@ -7671,6 +7790,17 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
|
||||
tcpm_fw_get_timings(port, tcpc->fwnode);
|
||||
@@ -7749,6 +7868,17 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
|
||||
tcpm_fw_get_pd_revision(port, tcpc->fwnode);
|
||||
|
||||
port->try_role = port->typec_caps.prefer_role;
|
||||
+#ifdef CONFIG_EXTCON
|
||||
|
@ -398,8 +398,8 @@ index 111111111111..222222222222 100644
|
|||
+#endif
|
||||
|
||||
port->typec_caps.revision = 0x0120; /* Type-C spec release 1.2 */
|
||||
port->typec_caps.pd_revision = 0x0300; /* USB-PD spec release 3.0 */
|
||||
@@ -7714,6 +7844,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
|
||||
|
||||
@@ -7798,6 +7928,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
|
||||
&tcpm_cable_ops);
|
||||
port->registered = true;
|
||||
|
|
@ -29,7 +29,7 @@ index 111111111111..222222222222 100644
|
|||
|
||||
/ {
|
||||
model = "Radxa ROCK Pi E";
|
||||
@@ -443,3 +444,9 @@ &usbdrd3 {
|
||||
@@ -440,3 +441,9 @@ &usbdrd3 {
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
|
@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
|
||||
@@ -167,6 +167,7 @@ mdio {
|
||||
@@ -164,6 +164,7 @@ mdio {
|
||||
#size-cells = <0>;
|
||||
|
||||
rtl8211: ethernet-phy@1 {
|
|
@ -1,16 +1,16 @@
|
|||
From 78c6d6c875dc82ab1f595dac580dcfe705923234 Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor@armbian.com>
|
||||
Date: Sat, 8 Feb 2025 17:54:03 +0100
|
||||
Subject: [PATCH 1/1] Revert "arm64: dts: rockchip: Fix sdmmc access on
|
||||
rk3308-rock-s0 v1.1 boards"
|
||||
Subject: Revert "arm64: dts: rockchip: Fix sdmmc access on rk3308-rock-s0 v1.1
|
||||
boards"
|
||||
|
||||
This reverts commit 8810a8368b6075595715c4231322ca906a6b2f6f.
|
||||
---
|
||||
.../boot/dts/rockchip/rk3308-rock-s0.dts | 25 +------------------
|
||||
arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts | 25 +---------
|
||||
1 file changed, 1 insertion(+), 24 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
|
||||
index 8311af4c8689..bd6419a5c20a 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
|
||||
@@ -74,23 +74,6 @@ vcc_io: regulator-3v3-vcc-io {
|
||||
|
@ -60,5 +60,5 @@ index 8311af4c8689..bd6419a5c20a 100644
|
|||
};
|
||||
|
||||
--
|
||||
2.43.0
|
||||
Armbian
|
||||
|
|
@ -12,15 +12,15 @@ diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -699,6 +699,7 @@ static const struct class spidev_class = {
|
||||
};
|
||||
|
||||
@@ -703,6 +703,7 @@ static const struct class spidev_class = {
|
||||
* spidev_dt_ids array below. Both arrays are kept in the same ordering.
|
||||
*/
|
||||
static const struct spi_device_id spidev_spi_ids[] = {
|
||||
+ { .name = "spi-dev" },
|
||||
{ .name = "bh2228fv" },
|
||||
{ .name = "dh2228fv" },
|
||||
{ .name = "jg10309-01" },
|
||||
@@ -729,6 +730,7 @@ static int spidev_of_check(struct device *dev)
|
||||
{ .name = /* cisco */ "spi-petra" },
|
||||
{ .name = /* dh */ "dhcom-board" },
|
||||
{ .name = /* elgin */ "jg10309-01" },
|
||||
@@ -734,6 +735,7 @@ static int spidev_of_check(struct device *dev)
|
||||
}
|
||||
|
||||
static const struct of_device_id spidev_dt_ids[] = {
|
|
@ -57,7 +57,7 @@ diff --git a/drivers/video/hdmi.c b/drivers/video/hdmi.c
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/video/hdmi.c
|
||||
+++ b/drivers/video/hdmi.c
|
||||
@@ -1115,6 +1115,8 @@ hdmi_picture_aspect_get_name(enum hdmi_picture_aspect picture_aspect)
|
||||
@@ -1087,6 +1087,8 @@ hdmi_picture_aspect_get_name(enum hdmi_picture_aspect picture_aspect)
|
||||
return "64:27";
|
||||
case HDMI_PICTURE_ASPECT_256_135:
|
||||
return "256:135";
|
|
@ -30,7 +30,7 @@ diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/mtd/spi-nor/core.c
|
||||
+++ b/drivers/mtd/spi-nor/core.c
|
||||
@@ -1980,6 +1980,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = {
|
||||
@@ -1981,6 +1981,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = {
|
||||
&spi_nor_sst,
|
||||
&spi_nor_winbond,
|
||||
&spi_nor_xmc,
|
||||
|
@ -42,7 +42,7 @@ diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/mtd/spi-nor/core.h
|
||||
+++ b/drivers/mtd/spi-nor/core.h
|
||||
@@ -594,6 +594,7 @@ extern const struct spi_nor_manufacturer spi_nor_spansion;
|
||||
@@ -598,6 +598,7 @@ extern const struct spi_nor_manufacturer spi_nor_spansion;
|
||||
extern const struct spi_nor_manufacturer spi_nor_sst;
|
||||
extern const struct spi_nor_manufacturer spi_nor_winbond;
|
||||
extern const struct spi_nor_manufacturer spi_nor_xmc;
|
|
@ -18,7 +18,7 @@ diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/crypto/Kconfig
|
||||
+++ b/drivers/crypto/Kconfig
|
||||
@@ -717,6 +717,14 @@ config CRYPTO_DEV_ROCKCHIP
|
||||
@@ -700,6 +700,14 @@ config CRYPTO_DEV_ROCKCHIP
|
||||
This driver interfaces with the hardware crypto accelerator.
|
||||
Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode.
|
||||
|
|
@ -18,7 +18,7 @@ diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/eth
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
@@ -5827,27 +5827,15 @@ static void stmmac_set_rx_mode(struct net_device *dev)
|
||||
@@ -5873,27 +5873,15 @@ static void stmmac_set_rx_mode(struct net_device *dev)
|
||||
static int stmmac_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
struct stmmac_priv *priv = netdev_priv(dev);
|
|
@ -26,7 +26,7 @@ diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
|
|||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/mmc/core/core.c
|
||||
+++ b/drivers/mmc/core/core.c
|
||||
@@ -1377,6 +1377,14 @@ void mmc_power_off(struct mmc_host *host)
|
||||
@@ -1374,6 +1374,14 @@ void mmc_power_off(struct mmc_host *host)
|
||||
if (host->ios.power_mode == MMC_POWER_OFF)
|
||||
return;
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
From 379651eb82cf5966a40a5b931afc2fa91c6a311d Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sun, 12 Jan 2025 12:39:03 +0100
|
||||
Subject: [PATCH 2/2] rockchip: increase SPDIF max burst value to maximum
|
||||
Subject: rockchip: increase SPDIF max burst value to maximum
|
||||
|
||||
---
|
||||
sound/soc/rockchip/rockchip_spdif.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/rockchip/rockchip_spdif.c b/sound/soc/rockchip/rockchip_spdif.c
|
||||
index d87c0e4f6f91..7a2cfecf6a94 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/sound/soc/rockchip/rockchip_spdif.c
|
||||
+++ b/sound/soc/rockchip/rockchip_spdif.c
|
||||
@@ -329,7 +329,7 @@ static int rk_spdif_probe(struct platform_device *pdev)
|
||||
|
@ -21,5 +21,5 @@ index d87c0e4f6f91..7a2cfecf6a94 100644
|
|||
spdif->dev = &pdev->dev;
|
||||
dev_set_drvdata(&pdev->dev, spdif);
|
||||
--
|
||||
2.43.0
|
||||
Armbian
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
From fc0d09bf651fcab0998da4d187a91f64df419188 Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sun, 12 Jan 2025 12:36:50 +0100
|
||||
Subject: [PATCH 1/2] pl330: fix dma engine periodic transfers
|
||||
Subject: pl330: fix dma engine periodic transfers
|
||||
|
||||
---
|
||||
drivers/dma/pl330.c | 277 +++++++++++++++++++++++++++++---------------
|
||||
drivers/dma/pl330.c | 277 +++++++---
|
||||
1 file changed, 186 insertions(+), 91 deletions(-)
|
||||
|
||||
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
|
||||
index 82a9fe88ad54..ef197c4cfed4 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/dma/pl330.c
|
||||
+++ b/drivers/dma/pl330.c
|
||||
@@ -239,6 +239,7 @@ enum pl330_byteswap {
|
||||
|
@ -417,5 +417,5 @@ index 82a9fe88ad54..ef197c4cfed4 100644
|
|||
return &desc->txd;
|
||||
}
|
||||
--
|
||||
2.43.0
|
||||
Armbian
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
From e691c5c3feede95b4e159344aaea070fc428c847 Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Thu, 23 Jan 2025 20:23:50 +0100
|
||||
Subject: [PATCH 1/2] rockchip/64: pl330 - add support for interleaved
|
||||
transfers
|
||||
Subject: rockchip/64: pl330 - add support for interleaved transfers
|
||||
|
||||
original source: https://patchwork.kernel.org/project/linux-rockchip/cover/1712150304-60832-1-git-send-email-sugar.zhang@rock-chips.com/
|
||||
---
|
||||
drivers/dma/pl330.c | 168 ++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 162 insertions(+), 6 deletions(-)
|
||||
drivers/dma/pl330.c | 168 +++++++++-
|
||||
include/linux/dmaengine.h | 1 +
|
||||
2 files changed, 163 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
|
||||
index ef197c4cfed4..b49a3a6c4686 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/dma/pl330.c
|
||||
+++ b/drivers/dma/pl330.c
|
||||
@@ -543,6 +543,8 @@ struct dma_pl330_desc {
|
||||
|
@ -245,7 +245,7 @@ index ef197c4cfed4..b49a3a6c4686 100644
|
|||
pd->device_prep_slave_sg = pl330_prep_slave_sg;
|
||||
pd->device_config = pl330_config;
|
||||
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
|
||||
index b137fdb56093..63624c5836cf 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/include/linux/dmaengine.h
|
||||
+++ b/include/linux/dmaengine.h
|
||||
@@ -156,6 +156,7 @@ struct dma_interleaved_template {
|
||||
|
@ -257,5 +257,5 @@ index b137fdb56093..63624c5836cf 100644
|
|||
struct data_chunk sgl[];
|
||||
};
|
||||
--
|
||||
2.43.0
|
||||
Armbian
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From f695d6bfdd099ec6f59a73aa792b97df80c72d54 Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sun, 26 Jan 2025 14:49:18 +0100
|
||||
Subject: [PATCH] increase pl330 microcode buffer size
|
||||
Subject: increase pl330 microcode buffer size
|
||||
|
||||
suggestion comes from the scatter/gather functionality as
|
||||
proposed here: https://github.com/radxa/kernel/commit/ec0b65dbc59793426b6dc7af06ab6675f4a24940
|
||||
|
@ -10,10 +10,10 @@ proposed here: https://github.com/radxa/kernel/commit/ec0b65dbc59793426b6dc7af06
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
|
||||
index 82a9fe88ad54..eb322c7ae5de 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/dma/pl330.c
|
||||
+++ b/drivers/dma/pl330.c
|
||||
@@ -246,7 +246,7 @@ enum pl330_byteswap {
|
||||
@@ -247,7 +247,7 @@ enum pl330_byteswap {
|
||||
* For typical scenario, at 1word/burst, 10MB and 20MB xfers per req
|
||||
* should be enough for P<->M and M<->M respectively.
|
||||
*/
|
||||
|
@ -23,5 +23,5 @@ index 82a9fe88ad54..eb322c7ae5de 100644
|
|||
/* Use this _only_ to wait on transient states */
|
||||
#define UNTIL(t, s) while (!(_state(t) & (s))) cpu_relax();
|
||||
--
|
||||
2.43.0
|
||||
Armbian
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 05cc2b4fba887e3da543952311b009bacc87cee8 Mon Sep 17 00:00:00 2001
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Sugar Zhang <sugar.zhang@rock-chips.com>
|
||||
Date: Sat, 26 Mar 2022 18:01:21 +0800
|
||||
Subject: [PATCH] dmaengine: pl330: Fix unbalanced runtime PM
|
||||
Subject: dmaengine: pl330: Fix unbalanced runtime PM
|
||||
|
||||
This driver use runtime PM autosuspend mechanism to manager clk.
|
||||
|
||||
|
@ -64,10 +64,10 @@ Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
|
||||
index 6dca548f4dab1..f87729ace4f5b 100644
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/dma/pl330.c
|
||||
+++ b/drivers/dma/pl330.c
|
||||
@@ -2086,7 +2086,7 @@ static void pl330_tasklet(struct tasklet_struct *t)
|
||||
@@ -2282,7 +2282,7 @@ static void pl330_tasklet(struct tasklet_struct *t)
|
||||
spin_lock(&pch->thread->dmac->lock);
|
||||
_stop(pch->thread);
|
||||
spin_unlock(&pch->thread->dmac->lock);
|
||||
|
@ -76,3 +76,6 @@ index 6dca548f4dab1..f87729ace4f5b 100644
|
|||
pch->active = false;
|
||||
} else {
|
||||
/* Make sure the PL330 Channel thread is active */
|
||||
--
|
||||
Armbian
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue