rockchip64: current: rewrite patches

This commit is contained in:
Muhammed Efe Cetin
2025-09-11 14:41:17 +03:00
committed by Igor
parent 1f8c83cfb7
commit 8b48d991a8
55 changed files with 296 additions and 376 deletions

View File

@@ -10,8 +10,8 @@ is the complete set of changes actually done.
Signed-off-by: Aditya Prayoga <aditya@kobol.io> Signed-off-by: Aditya Prayoga <aditya@kobol.io>
--- ---
arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 734 +++++++++- arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts | 736 +++++++++-
1 file changed, 654 insertions(+), 80 deletions(-) 1 file changed, 655 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 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 index 111111111111..222222222222 100644
@@ -359,7 +359,7 @@ index 111111111111..222222222222 100644
}; };
&cpu_l0 { &cpu_l0 {
@@ -275,6 +467,21 @@ &cpu_l3 { @@ -275,7 +467,22 @@ &cpu_l3 {
cpu-supply = <&vdd_cpu_l>; cpu-supply = <&vdd_cpu_l>;
}; };
@@ -381,7 +381,8 @@ index 111111111111..222222222222 100644
+ rockchip,enable-strobe-pulldown; + rockchip,enable-strobe-pulldown;
status = "okay"; status = "okay";
}; };
@@ -295,6 +501,11 @@ &gmac {
@@ -295,6 +502,11 @@ &gmac {
status = "okay"; status = "okay";
}; };
@@ -393,7 +394,7 @@ index 111111111111..222222222222 100644
&i2c0 { &i2c0 {
clock-frequency = <400000>; clock-frequency = <400000>;
i2c-scl-rising-time-ns = <168>; i2c-scl-rising-time-ns = <168>;
@@ -310,6 +521,7 @@ rk808: pmic@1b { @@ -310,6 +522,7 @@ rk808: pmic@1b {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>; pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller; rockchip,system-power-controller;
@@ -401,7 +402,7 @@ index 111111111111..222222222222 100644
vcc1-supply = <&vcc5v0_sys>; vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>; vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>; vcc3-supply = <&vcc5v0_sys>;
@@ -326,6 +538,19 @@ rk808: pmic@1b { @@ -326,6 +539,19 @@ rk808: pmic@1b {
#clock-cells = <1>; #clock-cells = <1>;
regulators { regulators {
@@ -421,7 +422,7 @@ index 111111111111..222222222222 100644
vdd_cpu_l: DCDC_REG2 { vdd_cpu_l: DCDC_REG2 {
regulator-name = "vdd_cpu_l"; regulator-name = "vdd_cpu_l";
regulator-always-on; regulator-always-on;
@@ -333,19 +558,48 @@ vdd_cpu_l: DCDC_REG2 { @@ -333,19 +559,48 @@ vdd_cpu_l: DCDC_REG2 {
regulator-min-microvolt = <750000>; regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1350000>; regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>; regulator-ramp-delay = <6001>;
@@ -471,7 +472,7 @@ index 111111111111..222222222222 100644
regulator-state-mem { regulator-state-mem {
regulator-on-in-suspend; regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>; regulator-suspend-microvolt = <1800000>;
@@ -358,25 +612,61 @@ vcc_sdio_s0: LDO_REG4 { @@ -358,25 +613,61 @@ vcc_sdio_s0: LDO_REG4 {
regulator-boot-on; regulator-boot-on;
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3000000>; regulator-max-microvolt = <3000000>;
@@ -535,7 +536,7 @@ index 111111111111..222222222222 100644
}; };
}; };
@@ -384,12 +674,33 @@ vdd_cpu_b: regulator@40 { @@ -384,12 +675,33 @@ vdd_cpu_b: regulator@40 {
compatible = "silergy,syr827"; compatible = "silergy,syr827";
reg = <0x40>; reg = <0x40>;
fcs,suspend-voltage-selector = <1>; fcs,suspend-voltage-selector = <1>;
@@ -569,7 +570,7 @@ index 111111111111..222222222222 100644
vin-supply = <&vcc5v0_sys>; vin-supply = <&vcc5v0_sys>;
regulator-state-mem { regulator-state-mem {
@@ -404,17 +715,101 @@ &i2c2 { @@ -404,17 +716,101 @@ &i2c2 {
i2c-scl-falling-time-ns = <30>; i2c-scl-falling-time-ns = <30>;
status = "okay"; status = "okay";
@@ -673,7 +674,7 @@ index 111111111111..222222222222 100644
status = "okay"; status = "okay";
}; };
@@ -427,6 +822,7 @@ &pcie0 { @@ -427,6 +823,7 @@ &pcie0 {
max-link-speed = <2>; max-link-speed = <2>;
num-lanes = <2>; num-lanes = <2>;
pinctrl-names = "default"; pinctrl-names = "default";
@@ -681,7 +682,7 @@ index 111111111111..222222222222 100644
status = "okay"; status = "okay";
vpcie12v-supply = <&vcc12v_dcin>; vpcie12v-supply = <&vcc12v_dcin>;
@@ -436,36 +832,116 @@ &pcie0 { @@ -436,36 +833,116 @@ &pcie0 {
}; };
&pinctrl { &pinctrl {
@@ -806,7 +807,7 @@ index 111111111111..222222222222 100644
hdd_a_power_en: hdd-a-power-en { hdd_a_power_en: hdd-a-power-en {
rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
}; };
@@ -485,7 +961,7 @@ usb_lan_en: usb-lan-en { @@ -485,7 +962,7 @@ usb_lan_en: usb-lan-en {
vcc3v0-sd { vcc3v0-sd {
sdmmc0_pwr_h: sdmmc0-pwr-h { sdmmc0_pwr_h: sdmmc0-pwr-h {
@@ -815,7 +816,7 @@ index 111111111111..222222222222 100644
}; };
}; };
}; };
@@ -505,10 +981,28 @@ &pwm1 { @@ -505,10 +982,28 @@ &pwm1 {
status = "okay"; status = "okay";
}; };

View File

@@ -59,7 +59,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts --- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
@@ -521,6 +521,7 @@ rk808: pmic@1b { @@ -522,6 +522,7 @@ rk808: pmic@1b {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>; pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller; rockchip,system-power-controller;

View File

@@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts b/arch/arm64
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts --- a/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-kobol-helios64.dts
@@ -819,7 +819,6 @@ &pcie_phy { @@ -820,7 +820,6 @@ &pcie_phy {
}; };
&pcie0 { &pcie0 {

View File

@@ -32,7 +32,7 @@ index 111111111111..222222222222 100644
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@@ -970,6 +974,7 @@ spiflash: flash@0 { @@ -971,6 +975,7 @@ spiflash: flash@0 {
}; };
&tcphy0 { &tcphy0 {
@@ -157,7 +157,7 @@ index 111111111111..222222222222 100644
break; break;
case DP_STATE_EXIT_PRIME: case DP_STATE_EXIT_PRIME:
if (typec_cable_altmode_exit(dp->plug_prime, TYPEC_PLUG_SOP_P)) if (typec_cable_altmode_exit(dp->plug_prime, TYPEC_PLUG_SOP_P))
@@ -733,8 +775,14 @@ int dp_altmode_probe(struct typec_altmode *alt) @@ -736,8 +778,14 @@ int dp_altmode_probe(struct typec_altmode *alt)
if (!(DP_CAP_PIN_ASSIGN_DFP_D(port->vdo) & if (!(DP_CAP_PIN_ASSIGN_DFP_D(port->vdo) &
DP_CAP_PIN_ASSIGN_UFP_D(alt->vdo)) && DP_CAP_PIN_ASSIGN_UFP_D(alt->vdo)) &&
!(DP_CAP_PIN_ASSIGN_UFP_D(port->vdo) & !(DP_CAP_PIN_ASSIGN_UFP_D(port->vdo) &
@@ -186,7 +186,7 @@ index 111111111111..222222222222 100644
#include <linux/hrtimer.h> #include <linux/hrtimer.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <linux/kernel.h> #include <linux/kernel.h>
@@ -552,6 +553,12 @@ struct tcpm_port { @@ -553,6 +554,12 @@ struct tcpm_port {
*/ */
unsigned int message_id_prime; unsigned int message_id_prime;
unsigned int rx_msgid_prime; unsigned int rx_msgid_prime;
@@ -199,7 +199,7 @@ index 111111111111..222222222222 100644
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
struct dentry *dentry; struct dentry *dentry;
struct mutex logbuffer_lock; /* log buffer access lock */ struct mutex logbuffer_lock; /* log buffer access lock */
@@ -940,6 +947,35 @@ static void tcpm_ams_finish(struct tcpm_port *port) @@ -950,6 +957,35 @@ static void tcpm_ams_finish(struct tcpm_port *port)
port->ams = NONE_AMS; port->ams = NONE_AMS;
} }
@@ -235,7 +235,7 @@ index 111111111111..222222222222 100644
static int tcpm_pd_transmit(struct tcpm_port *port, static int tcpm_pd_transmit(struct tcpm_port *port,
enum tcpm_transmit_type tx_sop_type, enum tcpm_transmit_type tx_sop_type,
const struct pd_message *msg) const struct pd_message *msg)
@@ -1179,6 +1215,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached, @@ -1189,6 +1225,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached, int state,
typec_set_data_role(port->typec_port, data); typec_set_data_role(port->typec_port, data);
typec_set_pwr_role(port->typec_port, role); typec_set_pwr_role(port->typec_port, role);
@@ -244,7 +244,7 @@ index 111111111111..222222222222 100644
return 0; return 0;
} }
@@ -1734,7 +1772,7 @@ static void svdm_consume_modes(struct tcpm_port *port, const u32 *p, int cnt, @@ -1794,7 +1832,7 @@ static void svdm_consume_modes(struct tcpm_port *port, const u32 *p, int cnt,
paltmode->mode = i; paltmode->mode = i;
paltmode->vdo = p[i]; paltmode->vdo = p[i];
@@ -253,7 +253,7 @@ index 111111111111..222222222222 100644
pmdata->altmodes, paltmode->svid, pmdata->altmodes, paltmode->svid,
paltmode->mode, paltmode->vdo); paltmode->mode, paltmode->vdo);
@@ -1758,6 +1796,8 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port) @@ -1818,6 +1856,8 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
tcpm_log(port, "Failed to register partner SVID 0x%04x", tcpm_log(port, "Failed to register partner SVID 0x%04x",
modep->altmode_desc[i].svid); modep->altmode_desc[i].svid);
altmode = NULL; altmode = NULL;
@@ -262,7 +262,7 @@ index 111111111111..222222222222 100644
} }
port->partner_altmode[i] = altmode; port->partner_altmode[i] = altmode;
} }
@@ -2134,11 +2174,13 @@ static int tcpm_pd_svdm(struct tcpm_port *port, struct typec_altmode *adev, @@ -2194,11 +2234,13 @@ static int tcpm_pd_svdm(struct tcpm_port *port, struct typec_altmode *adev,
modep->svid_index++; modep->svid_index++;
if (modep->svid_index < modep->nsvids) { if (modep->svid_index < modep->nsvids) {
u16 svid = modep->svids[modep->svid_index]; u16 svid = modep->svids[modep->svid_index];
@@ -276,7 +276,7 @@ index 111111111111..222222222222 100644
*response_tx_sop_type = TCPC_TX_SOP_PRIME; *response_tx_sop_type = TCPC_TX_SOP_PRIME;
response[0] = VDO(USB_SID_PD, 1, response[0] = VDO(USB_SID_PD, 1,
typec_get_cable_svdm_version(typec), typec_get_cable_svdm_version(typec),
@@ -4346,6 +4388,7 @@ static void tcpm_typec_disconnect(struct tcpm_port *port) @@ -4401,6 +4443,7 @@ static void tcpm_typec_disconnect(struct tcpm_port *port)
port->cable = NULL; port->cable = NULL;
if (port->connected) { if (port->connected) {
if (port->partner) { if (port->partner) {
@@ -284,7 +284,7 @@ index 111111111111..222222222222 100644
typec_partner_set_usb_power_delivery(port->partner, NULL); typec_partner_set_usb_power_delivery(port->partner, NULL);
typec_unregister_partner(port->partner); typec_unregister_partner(port->partner);
port->partner = NULL; port->partner = NULL;
@@ -4440,6 +4483,8 @@ static void tcpm_detach(struct tcpm_port *port) @@ -4495,6 +4538,8 @@ static void tcpm_detach(struct tcpm_port *port)
} }
tcpm_reset_port(port); tcpm_reset_port(port);
@@ -293,7 +293,7 @@ index 111111111111..222222222222 100644
} }
static void tcpm_src_detach(struct tcpm_port *port) static void tcpm_src_detach(struct tcpm_port *port)
@@ -7057,6 +7102,64 @@ static int tcpm_port_register_pd(struct tcpm_port *port) @@ -7124,6 +7169,64 @@ static int tcpm_port_register_pd(struct tcpm_port *port)
return ret; return ret;
} }
@@ -358,7 +358,7 @@ index 111111111111..222222222222 100644
static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode) static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode)
{ {
struct fwnode_handle *capabilities, *child, *caps = NULL; struct fwnode_handle *capabilities, *child, *caps = NULL;
@@ -7070,6 +7173,23 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode @@ -7137,6 +7240,23 @@ static int tcpm_fw_get_caps(struct tcpm_port *port, struct fwnode_handle *fwnode
if (!fwnode) if (!fwnode)
return -EINVAL; return -EINVAL;
@@ -382,7 +382,7 @@ index 111111111111..222222222222 100644
/* /*
* This fwnode has a "compatible" property, but is never populated as a * This fwnode has a "compatible" property, but is never populated as a
* struct device. Instead we simply parse it to read the properties. * struct device. Instead we simply parse it to read the properties.
@@ -7615,6 +7735,17 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc) @@ -7682,6 +7802,17 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
goto out_destroy_wq; goto out_destroy_wq;
port->try_role = port->typec_caps.prefer_role; port->try_role = port->typec_caps.prefer_role;
@@ -400,7 +400,7 @@ index 111111111111..222222222222 100644
port->typec_caps.revision = 0x0120; /* Type-C spec release 1.2 */ port->typec_caps.revision = 0x0120; /* Type-C spec release 1.2 */
port->typec_caps.pd_revision = 0x0300; /* USB-PD spec release 3.0 */ port->typec_caps.pd_revision = 0x0300; /* USB-PD spec release 3.0 */
@@ -7658,6 +7789,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc) @@ -7725,6 +7856,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc)
&tcpm_cable_ops); &tcpm_cable_ops);
port->registered = true; port->registered = true;

View File

@@ -9,12 +9,10 @@ Signed-off-by: Werner <werner@armbian.com>
1 file changed, 75 insertions(+) 1 file changed, 75 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
index bb9bdabf1..86953e46e 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
@@ -275,10 +275,85 @@ &gmac1m1_clkinout @@ -277,6 +277,81 @@ &gpu {
&gpu {
mali-supply = <&vdd_gpu>;
status = "okay"; status = "okay";
}; };
@@ -96,8 +94,6 @@ index bb9bdabf1..86953e46e 100644
&hdmi { &hdmi {
avdd-0v9-supply = <&vdda0v9_image>; avdd-0v9-supply = <&vdda0v9_image>;
avdd-1v8-supply = <&vcca1v8_image>; avdd-1v8-supply = <&vcca1v8_image>;
pinctrl-names = "default";
pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm1_cec>;
-- --
Created with Armbian build tools https://github.com/armbian/build Armbian

View File

@@ -1,8 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Brent Roman <genosensor@gmail.com> From: Brent Roman <genosensor@gmail.com>
Date: Sat, 30 Dec 2023 12:04:32 -0800 Date: Sat, 30 Dec 2023 12:04:32 -0800
Subject: fix10MbitEthernet Subject: fix10MbitEthernet drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
Signed-off-by: Brent Roman <genosensor@gmail.com> Signed-off-by: Brent Roman <genosensor@gmail.com>
--- ---
@@ -10,12 +9,10 @@ Signed-off-by: Brent Roman <genosensor@gmail.com>
1 file changed, 17 insertions(+), 10 deletions(-) 1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index cf682a9e3..512a7586c 100644 index 111111111111..222222222222 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -504,12 +504,12 @@ static const struct rk_gmac_ops rk3288_ops = { @@ -505,8 +505,8 @@ static const struct rk_gmac_ops rk3288_ops = {
#define RK3308_GRF_MAC_CON0 0x04a0
/* RK3308_GRF_MAC_CON0 */ /* RK3308_GRF_MAC_CON0 */
#define RK3308_GMAC_PHY_INTF_SEL_RMII (GRF_CLR_BIT(2) | GRF_CLR_BIT(3) | \ #define RK3308_GMAC_PHY_INTF_SEL_RMII (GRF_CLR_BIT(2) | GRF_CLR_BIT(3) | \
GRF_BIT(4)) GRF_BIT(4))
@@ -25,22 +22,18 @@ index cf682a9e3..512a7586c 100644
+#define RK3308_GMAC_FLOW_CTRL_CLR GRF_CLR_BIT(1) +#define RK3308_GMAC_FLOW_CTRL_CLR GRF_CLR_BIT(1)
#define RK3308_GMAC_SPEED_10M GRF_CLR_BIT(0) #define RK3308_GMAC_SPEED_10M GRF_CLR_BIT(0)
#define RK3308_GMAC_SPEED_100M GRF_BIT(0) #define RK3308_GMAC_SPEED_100M GRF_BIT(0)
static void rk3308_set_to_rmii(struct rk_priv_data *bsp_priv) @@ -526,20 +526,27 @@ static void rk3308_set_to_rmii(struct rk_priv_data *bsp_priv)
{
@@ -525,24 +525,31 @@ static void rk3308_set_to_rmii(struct rk_priv_data *bsp_priv)
}
static void rk3308_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed) static void rk3308_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed)
{ {
struct device *dev = &bsp_priv->pdev->dev; struct device *dev = &bsp_priv->pdev->dev;
+ int rateMode; + int rateMode;
if (IS_ERR(bsp_priv->grf)) { if (IS_ERR(bsp_priv->grf)) {
dev_err(dev, "Missing rockchip,grf property\n"); dev_err(dev, "Missing rockchip,grf property\n");
return; return;
} }
- if (speed == 10) { - if (speed == 10) {
- regmap_write(bsp_priv->grf, RK3308_GRF_MAC_CON0, - regmap_write(bsp_priv->grf, RK3308_GRF_MAC_CON0,
- RK3308_GMAC_SPEED_10M); - RK3308_GMAC_SPEED_10M);
@@ -65,9 +58,7 @@ index cf682a9e3..512a7586c 100644
+ __func__, speed, ret); + __func__, speed, ret);
} }
} }
static const struct rk_gmac_ops rk3308_ops = {
.set_to_rmii = rk3308_set_to_rmii,
-- --
Created with Armbian build tools https://github.com/armbian/build Armbian

View File

@@ -1,11 +1,11 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Brent Roman <brent@mbari.org> From: Brent Roman <brent@mbari.org>
Date: Sat, 05 Jul 2025 11:48:31 -0800 Date: Sat, 5 Jul 2025 11:48:31 -0800
Subject: rk3308: fixes for rock pi s dts (sans pcm5102) Subject: rk3308: fixes for rock pi s dts (sans pcm5102)
--- ---
arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts | 73 ++++++++++ arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts | 41 ++++++++++
1 file changed, 73 insertions(+) 1 file changed, 41 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
@@ -42,7 +42,7 @@ index 111111111111..222222222222 100644
sdio_pwrseq: sdio-pwrseq { sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple"; compatible = "mmc-pwrseq-simple";
pinctrl-0 = <&wifi_enable_h>; pinctrl-0 = <&wifi_enable_h>;
@@ -128,6 +176,11 @@ vdd_log: vdd-log { @@ -128,6 +152,11 @@ vdd_log: vdd-log {
}; };
}; };
@@ -54,7 +54,7 @@ index 111111111111..222222222222 100644
&cpu0 { &cpu0 {
cpu-supply = <&vdd_core>; cpu-supply = <&vdd_core>;
}; };
@@ -242,6 +295,11 @@ &io_domains { @@ -242,6 +271,11 @@ &io_domains {
status = "okay"; status = "okay";
}; };
@@ -66,7 +66,7 @@ index 111111111111..222222222222 100644
&pinctrl { &pinctrl {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&rtc_32k>; pinctrl-0 = <&rtc_32k>;
@@ -333,10 +399,17 @@ &sdmmc { @@ -333,10 +367,17 @@ &sdmmc {
cap-mmc-highspeed; cap-mmc-highspeed;
cap-sd-highspeed; cap-sd-highspeed;
disable-wp; disable-wp;

View File

@@ -51,7 +51,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
@@ -663,6 +663,7 @@ &pcie0 { @@ -675,6 +675,7 @@ &pcie0 {
pinctrl-0 = <&pcie_perst>; pinctrl-0 = <&pcie_perst>;
vpcie12v-supply = <&vcc12v_dcin>; vpcie12v-supply = <&vcc12v_dcin>;
vpcie3v3-supply = <&vcc3v3_pcie>; vpcie3v3-supply = <&vcc3v3_pcie>;

View File

@@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
@@ -307,7 +307,7 @@ &gmac { @@ -317,7 +317,7 @@ &gmac {
snps,reset-active-low; snps,reset-active-low;
snps,reset-delays-us = <0 10000 50000>; snps,reset-delays-us = <0 10000 50000>;
tx_delay = <0x28>; tx_delay = <0x28>;

View File

@@ -110,7 +110,7 @@ index 111111111111..222222222222 100644
stdout-path = "serial2:1500000n8"; stdout-path = "serial2:1500000n8";
}; };
@@ -815,6 +816,7 @@ &sdmmc { @@ -827,6 +828,7 @@ &sdmmc {
&sdhci { &sdhci {
bus-width = <8>; bus-width = <8>;

View File

@@ -91,7 +91,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boo
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
@@ -838,7 +838,7 @@ &spi1 { @@ -850,7 +850,7 @@ &spi1 {
flash@0 { flash@0 {
compatible = "jedec,spi-nor"; compatible = "jedec,spi-nor";
reg = <0>; reg = <0>;

View File

@@ -1,16 +1,16 @@
From fd50c186b02442b59790c1a31fc4f10f542e22d6 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com> From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 9 Feb 2025 21:48:44 +0100 Date: Sun, 9 Feb 2025 21:48:44 +0100
Subject: [PATCH] Added Linux device tree for Rock S0 Subject: Added Linux device tree for Rock S0
* original author Brent Roman <genosenosor@gmail.com>, reworked * original author Brent Roman <genosenosor@gmail.com>, reworked
for kernel 6.12.13 by Paolo Sabatino <paolo.sabatino@gmail.com> for kernel 6.12.13 by Paolo Sabatino <paolo.sabatino@gmail.com>
--- ---
.../boot/dts/rockchip/rk3308-rock-s0.dts | 338 +++++++++++------- arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts | 338 ++++++----
1 file changed, 199 insertions(+), 139 deletions(-) 1 file changed, 199 insertions(+), 139 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
index 8311af4c8689..58eacc68fc61 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts --- a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
@@ -1,21 +1,17 @@ @@ -1,21 +1,17 @@
@@ -495,5 +495,5 @@ index 8311af4c8689..58eacc68fc61 100644
}; };
-- --
2.43.0 Armbian

View File

@@ -1,13 +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> From: Igor Pecovnik <igor@armbian.com>
Date: Sat, 8 Feb 2025 17:54:03 +0100 Date: Sat, 8 Feb 2025 17:54:03 +0100
Subject: [PATCH 1/1] Revert "arm64: dts: rockchip: Fix sdmmc access on Subject: Revert "arm64: dts: rockchip: Fix sdmmc access on rk3308-rock-s0 v1.1
rk3308-rock-s0 v1.1 boards" boards"
This reverts commit 8810a8368b6075595715c4231322ca906a6b2f6f. This reverts commit 8810a8368b6075595715c4231322ca906a6b2f6f.
--- ---
arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts | 18 +---------
1 file changed, 1 insertion(+), 17 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
index 4f09995bf18d..d0ded5da6b33 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts --- a/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-s0.dts
@@ -102,23 +102,6 @@ vcc_io: vcc-io { @@ -102,23 +102,6 @@ vcc_io: vcc-io {
@@ -42,3 +45,6 @@ index 4f09995bf18d..d0ded5da6b33 100644
status = "okay"; status = "okay";
}; };
--
Armbian

View File

@@ -1,14 +1,14 @@
From d2e93589de2c195b51efb93d76d039492964a53c Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: chainsx <chainsx@outlook.com> From: chainsx <chainsx@outlook.com>
Date: Fri, 21 Feb 2025 19:36:41 +0800 Date: Fri, 21 Feb 2025 19:36:41 +0800
Subject: [PATCH] fix rk3566-roc-pc Subject: fix rk3566-roc-pc
--- ---
.../arm64/boot/dts/rockchip/rk3566-roc-pc.dts | 110 +++++++++++++----- arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts | 110 +++++++---
1 file changed, 80 insertions(+), 30 deletions(-) 1 file changed, 80 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts diff --git a/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts
index 67e7801..192a952 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts --- a/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts
@@ -52,6 +52,16 @@ led-user { @@ -52,6 +52,16 @@ led-user {
@@ -244,5 +244,5 @@ index 67e7801..192a952 100644
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
-- --
2.34.1 Armbian

View File

@@ -28,9 +28,9 @@ index 111111111111..222222222222 100644
}; };
enum { enum {
@@ -301,6 +302,10 @@ static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di) @@ -305,6 +306,10 @@ static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di)
di->vsel_min = 800000;
di->vsel_step = 10000; di->vsel_step = 10000;
di->enable_time = 400;
break; break;
+ case FAN53555_CHIP_REV_23: + case FAN53555_CHIP_REV_23:
+ di->vsel_min = 600000; + di->vsel_min = 600000;

View File

@@ -1,7 +1,7 @@
From ca7b6ebfe6f8a718cdb14b3fdc82ad1e5a26b4c9 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vasily Khoruzhick <anarsoul@gmail.com> From: Vasily Khoruzhick <anarsoul@gmail.com>
Date: Mon, 17 Mar 2025 22:22:46 -0700 Date: Mon, 17 Mar 2025 22:22:46 -0700
Subject: [PATCH] clk: rockchip: rk3568: Add PLL rate for 33.3MHz Subject: clk: rockchip: rk3568: Add PLL rate for 33.3MHz
Add PLL rate for 33.3 MHz to allow BTT HDMI5 screen to run at its native Add PLL rate for 33.3 MHz to allow BTT HDMI5 screen to run at its native
mode of 800x480 mode of 800x480
@@ -12,7 +12,7 @@ Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/drivers/clk/rockchip/clk-rk3568.c b/drivers/clk/rockchip/clk-rk3568.c diff --git a/drivers/clk/rockchip/clk-rk3568.c b/drivers/clk/rockchip/clk-rk3568.c
index 53d10b1c627b..1c73e18a9862 100644 index 111111111111..222222222222 100644
--- a/drivers/clk/rockchip/clk-rk3568.c --- a/drivers/clk/rockchip/clk-rk3568.c
+++ b/drivers/clk/rockchip/clk-rk3568.c +++ b/drivers/clk/rockchip/clk-rk3568.c
@@ -89,6 +89,7 @@ static struct rockchip_pll_rate_table rk3568_pll_rates[] = { @@ -89,6 +89,7 @@ static struct rockchip_pll_rate_table rk3568_pll_rates[] = {
@@ -24,5 +24,5 @@ index 53d10b1c627b..1c73e18a9862 100644
}; };
-- --
2.49.0 Armbian

View File

@@ -18,7 +18,7 @@ diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/eth
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5855,27 +5855,15 @@ static void stmmac_set_rx_mode(struct net_device *dev) @@ -5856,27 +5856,15 @@ static void stmmac_set_rx_mode(struct net_device *dev)
static int stmmac_change_mtu(struct net_device *dev, int new_mtu) static int stmmac_change_mtu(struct net_device *dev, int new_mtu)
{ {
struct stmmac_priv *priv = netdev_priv(dev); struct stmmac_priv *priv = netdev_priv(dev);

View File

@@ -91,7 +91,7 @@ diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/sound/soc/codecs/es8316.c --- a/sound/soc/codecs/es8316.c
+++ b/sound/soc/codecs/es8316.c +++ b/sound/soc/codecs/es8316.c
@@ -724,7 +724,7 @@ static void es8316_disable_jack_detect(struct snd_soc_component *component) @@ -732,7 +732,7 @@ static void es8316_disable_jack_detect(struct snd_soc_component *component)
snd_soc_component_update_bits(component, ES8316_GPIO_DEBOUNCE, snd_soc_component_update_bits(component, ES8316_GPIO_DEBOUNCE,
ES8316_GPIO_ENABLE_INTERRUPT, 0); ES8316_GPIO_ENABLE_INTERRUPT, 0);

View File

@@ -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> From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 12 Jan 2025 12:39:03 +0100 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 +- sound/soc/rockchip/rockchip_spdif.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/rockchip/rockchip_spdif.c b/sound/soc/rockchip/rockchip_spdif.c 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 --- a/sound/soc/rockchip/rockchip_spdif.c
+++ b/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) @@ -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; spdif->dev = &pdev->dev;
dev_set_drvdata(&pdev->dev, spdif); dev_set_drvdata(&pdev->dev, spdif);
-- --
2.43.0 Armbian

View File

@@ -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> From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 12 Jan 2025 12:36:50 +0100 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(-) 1 file changed, 186 insertions(+), 91 deletions(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c 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 --- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c
@@ -239,6 +239,7 @@ enum pl330_byteswap { @@ -239,6 +239,7 @@ enum pl330_byteswap {
@@ -417,5 +417,5 @@ index 82a9fe88ad54..ef197c4cfed4 100644
return &desc->txd; return &desc->txd;
} }
-- --
2.43.0 Armbian

View File

@@ -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> From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Thu, 23 Jan 2025 20:23:50 +0100 Date: Thu, 23 Jan 2025 20:23:50 +0100
Subject: [PATCH 1/2] rockchip/64: pl330 - add support for interleaved Subject: rockchip/64: pl330 - add support for interleaved transfers
transfers
original source: https://patchwork.kernel.org/project/linux-rockchip/cover/1712150304-60832-1-git-send-email-sugar.zhang@rock-chips.com/ 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 ++++++++++++++++++++++++++++++++++++++++++-- drivers/dma/pl330.c | 168 +++++++++-
1 file changed, 162 insertions(+), 6 deletions(-) include/linux/dmaengine.h | 1 +
2 files changed, 163 insertions(+), 6 deletions(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c 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 --- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c
@@ -543,6 +543,8 @@ struct dma_pl330_desc { @@ -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_prep_slave_sg = pl330_prep_slave_sg;
pd->device_config = pl330_config; pd->device_config = pl330_config;
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h 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 --- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h
@@ -156,6 +156,7 @@ struct dma_interleaved_template { @@ -156,6 +156,7 @@ struct dma_interleaved_template {
@@ -257,5 +257,5 @@ index b137fdb56093..63624c5836cf 100644
struct data_chunk sgl[]; struct data_chunk sgl[];
}; };
-- --
2.43.0 Armbian

View File

@@ -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> From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 26 Jan 2025 14:49:18 +0100 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 suggestion comes from the scatter/gather functionality as
proposed here: https://github.com/radxa/kernel/commit/ec0b65dbc59793426b6dc7af06ab6675f4a24940 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(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c 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 --- a/drivers/dma/pl330.c
+++ b/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 * For typical scenario, at 1word/burst, 10MB and 20MB xfers per req
* should be enough for P<->M and M<->M respectively. * 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 */ /* Use this _only_ to wait on transient states */
#define UNTIL(t, s) while (!(_state(t) & (s))) cpu_relax(); #define UNTIL(t, s) while (!(_state(t) & (s))) cpu_relax();
-- --
2.43.0 Armbian

View File

@@ -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> From: Sugar Zhang <sugar.zhang@rock-chips.com>
Date: Sat, 26 Mar 2022 18:01:21 +0800 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. 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(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c 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 --- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c
@@ -2086,7 +2086,7 @@ static void pl330_tasklet(struct tasklet_struct *t) @@ -2274,7 +2274,7 @@ static void pl330_tasklet(struct tasklet_struct *t)
spin_lock(&pch->thread->dmac->lock); spin_lock(&pch->thread->dmac->lock);
_stop(pch->thread); _stop(pch->thread);
spin_unlock(&pch->thread->dmac->lock); spin_unlock(&pch->thread->dmac->lock);
@@ -76,3 +76,6 @@ index 6dca548f4dab1..f87729ace4f5b 100644
pch->active = false; pch->active = false;
} else { } else {
/* Make sure the PL330 Channel thread is active */ /* Make sure the PL330 Channel thread is active */
--
Armbian

View File

@@ -1,7 +1,7 @@
From 4acf270a6310f5e2dbadac1d5f21d8e7477fade6 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com> From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Sun, 16 Feb 2025 11:15:55 +0100 Date: Sun, 16 Feb 2025 11:15:55 +0100
Subject: [PATCH] pl330: fix buffer underrun with cyclic dma Subject: pl330: fix buffer underrun with cyclic dma
userspace applications (notably, pulseaudio) were userspace applications (notably, pulseaudio) were
suffering frequent buffer underruns when cyclic DMA suffering frequent buffer underruns when cyclic DMA
@@ -10,11 +10,11 @@ the buffer underruns avoiding to juggle with the
descriptor state, keeping it in BUSY state as long descriptor state, keeping it in BUSY state as long
as it is actual transfer is progressing. as it is actual transfer is progressing.
--- ---
drivers/dma/pl330.c | 24 ++++++++++++------------ drivers/dma/pl330.c | 24 +++++-----
1 file changed, 12 insertions(+), 12 deletions(-) 1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 208e2a089a4d..6dac00995765 100644 index 111111111111..222222222222 100644
--- a/drivers/dma/pl330.c --- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c
@@ -1737,11 +1737,11 @@ static void dma_pl330_rqcb(struct dma_pl330_desc *desc, enum pl330_op_err err) @@ -1737,11 +1737,11 @@ static void dma_pl330_rqcb(struct dma_pl330_desc *desc, enum pl330_op_err err)
@@ -34,7 +34,7 @@ index 208e2a089a4d..6dac00995765 100644
tasklet_schedule(&pch->task); tasklet_schedule(&pch->task);
} }
@@ -2256,23 +2256,23 @@ static void pl330_tasklet(struct tasklet_struct *t) @@ -2248,23 +2248,23 @@ static void pl330_tasklet(struct tasklet_struct *t)
/* Pick up ripe tomatoes */ /* Pick up ripe tomatoes */
list_for_each_entry_safe(desc, _dt, &pch->work_list, node) { list_for_each_entry_safe(desc, _dt, &pch->work_list, node) {
@@ -66,5 +66,5 @@ index 208e2a089a4d..6dac00995765 100644
/* Try to submit a req imm. next to the last completed cookie */ /* Try to submit a req imm. next to the last completed cookie */
-- --
2.43.0 Armbian

View File

@@ -1,8 +1,8 @@
From 6463e1b4a407055793eb9c1f664f779df8e36442 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Muhammed Efe Cetin <efectn@protonmail.com> From: Muhammed Efe Cetin <efectn@protonmail.com>
Date: Thu, 11 Sep 2025 02:47:34 +0300 Date: Thu, 11 Sep 2025 02:47:34 +0300
Subject: [PATCH] Revert "pinctrl: devicetree: do not goto err when probing Subject: Revert "pinctrl: devicetree: do not goto err when probing hogs in
hogs in pinctrl_dt_to_map" pinctrl_dt_to_map"
This reverts commit 5b1b4cb46d9514bec053b392d2266f00e0d6ee19. This reverts commit 5b1b4cb46d9514bec053b392d2266f00e0d6ee19.
--- ---
@@ -10,7 +10,7 @@ This reverts commit 5b1b4cb46d9514bec053b392d2266f00e0d6ee19.
1 file changed, 2 insertions(+), 8 deletions(-) 1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
index 0b7f74beb6a6..6a94ecd6a8de 100644 index 111111111111..222222222222 100644
--- a/drivers/pinctrl/devicetree.c --- a/drivers/pinctrl/devicetree.c
+++ b/drivers/pinctrl/devicetree.c +++ b/drivers/pinctrl/devicetree.c
@@ -143,14 +143,10 @@ static int dt_to_map_one_config(struct pinctrl *p, @@ -143,14 +143,10 @@ static int dt_to_map_one_config(struct pinctrl *p,
@@ -40,5 +40,5 @@ index 0b7f74beb6a6..6a94ecd6a8de 100644
goto err; goto err;
} }
-- --
2.51.0 Armbian

View File

@@ -48,7 +48,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -1068,6 +1068,7 @@ usbdrd3: usb@ff600000 { @@ -1069,6 +1069,7 @@ usbdrd3: usb@ff600000 {
snps,dis-del-phy-power-chg-quirk; snps,dis-del-phy-power-chg-quirk;
snps,dis_enblslpm_quirk; snps,dis_enblslpm_quirk;
snps,dis-tx-ipgap-linecheck-quirk; snps,dis-tx-ipgap-linecheck-quirk;

View File

@@ -186,7 +186,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -750,6 +750,28 @@ vop_mmu: iommu@ff373f00 { @@ -751,6 +751,28 @@ vop_mmu: iommu@ff373f00 {
status = "disabled"; status = "disabled";
}; };

View File

@@ -20,7 +20,7 @@ diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/media/v4l2-core/v4l2-common.c --- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c +++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -357,6 +357,33 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf @@ -363,6 +363,33 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf
return info->block_h[plane]; return info->block_h[plane];
} }
@@ -54,7 +54,7 @@ index 111111111111..222222222222 100644
void v4l2_apply_frmsize_constraints(u32 *width, u32 *height, void v4l2_apply_frmsize_constraints(u32 *width, u32 *height,
const struct v4l2_frmsize_stepwise *frmsize) const struct v4l2_frmsize_stepwise *frmsize)
{ {
@@ -392,37 +419,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt, @@ -398,37 +425,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt,
if (info->mem_planes == 1) { if (info->mem_planes == 1) {
plane = &pixfmt->plane_fmt[0]; plane = &pixfmt->plane_fmt[0];
@@ -99,7 +99,7 @@ index 111111111111..222222222222 100644
} }
} }
return 0; return 0;
@@ -446,22 +455,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat, @@ -452,22 +461,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat,
pixfmt->width = width; pixfmt->width = width;
pixfmt->height = height; pixfmt->height = height;
pixfmt->pixelformat = pixelformat; pixfmt->pixelformat = pixelformat;
@@ -300,7 +300,7 @@ index 111111111111..222222222222 100644
} }
static int rkvdec_enum_framesizes(struct file *file, void *priv, static int rkvdec_enum_framesizes(struct file *file, void *priv,
@@ -264,13 +271,7 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv, @@ -270,13 +277,7 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
&pix_mp->height, &pix_mp->height,
&coded_desc->frmsize); &coded_desc->frmsize);
@@ -406,7 +406,7 @@ index 111111111111..222222222222 100644
rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]); rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width; f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
@@ -256,13 +294,17 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv, @@ -262,13 +300,17 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
if (WARN_ON(!coded_desc)) if (WARN_ON(!coded_desc))
return -EINVAL; return -EINVAL;
@@ -430,7 +430,7 @@ index 111111111111..222222222222 100644
/* Always apply the frmsize constraint of the coded end. */ /* Always apply the frmsize constraint of the coded end. */
pix_mp->width = max(pix_mp->width, ctx->coded_fmt.fmt.pix_mp.width); pix_mp->width = max(pix_mp->width, ctx->coded_fmt.fmt.pix_mp.width);
@@ -326,6 +368,7 @@ static int rkvdec_s_capture_fmt(struct file *file, void *priv, @@ -332,6 +374,7 @@ static int rkvdec_s_capture_fmt(struct file *file, void *priv,
return ret; return ret;
ctx->decoded_fmt = *f; ctx->decoded_fmt = *f;
@@ -438,7 +438,7 @@ index 111111111111..222222222222 100644
return 0; return 0;
} }
@@ -429,6 +472,14 @@ static int rkvdec_enum_capture_fmt(struct file *file, void *priv, @@ -435,6 +478,14 @@ static int rkvdec_enum_capture_fmt(struct file *file, void *priv,
if (WARN_ON(!ctx->coded_fmt_desc)) if (WARN_ON(!ctx->coded_fmt_desc))
return -EINVAL; return -EINVAL;

View File

@@ -13,7 +13,7 @@ diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvde
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1130,9 +1130,9 @@ static void rkvdec_remove(struct platform_device *pdev) @@ -1136,9 +1136,9 @@ static void rkvdec_remove(struct platform_device *pdev)
cancel_delayed_work_sync(&rkvdec->watchdog_work); cancel_delayed_work_sync(&rkvdec->watchdog_work);
@@ -221,7 +221,7 @@ index 111111111111..222222222222 100644
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/videodev2.h> #include <linux/videodev2.h>
#include <linux/workqueue.h> #include <linux/workqueue.h>
@@ -720,6 +723,11 @@ static void rkvdec_job_finish(struct rkvdec_ctx *ctx, @@ -726,6 +729,11 @@ static void rkvdec_job_finish(struct rkvdec_ctx *ctx,
pm_runtime_mark_last_busy(rkvdec->dev); pm_runtime_mark_last_busy(rkvdec->dev);
pm_runtime_put_autosuspend(rkvdec->dev); pm_runtime_put_autosuspend(rkvdec->dev);
@@ -233,7 +233,7 @@ index 111111111111..222222222222 100644
rkvdec_job_finish_no_pm(ctx, result); rkvdec_job_finish_no_pm(ctx, result);
} }
@@ -757,6 +765,33 @@ static void rkvdec_device_run(void *priv) @@ -763,6 +771,33 @@ static void rkvdec_device_run(void *priv)
if (WARN_ON(!desc)) if (WARN_ON(!desc))
return; return;
@@ -267,7 +267,7 @@ index 111111111111..222222222222 100644
ret = pm_runtime_resume_and_get(rkvdec->dev); ret = pm_runtime_resume_and_get(rkvdec->dev);
if (ret < 0) { if (ret < 0) {
@@ -1023,6 +1058,11 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv) @@ -1029,6 +1064,11 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv)
if (cancel_delayed_work(&rkvdec->watchdog_work)) { if (cancel_delayed_work(&rkvdec->watchdog_work)) {
struct rkvdec_ctx *ctx; struct rkvdec_ctx *ctx;
@@ -279,7 +279,7 @@ index 111111111111..222222222222 100644
ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev); ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
rkvdec_job_finish(ctx, state); rkvdec_job_finish(ctx, state);
} }
@@ -1040,6 +1080,7 @@ static void rkvdec_watchdog_func(struct work_struct *work) @@ -1046,6 +1086,7 @@ static void rkvdec_watchdog_func(struct work_struct *work)
ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev); ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
if (ctx) { if (ctx) {
dev_err(rkvdec->dev, "Frame processing timed out!\n"); dev_err(rkvdec->dev, "Frame processing timed out!\n");
@@ -287,7 +287,7 @@ index 111111111111..222222222222 100644
writel(RKVDEC_IRQ_DIS, rkvdec->regs + RKVDEC_REG_INTERRUPT); writel(RKVDEC_IRQ_DIS, rkvdec->regs + RKVDEC_REG_INTERRUPT);
writel(0, rkvdec->regs + RKVDEC_REG_SYSCTRL); writel(0, rkvdec->regs + RKVDEC_REG_SYSCTRL);
rkvdec_job_finish(ctx, VB2_BUF_STATE_ERROR); rkvdec_job_finish(ctx, VB2_BUF_STATE_ERROR);
@@ -1108,6 +1149,18 @@ static int rkvdec_probe(struct platform_device *pdev) @@ -1114,6 +1155,18 @@ static int rkvdec_probe(struct platform_device *pdev)
return ret; return ret;
} }
@@ -361,12 +361,10 @@ Signed-off-by: Alex Bee <knaerzche@gmail.com>
1 file changed, 12 insertions(+), 3 deletions(-) 1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c diff --git a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
index 07d4ed41f2bd..579e5413bb7f 100644 index 111111111111..222222222222 100644
--- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c --- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
+++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c +++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
@@ -14,11 +14,13 @@ @@ -16,7 +16,9 @@
#include "hantro_h1_regs.h"
#include "rockchip_vpu2_regs.h"
#include "rockchip_vpu981_regs.h" #include "rockchip_vpu981_regs.h"
#define RK3066_ACLK_MAX_FREQ (300 * 1000 * 1000) #define RK3066_ACLK_MAX_FREQ (300 * 1000 * 1000)
@@ -377,11 +375,7 @@ index 07d4ed41f2bd..579e5413bb7f 100644
#define ROCKCHIP_VPU981_MIN_SIZE 64 #define ROCKCHIP_VPU981_MIN_SIZE 64
/* @@ -439,13 +441,20 @@ static int rk3066_vpu_hw_init(struct hantro_dev *vpu)
* Supported formats.
@@ -437,17 +439,24 @@ static int rk3066_vpu_hw_init(struct hantro_dev *vpu)
clk_set_rate(vpu->clocks[0].clk, RK3066_ACLK_MAX_FREQ);
clk_set_rate(vpu->clocks[2].clk, RK3066_ACLK_MAX_FREQ);
return 0; return 0;
} }
@@ -403,11 +397,7 @@ index 07d4ed41f2bd..579e5413bb7f 100644
static void rk3066_vpu_dec_reset(struct hantro_ctx *ctx) static void rk3066_vpu_dec_reset(struct hantro_ctx *ctx)
{ {
struct hantro_dev *vpu = ctx->dev; struct hantro_dev *vpu = ctx->dev;
@@ -701,7 +710,7 @@ const struct hantro_variant rk3288_vpu_variant = {
vdpu_write(vpu, G1_REG_INTERRUPT_DEC_IRQ_DIS, G1_REG_INTERRUPT);
@@ -699,11 +708,11 @@ const struct hantro_variant rk3288_vpu_variant = {
.codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
HANTRO_VP8_DECODER | HANTRO_H264_DECODER,
.codec_ops = rk3288_vpu_codec_ops, .codec_ops = rk3288_vpu_codec_ops,
.irqs = rockchip_vpu1_irqs, .irqs = rockchip_vpu1_irqs,
.num_irqs = ARRAY_SIZE(rockchip_vpu1_irqs), .num_irqs = ARRAY_SIZE(rockchip_vpu1_irqs),
@@ -416,9 +406,7 @@ index 07d4ed41f2bd..579e5413bb7f 100644
.clk_names = rockchip_vpu_clk_names, .clk_names = rockchip_vpu_clk_names,
.num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names) .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
}; };
--
/* VDPU2/VEPU2 */
--
Armbian Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
@@ -487,7 +475,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -704,6 +704,11 @@ vdec: video-codec@ff360000 { @@ -705,6 +705,11 @@ vdec: video-codec@ff360000 {
assigned-clocks = <&cru ACLK_RKVDEC>, <&cru SCLK_VDEC_CABAC>, assigned-clocks = <&cru ACLK_RKVDEC>, <&cru SCLK_VDEC_CABAC>,
<&cru SCLK_VDEC_CORE>; <&cru SCLK_VDEC_CORE>;
assigned-clock-rates = <400000000>, <400000000>, <300000000>; assigned-clock-rates = <400000000>, <400000000>, <300000000>;

View File

@@ -2866,7 +2866,7 @@ index 111111111111..222222222222 100644
if (!fmt) if (!fmt)
return -EINVAL; return -EINVAL;
@@ -406,10 +426,11 @@ static int rkvdec_try_output_fmt(struct file *file, void *priv, @@ -412,10 +432,11 @@ static int rkvdec_try_output_fmt(struct file *file, void *priv,
struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv); struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv);
const struct rkvdec_coded_fmt_desc *desc; const struct rkvdec_coded_fmt_desc *desc;
@@ -2881,7 +2881,7 @@ index 111111111111..222222222222 100644
} }
v4l2_apply_frmsize_constraints(&pix_mp->width, v4l2_apply_frmsize_constraints(&pix_mp->width,
@@ -487,7 +508,8 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv, @@ -493,7 +514,8 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv,
if (ret) if (ret)
return ret; return ret;
@@ -2891,7 +2891,7 @@ index 111111111111..222222222222 100644
if (!desc) if (!desc)
return -EINVAL; return -EINVAL;
ctx->coded_fmt_desc = desc; ctx->coded_fmt_desc = desc;
@@ -538,7 +560,10 @@ static int rkvdec_g_capture_fmt(struct file *file, void *priv, @@ -544,7 +566,10 @@ static int rkvdec_g_capture_fmt(struct file *file, void *priv,
static int rkvdec_enum_output_fmt(struct file *file, void *priv, static int rkvdec_enum_output_fmt(struct file *file, void *priv,
struct v4l2_fmtdesc *f) struct v4l2_fmtdesc *f)
{ {
@@ -2903,7 +2903,7 @@ index 111111111111..222222222222 100644
return -EINVAL; return -EINVAL;
f->pixelformat = rkvdec_coded_fmts[f->index].fourcc; f->pixelformat = rkvdec_coded_fmts[f->index].fourcc;
@@ -949,14 +974,17 @@ static int rkvdec_init_ctrls(struct rkvdec_ctx *ctx) @@ -955,14 +980,17 @@ static int rkvdec_init_ctrls(struct rkvdec_ctx *ctx)
int ret; int ret;
for (i = 0; i < ARRAY_SIZE(rkvdec_coded_fmts); i++) for (i = 0; i < ARRAY_SIZE(rkvdec_coded_fmts); i++)
@@ -2925,7 +2925,7 @@ index 111111111111..222222222222 100644
} }
ret = v4l2_ctrl_handler_setup(&ctx->ctrl_hdl); ret = v4l2_ctrl_handler_setup(&ctx->ctrl_hdl);
@@ -1158,8 +1186,17 @@ static void rkvdec_watchdog_func(struct work_struct *work) @@ -1164,8 +1192,17 @@ static void rkvdec_watchdog_func(struct work_struct *work)
} }
} }
@@ -2944,7 +2944,7 @@ index 111111111111..222222222222 100644
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(of, of_rkvdec_match); MODULE_DEVICE_TABLE(of, of_rkvdec_match);
@@ -1171,6 +1208,7 @@ static const char * const rkvdec_clk_names[] = { @@ -1177,6 +1214,7 @@ static const char * const rkvdec_clk_names[] = {
static int rkvdec_probe(struct platform_device *pdev) static int rkvdec_probe(struct platform_device *pdev)
{ {
struct rkvdec_dev *rkvdec; struct rkvdec_dev *rkvdec;
@@ -2952,7 +2952,7 @@ index 111111111111..222222222222 100644
unsigned int i; unsigned int i;
int ret, irq; int ret, irq;
@@ -1196,6 +1234,13 @@ static int rkvdec_probe(struct platform_device *pdev) @@ -1202,6 +1240,13 @@ static int rkvdec_probe(struct platform_device *pdev)
if (ret) if (ret)
return ret; return ret;
@@ -3028,7 +3028,7 @@ diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvde
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c --- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c +++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1192,11 +1192,19 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = { @@ -1198,11 +1198,19 @@ static const struct rkvdec_variant rk3399_rkvdec_variant = {
RKVDEC_CAPABILITY_VP9 RKVDEC_CAPABILITY_VP9
}; };

View File

@@ -3679,7 +3679,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -2841,6 +2841,16 @@ system_sram2: sram@ff001000 { @@ -2840,6 +2840,16 @@ system_sram2: sram@ff001000 {
ranges = <0x0 0x0 0xff001000 0xef000>; ranges = <0x0 0x0 0xff001000 0xef000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@@ -3696,7 +3696,7 @@ index 111111111111..222222222222 100644
}; };
pinctrl: pinctrl { pinctrl: pinctrl {
@@ -2910,6 +2920,46 @@ gpio4: gpio@fec50000 { @@ -2909,6 +2919,46 @@ gpio4: gpio@fec50000 {
#interrupt-cells = <2>; #interrupt-cells = <2>;
}; };
}; };

View File

@@ -20,7 +20,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1127,7 +1127,7 @@ power-domain@RK3588_PD_SDMMC { @@ -1126,7 +1126,7 @@ power-domain@RK3588_PD_SDMMC {
}; };
vpu121: video-codec@fdb50000 { vpu121: video-codec@fdb50000 {
@@ -57,7 +57,7 @@ diff --git a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c b/drivers/medi
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c --- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
+++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c +++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
@@ -726,10 +726,9 @@ const struct hantro_variant rk3288_vpu_variant = { @@ -719,10 +719,9 @@ const struct hantro_variant rk3288_vpu_variant = {
const struct hantro_variant rk3328_vpu_variant = { const struct hantro_variant rk3328_vpu_variant = {
.dec_offset = 0x400, .dec_offset = 0x400,
@@ -71,7 +71,7 @@ index 111111111111..222222222222 100644
.codec_ops = rk3399_vpu_codec_ops, .codec_ops = rk3399_vpu_codec_ops,
.irqs = rockchip_vdpu2_irqs, .irqs = rockchip_vdpu2_irqs,
.num_irqs = ARRAY_SIZE(rockchip_vdpu2_irqs), .num_irqs = ARRAY_SIZE(rockchip_vdpu2_irqs),
@@ -773,20 +772,6 @@ const struct hantro_variant rk3568_vepu_variant = { @@ -766,20 +765,6 @@ const struct hantro_variant rk3568_vepu_variant = {
.num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names) .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
}; };

View File

@@ -1,16 +1,15 @@
From 008e546370b9fcb25e44e33ed57d1f7ce25d4cc9 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Doe <john.doe@somewhere.on.planet> From: John Doe <john.doe@somewhere.on.planet>
Date: Sat, 30 Aug 2025 14:09:23 +0800 Date: Sat, 30 Aug 2025 14:09:23 +0800
Subject: [PATCH 2/2] net: ethernet: realtek: add r8169 LED configuration from Subject: net: ethernet: realtek: add r8169 LED configuration from OF
OF
Signed-off-by: retro98boy <retro98boy@qq.com> Signed-off-by: retro98boy <retro98boy@qq.com>
--- ---
drivers/net/ethernet/realtek/r8169_main.c | 11 +++++++++++ drivers/net/ethernet/realtek/r8169_main.c | 11 ++++++++++
1 file changed, 11 insertions(+) 1 file changed, 11 insertions(+)
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 5ed2818ba..7d2fba956 100644 index 111111111111..222222222222 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c --- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
@@ -21,7 +20,7 @@ index 5ed2818ba..7d2fba956 100644
#include <linux/tcp.h> #include <linux/tcp.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
@@ -2377,6 +2378,15 @@ void r8169_apply_firmware(struct rtl8169_private *tp) @@ -2380,6 +2381,15 @@ void r8169_apply_firmware(struct rtl8169_private *tp)
} }
} }
@@ -37,7 +36,7 @@ index 5ed2818ba..7d2fba956 100644
static void rtl8168_config_eee_mac(struct rtl8169_private *tp) static void rtl8168_config_eee_mac(struct rtl8169_private *tp)
{ {
/* Adjust EEE LED frequency */ /* Adjust EEE LED frequency */
@@ -3421,6 +3431,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp) @@ -3448,6 +3458,7 @@ static void rtl_hw_start_8168h_1(struct rtl8169_private *tp)
rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000); rtl_eri_write(tp, 0xb8, ERIAR_MASK_0011, 0x0000);
rtl8168_config_eee_mac(tp); rtl8168_config_eee_mac(tp);
@@ -46,5 +45,5 @@ index 5ed2818ba..7d2fba956 100644
RTL_W8(tp, DLLPR, RTL_R8(tp, DLLPR) & ~PFM_EN); 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, MISC_1, RTL_R8(tp, MISC_1) & ~PFM_D3COLD_EN);
-- --
2.51.0 Armbian

View File

@@ -1,18 +1,18 @@
From d743827264d875135da5da331fe2156d48c8ee7c Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Doe <john.doe@somewhere.on.planet> From: John Doe <john.doe@somewhere.on.planet>
Date: Sat, 30 Aug 2025 14:07:36 +0800 Date: Sat, 30 Aug 2025 14:07:36 +0800
Subject: [PATCH 1/2] net: phy: realtek: add rtl8211x LED configuration from OF Subject: net: phy: realtek: add rtl8211x LED configuration from OF
Signed-off-by: retro98boy <retro98boy@qq.com> Signed-off-by: retro98boy <retro98boy@qq.com>
--- ---
drivers/net/phy/realtek.c | 11 +++++++++++ drivers/net/phy/realtek.c | 11 ++++++++++
1 file changed, 11 insertions(+) 1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 166f6a728..f2a2a907a 100644 index 111111111111..222222222222 100644
--- a/drivers/net/phy/realtek.c --- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c
@@ -119,6 +119,15 @@ static int rtl821x_write_page(struct phy_device *phydev, int page) @@ -120,6 +120,15 @@ static int rtl821x_write_page(struct phy_device *phydev, int page)
return __phy_write(phydev, RTL821x_PAGE_SELECT, page); return __phy_write(phydev, RTL821x_PAGE_SELECT, page);
} }
@@ -28,7 +28,7 @@ index 166f6a728..f2a2a907a 100644
static int rtl821x_probe(struct phy_device *phydev) static int rtl821x_probe(struct phy_device *phydev)
{ {
struct device *dev = &phydev->mdio.dev; struct device *dev = &phydev->mdio.dev;
@@ -438,6 +447,8 @@ static int rtl8211f_config_init(struct phy_device *phydev) @@ -439,6 +448,8 @@ static int rtl8211f_config_init(struct phy_device *phydev)
val_rxdly ? "enabled" : "disabled"); val_rxdly ? "enabled" : "disabled");
} }
@@ -38,5 +38,5 @@ index 166f6a728..f2a2a907a 100644
ret = phy_modify_paged(phydev, 0xa43, RTL8211F_PHYCR2, ret = phy_modify_paged(phydev, 0xa43, RTL8211F_PHYCR2,
RTL8211F_CLKOUT_EN, priv->phycr2); RTL8211F_CLKOUT_EN, priv->phycr2);
-- --
2.51.0 Armbian

View File

@@ -24,7 +24,7 @@ index 111111111111..222222222222 100644
#include <linux/crc32.h> #include <linux/crc32.h>
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
@@ -7046,6 +7047,22 @@ static void rtl_tally_reset(struct r8152 *tp) @@ -7047,6 +7048,22 @@ static void rtl_tally_reset(struct r8152 *tp)
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
} }
@@ -47,7 +47,7 @@ index 111111111111..222222222222 100644
static void r8152b_init(struct r8152 *tp) static void r8152b_init(struct r8152 *tp)
{ {
u32 ocp_data; u32 ocp_data;
@@ -7087,6 +7104,8 @@ static void r8152b_init(struct r8152 *tp) @@ -7088,6 +7105,8 @@ static void r8152b_init(struct r8152 *tp)
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -56,7 +56,7 @@ index 111111111111..222222222222 100644
} }
static void r8153_init(struct r8152 *tp) static void r8153_init(struct r8152 *tp)
@@ -7227,6 +7246,8 @@ static void r8153_init(struct r8152 *tp) @@ -7228,6 +7247,8 @@ static void r8153_init(struct r8152 *tp)
tp->coalesce = COALESCE_SLOW; tp->coalesce = COALESCE_SLOW;
break; break;
} }
@@ -65,7 +65,7 @@ index 111111111111..222222222222 100644
} }
static void r8153b_init(struct r8152 *tp) static void r8153b_init(struct r8152 *tp)
@@ -7309,6 +7330,8 @@ static void r8153b_init(struct r8152 *tp) @@ -7310,6 +7331,8 @@ static void r8153b_init(struct r8152 *tp)
rtl_tally_reset(tp); rtl_tally_reset(tp);
tp->coalesce = 15000; /* 15 us */ tp->coalesce = 15000; /* 15 us */

View File

@@ -26,7 +26,7 @@ diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_therm
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/thermal/rockchip_thermal.c --- a/drivers/thermal/rockchip_thermal.c
+++ b/drivers/thermal/rockchip_thermal.c +++ b/drivers/thermal/rockchip_thermal.c
@@ -1060,6 +1060,28 @@ static void rk_tsadcv3_tshut_mode(int chn, void __iomem *regs, @@ -1061,6 +1061,28 @@ static void rk_tsadcv3_tshut_mode(int chn, void __iomem *regs,
writel_relaxed(val_cru, regs + TSADCV3_HSHUT_CRU_INT_EN); writel_relaxed(val_cru, regs + TSADCV3_HSHUT_CRU_INT_EN);
} }
@@ -55,7 +55,7 @@ index 111111111111..222222222222 100644
static const struct rockchip_tsadc_chip px30_tsadc_data = { static const struct rockchip_tsadc_chip px30_tsadc_data = {
/* cpu, gpu */ /* cpu, gpu */
.chn_offset = 0, .chn_offset = 0,
@@ -1321,6 +1343,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = { @@ -1322,6 +1344,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = {
.compatible = "rockchip,rk3288-tsadc", .compatible = "rockchip,rk3288-tsadc",
.data = (void *)&rk3288_tsadc_data, .data = (void *)&rk3288_tsadc_data,
}, },

View File

@@ -5,17 +5,64 @@ Subject: rk3308: fix uart dma.
Signed-off-by: ssp97 <zhang@yuanpai.win> Signed-off-by: ssp97 <zhang@yuanpai.win>
--- ---
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 10 ++++++++++ arch/arm64/boot/dts/rockchip/rk3308.dtsi | 10 +++++++
drivers/soc/rockchip/grf.c | 14 ++++++++++ drivers/soc/rockchip/grf.c | 14 ++++++++++
2 file changed, 24 insertions(+) 2 files changed, 24 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
@@ -323,6 +323,8 @@ uart0: serial@ff0a0000 {
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 4>, <&dmac0 5>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
status = "disabled";
@@ -336,6 +338,8 @@ uart1: serial@ff0b0000 {
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 6>, <&dmac0 7>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
status = "disabled";
@@ -349,6 +353,8 @@ uart2: serial@ff0c0000 {
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 8>, <&dmac0 9>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "disabled";
@@ -362,6 +368,8 @@ uart3: serial@ff0d0000 {
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 10>, <&dmac0 11>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart3_xfer>;
status = "disabled";
@@ -375,6 +383,8 @@ uart4: serial@ff0e0000 {
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac1 18>, <&dmac1 19>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
status = "disabled";
diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c diff --git a/drivers/soc/rockchip/grf.c b/drivers/soc/rockchip/grf.c
index 5fd62046b..78138cee6 100644 index 111111111111..222222222222 100644
--- a/drivers/soc/rockchip/grf.c --- a/drivers/soc/rockchip/grf.c
+++ b/drivers/soc/rockchip/grf.c +++ b/drivers/soc/rockchip/grf.c
@@ -84,10 +84,21 @@ static const struct rockchip_grf_value rk3328_defaults[] __initconst = { @@ -88,6 +88,17 @@ static const struct rockchip_grf_info rk3328_grf __initconst = {
static const struct rockchip_grf_info rk3328_grf __initconst = {
.values = rk3328_defaults,
.num_values = ARRAY_SIZE(rk3328_defaults), .num_values = ARRAY_SIZE(rk3328_defaults),
}; };
@@ -33,11 +80,7 @@ index 5fd62046b..78138cee6 100644
#define RK3368_GRF_SOC_CON15 0x43c #define RK3368_GRF_SOC_CON15 0x43c
static const struct rockchip_grf_value rk3368_defaults[] __initconst = { static const struct rockchip_grf_value rk3368_defaults[] __initconst = {
{ "jtag switching", RK3368_GRF_SOC_CON15, HIWORD_UPDATE(0, 1, 13) }, @@ -173,6 +184,9 @@ static const struct of_device_id rockchip_grf_dt_match[] __initconst = {
};
@@ -147,10 +158,13 @@ static const struct of_device_id rockchip_grf_dt_match[] __initconst = {
.compatible = "rockchip,rk3288-grf",
.data = (void *)&rk3288_grf,
}, { }, {
.compatible = "rockchip,rk3328-grf", .compatible = "rockchip,rk3328-grf",
.data = (void *)&rk3328_grf, .data = (void *)&rk3328_grf,
@@ -47,77 +90,6 @@ index 5fd62046b..78138cee6 100644
}, { }, {
.compatible = "rockchip,rk3368-grf", .compatible = "rockchip,rk3368-grf",
.data = (void *)&rk3368_grf, .data = (void *)&rk3368_grf,
}, {
.compatible = "rockchip,rk3399-grf",
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
index 7d1571e4f..a6b8dc8df 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
@@ -351,10 +351,12 @@ uart0: serial@ff0a0000 {
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 4>, <&dmac0 5>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
status = "disabled";
};
@@ -364,10 +366,12 @@ uart1: serial@ff0b0000 {
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 6>, <&dmac0 7>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
status = "disabled";
};
@@ -377,10 +381,12 @@ uart2: serial@ff0c0000 {
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 8>, <&dmac0 9>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "disabled";
};
@@ -390,10 +396,12 @@ uart3: serial@ff0d0000 {
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac0 10>, <&dmac0 11>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart3_xfer>;
status = "disabled";
};
@@ -403,10 +411,12 @@ uart4: serial@ff0e0000 {
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
+ dmas = <&dmac1 18>, <&dmac1 19>;
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart4_xfer &uart4_cts &uart4_rts>;
status = "disabled";
};
-- --
Created with Armbian build tools https://github.com/armbian/build Armbian

View File

@@ -10,12 +10,10 @@ Signed-off-by: Brent Roman <genosenosor@gmail.com>
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c
index 7feefeb6b..50737e647 100644 index 111111111111..222222222222 100644
--- a/sound/soc/rockchip/rockchip_i2s_tdm.c --- a/sound/soc/rockchip/rockchip_i2s_tdm.c
+++ b/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c
@@ -20,10 +20,11 @@ @@ -22,6 +22,7 @@
#include "rockchip_i2s_tdm.h"
#define DRV_NAME "rockchip-i2s-tdm" #define DRV_NAME "rockchip-i2s-tdm"
@@ -23,11 +21,7 @@ index 7feefeb6b..50737e647 100644
#define CH_GRP_MAX 4 /* The max channel 8 / 2 */ #define CH_GRP_MAX 4 /* The max channel 8 / 2 */
#define MULTIPLEX_CH_MAX 10 #define MULTIPLEX_CH_MAX 10
#define TRCM_TXRX 0 @@ -693,6 +694,9 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream,
#define TRCM_TX 1
@@ -691,10 +692,13 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream,
} else {
mclk = i2s_tdm->mclk_rx;
mclk_rate = i2s_tdm->mclk_rx_freq; mclk_rate = i2s_tdm->mclk_rx_freq;
} }
@@ -37,8 +31,6 @@ index 7feefeb6b..50737e647 100644
err = clk_set_rate(mclk, mclk_rate); err = clk_set_rate(mclk, mclk_rate);
if (err) if (err)
return err; return err;
mclk_rate = clk_get_rate(mclk);
-- --
Created with Armbian build tools https://github.com/armbian/build Armbian

View File

@@ -9,12 +9,10 @@ Signed-off-by: TheSnowfield <17957399+TheSnowfield@users.noreply.github.com>
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/rockchip_rgb.c b/drivers/gpu/drm/rockchip/rockchip_rgb.c diff --git a/drivers/gpu/drm/rockchip/rockchip_rgb.c b/drivers/gpu/drm/rockchip/rockchip_rgb.c
index c677b71ae516..43e9120bbad4 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_rgb.c --- a/drivers/gpu/drm/rockchip/rockchip_rgb.c
+++ b/drivers/gpu/drm/rockchip/rockchip_rgb.c +++ b/drivers/gpu/drm/rockchip/rockchip_rgb.c
@@ -6,10 +6,11 @@ @@ -8,6 +8,7 @@
*/
#include <linux/component.h> #include <linux/component.h>
#include <linux/media-bus-format.h> #include <linux/media-bus-format.h>
#include <linux/of_graph.h> #include <linux/of_graph.h>
@@ -22,11 +20,7 @@ index c677b71ae516..43e9120bbad4 100644
#include <drm/display/drm_dp_helper.h> #include <drm/display/drm_dp_helper.h>
#include <drm/drm_atomic_helper.h> #include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h> @@ -168,6 +169,8 @@ struct rockchip_rgb *rockchip_rgb_init(struct device *dev,
#include <drm/drm_bridge_connector.h>
@@ -167,10 +168,12 @@ struct rockchip_rgb *rockchip_rgb_init(struct device *dev,
DRM_DEV_ERROR(drm_dev->dev,
"failed to attach encoder: %d\n", ret);
goto err_free_connector; goto err_free_connector;
} }
@@ -35,8 +29,6 @@ index c677b71ae516..43e9120bbad4 100644
return rgb; return rgb;
err_free_connector: err_free_connector:
drm_connector_cleanup(connector);
err_free_encoder:
-- --
Created with Armbian build tools https://github.com/armbian/build Armbian

View File

@@ -11,12 +11,10 @@ Signed-off-by: TheSnowfield <17957399+TheSnowfield@users.noreply.github.com>
3 files changed, 272 insertions(+) 3 files changed, 272 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi diff --git a/arch/arm64/boot/dts/rockchip/rk3308.dtsi b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
index e6b57ae06934..10b8605631d1 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
@@ -141,10 +141,16 @@ arm-pmu { @@ -143,6 +143,12 @@ arm-pmu {
<GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
}; };
@@ -29,11 +27,7 @@ index e6b57ae06934..10b8605631d1 100644
mac_clkin: external-mac-clock { mac_clkin: external-mac-clock {
compatible = "fixed-clock"; compatible = "fixed-clock";
clock-frequency = <50000000>; clock-frequency = <50000000>;
clock-output-names = "mac_clkin"; @@ -697,6 +703,26 @@ dmac1: dma-controller@ff2d0000 {
#clock-cells = <0>;
@@ -685,10 +691,30 @@ dmac1: dma-controller@ff2d0000 {
clocks = <&cru ACLK_DMAC1>;
clock-names = "apb_pclk";
#dma-cells = <1>; #dma-cells = <1>;
}; };
@@ -60,11 +54,7 @@ index e6b57ae06934..10b8605631d1 100644
i2s_8ch_0: i2s@ff300000 { i2s_8ch_0: i2s@ff300000 {
compatible = "rockchip,rk3308-i2s-tdm"; compatible = "rockchip,rk3308-i2s-tdm";
reg = <0x0 0xff300000 0x0 0x1000>; reg = <0x0 0xff300000 0x0 0x1000>;
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; @@ -2121,5 +2147,89 @@ uart4_rts_pin: uart4-rts-pin {
clocks = <&cru SCLK_I2S0_8CH_TX>, <&cru SCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>,
@@ -2109,7 +2135,91 @@ uart4_rts: uart4-rts {
uart4_rts_pin: uart4-rts-pin {
rockchip,pins =
<4 RK_PA7 0 &pcfg_pull_none>; <4 RK_PA7 0 &pcfg_pull_none>;
}; };
}; };
@@ -155,12 +145,10 @@ index e6b57ae06934..10b8605631d1 100644
}; };
}; };
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
index 37602d9c2690..17547f375ea0 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
@@ -1184,10 +1184,110 @@ static const struct vop_data rk3328_vop = { @@ -1186,6 +1186,106 @@ static const struct vop_data rk3328_vop = {
.win = rk3328_vop_win_data,
.win_size = ARRAY_SIZE(rk3328_vop_win_data),
.max_output = { 4096, 2160 }, .max_output = { 4096, 2160 },
}; };
@@ -267,11 +255,7 @@ index 37602d9c2690..17547f375ea0 100644
static const struct vop_common rv1126_common = { static const struct vop_common rv1126_common = {
.standby = VOP_REG_SYNC(PX30_SYS_CTRL2, 0x1, 1), .standby = VOP_REG_SYNC(PX30_SYS_CTRL2, 0x1, 1),
.out_mode = VOP_REG(PX30_DSP_CTRL2, 0xf, 16), .out_mode = VOP_REG(PX30_DSP_CTRL2, 0xf, 16),
.dsp_blank = VOP_REG(PX30_DSP_CTRL2, 0x1, 14), @@ -1254,6 +1354,8 @@ static const struct of_device_id vop_driver_dt_match[] = {
.dither_down_en = VOP_REG(PX30_DSP_CTRL2, 0x1, 8),
@@ -1252,10 +1352,12 @@ static const struct of_device_id vop_driver_dt_match[] = {
.data = &rk3066_vop },
{ .compatible = "rockchip,rk3188-vop",
.data = &rk3188_vop }, .data = &rk3188_vop },
{ .compatible = "rockchip,rk3288-vop", { .compatible = "rockchip,rk3288-vop",
.data = &rk3288_vop }, .data = &rk3288_vop },
@@ -280,15 +264,11 @@ index 37602d9c2690..17547f375ea0 100644
{ .compatible = "rockchip,rk3368-vop", { .compatible = "rockchip,rk3368-vop",
.data = &rk3368_vop }, .data = &rk3368_vop },
{ .compatible = "rockchip,rk3366-vop", { .compatible = "rockchip,rk3366-vop",
.data = &rk3366_vop },
{ .compatible = "rockchip,rk3399-vop-big",
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h
index fbf1bcc68625..5f345dd66dc1 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h
@@ -1031,6 +1031,66 @@ @@ -1033,4 +1033,64 @@
#define RK3066_MCU_BYPASS_RPORT 0x200
#define RK3066_WIN2_LUT_ADDR 0x400
#define RK3066_DSP_LUT_ADDR 0x800 #define RK3066_DSP_LUT_ADDR 0x800
/* rk3066 register definition end */ /* rk3066 register definition end */
@@ -354,5 +334,5 @@ index fbf1bcc68625..5f345dd66dc1 100644
+ +
#endif /* _ROCKCHIP_VOP_REG_H */ #endif /* _ROCKCHIP_VOP_REG_H */
-- --
Created with Armbian build tools https://github.com/armbian/build Armbian

View File

@@ -341,7 +341,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -594,6 +594,67 @@ tsadc: tsadc@ff250000 { @@ -595,6 +595,67 @@ tsadc: tsadc@ff250000 {
status = "disabled"; status = "disabled";
}; };

View File

@@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -816,6 +816,20 @@ vop_mmu: iommu@ff373f00 { @@ -817,6 +817,20 @@ vop_mmu: iommu@ff373f00 {
status = "disabled"; status = "disabled";
}; };

View File

@@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -712,6 +712,31 @@ gpu: gpu@ff300000 { @@ -713,6 +713,31 @@ gpu: gpu@ff300000 {
clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
clock-names = "bus", "core"; clock-names = "bus", "core";
resets = <&cru SRST_GPU_A>; resets = <&cru SRST_GPU_A>;

View File

@@ -98,8 +98,8 @@ index 111111111111..222222222222 100644
+ }; + };
power-domain@RK3328_PD_HEVC { power-domain@RK3328_PD_HEVC {
reg = <RK3328_PD_HEVC>; reg = <RK3328_PD_HEVC>;
#power-domain-cells = <0>; clocks = <&cru SCLK_VENC_CORE>;
@@ -711,6 +735,7 @@ gpu: gpu@ff300000 { @@ -712,6 +736,7 @@ gpu: gpu@ff300000 {
"ppmmu1"; "ppmmu1";
clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
clock-names = "bus", "core"; clock-names = "bus", "core";
@@ -107,7 +107,7 @@ index 111111111111..222222222222 100644
resets = <&cru SRST_GPU_A>; resets = <&cru SRST_GPU_A>;
operating-points-v2 = <&gpu_opp_table>; operating-points-v2 = <&gpu_opp_table>;
}; };
@@ -966,6 +991,7 @@ cru: clock-controller@ff440000 { @@ -967,6 +992,7 @@ cru: clock-controller@ff440000 {
<&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>, <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
<&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
<&cru HCLK_PERI>, <&cru PCLK_PERI>, <&cru HCLK_PERI>, <&cru PCLK_PERI>,
@@ -115,7 +115,7 @@ index 111111111111..222222222222 100644
<&cru SCLK_RTC32K>; <&cru SCLK_RTC32K>;
assigned-clock-parents = assigned-clock-parents =
<&cru HDMIPHY>, <&cru PLL_APLL>, <&cru HDMIPHY>, <&cru PLL_APLL>,
@@ -987,6 +1013,7 @@ cru: clock-controller@ff440000 { @@ -988,6 +1014,7 @@ cru: clock-controller@ff440000 {
<150000000>, <75000000>, <150000000>, <75000000>,
<75000000>, <150000000>, <75000000>, <150000000>,
<75000000>, <75000000>, <75000000>, <75000000>,

View File

@@ -11,7 +11,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -1217,6 +1217,8 @@ usbdrd3: usb@ff600000 { @@ -1218,6 +1218,8 @@ usbdrd3: usb@ff600000 {
<&cru ACLK_USB3OTG>; <&cru ACLK_USB3OTG>;
clock-names = "ref_clk", "suspend_clk", clock-names = "ref_clk", "suspend_clk",
"bus_clk"; "bus_clk";

View File

@@ -12,7 +12,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -593,6 +593,11 @@ map0 { @@ -594,6 +594,11 @@ map0 {
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
contribution = <4096>; contribution = <4096>;
}; };
@@ -24,7 +24,7 @@ index 111111111111..222222222222 100644
}; };
}; };
@@ -738,6 +743,7 @@ gpu: gpu@ff300000 { @@ -739,6 +744,7 @@ gpu: gpu@ff300000 {
power-domains = <&power RK3328_PD_GPU>; power-domains = <&power RK3328_PD_GPU>;
resets = <&cru SRST_GPU_A>; resets = <&cru SRST_GPU_A>;
operating-points-v2 = <&gpu_opp_table>; operating-points-v2 = <&gpu_opp_table>;

View File

@@ -13,7 +13,7 @@ diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-pcie.c --- a/drivers/phy/rockchip/phy-rockchip-pcie.c
+++ b/drivers/phy/rockchip/phy-rockchip-pcie.c +++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
@@ -166,6 +166,12 @@ static int rockchip_pcie_phy_power_on(struct phy *phy) @@ -165,6 +165,12 @@ static int rockchip_pcie_phy_power_on(struct phy *phy)
mutex_lock(&rk_phy->pcie_mutex); mutex_lock(&rk_phy->pcie_mutex);
@@ -26,7 +26,7 @@ index 111111111111..222222222222 100644
if (rk_phy->pwr_cnt++) if (rk_phy->pwr_cnt++)
goto err_out; goto err_out;
@@ -180,12 +186,6 @@ static int rockchip_pcie_phy_power_on(struct phy *phy) @@ -179,12 +185,6 @@ static int rockchip_pcie_phy_power_on(struct phy *phy)
PHY_CFG_ADDR_MASK, PHY_CFG_ADDR_MASK,
PHY_CFG_ADDR_SHIFT)); PHY_CFG_ADDR_SHIFT));

View File

@@ -12,7 +12,7 @@ diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-pcie.c --- a/drivers/phy/rockchip/phy-rockchip-pcie.c
+++ b/drivers/phy/rockchip/phy-rockchip-pcie.c +++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
@@ -343,6 +343,20 @@ static const struct of_device_id rockchip_pcie_phy_dt_ids[] = { @@ -342,6 +342,20 @@ static const struct of_device_id rockchip_pcie_phy_dt_ids[] = {
MODULE_DEVICE_TABLE(of, rockchip_pcie_phy_dt_ids); MODULE_DEVICE_TABLE(of, rockchip_pcie_phy_dt_ids);
@@ -33,7 +33,7 @@ index 111111111111..222222222222 100644
static int rockchip_pcie_phy_probe(struct platform_device *pdev) static int rockchip_pcie_phy_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
@@ -391,6 +405,8 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev) @@ -390,6 +404,8 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev)
phy_num = (phy_num == 0) ? 1 : PHY_MAX_LANE_NUM; phy_num = (phy_num == 0) ? 1 : PHY_MAX_LANE_NUM;
dev_dbg(dev, "phy number is %d\n", phy_num); dev_dbg(dev, "phy number is %d\n", phy_num);

View File

@@ -77,7 +77,7 @@ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/adm
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/Documentation/admin-guide/kernel-parameters.txt --- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4704,6 +4704,14 @@ @@ -4724,6 +4724,14 @@
nomsi Do not use MSI for native PCIe PME signaling (this makes nomsi Do not use MSI for native PCIe PME signaling (this makes
all PCIe root ports use INTx for all services). all PCIe root ports use INTx for all services).
@@ -96,7 +96,7 @@ diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controlle
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/pci/controller/pcie-rockchip-host.c --- a/drivers/pci/controller/pcie-rockchip-host.c
+++ b/drivers/pci/controller/pcie-rockchip-host.c +++ b/drivers/pci/controller/pcie-rockchip-host.c
@@ -32,10 +32,14 @@ @@ -33,10 +33,14 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/reset.h> #include <linux/reset.h>
#include <linux/regmap.h> #include <linux/regmap.h>
@@ -111,7 +111,7 @@ index 111111111111..222222222222 100644
static void rockchip_pcie_enable_bw_int(struct rockchip_pcie *rockchip) static void rockchip_pcie_enable_bw_int(struct rockchip_pcie *rockchip)
{ {
u32 status; u32 status;
@@ -933,6 +937,7 @@ static int rockchip_pcie_probe(struct platform_device *pdev) @@ -938,6 +942,7 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct pci_host_bridge *bridge; struct pci_host_bridge *bridge;
int err; int err;
@@ -119,7 +119,7 @@ index 111111111111..222222222222 100644
if (!dev->of_node) if (!dev->of_node)
return -ENODEV; return -ENODEV;
@@ -982,6 +987,26 @@ static int rockchip_pcie_probe(struct platform_device *pdev) @@ -987,6 +992,26 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
bridge->sysdata = rockchip; bridge->sysdata = rockchip;
bridge->ops = &rockchip_pcie_ops; bridge->ops = &rockchip_pcie_ops;
@@ -167,7 +167,7 @@ diff --git a/drivers/pci/controller/pcie-rockchip.h b/drivers/pci/controller/pci
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/pci/controller/pcie-rockchip.h --- a/drivers/pci/controller/pcie-rockchip.h
+++ b/drivers/pci/controller/pcie-rockchip.h +++ b/drivers/pci/controller/pcie-rockchip.h
@@ -322,6 +322,8 @@ struct rockchip_pcie { @@ -312,6 +312,8 @@ struct rockchip_pcie {
phys_addr_t msg_bus_addr; phys_addr_t msg_bus_addr;
bool is_rc; bool is_rc;
struct resource *mem_res; struct resource *mem_res;

View File

@@ -15,7 +15,7 @@ diff --git a/include/linux/math.h b/include/linux/math.h
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/include/linux/math.h --- a/include/linux/math.h
+++ b/include/linux/math.h +++ b/include/linux/math.h
@@ -36,6 +36,17 @@ @@ -48,6 +48,17 @@
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP #define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP

View File

@@ -14,15 +14,14 @@ bridge driver via phy_set_bus_width().
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
--- ---
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 428 +++++++++- drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 426 +++++++++-
1 file changed, 426 insertions(+), 2 deletions(-) 1 file changed, 425 insertions(+), 1 deletion(-)
diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c --- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
+++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c +++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
@@ -193,7 +193,11 @@ @@ -194,6 +194,10 @@
#define LN3_TX_SER_RATE_SEL_HBR3 BIT(2)
#define HDMI14_MAX_RATE 340000000 #define HDMI14_MAX_RATE 340000000
#define HDMI20_MAX_RATE 600000000 #define HDMI20_MAX_RATE 600000000
@@ -33,7 +32,7 @@ index 111111111111..222222222222 100644
struct lcpll_config { struct lcpll_config {
u32 bit_rate; u32 bit_rate;
@@ -276,6 +280,7 @@ struct rk_hdptx_phy { @@ -288,6 +292,7 @@ struct rk_hdptx_phy {
struct clk_bulk_data *clks; struct clk_bulk_data *clks;
int nr_clks; int nr_clks;
struct reset_control_bulk_data rsts[RST_MAX]; struct reset_control_bulk_data rsts[RST_MAX];
@@ -41,7 +40,7 @@ index 111111111111..222222222222 100644
/* clk provider */ /* clk provider */
struct clk_hw hw; struct clk_hw hw;
@@ -284,6 +289,24 @@ struct rk_hdptx_phy { @@ -296,6 +301,24 @@ struct rk_hdptx_phy {
atomic_t usage_count; atomic_t usage_count;
}; };
@@ -66,7 +65,7 @@ index 111111111111..222222222222 100644
static const struct ropll_config ropll_tmds_cfg[] = { static const struct ropll_config ropll_tmds_cfg[] = {
{ 5940000, 124, 124, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 62, 1, 16, 5, 0, { 5940000, 124, 124, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 62, 1, 16, 5, 0,
1, 1, 0, 0x20, 0x0c, 1, 0x0e, 0, 0, }, 1, 1, 0, 0x20, 0x0c, 1, 0x0e, 0, 0, },
@@ -459,6 +482,73 @@ static const struct reg_sequence rk_hdtpx_tmds_cmn_init_seq[] = { @@ -473,6 +496,73 @@ static const struct reg_sequence rk_hdtpx_tmds_cmn_init_seq[] = {
REG_SEQ0(CMN_REG(009b), 0x00), REG_SEQ0(CMN_REG(009b), 0x00),
}; };
@@ -140,7 +139,7 @@ index 111111111111..222222222222 100644
static const struct reg_sequence rk_hdtpx_common_sb_init_seq[] = { static const struct reg_sequence rk_hdtpx_common_sb_init_seq[] = {
REG_SEQ0(SB_REG(0114), 0x00), REG_SEQ0(SB_REG(0114), 0x00),
REG_SEQ0(SB_REG(0115), 0x00), REG_SEQ0(SB_REG(0115), 0x00),
@@ -482,6 +572,17 @@ static const struct reg_sequence rk_hdtpx_tmds_lntop_lowbr_seq[] = { @@ -496,6 +586,17 @@ static const struct reg_sequence rk_hdtpx_tmds_lntop_lowbr_seq[] = {
REG_SEQ0(LNTOP_REG(0205), 0x1f), REG_SEQ0(LNTOP_REG(0205), 0x1f),
}; };
@@ -158,7 +157,7 @@ index 111111111111..222222222222 100644
static const struct reg_sequence rk_hdtpx_common_lane_init_seq[] = { static const struct reg_sequence rk_hdtpx_common_lane_init_seq[] = {
REG_SEQ0(LANE_REG(0303), 0x0c), REG_SEQ0(LANE_REG(0303), 0x0c),
REG_SEQ0(LANE_REG(0307), 0x20), REG_SEQ0(LANE_REG(0307), 0x20),
@@ -560,6 +661,40 @@ static const struct reg_sequence rk_hdtpx_tmds_lane_init_seq[] = { @@ -574,6 +675,40 @@ static const struct reg_sequence rk_hdtpx_tmds_lane_init_seq[] = {
REG_SEQ0(LANE_REG(0606), 0x1c), REG_SEQ0(LANE_REG(0606), 0x1c),
}; };
@@ -199,7 +198,7 @@ index 111111111111..222222222222 100644
static bool rk_hdptx_phy_is_rw_reg(struct device *dev, unsigned int reg) static bool rk_hdptx_phy_is_rw_reg(struct device *dev, unsigned int reg)
{ {
switch (reg) { switch (reg) {
@@ -661,6 +796,47 @@ static int rk_hdptx_post_enable_pll(struct rk_hdptx_phy *hdptx) @@ -675,6 +810,47 @@ static int rk_hdptx_post_enable_pll(struct rk_hdptx_phy *hdptx)
return 0; return 0;
} }
@@ -247,7 +246,7 @@ index 111111111111..222222222222 100644
static void rk_hdptx_phy_disable(struct rk_hdptx_phy *hdptx) static void rk_hdptx_phy_disable(struct rk_hdptx_phy *hdptx)
{ {
u32 val; u32 val;
@@ -690,6 +866,99 @@ static void rk_hdptx_phy_disable(struct rk_hdptx_phy *hdptx) @@ -704,6 +880,99 @@ static void rk_hdptx_phy_disable(struct rk_hdptx_phy *hdptx)
regmap_write(hdptx->grf, GRF_HDPTX_CON0, val); regmap_write(hdptx->grf, GRF_HDPTX_CON0, val);
} }
@@ -347,7 +346,7 @@ index 111111111111..222222222222 100644
static bool rk_hdptx_phy_clk_pll_calc(unsigned int data_rate, static bool rk_hdptx_phy_clk_pll_calc(unsigned int data_rate,
struct ropll_config *cfg) struct ropll_config *cfg)
{ {
@@ -765,7 +1034,11 @@ static bool rk_hdptx_phy_clk_pll_calc(unsigned int data_rate, @@ -779,8 +1048,12 @@ static bool rk_hdptx_phy_clk_pll_calc(unsigned int data_rate,
static int rk_hdptx_ropll_tmds_cmn_config(struct rk_hdptx_phy *hdptx, static int rk_hdptx_ropll_tmds_cmn_config(struct rk_hdptx_phy *hdptx,
unsigned int rate) unsigned int rate)
{ {
@@ -359,7 +358,8 @@ index 111111111111..222222222222 100644
+ rate = rate * 10 / 8; + rate = rate * 10 / 8;
int ret, i; int ret, i;
@@ -825,6 +1098,9 @@ static int rk_hdptx_ropll_tmds_cmn_config(struct rk_hdptx_phy *hdptx, for (i = 0; i < ARRAY_SIZE(ropll_tmds_cfg); i++)
@@ -837,6 +1110,9 @@ static int rk_hdptx_ropll_tmds_cmn_config(struct rk_hdptx_phy *hdptx,
regmap_update_bits(hdptx->regmap, CMN_REG(0086), PLL_PCG_POSTDIV_SEL_MASK, regmap_update_bits(hdptx->regmap, CMN_REG(0086), PLL_PCG_POSTDIV_SEL_MASK,
FIELD_PREP(PLL_PCG_POSTDIV_SEL_MASK, cfg->pms_sdiv)); FIELD_PREP(PLL_PCG_POSTDIV_SEL_MASK, cfg->pms_sdiv));
@@ -369,7 +369,7 @@ index 111111111111..222222222222 100644
regmap_update_bits(hdptx->regmap, CMN_REG(0086), PLL_PCG_CLK_EN, regmap_update_bits(hdptx->regmap, CMN_REG(0086), PLL_PCG_CLK_EN,
PLL_PCG_CLK_EN); PLL_PCG_CLK_EN);
@@ -852,9 +1128,146 @@ static int rk_hdptx_ropll_tmds_mode_config(struct rk_hdptx_phy *hdptx, @@ -868,9 +1144,146 @@ static int rk_hdptx_ropll_tmds_mode_config(struct rk_hdptx_phy *hdptx,
rk_hdptx_multi_reg_write(hdptx, rk_hdtpx_common_lane_init_seq); rk_hdptx_multi_reg_write(hdptx, rk_hdtpx_common_lane_init_seq);
rk_hdptx_multi_reg_write(hdptx, rk_hdtpx_tmds_lane_init_seq); rk_hdptx_multi_reg_write(hdptx, rk_hdtpx_tmds_lane_init_seq);
@@ -516,7 +516,7 @@ index 111111111111..222222222222 100644
static int rk_hdptx_phy_consumer_get(struct rk_hdptx_phy *hdptx, static int rk_hdptx_phy_consumer_get(struct rk_hdptx_phy *hdptx,
unsigned int rate) unsigned int rate)
{ {
@@ -922,11 +1335,22 @@ static int rk_hdptx_phy_power_on(struct phy *phy) @@ -938,11 +1351,22 @@ static int rk_hdptx_phy_power_on(struct phy *phy)
* from the HDMI bridge driver until phy_configure_opts_hdmi * from the HDMI bridge driver until phy_configure_opts_hdmi
* becomes available in the PHY API. * becomes available in the PHY API.
*/ */

View File

@@ -14,7 +14,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1370,6 +1370,47 @@ i2s9_8ch: i2s@fddfc000 { @@ -1369,6 +1369,47 @@ i2s9_8ch: i2s@fddfc000 {
status = "disabled"; status = "disabled";
}; };
@@ -80,7 +80,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -2811,6 +2811,7 @@ hdptxphy_hdmi0: phy@fed60000 { @@ -2810,6 +2810,7 @@ hdptxphy_hdmi0: phy@fed60000 {
reg = <0x0 0xfed60000 0x0 0x2000>; reg = <0x0 0xfed60000 0x0 0x2000>;
clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>; clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>;
clock-names = "ref", "apb"; clock-names = "ref", "apb";

View File

@@ -18,7 +18,7 @@ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rock
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
@@ -19,6 +19,7 @@ @@ -17,6 +17,7 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <linux/regmap.h> #include <linux/regmap.h>
@@ -26,16 +26,16 @@ index 111111111111..222222222222 100644
#include <linux/swab.h> #include <linux/swab.h>
#include <drm/drm.h> #include <drm/drm.h>
@@ -159,6 +160,7 @@ struct vop2_win { @@ -156,6 +157,7 @@ struct vop2_win {
struct vop2_video_port { struct vop2_video_port {
struct drm_crtc crtc; struct drm_crtc crtc;
struct vop2 *vop2; struct vop2 *vop2;
+ struct reset_control *dclk_rst; + struct reset_control *dclk_rst;
struct clk *dclk; struct clk *dclk;
struct clk *dclk_src;
unsigned int id; unsigned int id;
const struct vop2_video_port_data *data; @@ -1946,6 +1948,26 @@ static int us_to_vertical_line(struct drm_display_mode *mode, int us)
@@ -2064,6 +2066,26 @@ static struct vop2_clk *vop2_clk_get(struct vop2 *vop2, const char *name) return us * mode->clock / mode->htotal / 1000;
return NULL;
} }
+static int vop2_clk_reset(struct vop2_video_port *vp) +static int vop2_clk_reset(struct vop2_video_port *vp)
@@ -61,7 +61,7 @@ index 111111111111..222222222222 100644
static void vop2_crtc_atomic_enable(struct drm_crtc *crtc, static void vop2_crtc_atomic_enable(struct drm_crtc *crtc,
struct drm_atomic_state *state) struct drm_atomic_state *state)
{ {
@@ -2233,6 +2255,8 @@ static void vop2_crtc_atomic_enable(struct drm_crtc *crtc, @@ -2107,6 +2129,8 @@ static void vop2_crtc_atomic_enable(struct drm_crtc *crtc,
vop2_vp_write(vp, RK3568_VP_DSP_CTRL, dsp_ctrl); vop2_vp_write(vp, RK3568_VP_DSP_CTRL, dsp_ctrl);
@@ -70,7 +70,7 @@ index 111111111111..222222222222 100644
drm_crtc_vblank_on(crtc); drm_crtc_vblank_on(crtc);
vop2_unlock(vop2); vop2_unlock(vop2);
@@ -2920,6 +2944,12 @@ static int vop2_create_crtcs(struct vop2 *vop2) @@ -2803,6 +2827,12 @@ static int vop2_create_crtcs(struct vop2 *vop2)
vp->data = vp_data; vp->data = vp_data;
snprintf(dclk_name, sizeof(dclk_name), "dclk_vp%d", vp->id); snprintf(dclk_name, sizeof(dclk_name), "dclk_vp%d", vp->id);
@@ -167,7 +167,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1272,6 +1272,14 @@ vop: vop@fdd90000 { @@ -1271,6 +1271,14 @@ vop: vop@fdd90000 {
"pclk_vop"; "pclk_vop";
iommus = <&vop_mmu>; iommus = <&vop_mmu>;
power-domains = <&power RK3588_PD_VOP>; power-domains = <&power RK3588_PD_VOP>;

View File

@@ -43,7 +43,7 @@ index 111111111111..222222222222 100644
&i2c0 { &i2c0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c0m2_xfer>; pinctrl-0 = <&i2c0m2_xfer>;
@@ -861,3 +876,18 @@ &usb_host1_xhci { @@ -863,3 +878,18 @@ &usb_host1_xhci {
&usb_host2_xhci { &usb_host2_xhci {
status = "okay"; status = "okay";
}; };

View File

@@ -102,7 +102,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts
index 111111111111..222222222222 100644 index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1928,6 +1928,18 @@ sdhci: mmc@fe2e0000 { @@ -1927,6 +1927,18 @@ sdhci: mmc@fe2e0000 {
status = "disabled"; status = "disabled";
}; };