mirror of
https://github.com/openwrt/openwrt.git
synced 2026-06-17 14:50:15 +04:00
3efb676eaa
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.75
Removed upstream:
bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch[1]
bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch[2]
bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch[3]
qualcommax/patches-6.12/0074-v6.20-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch[4]
Manually rebased:
bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch
bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch
bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch
lantiq/patches-6.12/101-find_active_root.patch
All other patches automatically rebased.
1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=58f1767ad5c9eda3dd0befddc1843259d46d64fa
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=ff65571ffae52b65577121e7696bf22156e1928a
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=fbf2a108ed5eb1c896d3f354bd05314c2e22e78f
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=b109dd4970a0fc89d54b1198b163f86125dd2977
Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000
Co-authored-by: Shiji Yang <yangshiji66@outlook.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22276
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d0784a69dd)
Link: https://github.com/openwrt/openwrt/pull/22699
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
43 lines
1.8 KiB
Diff
43 lines
1.8 KiB
Diff
From: Ryan Chen <rchen14b@gmail.com>
|
|
Subject: clk: en7581: Separate PERST from refclk in PCIe clock callbacks
|
|
|
|
The EN7581 PCIe clock enable/disable callbacks currently toggle both
|
|
PERST (reset) and reference clock signals together. This prevents the
|
|
PCIe controller driver from properly sequencing PERST relative to MAC
|
|
register configuration, which is required for x2 link mode.
|
|
|
|
Separate the two concerns: clock callbacks only manage reference clocks
|
|
(REFCLK_EN0/EN1), while PERST (PERSTOUT/PERSTOUT1/PERSTOUT2) is left
|
|
to the PCIe controller driver to manage directly via the NP_SCU regmap.
|
|
|
|
Signed-off-by: Ryan Chen <rchen14b@gmail.com>
|
|
--- a/drivers/clk/clk-en7523.c
|
|
+++ b/drivers/clk/clk-en7523.c
|
|
@@ -960,9 +960,11 @@ static int en7581_pci_enable(struct clk_
|
|
struct regmap *map = cg->map;
|
|
u32 mask;
|
|
|
|
- mask = REG_PCI_CONTROL_REFCLK_EN0 | REG_PCI_CONTROL_REFCLK_EN1 |
|
|
- REG_PCI_CONTROL_PERSTOUT1 | REG_PCI_CONTROL_PERSTOUT2 |
|
|
- REG_PCI_CONTROL_PERSTOUT;
|
|
+ /* Only enable reference clocks - PERST is managed separately by the
|
|
+ * PCIe controller driver to allow proper sequencing of MAC register
|
|
+ * configuration between PERST assert and deassert.
|
|
+ */
|
|
+ mask = REG_PCI_CONTROL_REFCLK_EN0 | REG_PCI_CONTROL_REFCLK_EN1;
|
|
regmap_set_bits(map, REG_PCI_CONTROL, mask);
|
|
|
|
return 0;
|
|
@@ -974,9 +976,8 @@ static void en7581_pci_disable(struct cl
|
|
struct regmap *map = cg->map;
|
|
u32 mask;
|
|
|
|
- mask = REG_PCI_CONTROL_REFCLK_EN0 | REG_PCI_CONTROL_REFCLK_EN1 |
|
|
- REG_PCI_CONTROL_PERSTOUT1 | REG_PCI_CONTROL_PERSTOUT2 |
|
|
- REG_PCI_CONTROL_PERSTOUT;
|
|
+ /* Only disable reference clocks - PCIe driver manages PERST */
|
|
+ mask = REG_PCI_CONTROL_REFCLK_EN0 | REG_PCI_CONTROL_REFCLK_EN1;
|
|
regmap_clear_bits(map, REG_PCI_CONTROL, mask);
|
|
usleep_range(1000, 2000);
|
|
}
|