From: Paresh Bhagat p-bhagat@ti.com
[ Upstream commit b5af45302ebc141662b2b60c713c9202e88c943c ]
Add support for TI K3 AM62D2 SoC to read speed and revision values from hardware and pass to OPP layer. AM62D shares the same configuations as AM62A so use existing am62a7_soc_data.
Signed-off-by: Paresh Bhagat p-bhagat@ti.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
Based on my comprehensive analysis of this commit and the stable kernel backporting policies, here is my assessment:
## Backport Status: YES
### Detailed Analysis
#### 1. **Explicit Policy Support** The Linux stable kernel rules (Documentation/process/stable-kernel- rules.rst, line 15) **explicitly allow device ID additions**:
"It must either fix a real bug that bothers people or **just add a
device ID**."
This commit adds device IDs for the AM62D2 SoC in two locations: - **Line 313** in `k3_cpufreq_soc[]`: Adds `{ .family = "AM62DX", .revision = "SR1.0" }` - **Line 461** in `ti_cpufreq_of_match[]`: Adds `{ .compatible = "ti,am62d2", .data = &am62a7_soc_data, }`
#### 2. **Strong Historical Precedent** Similar commits for the AM62 SoC family were backported to stable trees:
- **AM625 support** (aac0293a8f1cd): No Cc: stable tag, but present in stable branches linux-6.10.y through 6.17.y - **AM62A7 support** (5008e4c8c31c6): No Cc: stable tag, but present in stable branches linux-6.10.y through 6.17.y - **AM625 blacklist** (e66e20d71d79e): Also backported to stable - **AM62A7 blacklist** (b2b2029eb1788): Also backported to stable
#### 3. **Minimal Risk Profile** - **Only 2 lines changed** (1 file, +2 insertions) - **Reuses existing configuration**: Uses `am62a7_soc_data` as stated in commit message - no new code paths - **Isolated change**: Only affects AM62D2 hardware, no impact on other SoCs - **Well-tested pattern**: Follows the exact same pattern as AM625, AM62A7, and AM62P5 additions
#### 4. **User Benefit** - Enables CPU frequency scaling on AM62D2 hardware - Users with AM62D2 boards (device tree support added in v6.17 via commit 1544bca2f188e) need this for proper power management - Without this commit, AM62D2 systems cannot adjust CPU frequencies based on load
#### 5. **Companion Commit** There's a companion commit **fa40cbe1c86b6** "cpufreq: dt-platdev: Blacklist ti,am62d2 SoC" by the same author on the same date. Both should be backported together to prevent the generic cpufreq-dt driver from conflicting with ti-cpufreq.
#### 6. **No Architectural Changes** - No new features beyond hardware enablement - No refactoring or code restructuring - No changes to existing functionality - Meets stable tree criteria: small, contained, low regression risk
### Conclusion This commit should be backported to stable kernel trees because it: 1. Falls under the explicit "device ID addition" exception in stable rules 2. Has strong precedent with similar AM62 family commits being backported 3. Provides essential functionality for AM62D2 hardware owners 4. Has minimal regression risk (2 lines, reuses existing data structures) 5. Follows the established stable backporting pattern for this driver
drivers/cpufreq/ti-cpufreq.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/cpufreq/ti-cpufreq.c b/drivers/cpufreq/ti-cpufreq.c index 5a5147277cd0a..9a912d3093153 100644 --- a/drivers/cpufreq/ti-cpufreq.c +++ b/drivers/cpufreq/ti-cpufreq.c @@ -310,6 +310,7 @@ static const struct soc_device_attribute k3_cpufreq_soc[] = { { .family = "AM62X", .revision = "SR1.0" }, { .family = "AM62AX", .revision = "SR1.0" }, { .family = "AM62PX", .revision = "SR1.0" }, + { .family = "AM62DX", .revision = "SR1.0" }, { /* sentinel */ } };
@@ -457,6 +458,7 @@ static const struct of_device_id ti_cpufreq_of_match[] __maybe_unused = { { .compatible = "ti,omap36xx", .data = &omap36xx_soc_data, }, { .compatible = "ti,am625", .data = &am625_soc_data, }, { .compatible = "ti,am62a7", .data = &am62a7_soc_data, }, + { .compatible = "ti,am62d2", .data = &am62a7_soc_data, }, { .compatible = "ti,am62p5", .data = &am62p5_soc_data, }, /* legacy */ { .compatible = "ti,omap3430", .data = &omap34xx_soc_data, },