diff --git a/patches-6.1/001-gpio-sysfs-build.patch b/patches-6.1/001-gpio-sysfs-build.patch index 93e69a9..735177a 100644 --- a/patches-6.1/001-gpio-sysfs-build.patch +++ b/patches-6.1/001-gpio-sysfs-build.patch @@ -1,5 +1,3 @@ -diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 0642f5791..830bc9a8e 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -59,7 +59,7 @@ config DEBUG_GPIO diff --git a/patches-6.1/002-add-hwrng-for-rk3568.patch b/patches-6.1/002-add-hwrng-for-rk3568.patch index 7667adb..49ac43a 100644 --- a/patches-6.1/002-add-hwrng-for-rk3568.patch +++ b/patches-6.1/002-add-hwrng-for-rk3568.patch @@ -13,9 +13,6 @@ Subject: [PATCH] add hwrng for rk3568 create mode 100644 Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml create mode 100644 drivers/char/hw_random/rk3568-rng.c -diff --git a/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml b/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml -new file mode 100644 -index 000000000..c2f5ef69c --- /dev/null +++ b/Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml @@ -0,0 +1,60 @@ @@ -79,11 +76,9 @@ index 000000000..c2f5ef69c + }; + +... -diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -index 164708f1e..718171234 100644 --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -1770,6 +1770,16 @@ usb2phy1_otg: otg-port { +@@ -1772,6 +1772,16 @@ }; }; @@ -100,8 +95,6 @@ index 164708f1e..718171234 100644 pinctrl: pinctrl { compatible = "rockchip,rk3568-pinctrl"; rockchip,grf = <&grf>; -diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index 3da8e85f8..3e20e4421 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -372,6 +372,20 @@ config HW_RANDOM_STM32 @@ -125,11 +118,9 @@ index 3da8e85f8..3e20e4421 100644 config HW_RANDOM_PIC32 tristate "Microchip PIC32 Random Number Generator support" depends on HW_RANDOM && MACH_PIC32 -diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile -index 3e948cf04..460191bcf 100644 --- a/drivers/char/hw_random/Makefile +++ b/drivers/char/hw_random/Makefile -@@ -34,6 +34,7 @@ obj-$(CONFIG_HW_RANDOM_IPROC_RNG200) += iproc-rng200.o +@@ -34,6 +34,7 @@ obj-$(CONFIG_HW_RANDOM_IPROC_RNG200) += obj-$(CONFIG_HW_RANDOM_ST) += st-rng.o obj-$(CONFIG_HW_RANDOM_XGENE) += xgene-rng.o obj-$(CONFIG_HW_RANDOM_STM32) += stm32-rng.o @@ -137,9 +128,6 @@ index 3e948cf04..460191bcf 100644 obj-$(CONFIG_HW_RANDOM_PIC32) += pic32-rng.o obj-$(CONFIG_HW_RANDOM_MESON) += meson-rng.o obj-$(CONFIG_HW_RANDOM_CAVIUM) += cavium-rng.o cavium-rng-vf.o -diff --git a/drivers/char/hw_random/rk3568-rng.c b/drivers/char/hw_random/rk3568-rng.c -new file mode 100644 -index 000000000..b04346b23 --- /dev/null +++ b/drivers/char/hw_random/rk3568-rng.c @@ -0,0 +1,250 @@ @@ -393,6 +381,3 @@ index 000000000..b04346b23 +MODULE_DESCRIPTION("Rockchip True Random Number Generator driver"); +MODULE_AUTHOR("Lin Jinhan , Aurelien Jarno "); +MODULE_LICENSE("GPL v2"); --- -2.34.1 - diff --git a/patches-6.1/003-rk3568-general-patch-set.patch b/patches-6.1/003-rk3568-general-patch-set.patch index dd4c24f..33b980e 100644 --- a/patches-6.1/003-rk3568-general-patch-set.patch +++ b/patches-6.1/003-rk3568-general-patch-set.patch @@ -1,7 +1,6 @@ -diff -Naur a/drivers/clk/rockchip/clk-half-divider.c b/drivers/clk/rockchip/clk-half-divider.c ---- a/drivers/clk/rockchip/clk-half-divider.c 2022-07-31 17:03:01.000000000 -0400 -+++ b/drivers/clk/rockchip/clk-half-divider.c 2022-08-09 17:00:56.992472371 -0400 -@@ -166,7 +166,7 @@ +--- a/drivers/clk/rockchip/clk-half-divider.c ++++ b/drivers/clk/rockchip/clk-half-divider.c +@@ -166,7 +166,7 @@ struct clk *rockchip_clk_register_halfdi unsigned long flags, spinlock_t *lock) { @@ -10,10 +9,9 @@ diff -Naur a/drivers/clk/rockchip/clk-half-divider.c b/drivers/clk/rockchip/clk- struct clk_mux *mux = NULL; struct clk_gate *gate = NULL; struct clk_divider *div = NULL; -diff -Naur a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c ---- a/drivers/usb/dwc3/dwc3-of-simple.c 2022-07-31 17:03:01.000000000 -0400 -+++ b/drivers/usb/dwc3/dwc3-of-simple.c 2022-08-09 17:00:56.994472344 -0400 -@@ -30,12 +30,16 @@ +--- a/drivers/usb/dwc3/dwc3-of-simple.c ++++ b/drivers/usb/dwc3/dwc3-of-simple.c +@@ -30,12 +30,16 @@ struct dwc3_of_simple { bool need_reset; }; @@ -31,7 +29,7 @@ diff -Naur a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple int ret; simple = devm_kzalloc(dev, sizeof(*simple), GFP_KERNEL); -@@ -49,8 +53,8 @@ +@@ -49,8 +53,8 @@ static int dwc3_of_simple_probe(struct p * Some controllers need to toggle the usb3-otg reset before trying to * initialize the PHY, otherwise the PHY times out. */ @@ -42,7 +40,7 @@ diff -Naur a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple simple->resets = of_reset_control_array_get(np, false, true, true); -@@ -170,13 +174,34 @@ +@@ -170,13 +174,34 @@ static const struct dev_pm_ops dwc3_of_s dwc3_of_simple_runtime_resume, NULL) }; @@ -83,10 +81,9 @@ diff -Naur a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple { /* Sentinel */ } }; MODULE_DEVICE_TABLE(of, of_dwc3_simple_match); -diff -Naur a/kernel/dma/pool.c b/kernel/dma/pool.c ---- a/kernel/dma/pool.c 2022-07-31 17:03:01.000000000 -0400 -+++ b/kernel/dma/pool.c 2022-08-09 17:00:56.992472371 -0400 -@@ -189,13 +189,10 @@ +--- a/kernel/dma/pool.c ++++ b/kernel/dma/pool.c +@@ -189,13 +189,10 @@ static int __init dma_atomic_pool_init(v int ret = 0; /* @@ -102,9 +99,8 @@ diff -Naur a/kernel/dma/pool.c b/kernel/dma/pool.c } INIT_WORK(&atomic_pool_work, atomic_pool_work_fn); -diff -Naur a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c ---- a/sound/soc/codecs/rt5651.c 2022-07-31 17:03:01.000000000 -0400 -+++ b/sound/soc/codecs/rt5651.c 2022-08-09 17:00:56.993472358 -0400 +--- a/sound/soc/codecs/rt5651.c ++++ b/sound/soc/codecs/rt5651.c @@ -24,6 +24,7 @@ #include #include @@ -113,7 +109,7 @@ diff -Naur a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c #include "rl6231.h" #include "rt5651.h" -@@ -1511,6 +1512,7 @@ +@@ -1511,6 +1512,7 @@ static int rt5651_set_dai_pll(struct snd static int rt5651_set_bias_level(struct snd_soc_component *component, enum snd_soc_bias_level level) { @@ -121,7 +117,7 @@ diff -Naur a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c switch (level) { case SND_SOC_BIAS_PREPARE: if (SND_SOC_BIAS_STANDBY == snd_soc_component_get_bias_level(component)) { -@@ -1518,6 +1520,13 @@ +@@ -1518,6 +1520,13 @@ static int rt5651_set_bias_level(struct snd_soc_component_update_bits(component, RT5651_D_MISC, 0xc00, 0xc00); } @@ -135,7 +131,7 @@ diff -Naur a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c break; case SND_SOC_BIAS_STANDBY: if (SND_SOC_BIAS_OFF == snd_soc_component_get_bias_level(component)) { -@@ -2059,6 +2068,13 @@ +@@ -2059,6 +2068,13 @@ static int rt5651_probe(struct snd_soc_c { struct rt5651_priv *rt5651 = snd_soc_component_get_drvdata(component); @@ -149,10 +145,9 @@ diff -Naur a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c rt5651->component = component; snd_soc_component_update_bits(component, RT5651_PWR_ANLG1, -diff -Naur a/sound/soc/codecs/rt5651.h b/sound/soc/codecs/rt5651.h ---- a/sound/soc/codecs/rt5651.h 2022-07-31 17:03:01.000000000 -0400 -+++ b/sound/soc/codecs/rt5651.h 2022-08-09 17:00:56.994472344 -0400 -@@ -2097,6 +2097,7 @@ +--- a/sound/soc/codecs/rt5651.h ++++ b/sound/soc/codecs/rt5651.h +@@ -2097,6 +2097,7 @@ struct rt5651_priv { int dmic_en; bool hp_mute; @@ -160,10 +155,9 @@ diff -Naur a/sound/soc/codecs/rt5651.h b/sound/soc/codecs/rt5651.h }; #endif /* __RT5651_H__ */ -diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c ---- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c 2022-07-10 17:40:51.000000000 -0400 -+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c 2022-07-11 05:18:34.000000000 -0400 -@@ -91,80 +91,88 @@ +--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c ++++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +@@ -91,80 +91,88 @@ static struct rockchip_hdmi *to_rockchip static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = { { @@ -324,7 +318,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc }, } }; -@@ -172,20 +180,8 @@ +@@ -172,20 +180,8 @@ static const struct dw_hdmi_mpll_config static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = { /* pixelclk bpp8 bpp10 bpp12 */ { @@ -347,7 +341,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc ~0UL, { 0x0000, 0x0000, 0x0000}, } }; -@@ -195,6 +191,7 @@ +@@ -195,6 +191,7 @@ static const struct dw_hdmi_phy_config r { 74250000, 0x8009, 0x0004, 0x0272}, { 148500000, 0x802b, 0x0004, 0x028d}, { 297000000, 0x8039, 0x0005, 0x028d}, @@ -355,7 +349,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc { ~0UL, 0x0000, 0x0000, 0x0000} }; -@@ -240,26 +237,6 @@ +@@ -240,26 +237,6 @@ static int rockchip_hdmi_parse_dt(struct return 0; } @@ -382,7 +376,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc static void dw_hdmi_rockchip_encoder_disable(struct drm_encoder *encoder) { } -@@ -425,7 +402,6 @@ +@@ -425,7 +402,6 @@ static struct rockchip_hdmi_chip_data rk }; static const struct dw_hdmi_plat_data rk3228_hdmi_drv_data = { @@ -390,7 +384,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc .mpll_cfg = rockchip_mpll_cfg, .cur_ctr = rockchip_cur_ctr, .phy_config = rockchip_phy_config, -@@ -442,7 +418,6 @@ +@@ -442,7 +418,6 @@ static struct rockchip_hdmi_chip_data rk }; static const struct dw_hdmi_plat_data rk3288_hdmi_drv_data = { @@ -398,7 +392,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc .mpll_cfg = rockchip_mpll_cfg, .cur_ctr = rockchip_cur_ctr, .phy_config = rockchip_phy_config, -@@ -462,7 +437,6 @@ +@@ -462,7 +437,6 @@ static struct rockchip_hdmi_chip_data rk }; static const struct dw_hdmi_plat_data rk3328_hdmi_drv_data = { @@ -406,7 +400,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc .mpll_cfg = rockchip_mpll_cfg, .cur_ctr = rockchip_cur_ctr, .phy_config = rockchip_phy_config, -@@ -480,7 +454,6 @@ +@@ -480,7 +454,6 @@ static struct rockchip_hdmi_chip_data rk }; static const struct dw_hdmi_plat_data rk3399_hdmi_drv_data = { @@ -414,7 +408,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc .mpll_cfg = rockchip_mpll_cfg, .cur_ctr = rockchip_cur_ctr, .phy_config = rockchip_phy_config, -@@ -493,7 +466,6 @@ +@@ -493,7 +466,6 @@ static struct rockchip_hdmi_chip_data rk }; static const struct dw_hdmi_plat_data rk3568_hdmi_drv_data = { @@ -422,7 +416,7 @@ diff -Naur a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc .mpll_cfg = rockchip_mpll_cfg, .cur_ctr = rockchip_cur_ctr, .phy_config = rockchip_phy_config, -@@ -597,6 +569,14 @@ +@@ -598,6 +570,14 @@ static int dw_hdmi_rockchip_bind(struct } if (hdmi->chip_data == &rk3568_chip_data) { diff --git a/patches-6.1/004-arm64-add-dts-rk3568-nanopi-r5s.patch b/patches-6.1/004-arm64-add-dts-rk3568-nanopi-r5s.patch index be92be8..546d2b5 100644 --- a/patches-6.1/004-arm64-add-dts-rk3568-nanopi-r5s.patch +++ b/patches-6.1/004-arm64-add-dts-rk3568-nanopi-r5s.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index 8c15593..1e8c317 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -71,4 +71,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-roc-pc.dtb +@@ -71,4 +71,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-ro dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-cm4.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb diff --git a/patches-6.1/005-friendlyelec-nanopi-series.patch b/patches-6.1/005-friendlyelec-nanopi-series.patch index 136122d..5f89d77 100644 --- a/patches-6.1/005-friendlyelec-nanopi-series.patch +++ b/patches-6.1/005-friendlyelec-nanopi-series.patch @@ -14,8 +14,6 @@ Subject: [PATCH] friendlyelec-nanopi-series create mode 100644 drivers/soc/friendlyelec/Makefile create mode 100644 drivers/soc/friendlyelec/board.c -diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig -index e461c0711..a65fa9f4f 100644 --- a/drivers/soc/Kconfig +++ b/drivers/soc/Kconfig @@ -27,5 +27,6 @@ source "drivers/soc/ti/Kconfig" @@ -25,8 +23,6 @@ index e461c0711..a65fa9f4f 100644 +source "drivers/soc/friendlyelec/Kconfig" endmenu -diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile -index 69ba6508c..16ac16900 100644 --- a/drivers/soc/Makefile +++ b/drivers/soc/Makefile @@ -33,3 +33,4 @@ obj-y += ti/ @@ -34,9 +30,6 @@ index 69ba6508c..16ac16900 100644 obj-$(CONFIG_PLAT_VERSATILE) += versatile/ obj-y += xilinx/ +obj-$(CONFIG_VENDOR_FRIENDLYELEC) += friendlyelec/ -diff --git a/drivers/soc/friendlyelec/Kconfig b/drivers/soc/friendlyelec/Kconfig -new file mode 100644 -index 000000000..642629ab7 --- /dev/null +++ b/drivers/soc/friendlyelec/Kconfig @@ -0,0 +1,11 @@ @@ -51,16 +44,10 @@ index 000000000..642629ab7 + default n + +endif -diff --git a/drivers/soc/friendlyelec/Makefile b/drivers/soc/friendlyelec/Makefile -new file mode 100644 -index 000000000..870542f05 --- /dev/null +++ b/drivers/soc/friendlyelec/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_VENDOR_FRIENDLYELEC) += board.o -diff --git a/drivers/soc/friendlyelec/board.c b/drivers/soc/friendlyelec/board.c -new file mode 100644 -index 000000000..886a8e1f7 --- /dev/null +++ b/drivers/soc/friendlyelec/board.c @@ -0,0 +1,143 @@ @@ -207,6 +194,3 @@ index 000000000..886a8e1f7 +MODULE_AUTHOR("support@friendlyarm.com"); +MODULE_DESCRIPTION("FriendlyElec NanoPi Series Machine Driver"); +MODULE_LICENSE("GPL v2"); --- -2.34.1 - diff --git a/patches-6.1/008-r4s-add-eeprom.patch b/patches-6.1/008-r4s-add-eeprom.patch index f33df9e..1727202 100644 --- a/patches-6.1/008-r4s-add-eeprom.patch +++ b/patches-6.1/008-r4s-add-eeprom.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -index fe5b52610..993d85f47 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -68,6 +68,15 @@ &emmc_phy { +@@ -68,6 +68,15 @@ status = "disabled"; }; diff --git a/patches-6.1/009-r4s-add-led-action-for-openwrt.patch b/patches-6.1/009-r4s-add-led-action-for-openwrt.patch index f62591a..d7579d6 100644 --- a/patches-6.1/009-r4s-add-led-action-for-openwrt.patch +++ b/patches-6.1/009-r4s-add-led-action-for-openwrt.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -index 993d85f47..15feab9a4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -19,6 +19,13 @@ / { +@@ -19,6 +19,13 @@ model = "FriendlyElec NanoPi R4S"; compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399"; diff --git a/patches-6.1/010-r4s-sd-signalling.patch b/patches-6.1/010-r4s-sd-signalling.patch index b2a16b1..ab3f82e 100644 --- a/patches-6.1/010-r4s-sd-signalling.patch +++ b/patches-6.1/010-r4s-sd-signalling.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -index 15feab9a4..038d17276 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -128,6 +128,11 @@ &sdio0 { +@@ -128,6 +128,11 @@ status = "disabled"; }; diff --git a/patches-6.1/011-r4s-add-OF-node-for-pcie-eth.patch b/patches-6.1/011-r4s-add-OF-node-for-pcie-eth.patch index 3ca68bc..54b260a 100644 --- a/patches-6.1/011-r4s-add-OF-node-for-pcie-eth.patch +++ b/patches-6.1/011-r4s-add-OF-node-for-pcie-eth.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -index 038d17276..16d2d8cc2 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -92,6 +92,19 @@ &pcie0 { +@@ -92,6 +92,19 @@ max-link-speed = <1>; num-lanes = <1>; vpcie3v3-supply = <&vcc3v3_sys>; diff --git a/patches-6.1/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch b/patches-6.1/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch index 4be7fb6..bbab848 100644 --- a/patches-6.1/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch +++ b/patches-6.1/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -index cc4848914..5262580ae 100644 --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -297,6 +297,7 @@ usb_host0_xhci: usb@fcc00000 { +@@ -292,6 +292,7 @@ power-domains = <&power RK3568_PD_PIPE>; resets = <&cru SRST_USB3OTG0>; snps,dis_u2_susphy_quirk; @@ -10,7 +8,7 @@ index cc4848914..5262580ae 100644 status = "disabled"; }; -@@ -315,6 +316,7 @@ usb_host1_xhci: usb@fd000000 { +@@ -310,6 +311,7 @@ power-domains = <&power RK3568_PD_PIPE>; resets = <&cru SRST_USB3OTG1>; snps,dis_u2_susphy_quirk; @@ -18,11 +16,9 @@ index cc4848914..5262580ae 100644 status = "disabled"; }; -diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c -index 476b63618..2241fcc31 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1551,6 +1551,8 @@ static void dwc3_get_properties(struct dwc3 *dwc) +@@ -1535,6 +1535,8 @@ static void dwc3_get_properties(struct d "snps,dis-del-phy-power-chg-quirk"); dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, "snps,dis-tx-ipgap-linecheck-quirk"); @@ -31,11 +27,9 @@ index 476b63618..2241fcc31 100644 dwc->resume_hs_terminations = device_property_read_bool(dev, "snps,resume-hs-terminations"); dwc->parkmode_disable_ss_quirk = device_property_read_bool(dev, -diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h -index 8f9959ba9..992d1cdf9 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h -@@ -1098,6 +1098,9 @@ struct dwc3_scratchpad_array { +@@ -1095,6 +1095,9 @@ struct dwc3_scratchpad_array { * change quirk. * @dis_tx_ipgap_linecheck_quirk: set if we disable u2mac linestate * check during HS transmit. @@ -45,7 +39,7 @@ index 8f9959ba9..992d1cdf9 100644 * @resume-hs-terminations: Set if we enable quirk for fixing improper crc * generation after resume from suspend. * @parkmode_disable_ss_quirk: set if we need to disable all SuperSpeed -@@ -1315,6 +1318,7 @@ struct dwc3 { +@@ -1314,6 +1317,7 @@ struct dwc3 { unsigned dis_u2_freeclk_exists_quirk:1; unsigned dis_del_phy_power_chg_quirk:1; unsigned dis_tx_ipgap_linecheck_quirk:1; @@ -53,11 +47,9 @@ index 8f9959ba9..992d1cdf9 100644 unsigned resume_hs_terminations:1; unsigned parkmode_disable_ss_quirk:1; unsigned gfladj_refclk_lpm_sel:1; -diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c -index f6f13e7f1..08a528693 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c -@@ -66,7 +66,7 @@ static int dwc3_host_get_irq(struct dwc3 *dwc) +@@ -66,7 +66,7 @@ out: int dwc3_host_init(struct dwc3 *dwc) { @@ -76,11 +68,9 @@ index f6f13e7f1..08a528693 100644 if (dwc->usb2_lpm_disable) props[prop_idx++] = PROPERTY_ENTRY_BOOL("usb2-lpm-disable"); -diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c -index 5fb55bf19..44e3c87d2 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c -@@ -301,6 +301,9 @@ static int xhci_plat_probe(struct platform_device *pdev) +@@ -301,6 +301,9 @@ static int xhci_plat_probe(struct platfo if (device_property_read_bool(tmpdev, "quirk-broken-port-ped")) xhci->quirks |= XHCI_BROKEN_PORT_PED; @@ -90,11 +80,9 @@ index 5fb55bf19..44e3c87d2 100644 device_property_read_u32(tmpdev, "imod-interval-ns", &xhci->imod_interval); } -diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 343709af4..785e5263f 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3526,6 +3526,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3533,6 +3533,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * bool more_trbs_coming = true; bool need_zero_pkt = false; bool first_trb = true; @@ -102,7 +90,7 @@ index 343709af4..785e5263f 100644 unsigned int num_trbs; unsigned int start_cycle, num_sgs = 0; unsigned int enqd_len, block_len, trb_buff_len, full_len; -@@ -3562,6 +3563,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3569,6 +3570,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * if (urb->transfer_flags & URB_ZERO_PACKET && urb_priv->num_tds > 1) need_zero_pkt = true; @@ -116,7 +104,7 @@ index 343709af4..785e5263f 100644 td = &urb_priv->td[0]; /* -@@ -3590,6 +3598,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3597,6 +3605,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * first_trb = false; if (start_cycle == 0) field |= TRB_CYCLE; @@ -130,7 +118,7 @@ index 343709af4..785e5263f 100644 } else field |= ring->cycle_state; -@@ -3598,6 +3613,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, +@@ -3605,6 +3620,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * */ if (enqd_len + trb_buff_len < full_len) { field |= TRB_CHAIN; @@ -139,11 +127,9 @@ index 343709af4..785e5263f 100644 if (trb_is_link(ring->enqueue + 1)) { if (xhci_align_td(xhci, urb, enqd_len, &trb_buff_len, -diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index c9f06c5e4..e57460e21 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1525,7 +1525,11 @@ static inline const char *xhci_trb_type_string(u8 type) +@@ -1525,7 +1525,11 @@ static inline const char *xhci_trb_type_ #define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16) #define TRB_SEGMENT_SHIFT (ilog2(TRB_SEGMENT_SIZE)) /* TRB buffer pointers can't cross 64KB boundaries */ @@ -155,7 +141,7 @@ index c9f06c5e4..e57460e21 100644 #define TRB_MAX_BUFF_SIZE (1 << TRB_MAX_BUFF_SHIFT) /* How much data is left before the 64KB boundary? */ #define TRB_BUFF_LEN_UP_TO_BOUNDARY(addr) (TRB_MAX_BUFF_SIZE - \ -@@ -1842,6 +1846,7 @@ struct xhci_hcd { +@@ -1843,6 +1847,7 @@ struct xhci_hcd { #define XHCI_STATE_HALTED (1 << 1) #define XHCI_STATE_REMOVING (1 << 2) unsigned long long quirks; diff --git a/patches-6.1/013-rk3399-add-dwc3-xhci-usb-trb-quirk.patch b/patches-6.1/013-rk3399-add-dwc3-xhci-usb-trb-quirk.patch index 9707f8d..edcd668 100644 --- a/patches-6.1/013-rk3399-add-dwc3-xhci-usb-trb-quirk.patch +++ b/patches-6.1/013-rk3399-add-dwc3-xhci-usb-trb-quirk.patch @@ -1,8 +1,6 @@ -diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi -index 59858f2dc8b9..2b8f11aebf13 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi -@@ -459,6 +459,7 @@ usbdrd_dwc3_0: usb@fe800000 { +@@ -459,6 +459,7 @@ snps,dis_enblslpm_quirk; snps,dis-u2-freeclk-exists-quirk; snps,dis_u2_susphy_quirk; @@ -10,7 +8,7 @@ index 59858f2dc8b9..2b8f11aebf13 100644 snps,dis-del-phy-power-chg-quirk; snps,dis-tx-ipgap-linecheck-quirk; power-domains = <&power RK3399_PD_USB3>; -@@ -495,6 +496,7 @@ usbdrd_dwc3_1: usb@fe900000 { +@@ -495,6 +496,7 @@ snps,dis_enblslpm_quirk; snps,dis-u2-freeclk-exists-quirk; snps,dis_u2_susphy_quirk; diff --git a/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch b/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch index d26c928..066542f 100644 --- a/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch +++ b/patches-6.1/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1133,6 +1133,14 @@ config SOCIONEXT_SYNQUACER_PREITS +@@ -1152,6 +1152,14 @@ config SOCIONEXT_SYNQUACER_PREITS If unsure, say Y. @@ -35,7 +35,7 @@ num-lanes = <1>; phys = <&pcie30phy>; phy-names = "pcie-phy"; -@@ -116,7 +116,7 @@ +@@ -117,7 +117,7 @@ compatible = "rockchip,rk3568-pcie"; #address-cells = <3>; #size-cells = <2>; @@ -44,7 +44,7 @@ clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>, <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>, <&cru CLK_PCIE30X2_AUX_NDFT>; -@@ -139,7 +139,7 @@ +@@ -140,7 +140,7 @@ num-ib-windows = <6>; num-ob-windows = <2>; max-link-speed = <3>; @@ -55,7 +55,7 @@ phy-names = "pcie-phy"; --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -315,14 +315,21 @@ +@@ -317,14 +317,21 @@ gic: interrupt-controller@fd400000 { compatible = "arm,gic-v3"; @@ -83,7 +83,7 @@ }; usb_host0_ehci: usb@fd800000 { -@@ -975,7 +982,7 @@ +@@ -978,7 +985,7 @@ num-ib-windows = <6>; num-ob-windows = <2>; max-link-speed = <2>; diff --git a/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch b/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch index 42373ed..d070123 100644 --- a/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch +++ b/patches-6.1/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch @@ -17,7 +17,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its #define RD_LOCAL_LPI_ENABLED BIT(0) #define RD_LOCAL_PENDTABLE_PREALLOCATED BIT(1) -@@ -2172,6 +2173,11 @@ static struct page *its_allocate_prop_table(gfp_t gfp_flags) +@@ -2203,6 +2204,11 @@ static struct page *its_allocate_prop_ta { struct page *prop_page; @@ -29,7 +29,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ)); if (!prop_page) return NULL; -@@ -2295,6 +2301,7 @@ static int its_setup_baser(struct its_node *its, struct its_baser *baser, +@@ -2326,6 +2332,7 @@ static int its_setup_baser(struct its_no u32 alloc_pages, psz; struct page *page; void *base; @@ -37,7 +37,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its psz = baser->psz; alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz); -@@ -2306,7 +2313,10 @@ static int its_setup_baser(struct its_node *its, struct its_baser *baser, +@@ -2337,7 +2344,10 @@ static int its_setup_baser(struct its_no order = get_order(GITS_BASER_PAGES_MAX * psz); } @@ -49,7 +49,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!page) return -ENOMEM; -@@ -2353,6 +2363,13 @@ retry_baser: +@@ -2384,6 +2394,13 @@ retry_baser: its_write_baser(its, baser, val); tmp = baser->val; @@ -63,7 +63,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) { /* * Shareability didn't stick. Just use -@@ -2935,6 +2952,10 @@ static struct page *its_allocate_pending_table(gfp_t gfp_flags) +@@ -2966,6 +2983,10 @@ static struct page *its_allocate_pending { struct page *pend_page; @@ -74,7 +74,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its pend_page = alloc_pages(gfp_flags | __GFP_ZERO, get_order(LPI_PENDBASE_SZ)); if (!pend_page) -@@ -3092,6 +3113,9 @@ static void its_cpu_init_lpis(void) +@@ -3121,6 +3142,9 @@ static void its_cpu_init_lpis(void) gicr_write_propbaser(val, rbase + GICR_PROPBASER); tmp = gicr_read_propbaser(rbase + GICR_PROPBASER); @@ -84,7 +84,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if ((tmp ^ val) & GICR_PROPBASER_SHAREABILITY_MASK) { if (!(tmp & GICR_PROPBASER_SHAREABILITY_MASK)) { /* -@@ -3116,6 +3140,9 @@ static void its_cpu_init_lpis(void) +@@ -3145,6 +3169,9 @@ static void its_cpu_init_lpis(void) gicr_write_pendbaser(val, rbase + GICR_PENDBASER); tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER); @@ -94,7 +94,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!(tmp & GICR_PENDBASER_SHAREABILITY_MASK)) { /* * The HW reports non-shareable, we must remove the -@@ -3278,7 +3305,12 @@ static bool its_alloc_table_entry(struct its_node *its, +@@ -3308,7 +3335,12 @@ static bool its_alloc_table_entry(struct /* Allocate memory for 2nd level table */ if (!table[idx]) { @@ -108,7 +108,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(baser->psz)); if (!page) return false; -@@ -3367,6 +3399,7 @@ static struct its_device *its_create_device(struct its_node *its, u32 dev_id, +@@ -3397,6 +3429,7 @@ static struct its_device *its_create_dev int nr_lpis; int nr_ites; int sz; @@ -116,7 +116,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (!its_alloc_device_table(its, dev_id)) return NULL; -@@ -3374,7 +3407,11 @@ static struct its_device *its_create_device(struct its_node *its, u32 dev_id, +@@ -3404,7 +3437,11 @@ static struct its_device *its_create_dev if (WARN_ON(!is_power_of_2(nvecs))) nvecs = roundup_pow_of_two(nvecs); @@ -129,7 +129,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its /* * Even if the device wants a single LPI, the ITT must be * sized as a power of two (and you need at least one bit...). -@@ -3382,7 +3419,7 @@ static struct its_device *its_create_device(struct its_node *its, u32 dev_id, +@@ -3412,7 +3449,7 @@ static struct its_device *its_create_dev nr_ites = max(2, nvecs); sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1); sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; @@ -138,7 +138,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (alloc_lpis) { lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); if (lpi_map) -@@ -4705,6 +4742,13 @@ static bool __maybe_unused its_enable_quirk_hip07_161600802(void *data) +@@ -4727,6 +4764,13 @@ static bool __maybe_unused its_enable_qu return true; } @@ -152,11 +152,10 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its static const struct gic_quirk its_quirks[] = { #ifdef CONFIG_CAVIUM_ERRATUM_22375 { -@@ -4750,6 +4794,14 @@ static const struct gic_quirk its_quirks[] = { - .mask = 0xffffffff, +@@ -4773,6 +4817,14 @@ static const struct gic_quirk its_quirks .init = its_enable_quirk_hip07_161600802, }, -+#endif + #endif +#ifdef CONFIG_ROCKCHIP_ERRATUM_114514 + { + .desc = "ITS: Rockchip erratum 114514", @@ -164,10 +163,11 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its + .mask = 0xffffffff, + .init = its_enable_quirk_rk3568, + }, - #endif ++#endif { } -@@ -4974,6 +5026,7 @@ static int __init its_probe_one(struct resource *res, + }; +@@ -5028,6 +5080,7 @@ static int __init its_probe_one(struct r struct page *page; u32 ctlr; int err; @@ -175,7 +175,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its its_base = its_map_one(res, &err); if (!its_base) -@@ -5042,7 +5095,9 @@ static int __init its_probe_one(struct resource *res, +@@ -5081,7 +5134,9 @@ static int __init its_probe_one(struct r its->numa_node = numa_node; @@ -186,7 +186,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(ITS_CMD_QUEUE_SZ)); if (!page) { err = -ENOMEM; -@@ -5073,6 +5128,9 @@ static int __init its_probe_one(struct resource *res, +@@ -5112,6 +5167,9 @@ static int __init its_probe_one(struct r gits_write_cbaser(baser, its->base + GITS_CBASER); tmp = gits_read_cbaser(its->base + GITS_CBASER); diff --git a/patches-6.1/212-arm64-dts-rockchip-fix-spdif-fe460000-ordering-on-rk.patch b/patches-6.1/212-arm64-dts-rockchip-fix-spdif-fe460000-ordering-on-rk.patch index 349275f..fdaece9 100644 --- a/patches-6.1/212-arm64-dts-rockchip-fix-spdif-fe460000-ordering-on-rk.patch +++ b/patches-6.1/212-arm64-dts-rockchip-fix-spdif-fe460000-ordering-on-rk.patch @@ -15,7 +15,7 @@ Signed-off-by: Heiko Stuebner --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -1049,20 +1049,6 @@ +@@ -1060,20 +1060,6 @@ status = "disabled"; }; @@ -36,7 +36,7 @@ Signed-off-by: Heiko Stuebner i2s0_8ch: i2s@fe400000 { compatible = "rockchip,rk3568-i2s-tdm"; reg = <0x0 0xfe400000 0x0 0x1000>; -@@ -1141,6 +1127,20 @@ +@@ -1152,6 +1138,20 @@ #sound-dai-cells = <0>; status = "disabled"; }; diff --git a/patches-6.1/213-arm64-dts-rockchip-RK356x-Add-I2S2-device-node.patch b/patches-6.1/213-arm64-dts-rockchip-RK356x-Add-I2S2-device-node.patch index a8a4378..ab3874a 100644 --- a/patches-6.1/213-arm64-dts-rockchip-RK356x-Add-I2S2-device-node.patch +++ b/patches-6.1/213-arm64-dts-rockchip-RK356x-Add-I2S2-device-node.patch @@ -14,7 +14,7 @@ Signed-off-by: Heiko Stuebner --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi -@@ -1091,6 +1091,28 @@ +@@ -1102,6 +1102,28 @@ status = "disabled"; }; diff --git a/patches-6.1/990-arm64-build-boot-image.patch b/patches-6.1/990-arm64-build-boot-image.patch index 958a490..5e05dc7 100644 --- a/patches-6.1/990-arm64-build-boot-image.patch +++ b/patches-6.1/990-arm64-build-boot-image.patch @@ -15,7 +15,7 @@ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ --- a/scripts/Makefile +++ b/scripts/Makefile -@@ -10,6 +10,7 @@ hostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT) += sorttable +@@ -10,6 +10,7 @@ hostprogs-always-$(CONFIG_BUILDTIME_TABL hostprogs-always-$(CONFIG_ASN1) += asn1_compiler hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT) += sign-file hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE) += insert-sys-cert