diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-05-14 18:19:35 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-05-18 18:24:06 +0200 |
commit | 86583384ff4ce144c17997bd462ee0835e28310b (patch) | |
tree | a6af580ac8ccd1162bd41687de5e3c670527a1d6 /target/linux/bcm63xx/patches-5.4/430-MIPS-BCM63XX-add-nand-clocks.patch | |
parent | dcee4eaa4214dce19800ea04da0dd92ebf7af29a (diff) | |
download | upstream-86583384ff4ce144c17997bd462ee0835e28310b.tar.gz upstream-86583384ff4ce144c17997bd462ee0835e28310b.tar.bz2 upstream-86583384ff4ce144c17997bd462ee0835e28310b.zip |
bcm63xx: smp: add NAND support
NAND controller is present on BCM6328, BCM6362, BCM6368 and BCM63268.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.4/430-MIPS-BCM63XX-add-nand-clocks.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.4/430-MIPS-BCM63XX-add-nand-clocks.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/430-MIPS-BCM63XX-add-nand-clocks.patch b/target/linux/bcm63xx/patches-5.4/430-MIPS-BCM63XX-add-nand-clocks.patch new file mode 100644 index 0000000000..883f76fe76 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/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), |