build/patch/kernel/sunxi-next/0000-0001-clk-sunxi-ng-Set-maximum-M-1-for-H3-pll-cpux-clock.patch
zhangn1985 78d28f8083 rebase sunxi-next to upstream LTS ()
1, format all patches from https://github.com/megous/linux
   `git format-patch 79bf89b88a87f2ebf147f76d8c40183283b49b51...2a7cb228d29c3882c1414c10a44c5f3f59bfa44d`
   and copy them to sunxi-next with prefix `0000-`

2, remove unnecessary patches, due to they are revert of upstream patches:
    4d867e2bd6
    4e674a3000
    b8e05fe47e
    8bb8175edd
    a2888276ee

3, remove fail to apply and no use:
    960ddd63a8

4, remove WireGuard patch:
    1cd13b836c

5, remove meaningless patch:
    f26e36379a

6, remove merged or included by megous/linux patches:
   0112-mfd-axp20x-Add-supported-cells-for-AXP803.patch
   board-bpi-m3-make-ethernet-working.patch
   board-pine-h6-pine-h6-0025-phy-sun4i-usb-add-support-for-missing-USB-PHY-index.patch

7, remove stable release update patches.
   ignored.

8, rebase sunxi-next/sunxi64-next to upstream linux-4.19.y

test result:
   all patches applied, no error.
   orangepipc/orangpioneplus build OK.

Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
2019-08-06 21:00:05 -04:00

55 lines
1.6 KiB
Diff

From 5b367397da1947fcbf6ed1091c351808218e59bc Mon Sep 17 00:00:00 2001
From: Ondrej Jirman <megous@megous.com>
Date: Thu, 12 Jan 2017 16:34:57 +0100
Subject: [PATCH 01/82] clk: sunxi-ng: Set maximum M = 1 for H3 pll-cpux clock
When using M factor greater than 1 system is experiencing
occasional lockups.
This change was verified to fix lockups with PLL stress
tester available at https://github.com/megous/h3-firmware.
Note that M factor must not be used outside the kernel
either, so for example u-boot needs a similar patch.
---
drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
index 77ed0b0ba681..8d47742def49 100644
--- a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
+++ b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
@@ -30,15 +30,21 @@
#include "ccu-sun8i-h3.h"
-static SUNXI_CCU_NKMP_WITH_GATE_LOCK(pll_cpux_clk, "pll-cpux",
- "osc24M", 0x000,
- 8, 5, /* N */
- 4, 2, /* K */
- 0, 2, /* M */
- 16, 2, /* P */
- BIT(31), /* gate */
- BIT(28), /* lock */
- CLK_SET_RATE_UNGATE);
+static struct ccu_nkmp pll_cpux_clk = {
+ .enable = BIT(31),
+ .lock = BIT(28),
+ .n = _SUNXI_CCU_MULT(8, 5),
+ .k = _SUNXI_CCU_MULT(4, 2),
+ .m = _SUNXI_CCU_DIV_MAX(0, 2, 1),
+ .p = _SUNXI_CCU_DIV(16, 2),
+ .common = {
+ .reg = 0x000,
+ .hw.init = CLK_HW_INIT("pll-cpux",
+ "osc24M",
+ &ccu_nkmp_ops,
+ CLK_SET_RATE_UNGATE),
+ },
+};
/*
* The Audio PLL is supposed to have 4 outputs: 3 fixed factors from
--
2.20.1