diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-17 19:07:23 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-17 20:40:16 +0100 |
commit | f323dec4f866d9ea75eae11c6762d0144d100628 (patch) | |
tree | c40f33e9a89e935b32e6a1520f02019200e7cc17 /target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch | |
parent | 5bb9954826229782d4d285d65dfcca8a1c9e20d9 (diff) | |
download | upstream-f323dec4f866d9ea75eae11c6762d0144d100628.tar.gz upstream-f323dec4f866d9ea75eae11c6762d0144d100628.tar.bz2 upstream-f323dec4f866d9ea75eae11c6762d0144d100628.zip |
bcm63xx: add kernel 5.10 support
Runtime-tested on Comtrend AR-5387un.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch b/target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch new file mode 100644 index 0000000000..883f76fe76 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch @@ -0,0 +1,50 @@ +--- a/arch/mips/bcm63xx/clk.c ++++ b/arch/mips/bcm63xx/clk.c +@@ -430,6 +430,23 @@ static struct clk clk_pcie = { + }; + + /* ++ * NAND clock ++ */ ++static void nand_set(struct clk *clk, int enable) ++{ ++ if (BCMCPU_IS_6362()) ++ bcm_hwclock_set(CKCTL_6362_NAND_EN, enable); ++ else if (BCMCPU_IS_6368()) ++ bcm_hwclock_set(CKCTL_6368_NAND_EN, enable); ++ else if (BCMCPU_IS_63268()) ++ bcm_hwclock_set(CKCTL_63268_NAND_EN, enable); ++} ++ ++static struct clk clk_nand = { ++ .set = nand_set, ++}; ++ ++/* + * Internal peripheral clock + */ + static struct clk clk_periph = { +@@ -612,6 +629,7 @@ static struct clk_lookup bcm6362_clks[] + CLKDEV_INIT("bcm63xx-hsspi.0", "pll", &clk_hsspi_pll), + CLKDEV_INIT("10001000.spi", "pll", &clk_hsspi_pll), + /* gated clocks */ ++ CLKDEV_INIT(NULL, "nand", &clk_nand), + CLKDEV_INIT(NULL, "enetsw", &clk_enetsw), + CLKDEV_INIT(NULL, "usbh", &clk_usbh), + CLKDEV_INIT(NULL, "usbd", &clk_usbd), +@@ -629,6 +647,7 @@ static struct clk_lookup bcm6368_clks[] + CLKDEV_INIT("10000100.serial", "refclk", &clk_periph), + CLKDEV_INIT("10000120.serial", "refclk", &clk_periph), + /* gated clocks */ ++ CLKDEV_INIT(NULL, "nand", &clk_nand), + CLKDEV_INIT(NULL, "enetsw", &clk_enetsw), + CLKDEV_INIT(NULL, "usbh", &clk_usbh), + CLKDEV_INIT(NULL, "usbd", &clk_usbd), +@@ -647,6 +666,7 @@ static struct clk_lookup bcm63268_clks[] + CLKDEV_INIT("bcm63xx-hsspi.0", "pll", &clk_hsspi_pll), + CLKDEV_INIT("10001000.spi", "pll", &clk_hsspi_pll), + /* gated clocks */ ++ CLKDEV_INIT(NULL, "nand", &clk_nand), + CLKDEV_INIT(NULL, "enetsw", &clk_enetsw), + CLKDEV_INIT(NULL, "usbh", &clk_usbh), + CLKDEV_INIT(NULL, "usbd", &clk_usbd), |