aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-06-07clk: keystone: sci-clk: probe clocks from DT instead of firmwareTero Kristo2-0/+141
Probing all the available clocks from the PM firmware takes quite a lot of time, increasing boot time. Instead, implement functionality that parses only the used clocks from DT, and registers these to clock core. This way, the boot time is greatly improved. Additionally, provide a Kconfig option for parsing all the clocks from firmware, if someone requires this. It is mostly useful as a debugging functionality if we want to inspect the whole clock tree. Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2019-06-07clk: keystone: sci-clk: split out the fw clock parsing to own functionTero Kristo1-27/+41
This makes it both easier to see what the probe does, and also makes it possible to add alternative implementations for the clock data source. Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2019-06-07clk: keystone: sci-clk: cut down the clock name lengthTero Kristo1-4/+3
There is no need to store the full node name to the individual clocks, as this will just consome memory and make the clock debug entries unnecessary long. Just shorten this to "clk" for now. Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tero Kristo <[email protected]>
2019-06-07clk: imx6sll: Switch to clk_hw based APIAbel Vesa1-208/+222
Switch the entire clk-imx6sll driver to clk_hw based API. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx7d: Switch to clk_hw based APIAbel Vesa1-484/+499
Switch the entire clk-imx7d driver to clk_hw based API. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx6ul: Switch to clk_hw based APIAbel Vesa1-284/+290
Switch the entire clk-imx6ul driver to clk_hw based API. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx6sx: Switch to clk_hw based APIAbel Vesa1-320/+334
Switch the entire clk-imx6sx driver to clk_hw based API. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx6q: Switch to clk_hw based APIAbel Vesa1-367/+392
Switch the entire clk-imx6q driver to clk_hw based API. Add imx6q_obtain_fixed_clk_hw helper to clean up the registration of the clocks that are either found in device tree or are assigned a fixed zero rate. This switch allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx6sl: Switch to clk_hw based APIAbel Vesa1-195/+209
Switch the entire clk-imx6sl driver to clk_hw based API. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: Switch wrappers to clk_hw based APIAbel Vesa1-26/+65
Switch all the wrappers to clk_hw based API and rename them to indicate that. Add macros for clk based legacy users. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-fixup-mux: Switch to clk_hw based APIAbel Vesa2-5/+13
Switch the imx_clk_fixup_mux function to clk_hw based API, rename accordingly and add a macro for clk based legacy. a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-fixup-div: Switch to clk_hw based APIAbel Vesa2-7/+15
Switch the imx_clk_fixup_divider function to clk_hw based API, rename accordingly and add a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-gate-exclusive: Switch to clk_hw based APIAbel Vesa2-7/+15
Switch the imx_clk_gate_exclusive function to clk_hw based API, rename accordingly and add a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-pfd: Switch to clk_hw based APIAbel Vesa2-6/+13
Switch the imx_clk_pfd function to clk_hw based API, rename accordingly and add a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-pllv3: Switch to clk_hw based APIAbel Vesa2-6/+13
Switch the imx_clk_hw_pllv3 function to clk_hw based API, rename accordingly and add a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-gate2: Switch to clk_hw based APIAbel Vesa2-6/+15
Switch the clk_register_gate2 function to clk_hw based API, rename accordingly and add a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-cpu: Switch to clk_hw based APIAbel Vesa2-6/+13
Switch the clk_cpu clock registering function to clk_hw based API and add a macro for clk based legacy. This allows us to move closer to a clear split between consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: clk-busy: Switch to clk_hw based APIAbel Vesa2-12/+29
Switch all the clk_busy clock registering functions to clk_hw based API. Keep around some clk based wrappers to be used by older imx platforms. This allows us to move closer to a clear split of consumer and provider clk APIs. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx6q: Do not reparent uninitialized IMX6QDL_CLK_PERIPH2 clockAbel Vesa1-8/+0
The clock is registered later than these two re-parentings. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx6sx: Do not reparent to unregistered IMX6SX_CLK_AXIAbel Vesa1-2/+0
The clock IMX6SX_CLK_AXI is not registered at all. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: Add imx_obtain_fixed_clock clk_hw based variantAbel Vesa2-0/+14
In order to move to clk_hw based API, imx_obtain_fixed_clock_hw is added. The end goal here is to have all the clk providers use the clk_hw based API. Signed-off-by: Abel Vesa <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-07clk: imx: imx8mm: correct audio_pll2_clk to audio_pll2_outPeng Fan1-3/+3
There is no audio_pll2_clk registered, it should be audio_pll2_out. Cc: <[email protected]> Fixes: ba5625c3e272 ("clk: imx: Add clock driver support for imx8mm") Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-06-06dt-bindings: clock: Document gpucc for msm8998Jeffrey Hugo2-1/+32
The GPU for msm8998 has its own clock controller. Document it. Signed-off-by: Jeffrey Hugo <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06clk: mediatek: Remove MT8183 unused clockErin Lo1-19/+0
Remove MT8183 sspm clock Signed-off-by: Erin Lo <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06clk: mediatek: add audsys clock driver for MT8516Fabien Parent3-0/+72
Add audsys clock driver for MediaTek MT8516 SoC. Signed-off-by: Fabien Parent <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06dt-bindings: mediatek: audsys: add support for MT8516Fabien Parent2-0/+18
Add AUDSYS device tree bindings documentation for MediaTek MT8516 SoC. Signed-off-by: Fabien Parent <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06clk: bcm: Allow CLK_BCM2835 for ARCH_BRCMSTBFlorian Fainelli1-2/+2
ARCH_BRCMSTB needs to use the BCM2835 clock driver for chips like BCM7211 which adopted that clock controller, make that possible and the driver default to be enabled for ARCH_BRCMSTB. Signed-off-by: Florian Fainelli <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06clk: bcm: Make BCM2835 clock drivers selectableFlorian Fainelli2-2/+11
Make the BCM2835 clock driver selectable by other architectures/platforms. ARCH_BRCMSTB will be selecting that driver in the next commit since new chips like 7211 use the same CPRMAN clock controller that this driver supports. Signed-off-by: Florian Fainelli <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06clk: pwm: implement the .get_duty_cycle callbackMartin Blumenstingl1-0/+14
Commit 9fba738a53dda2 ("clk: add duty cycle support") added support for getting and setting the duty cycle of a clock. This implements the get_duty_cycle callback for PWM based clocks so the duty cycle is shown in the debugfs output (/sys/kernel/debug/clk/clk_summary). Signed-off-by: Martin Blumenstingl <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
2019-06-06clk: samsung: add new clocks for DMC for Exynos5422 SoCLukasz Luba1-6/+55
This patch provides support for clocks needed for Dynamic Memory Controller in Exynos5422 SoC. It adds CDREX base register addresses, new DIV, MUX and GATE entries. Acked-by: Chanwoo Choi <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lukasz Luba <[email protected]> Signed-off-by: Sylwester Nawrocki <[email protected]>
2019-06-06clk: samsung: add BPLL rate table for Exynos 5422 SoCLukasz Luba1-1/+16
Add new table rate for BPLL for Exynos5422 SoC supporting Dynamic Memory Controller frequencies for driver's DRAM timings. Acked-by: Chanwoo Choi <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lukasz Luba <[email protected]> Signed-off-by: Sylwester Nawrocki <[email protected]>
2019-06-06clk: samsung: add needed IDs for DMC clocks in Exynos5420Lukasz Luba1-1/+17
Define new IDs for clocks used by Dynamic Memory Controller in Exynos5422 SoC. Acked-by: Rob Herring <[email protected]> Acked-by: Chanwoo Choi <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lukasz Luba <[email protected]> Signed-off-by: Sylwester Nawrocki <[email protected]>
2019-06-05dt-bindings: clk: Convert Allwinner CCU to a schemaMaxime Ripard2-62/+141
The Allwinner SoCs have a clocks controller supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <[email protected]>
2019-06-05clk: sunxi-ng: sun50i-h6-r: Fix incorrect W1 clock gate registerOndrej Jirman1-1/+1
The current code defines W1 clock gate to be at 0x1cc, overlaying it with the IR gate. Clock gate for r-apb1-w1 is at 0x1ec. This fixes issues with IR receiver causing interrupt floods on H6 (because interrupt flags can't be cleared, due to IR module's bus being disabled). Fixes: b7c7b05065aa77ae ("clk: sunxi-ng: add support for H6 PRCM CCU") Signed-off-by: Ondrej Jirman <[email protected]> Acked-by: Clément Péron <[email protected]> Signed-off-by: Maxime Ripard <[email protected]>
2019-06-04clk: renesas: r9a06g032: Add clock domain supportGareth Williams1-69/+158
There are several clocks on the r9a06g032 which are currently not enabled in their drivers that can be delegated to clock domain system for power management. Therefore add support for clock domain functionality to the r9a06g032 clock driver. Signed-off-by: Gareth Williams <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]>
2019-06-04dt-bindings: clock: renesas: r9a06g032-sysctrl: Document power DomainsGareth Williams1-2/+5
The driver is gaining power domain support, so add the new property to the DT binding and update the examples. Signed-off-by: Gareth Williams <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]>
2019-06-04clk: renesas: mstp: Remove error messages on out-of-memory conditionsGeert Uytterhoeven1-6/+2
pm_clk_create() and pm_clk_add_clk() can fail only when running out of memory. Hence there is no need to print error messages on failure, as the memory allocation core already takes care of that. Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Simon Horman <[email protected]> Reviewed-by: Niklas Söderlund <[email protected]>
2019-06-04clk: renesas: cpg-mssr: Remove error messages on out-of-memory conditionsGeert Uytterhoeven1-6/+2
pm_clk_create() and pm_clk_add_clk() can fail only when running out of memory. Hence there is no need to print error messages on failure, as the memory allocation core already takes care of that. Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Simon Horman <[email protected]> Reviewed-by: Niklas Söderlund <[email protected]>
2019-06-04clk: renesas: cpg-mssr: Use genpd of_node instead of local copyGeert Uytterhoeven1-3/+1
Since commit 6a0ae73d95956f7e ("PM / Domain: Add support to parse domain's OPP table"), of_genpd_add_provider_simple() fills in the dev.of_node field in the generic_pm_domain structure. Hence cpg_mssr_is_pm_clk() can use that instead of its own copy in the driver-private cpg_mssr_clk_domain structure. Signed-off-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Simon Horman <[email protected]> Reviewed-by: Niklas Söderlund <[email protected]>
2019-05-30clk: samsung: exynos5433: Use of_clk_get_parent_count()Kefeng Wang1-2/+2
Use of_clk_get_parent_count() instead of open coding. Reviewed-by: Andrzej Hajda <[email protected]> Acked-by: Chanwoo Choi <[email protected]> Signed-off-by: Kefeng Wang <[email protected]> Signed-off-by: Sylwester Nawrocki <[email protected]>
2019-05-29clk-sunxi: fix a missing-check bug in sunxi_divs_clk_setup()Gen Zhang1-0/+2
In sunxi_divs_clk_setup(), 'derived_name' is allocated by kstrndup(). It returns NULL when fails. 'derived_name' should be checked. Signed-off-by: Gen Zhang <[email protected]> Signed-off-by: Maxime Ripard <[email protected]>
2019-05-23clk: imx: keep the mmdc p1 ipg clock always on on 6sx/ul/ull/sllJacky Bai3-3/+3
The MMDC_P1_IPG clock need to be on always on to make sure the MMDC register can be accessed successfully. Signed-off-by: Jacky Bai <[email protected]> Reviewed-by: Dong Aisheng <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23clk: imx8mm: Mark dram_apb criticalLeonard Crestez1-1/+1
This clock is used for dram operations inside TF-A and must be kept enabled for features such as suspend/resume dram retention and busfreq to work. This is required for imx8mm suspend to work with NXP branch of TF-A. There is an equivalent clk on imx8mq and it's always been marked as critical in upstream. Signed-off-by: Leonard Crestez <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23clk: imx7ulp: update nic1_bus_clk parent infoAnson Huang1-1/+1
Since i.MX7ULP B0 chip, nic1_bus_clk's parent is changed to from nic0_clk directly, update it accordingly. Signed-off-by: Anson Huang <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23clk: imx: Use imx_mmdc_mask_handshake() API for masking MMDC channelAnson Huang5-26/+5
Use imx_mmdc_mask_handshake() API instead of programming CCM register directly in each platform to mask unused MMDC channel's handshake. Signed-off-by: Anson Huang <[email protected]> Reviewed-by: Dong Aisheng <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23clk: imx: Add common API for masking MMDC handshakeAnson Huang2-0/+16
All i.MX6 SoCs need to mask unused MMDC channel's handshake for low power modes, this patch provides common API for masking the MMDC channel passed from caller. Signed-off-by: Anson Huang <[email protected]> Reviewed-by: Dong Aisheng <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23clk: imx8m: Add GIC clockLeonard Crestez2-0/+8
This is documented in the reference manuals as GIC_CLK_ROOT. In some out-of-tree DVFS scenarios the gic clock can end up as the only user of sys_pll2 so if we don't define the gic clk explicitly it might be turned off. This applies to both 8mq and 8mm: same clk register but diffferent parents. Signed-off-by: Leonard Crestez <[email protected]> Reviewed-by: Abel Vesa <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23dt-bindings: clock: imx8m: Add GIC clockLeonard Crestez2-2/+4
This should be defined in the clock tree so that parents are not shutdown by accident Signed-off-by: Leonard Crestez <[email protected]> Reviewed-by: Abel Vesa <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23clk: imx8mm: add SNVS clock to clock treeAnson Huang1-0/+1
i.MX8MM has clock gate for SNVS module, add it into clock tree for SNVS RTC driver to manage. Signed-off-by: Anson Huang <[email protected]> Reviewed-by: Leonard Crestez <[email protected]> Signed-off-by: Shawn Guo <[email protected]>
2019-05-23dt-bindings: clock: imx8mm: Add SNVS clockAnson Huang1-1/+3
Add macro for the SNVS clock of the i.MX8MM. Signed-off-by: Anson Huang <[email protected]> Reviewed-by: Leonard Crestez <[email protected]> Signed-off-by: Shawn Guo <[email protected]>