diff --git a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/0001-clk-config-fixup-of_property_for_each_u32-after-land.patch b/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/0001-clk-config-fixup-of_property_for_each_u32-after-land.patch new file mode 100644 index 0000000..87a73b7 --- /dev/null +++ b/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/0001-clk-config-fixup-of_property_for_each_u32-after-land.patch @@ -0,0 +1,42 @@ +From 071808589900d4f2f5407a8a638466e75bb35a61 Mon Sep 17 00:00:00 2001 +From: Alexander Sack +Date: Thu, 12 Jun 2025 08:43:13 +0000 +Subject: [PATCH] clk-config: fixup of_property_for_each_u32 after landing of + 914ef7d1a702c510d0b59151a9623f9d20c69d2a + +--- + drivers/clk/clk-conf.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/drivers/clk/clk-conf.c b/drivers/clk/clk-conf.c +index 70b0fdd63..602383b96 100644 +--- a/drivers/clk/clk-conf.c ++++ b/drivers/clk/clk-conf.c +@@ -16,9 +16,7 @@ + static int __set_clk_flags(struct device_node *node) + { + struct of_phandle_args clkspec; +- struct property *prop; + int i, index = 0, rc; +- const __be32 *cur; + struct clk *clk; + u32 nr_cells; + +@@ -31,11 +29,11 @@ static int __set_clk_flags(struct device_node *node) + clkspec.np = node; + clkspec.args_count = nr_cells; + +- of_property_for_each_u32(node, "protected-clocks", prop, cur, clkspec.args[0]) { ++ of_property_for_each_u32(node, "protected-clocks", clkspec.args[0]) { + /* read the remainder of the clock specifier */ + for (i = 1; i < nr_cells; ++i) { +- cur = of_prop_next_u32(prop, cur, &clkspec.args[i]); +- if (!cur) { ++ _it.item = of_prop_next_u32(_it.prop, _it.item, &clkspec.args[i]); ++ if (!_it.item) { + pr_err("clk: invalid value of protected-clocks" + " property at %pOF\n", node); + return -EINVAL; +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/ASoC-hdmi-codec-fix-channel-allocation.patch b/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/ASoC-hdmi-codec-fix-channel-allocation.patch deleted file mode 100644 index 83cb49c..0000000 --- a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/ASoC-hdmi-codec-fix-channel-allocation.patch +++ /dev/null @@ -1,142 +0,0 @@ -From 91b69779e0875e58d8973b2938a1cc4b7a1c455b Mon Sep 17 00:00:00 2001 -From: Jonas Karlman -Date: Sun, 25 Mar 2018 22:17:06 +0200 -Subject: [PATCH 22/44] ASoC: hdmi-codec: fix channel allocation - ---- - sound/soc/codecs/hdmi-codec.c | 113 ++++++++++++++++------------------ - 1 file changed, 52 insertions(+), 61 deletions(-) - ---- a/sound/soc/codecs/hdmi-codec.c -+++ b/sound/soc/codecs/hdmi-codec.c -@@ -194,78 +194,69 @@ static const struct snd_pcm_chmap_elem h - */ - static const struct hdmi_codec_cea_spk_alloc hdmi_codec_channel_alloc[] = { - { .ca_id = 0x00, .n_ch = 2, -- .mask = FL | FR}, -- /* 2.1 */ -- { .ca_id = 0x01, .n_ch = 4, -- .mask = FL | FR | LFE}, -- /* Dolby Surround */ -+ .mask = FL | FR }, -+ { .ca_id = 0x03, .n_ch = 4, -+ .mask = FL | FR | LFE | FC }, - { .ca_id = 0x02, .n_ch = 4, - .mask = FL | FR | FC }, -- /* surround51 */ -+ { .ca_id = 0x01, .n_ch = 4, -+ .mask = FL | FR | LFE }, - { .ca_id = 0x0b, .n_ch = 6, -- .mask = FL | FR | LFE | FC | RL | RR}, -- /* surround40 */ -- { .ca_id = 0x08, .n_ch = 6, -- .mask = FL | FR | RL | RR }, -- /* surround41 */ -- { .ca_id = 0x09, .n_ch = 6, -- .mask = FL | FR | LFE | RL | RR }, -- /* surround50 */ -+ .mask = FL | FR | LFE | FC | RL | RR }, - { .ca_id = 0x0a, .n_ch = 6, - .mask = FL | FR | FC | RL | RR }, -- /* 6.1 */ -- { .ca_id = 0x0f, .n_ch = 8, -- .mask = FL | FR | LFE | FC | RL | RR | RC }, -- /* surround71 */ -+ { .ca_id = 0x09, .n_ch = 6, -+ .mask = FL | FR | LFE | RL | RR }, -+ { .ca_id = 0x08, .n_ch = 6, -+ .mask = FL | FR | RL | RR }, -+ { .ca_id = 0x07, .n_ch = 6, -+ .mask = FL | FR | LFE | FC | RC }, -+ { .ca_id = 0x06, .n_ch = 6, -+ .mask = FL | FR | FC | RC }, -+ { .ca_id = 0x05, .n_ch = 6, -+ .mask = FL | FR | LFE | RC }, -+ { .ca_id = 0x04, .n_ch = 6, -+ .mask = FL | FR | RC }, - { .ca_id = 0x13, .n_ch = 8, - .mask = FL | FR | LFE | FC | RL | RR | RLC | RRC }, -- /* others */ -- { .ca_id = 0x03, .n_ch = 8, -- .mask = FL | FR | LFE | FC }, -- { .ca_id = 0x04, .n_ch = 8, -- .mask = FL | FR | RC}, -- { .ca_id = 0x05, .n_ch = 8, -- .mask = FL | FR | LFE | RC }, -- { .ca_id = 0x06, .n_ch = 8, -- .mask = FL | FR | FC | RC }, -- { .ca_id = 0x07, .n_ch = 8, -- .mask = FL | FR | LFE | FC | RC }, -- { .ca_id = 0x0c, .n_ch = 8, -- .mask = FL | FR | RC | RL | RR }, -- { .ca_id = 0x0d, .n_ch = 8, -- .mask = FL | FR | LFE | RL | RR | RC }, -- { .ca_id = 0x0e, .n_ch = 8, -- .mask = FL | FR | FC | RL | RR | RC }, -- { .ca_id = 0x10, .n_ch = 8, -- .mask = FL | FR | RL | RR | RLC | RRC }, -- { .ca_id = 0x11, .n_ch = 8, -- .mask = FL | FR | LFE | RL | RR | RLC | RRC }, -+ { .ca_id = 0x1f, .n_ch = 8, -+ .mask = FL | FR | LFE | FC | RL | RR | FLC | FRC }, - { .ca_id = 0x12, .n_ch = 8, - .mask = FL | FR | FC | RL | RR | RLC | RRC }, -- { .ca_id = 0x14, .n_ch = 8, -- .mask = FL | FR | FLC | FRC }, -- { .ca_id = 0x15, .n_ch = 8, -- .mask = FL | FR | LFE | FLC | FRC }, -- { .ca_id = 0x16, .n_ch = 8, -- .mask = FL | FR | FC | FLC | FRC }, -- { .ca_id = 0x17, .n_ch = 8, -- .mask = FL | FR | LFE | FC | FLC | FRC }, -- { .ca_id = 0x18, .n_ch = 8, -- .mask = FL | FR | RC | FLC | FRC }, -- { .ca_id = 0x19, .n_ch = 8, -- .mask = FL | FR | LFE | RC | FLC | FRC }, -- { .ca_id = 0x1a, .n_ch = 8, -- .mask = FL | FR | RC | FC | FLC | FRC }, -- { .ca_id = 0x1b, .n_ch = 8, -- .mask = FL | FR | LFE | RC | FC | FLC | FRC }, -- { .ca_id = 0x1c, .n_ch = 8, -- .mask = FL | FR | RL | RR | FLC | FRC }, -- { .ca_id = 0x1d, .n_ch = 8, -- .mask = FL | FR | LFE | RL | RR | FLC | FRC }, - { .ca_id = 0x1e, .n_ch = 8, - .mask = FL | FR | FC | RL | RR | FLC | FRC }, -- { .ca_id = 0x1f, .n_ch = 8, -- .mask = FL | FR | LFE | FC | RL | RR | FLC | FRC }, -+ { .ca_id = 0x11, .n_ch = 8, -+ .mask = FL | FR | LFE | RL | RR | RLC | RRC }, -+ { .ca_id = 0x1d, .n_ch = 8, -+ .mask = FL | FR | LFE | RL | RR | FLC | FRC }, -+ { .ca_id = 0x10, .n_ch = 8, -+ .mask = FL | FR | RL | RR | RLC | RRC }, -+ { .ca_id = 0x1c, .n_ch = 8, -+ .mask = FL | FR | RL | RR | FLC | FRC }, -+ { .ca_id = 0x0f, .n_ch = 8, -+ .mask = FL | FR | LFE | FC | RL | RR | RC }, -+ { .ca_id = 0x1b, .n_ch = 8, -+ .mask = FL | FR | LFE | RC | FC | FLC | FRC }, -+ { .ca_id = 0x0e, .n_ch = 8, -+ .mask = FL | FR | FC | RL | RR | RC }, -+ { .ca_id = 0x1a, .n_ch = 8, -+ .mask = FL | FR | RC | FC | FLC | FRC }, -+ { .ca_id = 0x0d, .n_ch = 8, -+ .mask = FL | FR | LFE | RL | RR | RC }, -+ { .ca_id = 0x19, .n_ch = 8, -+ .mask = FL | FR | LFE | RC | FLC | FRC }, -+ { .ca_id = 0x0c, .n_ch = 8, -+ .mask = FL | FR | RC | RL | RR }, -+ { .ca_id = 0x18, .n_ch = 8, -+ .mask = FL | FR | RC | FLC | FRC }, -+ { .ca_id = 0x17, .n_ch = 8, -+ .mask = FL | FR | LFE | FC | FLC | FRC }, -+ { .ca_id = 0x16, .n_ch = 8, -+ .mask = FL | FR | FC | FLC | FRC }, -+ { .ca_id = 0x15, .n_ch = 8, -+ .mask = FL | FR | LFE | FLC | FRC }, -+ { .ca_id = 0x14, .n_ch = 8, -+ .mask = FL | FR | FLC | FRC }, - }; - - struct hdmi_codec_priv { diff --git a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/Revert-clk-qcom-Support-protected-clocks-property.patch b/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/Revert-clk-qcom-Support-protected-clocks-property.patch deleted file mode 100644 index 98f48bc..0000000 --- a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/Revert-clk-qcom-Support-protected-clocks-property.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Mon, 30 Dec 2019 12:39:31 -0600 -Subject: [PATCH] Revert "clk: qcom: Support 'protected-clocks' property" - -Now that protected-clocks is handled in the clk core, this -driver-specific implementation is redundant. - -This reverts commit b181b3b801da8893c8eb706e448dd5111b02de60. - -Signed-off-by: Samuel Holland ---- - drivers/clk/qcom/common.c | 18 ------------------ - 1 file changed, 18 deletions(-) - ---- a/drivers/clk/qcom/common.c -+++ b/drivers/clk/qcom/common.c -@@ -194,22 +194,6 @@ int qcom_cc_register_sleep_clk(struct de - } - EXPORT_SYMBOL_GPL(qcom_cc_register_sleep_clk); - --/* Drop 'protected-clocks' from the list of clocks to register */ --static void qcom_cc_drop_protected(struct device *dev, struct qcom_cc *cc) --{ -- struct device_node *np = dev->of_node; -- struct property *prop; -- const __be32 *p; -- u32 i; -- -- of_property_for_each_u32(np, "protected-clocks", prop, p, i) { -- if (i >= cc->num_rclks) -- continue; -- -- cc->rclks[i] = NULL; -- } --} -- - static struct clk_hw *qcom_cc_clk_hw_get(struct of_phandle_args *clkspec, - void *data) - { -@@ -272,8 +256,6 @@ int qcom_cc_really_probe(struct platform - cc->rclks = rclks; - cc->num_rclks = num_clks; - -- qcom_cc_drop_protected(dev, cc); -- - for (i = 0; i < num_clk_hws; i++) { - ret = devm_clk_hw_register(dev, clk_hws[i]); - if (ret) diff --git a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/orange-pi-3lts-common.scc b/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/orange-pi-3lts-common.scc index 22a5bea..3e82e67 100644 --- a/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/orange-pi-3lts-common.scc +++ b/recipes-kernel/linux/linux-mainline/sunxi-kmeta/bsp/orange-pi-3lts/orange-pi-3lts-common.scc @@ -2,11 +2,9 @@ # patch clk-Implement-protected-clocks-for-all-OF-clock-prov.patch -patch Revert-clk-qcom-Support-protected-clocks-property.patch patch rtc-sun6i-Allow-RTC-wakeup-after-shutdown.patch patch firmware-arm_scpi-Support-unidirectional-mailbox-cha.patch patch arm64-dts-allwinner-h6-Add-SCPI-protocol.patch -patch ASoC-hdmi-codec-fix-channel-allocation.patch patch arm64-dts-h6-deinterlace.patch patch HACK-h6-Add-HDMI-sound-card.patch patch arm64-dts-allwinner-h6-Add-AC200-EPHY-related-nodes.patch @@ -16,5 +14,6 @@ patch arm64-dts-allwinner-h6-Fix-Cedrus-IOMMU-again.patch patch iommu-sun50i-Allow-page-sizes-multiple-of-4096.patch patch OrangePi-3-LTS-support.patch patch arm64-dts-allwinner-Enforce-consistent-MMC-numbering.patch +patch 0001-clk-config-fixup-of_property_for_each_u32-after-land.patch -kconf harware orange-pi-3lts.cfg +kconf hardware orange-pi-3lts.cfg