mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 09:12:39 +00:00
c6ddf8d502
Many changes were done in drivers/pinctrl/bcm/pinctrl-bcm2835.c between 5.4.171 and 5.4.179. The following 3 patches do not apply any more: * target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch This was already integrated in kernel v5.4-rc1, it was never needed. * target/linux/bcm27xx/patches-5.4/950-0328-Revert-pinctrl-bcm2835-Pass-irqchip-when-adding-gpio.patch * target/linux/bcm27xx/patches-5.4/950-0362-pinctrl-bcm2835-Change-init-order-for-gpio-hogs.patch I think these were done to fix the problem which was really fixed in commit 75278f1aff5e ("pinctrl: bcm2835: Change init order for gpio hogs") from v5.4.175 target/linux/generic/backport-5.4/716-v5.5-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch Move fwnode_device_is_available to the same position as in kernel 5.10. target/linux/layerscape/patches-5.4/302-dts-0083-arm64-ls1028a-qds-correct-bus-of-rtc.patch Applied in commit 65816c1034769e714edb70f59a33bc5472d9e55f ("arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus") Compile-tested: lantiq/xrx200, bcm27xx/bcm2710 Run-tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
--- 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 = {
|
|
@@ -624,6 +641,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),
|
|
@@ -641,6 +659,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),
|
|
@@ -659,6 +678,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),
|