Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: bcm63xx-gate: add BCM6318 support

Add support for the gated clock controllers found on the BCM6318.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20200610140858.207329-3-noltari@gmail.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Álvaro Fernández Rojas and committed by
Stephen Boyd
90741a72 8fc4f427

+44
+44
drivers/clk/bcm/clk-bcm63xx-gate.c
··· 40 40 { }, 41 41 }; 42 42 43 + static const struct clk_bcm63xx_table_entry bcm6318_clocks[] = { 44 + { .name = "adsl_asb", .bit = 0, }, 45 + { .name = "usb_asb", .bit = 1, }, 46 + { .name = "mips_asb", .bit = 2, }, 47 + { .name = "pcie_asb", .bit = 3, }, 48 + { .name = "phymips_asb", .bit = 4, }, 49 + { .name = "robosw_asb", .bit = 5, }, 50 + { .name = "sar_asb", .bit = 6, }, 51 + { .name = "sdr_asb", .bit = 7, }, 52 + { .name = "swreg_asb", .bit = 8, }, 53 + { .name = "periph_asb", .bit = 9, }, 54 + { .name = "cpubus160", .bit = 10, }, 55 + { .name = "adsl", .bit = 11, }, 56 + { .name = "sar125", .bit = 12, }, 57 + { .name = "mips", .bit = 13, .flags = CLK_IS_CRITICAL, }, 58 + { .name = "pcie", .bit = 14, }, 59 + { .name = "robosw250", .bit = 16, }, 60 + { .name = "robosw025", .bit = 17, }, 61 + { .name = "sdr", .bit = 19, .flags = CLK_IS_CRITICAL, }, 62 + { .name = "usbd", .bit = 20, }, 63 + { .name = "hsspi", .bit = 25, }, 64 + { .name = "pcie25", .bit = 27, }, 65 + { .name = "phymips", .bit = 28, }, 66 + { .name = "afe", .bit = 29, }, 67 + { .name = "qproc", .bit = 30, }, 68 + { }, 69 + }; 70 + 71 + static const struct clk_bcm63xx_table_entry bcm6318_ubus_clocks[] = { 72 + { .name = "adsl-ubus", .bit = 0, }, 73 + { .name = "arb-ubus", .bit = 1, .flags = CLK_IS_CRITICAL, }, 74 + { .name = "mips-ubus", .bit = 2, .flags = CLK_IS_CRITICAL, }, 75 + { .name = "pcie-ubus", .bit = 3, }, 76 + { .name = "periph-ubus", .bit = 4, .flags = CLK_IS_CRITICAL, }, 77 + { .name = "phymips-ubus", .bit = 5, }, 78 + { .name = "robosw-ubus", .bit = 6, }, 79 + { .name = "sar-ubus", .bit = 7, }, 80 + { .name = "sdr-ubus", .bit = 8, }, 81 + { .name = "usb-ubus", .bit = 9, }, 82 + { }, 83 + }; 84 + 43 85 static const struct clk_bcm63xx_table_entry bcm6328_clocks[] = { 44 86 { .name = "phy_mips", .bit = 0, }, 45 87 { .name = "adsl_qproc", .bit = 1, }, ··· 260 218 261 219 static const struct of_device_id clk_bcm63xx_dt_ids[] = { 262 220 { .compatible = "brcm,bcm3368-clocks", .data = &bcm3368_clocks, }, 221 + { .compatible = "brcm,bcm6318-clocks", .data = &bcm6318_clocks, }, 222 + { .compatible = "brcm,bcm6318-ubus-clocks", .data = &bcm6318_ubus_clocks, }, 263 223 { .compatible = "brcm,bcm6328-clocks", .data = &bcm6328_clocks, }, 264 224 { .compatible = "brcm,bcm6358-clocks", .data = &bcm6358_clocks, }, 265 225 { .compatible = "brcm,bcm6362-clocks", .data = &bcm6362_clocks, },